{"version":3,"file":"js/4665-a9bafecd743be7ce01f9.js","mappings":"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B4D,GAC1B,GAAI6P,EAAM3jB,eAAe8T,GACvB,OAAO6P,EAAM7P,GAGf,IAAIqjB,EAAQrjB,EAAKhV,QAAQk4B,EAAkBE,GAC3C,OAAQvT,EAAM7P,GAAQmjB,EAAU3jB,KAAK6jB,GAAS,IAAMA,EAAQA,CAC9D,uBChBA,UAWI,EAAO,QAAW,2BAAP,EAMN,WAOP,IAAIC,EAAoB,CAEtB,gBACA,YACA,cACA,SACA,aACA,MACA,MACA,WACA,UACA,QACA,WACA,aAEA,aACA,YAGA,QACA,UAGA,OAGA,UAEA,QACA,SAEA,QAEA,SAEA,SACA,YACA,OACA,QACA,QACA,QACA,aACA,cAGA,UAEA,OAGA,UACA,OAEA,OAEA,YACA,YACA,cAGA,cACA,YAEA,OACA,YACA,SACA,WACA,YAIA,OACA,UAEA,QACA,MACA,OAGA,OACA,MAEA,YAEA,UACA,UACA,SAEA,WAEA,OACA,OACA,SAEA,YACA,QAEA,QACA,aAGA,YACA,WACA,OACA,OACA,SACA,SACA,OAEA,OACA,WACA,UACA,QACA,cACA,YACA,SACA,SACA,WAEA,MACA,aACA,YACA,cAEA,YAEA,OACA,QAEA,MAGA,UAEA,OAIA,SAEA,YAGA,OAEA,WACA,OACA,UACA,UACA,YACA,WACA,WACA,cACA,aACA,SACA,YACA,QACA,aAEA,OACA,UAEA,WACA,YACA,QAEA,aACA,UACA,SACA,cACA,aACA,UAGA,UACA,OACA,QACA,QAEA,MACA,QACA,QAEA,SACA,OACA,WACA,WACA,UACA,YAEA,YACA,UAEA,SAIA,QACA,WAEA,UACA,SACA,YACA,UAEA,QAIA,aACA,YACA,cAIA,SAEA,SAGA,aACA,cACA,WACA,UACA,UACA,OACA,UACA,MAEA,SAKA,UACA,UACA,UACA,SACA,QACA,QACA,WAEA,QAEA,QACA,UACA,OACA,OACA,WACA,OAGA,YAEA,UAGA,QAEA,QACA,YAGA,WACA,WAGA,SACA,SACA,UACA,SAKA,UACA,iBAEA,QAGA,YACA,eACA,QAGA,WACA,OACA,aACA,gBACA,YACA,WAEA,WAEA,SAEA,SACA,UAEA,UACA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","sources":["webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/qs/lib/formats.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/qs/lib/index.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/qs/lib/parse.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/qs/lib/stringify.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/qs/lib/utils.js","webpack://wooftech/./node_modules/@rails/actioncable/app/assets/javascripts/actioncable.esm.js","webpack://wooftech/./node_modules/@react-native/normalize-colors/index.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-router.jsx","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/with-router.jsx","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/router.jsx","webpack://wooftech/./node_modules/flash-notifications/src/container/notification.jsx","webpack://wooftech/./node_modules/flash-notifications/src/container/index.jsx","webpack://wooftech/./node_modules/haya-select/src/config.js","webpack://wooftech/./node_modules/on-location-changed/src/use-path.js","webpack://wooftech/./node_modules/on-location-changed/src/with-path.jsx","webpack://wooftech/./node_modules/call-bind/callBound.js","webpack://wooftech/./node_modules/call-bind/index.js","webpack://wooftech/./node_modules/call-bind/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/call-bind/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/clone-deep/index.js","webpack://wooftech/./node_modules/clone-deep/node_modules/is-plain-object/index.js","webpack://wooftech/./node_modules/css-in-js-utils/es/assignStyle.js","webpack://wooftech/./node_modules/css-in-js-utils/es/camelCaseProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/hyphenateProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/cssifyDeclaration.js","webpack://wooftech/./node_modules/css-in-js-utils/es/cssifyObject.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isPrefixedProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isPrefixedValue.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isUnitlessProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/unprefixProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/normalizeProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/resolveArrayValue.js","webpack://wooftech/./node_modules/css-in-js-utils/es/unprefixValue.js","webpack://wooftech/./node_modules/css-in-js-utils/lib/hyphenateProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/lib/isPrefixedValue.js","webpack://wooftech/./node_modules/define-data-property/index.js","webpack://wooftech/./node_modules/define-properties/index.js","webpack://wooftech/./node_modules/define-properties/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/define-properties/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/es-define-property/index.js","webpack://wooftech/./node_modules/es-errors/eval.js","webpack://wooftech/./node_modules/es-errors/index.js","webpack://wooftech/./node_modules/es-errors/range.js","webpack://wooftech/./node_modules/es-errors/ref.js","webpack://wooftech/./node_modules/es-errors/syntax.js","webpack://wooftech/./node_modules/es-errors/type.js","webpack://wooftech/./node_modules/es-errors/uri.js","webpack://wooftech/./node_modules/es-set-tostringtag/index.js","webpack://wooftech/./node_modules/es-set-tostringtag/node_modules/has-tostringtag/shams.js","webpack://wooftech/./node_modules/events/events.js","webpack://wooftech/./node_modules/fbjs/lib/emptyFunction.js","webpack://wooftech/./node_modules/fbjs/lib/invariant.js","webpack://wooftech/./node_modules/fbjs/lib/warning.js","webpack://wooftech/./node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/function-bind/index.js","webpack://wooftech/./node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/has-proto/index.js","webpack://wooftech/./node_modules/globalthis/implementation.browser.js","webpack://wooftech/./node_modules/globalthis/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/define-properties/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/globalthis/polyfill.js","webpack://wooftech/./node_modules/globalthis/shim.js","webpack://wooftech/./node_modules/gopd/index.js","webpack://wooftech/./node_modules/gopd/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/has-symbols/index.js","webpack://wooftech/./node_modules/has-symbols/shams.js","webpack://wooftech/./node_modules/has/src/index.js","webpack://wooftech/./node_modules/hasown/index.js","webpack://wooftech/./node_modules/hasown/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/hasown/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/history/index.js","webpack://wooftech/./node_modules/hyphenate-style-name/index.js","webpack://wooftech/./node_modules/inflection/lib/inflection.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/createPrefixer.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/crossFade.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/cursor.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/filter.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/imageSet.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/logical.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/position.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/sizing.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/transition.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/capitalizeString.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/isObject.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/prefixProperty.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/prefixValue.js","webpack://wooftech/./node_modules/isarray/index.js","webpack://wooftech/./node_modules/isobject/index.js","webpack://wooftech/./node_modules/js-money/lib/currency.js","webpack://wooftech/./node_modules/js-money/lib/index.js","webpack://wooftech/./node_modules/js-money/lib/money.js","webpack://wooftech/./node_modules/kind-of/index.js","webpack://wooftech/./node_modules/lodash/_Symbol.js","webpack://wooftech/./node_modules/lodash/_apply.js","webpack://wooftech/./node_modules/lodash/_arrayLikeKeys.js","webpack://wooftech/./node_modules/lodash/_assignValue.js","webpack://wooftech/./node_modules/lodash/_baseAssignValue.js","webpack://wooftech/./node_modules/lodash/_baseGetTag.js","webpack://wooftech/./node_modules/lodash/_baseIsArguments.js","webpack://wooftech/./node_modules/lodash/_baseIsNative.js","webpack://wooftech/./node_modules/lodash/_baseIsTypedArray.js","webpack://wooftech/./node_modules/lodash/_baseKeysIn.js","webpack://wooftech/./node_modules/lodash/_baseRest.js","webpack://wooftech/./node_modules/lodash/_baseSetToString.js","webpack://wooftech/./node_modules/lodash/_baseTimes.js","webpack://wooftech/./node_modules/lodash/_baseUnary.js","webpack://wooftech/./node_modules/lodash/_copyObject.js","webpack://wooftech/./node_modules/lodash/_coreJsData.js","webpack://wooftech/./node_modules/lodash/_createAssigner.js","webpack://wooftech/./node_modules/lodash/_defineProperty.js","webpack://wooftech/./node_modules/lodash/_freeGlobal.js","webpack://wooftech/./node_modules/lodash/_getNative.js","webpack://wooftech/./node_modules/lodash/_getPrototype.js","webpack://wooftech/./node_modules/lodash/_getRawTag.js","webpack://wooftech/./node_modules/lodash/_getValue.js","webpack://wooftech/./node_modules/lodash/_isIndex.js","webpack://wooftech/./node_modules/lodash/_isIterateeCall.js","webpack://wooftech/./node_modules/lodash/_isMasked.js","webpack://wooftech/./node_modules/lodash/_isPrototype.js","webpack://wooftech/./node_modules/lodash/_nativeKeysIn.js","webpack://wooftech/./node_modules/lodash/_nodeUtil.js","webpack://wooftech/./node_modules/lodash/_objectToString.js","webpack://wooftech/./node_modules/lodash/_overArg.js","webpack://wooftech/./node_modules/lodash/_overRest.js","webpack://wooftech/./node_modules/lodash/_root.js","webpack://wooftech/./node_modules/lodash/_setToString.js","webpack://wooftech/./node_modules/lodash/_shortOut.js","webpack://wooftech/./node_modules/lodash/_toSource.js","webpack://wooftech/./node_modules/lodash/assignIn.js","webpack://wooftech/./node_modules/lodash/constant.js","webpack://wooftech/./node_modules/lodash/eq.js","webpack://wooftech/./node_modules/lodash/extend.js","webpack://wooftech/./node_modules/lodash/identity.js","webpack://wooftech/./node_modules/lodash/isArguments.js","webpack://wooftech/./node_modules/lodash/isArray.js","webpack://wooftech/./node_modules/lodash/isArrayLike.js","webpack://wooftech/./node_modules/lodash/isBuffer.js","webpack://wooftech/./node_modules/lodash/isLength.js","webpack://wooftech/./node_modules/lodash/isNaN.js","webpack://wooftech/./node_modules/lodash/isNumber.js","webpack://wooftech/./node_modules/lodash/isObject.js","webpack://wooftech/./node_modules/lodash/isObjectLike.js","webpack://wooftech/./node_modules/lodash/isString.js","webpack://wooftech/./node_modules/lodash/isTypedArray.js","webpack://wooftech/./node_modules/lodash/keysIn.js","webpack://wooftech/./node_modules/lodash/stubFalse.js","webpack://wooftech/./node_modules/nullthrows/nullthrows.js","webpack://wooftech/./node_modules/object-keys/implementation.js","webpack://wooftech/./node_modules/object-keys/index.js","webpack://wooftech/./node_modules/object-keys/isArguments.js","webpack://wooftech/./node_modules/object-to-formdata/src/index.js","webpack://wooftech/./node_modules/object.assign/implementation.js","webpack://wooftech/./node_modules/object.assign/index.js","webpack://wooftech/./node_modules/object.assign/polyfill.js","webpack://wooftech/./node_modules/object.assign/shim.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/index.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/parse.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/stringify.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/unit.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/walk.js","webpack://wooftech/./node_modules/prop-types-exact/build/helpers/isPlainObject.js","webpack://wooftech/./node_modules/prop-types-exact/src/index.js","webpack://wooftech/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://wooftech/./node_modules/prop-types/index.js","webpack://wooftech/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://wooftech/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://wooftech/./node_modules/react-dom/client.js","webpack://wooftech/./node_modules/react-dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalContent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalFocusTrap.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalPortal.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Pressable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hash.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/preprocess.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/validate.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Text/TextAncestorContext.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Text/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/UIManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/View/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/createElement/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/processColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/isDisabled.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/addEventListener/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/canUseDom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/createDOMProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/forwardedProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/getBoundingClientRect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/isSelectionValid/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/isWebColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/mergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/modality/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/pick/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/prefixStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/prefixStyles/static.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/setValueForStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/unitlessNumbers/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useElementLayout/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useEvent/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useHover/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLayoutEffect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLocale/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLocale/isLocaleRTL.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useMergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePlatformMethods/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePressEvents/PressResponder.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePressEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderSystem.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/createResponderEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/utils.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useStable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/warnOnce/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/I18nManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/isWebColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeColor.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/unitlessNumbers.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/createCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/createReactDOMStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/hash.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/hyphenateStyleName.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/prefixStyles/static.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/prefixStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/preprocess.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Text/TextAncestorContext.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Text/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/unitlessNumbers/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/setValueForStyles/dangerousStyleValue.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/setValueForStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/UIManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/View/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/createDOMProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/createElement/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/processColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/findNodeHandle/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/unmountComponentAtNode/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/render/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/NativeModules/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AccessibilityInfo/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Alert/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Platform/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/deepDiffer/index.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/RefreshControl/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Dimensions/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/TextInputState/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/dismissKeyboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ScrollView/ScrollViewBase.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ScrollView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/InteractionManager/TaskQueue.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/vendor/emitter/EventEmitter.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/requestIdleCallback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/InteractionManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Batchinator/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/clamp.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/infoLog/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/CellRenderMask.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/ChildListCollection.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/FillRateHelper/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/StateSafePureComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/ViewabilityHelper/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizeUtils/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/index.js","webpack://wooftech/./node_modules/memoize-one/dist/memoize-one.esm.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/FlatList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/FlatList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedModule.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/Platform.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedHelper.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedNode.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValue.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/useAnimatedProps.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/useRefEffect.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/useMergeRefs.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedFlatList.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AssetRegistry/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/ImageLoader/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/PixelRatio/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Image/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedImage.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedScrollView.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedSectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/SectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/SectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedSectionList.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedText.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedView.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/Animation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/DecayAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/SpringConfig.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/SpringAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/Easing.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/bezier.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/TimingAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Easing/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedColor.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedImplementation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedMock.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/Animated.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Animated/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Appearance/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/AppContainer.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/renderApplication.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppState/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/BackHandler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Clipboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Keyboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/LayoutAnimation/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/LayoutAnimation/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Linking/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/NativeEventEmitter/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/TouchHistoryMath/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/PanResponder/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/PanResponder/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Share/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Vibration/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ActivityIndicator/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePressEvents/PressResponder.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePressEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableOpacity/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Button/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/CheckBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ImageBackground/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/KeyboardAvoidingView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalPortal.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalContent.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalFocusTrap.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Picker/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Picker/PickerItem.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/addEventListener/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/modality/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useEvent/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useHover/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Pressable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ProgressBar/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/SafeAreaView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StatusBar/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/multiplyStyleLengthValue/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Switch/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TextInput/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/PooledClass/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/BoundingDimensions.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/Position.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableHighlight/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/UnimplementedView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableNativeFeedback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableWithoutFeedback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/VirtualizedList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/YellowBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/LogBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/DeviceEventEmitter/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useColorScheme/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useLocaleContext/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useWindowDimensions/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/isDisabled.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAriaRole.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/canUseDom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/forwardedProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/getBoundingClientRect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/mergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/pick/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useElementLayout/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLayoutEffect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLocale/isLocaleRTL.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLocale/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useMergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePlatformMethods/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/createResponderEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderEventTypes.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/utils.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/isSelectionValid/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderSystem.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useStable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/warnOnce/index.js","webpack://wooftech/./node_modules/react/cjs/react.production.min.js","webpack://wooftech/./node_modules/react/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/implementation.js","webpack://wooftech/./node_modules/reflect.ownkeys/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/define-properties/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/has-property-descriptors/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/polyfill.js","webpack://wooftech/./node_modules/reflect.ownkeys/shim.js","webpack://wooftech/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://wooftech/./node_modules/scheduler/index.js","webpack://wooftech/./node_modules/set-function-length/index.js","webpack://wooftech/./node_modules/shallow-clone/index.js","webpack://wooftech/./node_modules/side-channel/index.js","webpack://wooftech/./node_modules/side-channel/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/side-channel/node_modules/object-inspect/index.js","webpack://wooftech/./node_modules/source-map/lib/array-set.js","webpack://wooftech/./node_modules/source-map/lib/base64-vlq.js","webpack://wooftech/./node_modules/source-map/lib/base64.js","webpack://wooftech/./node_modules/source-map/lib/binary-search.js","webpack://wooftech/./node_modules/source-map/lib/mapping-list.js","webpack://wooftech/./node_modules/source-map/lib/quick-sort.js","webpack://wooftech/./node_modules/source-map/lib/source-map-consumer.js","webpack://wooftech/./node_modules/source-map/lib/source-map-generator.js","webpack://wooftech/./node_modules/source-map/lib/source-node.js","webpack://wooftech/./node_modules/source-map/lib/util.js","webpack://wooftech/./node_modules/source-map/source-map.js","webpack://wooftech/./node_modules/spark-md5/spark-md5.js","webpack://wooftech/./node_modules/stimulus/dist/stimulus.js","webpack://wooftech/./node_modules/stimulus/dist/webpack-helpers.js","webpack://wooftech/./node_modules/strftime/strftime.js","webpack://wooftech/./node_modules/styleq/dist/styleq.js","webpack://wooftech/./node_modules/styleq/dist/transform-localize-style.js","webpack://wooftech/./node_modules/styleq/transform-localize-style.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/native.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/rng.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/v4.js","webpack://wooftech/./node_modules/wake-event/wake-event.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/extends.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/objectSpread2.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/typeof.js","webpack://wooftech/./node_modules/epic-locks/index.cjs","webpack://wooftech/./node_modules/epic-locks/src/readers-writer-lock.cjs","webpack://wooftech/./node_modules/form-data-objectizer/index.cjs","webpack://wooftech/./node_modules/numberable/index.cjs","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/CreateMethodProperty.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/FromPropertyDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/IsDataDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/IsPropertyKey.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/SameValue.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/Type.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/5/Type.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/DefineOwnProperty.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/IsArray.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/OwnPropertyKeys.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/fromPropertyDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/isNaN.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/records/property-descriptor.js","webpack://wooftech/./node_modules/uniqunize/index.cjs","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/error-messages.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/column.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/attribute.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/reflection.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/can-can.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/api.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/command-submit-data.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/destroy-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/serializer.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/commands-pool.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/config.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/custom-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/deserializer.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/devise.mjs","webpack://wooftech/./node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/source-maps-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/error-logger.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/events.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/logger.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-class-require.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/attribute-not-loaded-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/cache-key-generator.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-name.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/not-loaded-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/scope.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-recipes-model-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-recipes-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/preloaded.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/models-response-reader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/result.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/routes-native.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/run-last.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/services.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/session-status-updater.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/url-encode.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-event-emitter.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-event-listener.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/validation-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/validation-errors.mjs","webpack://wooftech/./node_modules/on-location-changed/src/on-location-changed-callback.js","webpack://wooftech/./node_modules/on-location-changed/src/callbacks-handler.js","webpack://wooftech/./node_modules/on-location-changed/src/on-location-changed.js","webpack://wooftech/./node_modules/set-state-compare/src/memo-compare-props.js","webpack://wooftech/./node_modules/set-state-compare/src/memo.js","webpack://wooftech/./node_modules/set-state-compare/src/shape-component.js","webpack://wooftech/./node_modules/set-state-compare/src/shared.js","webpack://wooftech/./node_modules/diggerize/index.mjs","webpack://wooftech/./node_modules/escape-string-regexp/index.js","webpack://wooftech/./node_modules/fetching-object/index.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/error-handlers/raiser.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/index.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/error-handlers/raise-in-background.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/events.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/use-i18n.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/use-locale.mjs","webpack://wooftech/./node_modules/incorporator/index.mjs","webpack://wooftech/./node_modules/parent-element/index.mjs"],"sourcesContent":["'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar split = String.prototype.split;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n if (generateArrayPrefix === 'comma' && encodeValuesOnly) {\n var valuesArray = split.call(String(obj), ',');\n var valuesJoined = '';\n for (var i = 0; i < valuesArray.length; ++i) {\n valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format));\n }\n return [formatter(keyValue) + (isArray(obj) && valuesArray.length === 1 ? '[]' : '') + '=' + valuesJoined];\n }\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = generateArrayPrefix === 'comma' && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","var adapters = {\n logger: typeof console !== \"undefined\" ? console : undefined,\n WebSocket: typeof WebSocket !== \"undefined\" ? WebSocket : undefined\n};\n\nvar logger = {\n log(...messages) {\n if (this.enabled) {\n messages.push(Date.now());\n adapters.logger.log(\"[ActionCable]\", ...messages);\n }\n }\n};\n\nconst now = () => (new Date).getTime();\n\nconst secondsSince = time => (now() - time) / 1e3;\n\nclass ConnectionMonitor {\n constructor(connection) {\n this.visibilityDidChange = this.visibilityDidChange.bind(this);\n this.connection = connection;\n this.reconnectAttempts = 0;\n }\n start() {\n if (!this.isRunning()) {\n this.startedAt = now();\n delete this.stoppedAt;\n this.startPolling();\n addEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`);\n }\n }\n stop() {\n if (this.isRunning()) {\n this.stoppedAt = now();\n this.stopPolling();\n removeEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(\"ConnectionMonitor stopped\");\n }\n }\n isRunning() {\n return this.startedAt && !this.stoppedAt;\n }\n recordPing() {\n this.pingedAt = now();\n }\n recordConnect() {\n this.reconnectAttempts = 0;\n this.recordPing();\n delete this.disconnectedAt;\n logger.log(\"ConnectionMonitor recorded connect\");\n }\n recordDisconnect() {\n this.disconnectedAt = now();\n logger.log(\"ConnectionMonitor recorded disconnect\");\n }\n startPolling() {\n this.stopPolling();\n this.poll();\n }\n stopPolling() {\n clearTimeout(this.pollTimeout);\n }\n poll() {\n this.pollTimeout = setTimeout((() => {\n this.reconnectIfStale();\n this.poll();\n }), this.getPollInterval());\n }\n getPollInterval() {\n const {staleThreshold: staleThreshold, reconnectionBackoffRate: reconnectionBackoffRate} = this.constructor;\n const backoff = Math.pow(1 + reconnectionBackoffRate, Math.min(this.reconnectAttempts, 10));\n const jitterMax = this.reconnectAttempts === 0 ? 1 : reconnectionBackoffRate;\n const jitter = jitterMax * Math.random();\n return staleThreshold * 1e3 * backoff * (1 + jitter);\n }\n reconnectIfStale() {\n if (this.connectionIsStale()) {\n logger.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${secondsSince(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`);\n this.reconnectAttempts++;\n if (this.disconnectedRecently()) {\n logger.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${secondsSince(this.disconnectedAt)} s`);\n } else {\n logger.log(\"ConnectionMonitor reopening\");\n this.connection.reopen();\n }\n }\n }\n get refreshedAt() {\n return this.pingedAt ? this.pingedAt : this.startedAt;\n }\n connectionIsStale() {\n return secondsSince(this.refreshedAt) > this.constructor.staleThreshold;\n }\n disconnectedRecently() {\n return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;\n }\n visibilityDidChange() {\n if (document.visibilityState === \"visible\") {\n setTimeout((() => {\n if (this.connectionIsStale() || !this.connection.isOpen()) {\n logger.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`);\n this.connection.reopen();\n }\n }), 200);\n }\n }\n}\n\nConnectionMonitor.staleThreshold = 6;\n\nConnectionMonitor.reconnectionBackoffRate = .15;\n\nvar INTERNAL = {\n message_types: {\n welcome: \"welcome\",\n disconnect: \"disconnect\",\n ping: \"ping\",\n confirmation: \"confirm_subscription\",\n rejection: \"reject_subscription\"\n },\n disconnect_reasons: {\n unauthorized: \"unauthorized\",\n invalid_request: \"invalid_request\",\n server_restart: \"server_restart\",\n remote: \"remote\"\n },\n default_mount_path: \"/cable\",\n protocols: [ \"actioncable-v1-json\", \"actioncable-unsupported\" ]\n};\n\nconst {message_types: message_types, protocols: protocols} = INTERNAL;\n\nconst supportedProtocols = protocols.slice(0, protocols.length - 1);\n\nconst indexOf = [].indexOf;\n\nclass Connection {\n constructor(consumer) {\n this.open = this.open.bind(this);\n this.consumer = consumer;\n this.subscriptions = this.consumer.subscriptions;\n this.monitor = new ConnectionMonitor(this);\n this.disconnected = true;\n }\n send(data) {\n if (this.isOpen()) {\n this.webSocket.send(JSON.stringify(data));\n return true;\n } else {\n return false;\n }\n }\n open() {\n if (this.isActive()) {\n logger.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`);\n return false;\n } else {\n const socketProtocols = [ ...protocols, ...this.consumer.subprotocols || [] ];\n logger.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${socketProtocols}`);\n if (this.webSocket) {\n this.uninstallEventHandlers();\n }\n this.webSocket = new adapters.WebSocket(this.consumer.url, socketProtocols);\n this.installEventHandlers();\n this.monitor.start();\n return true;\n }\n }\n close({allowReconnect: allowReconnect} = {\n allowReconnect: true\n }) {\n if (!allowReconnect) {\n this.monitor.stop();\n }\n if (this.isOpen()) {\n return this.webSocket.close();\n }\n }\n reopen() {\n logger.log(`Reopening WebSocket, current state is ${this.getState()}`);\n if (this.isActive()) {\n try {\n return this.close();\n } catch (error) {\n logger.log(\"Failed to reopen WebSocket\", error);\n } finally {\n logger.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`);\n setTimeout(this.open, this.constructor.reopenDelay);\n }\n } else {\n return this.open();\n }\n }\n getProtocol() {\n if (this.webSocket) {\n return this.webSocket.protocol;\n }\n }\n isOpen() {\n return this.isState(\"open\");\n }\n isActive() {\n return this.isState(\"open\", \"connecting\");\n }\n triedToReconnect() {\n return this.monitor.reconnectAttempts > 0;\n }\n isProtocolSupported() {\n return indexOf.call(supportedProtocols, this.getProtocol()) >= 0;\n }\n isState(...states) {\n return indexOf.call(states, this.getState()) >= 0;\n }\n getState() {\n if (this.webSocket) {\n for (let state in adapters.WebSocket) {\n if (adapters.WebSocket[state] === this.webSocket.readyState) {\n return state.toLowerCase();\n }\n }\n }\n return null;\n }\n installEventHandlers() {\n for (let eventName in this.events) {\n const handler = this.events[eventName].bind(this);\n this.webSocket[`on${eventName}`] = handler;\n }\n }\n uninstallEventHandlers() {\n for (let eventName in this.events) {\n this.webSocket[`on${eventName}`] = function() {};\n }\n }\n}\n\nConnection.reopenDelay = 500;\n\nConnection.prototype.events = {\n message(event) {\n if (!this.isProtocolSupported()) {\n return;\n }\n const {identifier: identifier, message: message, reason: reason, reconnect: reconnect, type: type} = JSON.parse(event.data);\n switch (type) {\n case message_types.welcome:\n if (this.triedToReconnect()) {\n this.reconnectAttempted = true;\n }\n this.monitor.recordConnect();\n return this.subscriptions.reload();\n\n case message_types.disconnect:\n logger.log(`Disconnecting. Reason: ${reason}`);\n return this.close({\n allowReconnect: reconnect\n });\n\n case message_types.ping:\n return this.monitor.recordPing();\n\n case message_types.confirmation:\n this.subscriptions.confirmSubscription(identifier);\n if (this.reconnectAttempted) {\n this.reconnectAttempted = false;\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: true\n });\n } else {\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: false\n });\n }\n\n case message_types.rejection:\n return this.subscriptions.reject(identifier);\n\n default:\n return this.subscriptions.notify(identifier, \"received\", message);\n }\n },\n open() {\n logger.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`);\n this.disconnected = false;\n if (!this.isProtocolSupported()) {\n logger.log(\"Protocol is unsupported. Stopping monitor and disconnecting.\");\n return this.close({\n allowReconnect: false\n });\n }\n },\n close(event) {\n logger.log(\"WebSocket onclose event\");\n if (this.disconnected) {\n return;\n }\n this.disconnected = true;\n this.monitor.recordDisconnect();\n return this.subscriptions.notifyAll(\"disconnected\", {\n willAttemptReconnect: this.monitor.isRunning()\n });\n },\n error() {\n logger.log(\"WebSocket onerror event\");\n }\n};\n\nconst extend = function(object, properties) {\n if (properties != null) {\n for (let key in properties) {\n const value = properties[key];\n object[key] = value;\n }\n }\n return object;\n};\n\nclass Subscription {\n constructor(consumer, params = {}, mixin) {\n this.consumer = consumer;\n this.identifier = JSON.stringify(params);\n extend(this, mixin);\n }\n perform(action, data = {}) {\n data.action = action;\n return this.send(data);\n }\n send(data) {\n return this.consumer.send({\n command: \"message\",\n identifier: this.identifier,\n data: JSON.stringify(data)\n });\n }\n unsubscribe() {\n return this.consumer.subscriptions.remove(this);\n }\n}\n\nclass SubscriptionGuarantor {\n constructor(subscriptions) {\n this.subscriptions = subscriptions;\n this.pendingSubscriptions = [];\n }\n guarantee(subscription) {\n if (this.pendingSubscriptions.indexOf(subscription) == -1) {\n logger.log(`SubscriptionGuarantor guaranteeing ${subscription.identifier}`);\n this.pendingSubscriptions.push(subscription);\n } else {\n logger.log(`SubscriptionGuarantor already guaranteeing ${subscription.identifier}`);\n }\n this.startGuaranteeing();\n }\n forget(subscription) {\n logger.log(`SubscriptionGuarantor forgetting ${subscription.identifier}`);\n this.pendingSubscriptions = this.pendingSubscriptions.filter((s => s !== subscription));\n }\n startGuaranteeing() {\n this.stopGuaranteeing();\n this.retrySubscribing();\n }\n stopGuaranteeing() {\n clearTimeout(this.retryTimeout);\n }\n retrySubscribing() {\n this.retryTimeout = setTimeout((() => {\n if (this.subscriptions && typeof this.subscriptions.subscribe === \"function\") {\n this.pendingSubscriptions.map((subscription => {\n logger.log(`SubscriptionGuarantor resubscribing ${subscription.identifier}`);\n this.subscriptions.subscribe(subscription);\n }));\n }\n }), 500);\n }\n}\n\nclass Subscriptions {\n constructor(consumer) {\n this.consumer = consumer;\n this.guarantor = new SubscriptionGuarantor(this);\n this.subscriptions = [];\n }\n create(channelName, mixin) {\n const channel = channelName;\n const params = typeof channel === \"object\" ? channel : {\n channel: channel\n };\n const subscription = new Subscription(this.consumer, params, mixin);\n return this.add(subscription);\n }\n add(subscription) {\n this.subscriptions.push(subscription);\n this.consumer.ensureActiveConnection();\n this.notify(subscription, \"initialized\");\n this.subscribe(subscription);\n return subscription;\n }\n remove(subscription) {\n this.forget(subscription);\n if (!this.findAll(subscription.identifier).length) {\n this.sendCommand(subscription, \"unsubscribe\");\n }\n return subscription;\n }\n reject(identifier) {\n return this.findAll(identifier).map((subscription => {\n this.forget(subscription);\n this.notify(subscription, \"rejected\");\n return subscription;\n }));\n }\n forget(subscription) {\n this.guarantor.forget(subscription);\n this.subscriptions = this.subscriptions.filter((s => s !== subscription));\n return subscription;\n }\n findAll(identifier) {\n return this.subscriptions.filter((s => s.identifier === identifier));\n }\n reload() {\n return this.subscriptions.map((subscription => this.subscribe(subscription)));\n }\n notifyAll(callbackName, ...args) {\n return this.subscriptions.map((subscription => this.notify(subscription, callbackName, ...args)));\n }\n notify(subscription, callbackName, ...args) {\n let subscriptions;\n if (typeof subscription === \"string\") {\n subscriptions = this.findAll(subscription);\n } else {\n subscriptions = [ subscription ];\n }\n return subscriptions.map((subscription => typeof subscription[callbackName] === \"function\" ? subscription[callbackName](...args) : undefined));\n }\n subscribe(subscription) {\n if (this.sendCommand(subscription, \"subscribe\")) {\n this.guarantor.guarantee(subscription);\n }\n }\n confirmSubscription(identifier) {\n logger.log(`Subscription confirmed ${identifier}`);\n this.findAll(identifier).map((subscription => this.guarantor.forget(subscription)));\n }\n sendCommand(subscription, command) {\n const {identifier: identifier} = subscription;\n return this.consumer.send({\n command: command,\n identifier: identifier\n });\n }\n}\n\nclass Consumer {\n constructor(url) {\n this._url = url;\n this.subscriptions = new Subscriptions(this);\n this.connection = new Connection(this);\n this.subprotocols = [];\n }\n get url() {\n return createWebSocketURL(this._url);\n }\n send(data) {\n return this.connection.send(data);\n }\n connect() {\n return this.connection.open();\n }\n disconnect() {\n return this.connection.close({\n allowReconnect: false\n });\n }\n ensureActiveConnection() {\n if (!this.connection.isActive()) {\n return this.connection.open();\n }\n }\n addSubProtocol(subprotocol) {\n this.subprotocols = [ ...this.subprotocols, subprotocol ];\n }\n}\n\nfunction createWebSocketURL(url) {\n if (typeof url === \"function\") {\n url = url();\n }\n if (url && !/^wss?:/i.test(url)) {\n const a = document.createElement(\"a\");\n a.href = url;\n a.href = a.href;\n a.protocol = a.protocol.replace(\"http\", \"ws\");\n return a.href;\n } else {\n return url;\n }\n}\n\nfunction createConsumer(url = getConfig(\"url\") || INTERNAL.default_mount_path) {\n return new Consumer(url);\n}\n\nfunction getConfig(name) {\n const element = document.head.querySelector(`meta[name='action-cable-${name}']`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n}\n\nexport { Connection, ConnectionMonitor, Consumer, INTERNAL, Subscription, SubscriptionGuarantor, Subscriptions, adapters, createConsumer, createWebSocketURL, getConfig, logger };\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @noflow\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nfunction normalizeColor(color) {\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n if (typeof color !== 'string') {\n return null;\n }\n\n const matchers = getMatchers();\n let match;\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers.hex6.exec(color))) {\n return parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n const colorFromKeyword = normalizeKeyword(color);\n if (colorFromKeyword != null) {\n return colorFromKeyword;\n }\n\n if ((match = matchers.rgb.exec(color))) {\n return (\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) | // b\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.rgba.exec(color))) {\n // rgba(R G B / A) notation\n if (match[6] !== undefined) {\n return (\n ((parse255(match[6]) << 24) | // r\n (parse255(match[7]) << 16) | // g\n (parse255(match[8]) << 8) | // b\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // rgba(R, G, B, A) notation\n return (\n ((parse255(match[2]) << 24) | // r\n (parse255(match[3]) << 16) | // g\n (parse255(match[4]) << 8) | // b\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hex3.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16,\n ) >>> 0\n );\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers.hex8.exec(color))) {\n return parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers.hex4.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16,\n ) >>> 0\n );\n }\n\n if ((match = matchers.hsl.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]), // l\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hsla.exec(color))) {\n // hsla(H S L / A) notation\n if (match[6] !== undefined) {\n return (\n (hslToRgb(\n parse360(match[6]), // h\n parsePercentage(match[7]), // s\n parsePercentage(match[8]), // l\n ) |\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // hsla(H, S, L, A) notation\n return (\n (hslToRgb(\n parse360(match[2]), // h\n parsePercentage(match[3]), // s\n parsePercentage(match[4]), // l\n ) |\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hwb.exec(color))) {\n return (\n (hwbToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // w\n parsePercentage(match[3]), // b\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n (Math.round(r * 255) << 24) |\n (Math.round(g * 255) << 16) |\n (Math.round(b * 255) << 8)\n );\n}\n\nfunction hwbToRgb(h, w, b) {\n if (w + b >= 1) {\n const gray = Math.round((w * 255) / (w + b));\n\n return (gray << 24) | (gray << 16) | (gray << 8);\n }\n\n const red = hue2rgb(0, 1, h + 1 / 3) * (1 - w - b) + w;\n const green = hue2rgb(0, 1, h) * (1 - w - b) + w;\n const blue = hue2rgb(0, 1, h - 1 / 3) * (1 - w - b) + w;\n\n return (\n (Math.round(red * 255) << 24) |\n (Math.round(green * 255) << 16) |\n (Math.round(blue * 255) << 8)\n );\n}\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,?\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nfunction callWithSlashSeparator(...args) {\n return (\n '\\\\(\\\\s*(' +\n args.slice(0, args.length - 1).join(')\\\\s*,?\\\\s*(') +\n ')\\\\s*/\\\\s*(' +\n args[args.length - 1] +\n ')\\\\s*\\\\)'\n );\n}\n\nfunction commaSeparatedCall(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nlet cachedMatchers;\n\nfunction getMatchers() {\n if (cachedMatchers === undefined) {\n cachedMatchers = {\n rgb: new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)),\n rgba: new RegExp(\n 'rgba(' +\n commaSeparatedCall(NUMBER, NUMBER, NUMBER, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, NUMBER, NUMBER, NUMBER) +\n ')',\n ),\n hsl: new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hsla: new RegExp(\n 'hsla(' +\n commaSeparatedCall(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n ')',\n ),\n hwb: new RegExp('hwb' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hex3: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex4: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#([0-9a-fA-F]{6})$/,\n hex8: /^#([0-9a-fA-F]{8})$/,\n };\n }\n return cachedMatchers;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n const int = parseFloat(str);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nfunction normalizeKeyword(name) {\n // prettier-ignore\n switch (name) {\n case 'transparent': return 0x00000000;\n // http://www.w3.org/TR/css3-color/#svg-color\n case 'aliceblue': return 0xf0f8ffff;\n case 'antiquewhite': return 0xfaebd7ff;\n case 'aqua': return 0x00ffffff;\n case 'aquamarine': return 0x7fffd4ff;\n case 'azure': return 0xf0ffffff;\n case 'beige': return 0xf5f5dcff;\n case 'bisque': return 0xffe4c4ff;\n case 'black': return 0x000000ff;\n case 'blanchedalmond': return 0xffebcdff;\n case 'blue': return 0x0000ffff;\n case 'blueviolet': return 0x8a2be2ff;\n case 'brown': return 0xa52a2aff;\n case 'burlywood': return 0xdeb887ff;\n case 'burntsienna': return 0xea7e5dff;\n case 'cadetblue': return 0x5f9ea0ff;\n case 'chartreuse': return 0x7fff00ff;\n case 'chocolate': return 0xd2691eff;\n case 'coral': return 0xff7f50ff;\n case 'cornflowerblue': return 0x6495edff;\n case 'cornsilk': return 0xfff8dcff;\n case 'crimson': return 0xdc143cff;\n case 'cyan': return 0x00ffffff;\n case 'darkblue': return 0x00008bff;\n case 'darkcyan': return 0x008b8bff;\n case 'darkgoldenrod': return 0xb8860bff;\n case 'darkgray': return 0xa9a9a9ff;\n case 'darkgreen': return 0x006400ff;\n case 'darkgrey': return 0xa9a9a9ff;\n case 'darkkhaki': return 0xbdb76bff;\n case 'darkmagenta': return 0x8b008bff;\n case 'darkolivegreen': return 0x556b2fff;\n case 'darkorange': return 0xff8c00ff;\n case 'darkorchid': return 0x9932ccff;\n case 'darkred': return 0x8b0000ff;\n case 'darksalmon': return 0xe9967aff;\n case 'darkseagreen': return 0x8fbc8fff;\n case 'darkslateblue': return 0x483d8bff;\n case 'darkslategray': return 0x2f4f4fff;\n case 'darkslategrey': return 0x2f4f4fff;\n case 'darkturquoise': return 0x00ced1ff;\n case 'darkviolet': return 0x9400d3ff;\n case 'deeppink': return 0xff1493ff;\n case 'deepskyblue': return 0x00bfffff;\n case 'dimgray': return 0x696969ff;\n case 'dimgrey': return 0x696969ff;\n case 'dodgerblue': return 0x1e90ffff;\n case 'firebrick': return 0xb22222ff;\n case 'floralwhite': return 0xfffaf0ff;\n case 'forestgreen': return 0x228b22ff;\n case 'fuchsia': return 0xff00ffff;\n case 'gainsboro': return 0xdcdcdcff;\n case 'ghostwhite': return 0xf8f8ffff;\n case 'gold': return 0xffd700ff;\n case 'goldenrod': return 0xdaa520ff;\n case 'gray': return 0x808080ff;\n case 'green': return 0x008000ff;\n case 'greenyellow': return 0xadff2fff;\n case 'grey': return 0x808080ff;\n case 'honeydew': return 0xf0fff0ff;\n case 'hotpink': return 0xff69b4ff;\n case 'indianred': return 0xcd5c5cff;\n case 'indigo': return 0x4b0082ff;\n case 'ivory': return 0xfffff0ff;\n case 'khaki': return 0xf0e68cff;\n case 'lavender': return 0xe6e6faff;\n case 'lavenderblush': return 0xfff0f5ff;\n case 'lawngreen': return 0x7cfc00ff;\n case 'lemonchiffon': return 0xfffacdff;\n case 'lightblue': return 0xadd8e6ff;\n case 'lightcoral': return 0xf08080ff;\n case 'lightcyan': return 0xe0ffffff;\n case 'lightgoldenrodyellow': return 0xfafad2ff;\n case 'lightgray': return 0xd3d3d3ff;\n case 'lightgreen': return 0x90ee90ff;\n case 'lightgrey': return 0xd3d3d3ff;\n case 'lightpink': return 0xffb6c1ff;\n case 'lightsalmon': return 0xffa07aff;\n case 'lightseagreen': return 0x20b2aaff;\n case 'lightskyblue': return 0x87cefaff;\n case 'lightslategray': return 0x778899ff;\n case 'lightslategrey': return 0x778899ff;\n case 'lightsteelblue': return 0xb0c4deff;\n case 'lightyellow': return 0xffffe0ff;\n case 'lime': return 0x00ff00ff;\n case 'limegreen': return 0x32cd32ff;\n case 'linen': return 0xfaf0e6ff;\n case 'magenta': return 0xff00ffff;\n case 'maroon': return 0x800000ff;\n case 'mediumaquamarine': return 0x66cdaaff;\n case 'mediumblue': return 0x0000cdff;\n case 'mediumorchid': return 0xba55d3ff;\n case 'mediumpurple': return 0x9370dbff;\n case 'mediumseagreen': return 0x3cb371ff;\n case 'mediumslateblue': return 0x7b68eeff;\n case 'mediumspringgreen': return 0x00fa9aff;\n case 'mediumturquoise': return 0x48d1ccff;\n case 'mediumvioletred': return 0xc71585ff;\n case 'midnightblue': return 0x191970ff;\n case 'mintcream': return 0xf5fffaff;\n case 'mistyrose': return 0xffe4e1ff;\n case 'moccasin': return 0xffe4b5ff;\n case 'navajowhite': return 0xffdeadff;\n case 'navy': return 0x000080ff;\n case 'oldlace': return 0xfdf5e6ff;\n case 'olive': return 0x808000ff;\n case 'olivedrab': return 0x6b8e23ff;\n case 'orange': return 0xffa500ff;\n case 'orangered': return 0xff4500ff;\n case 'orchid': return 0xda70d6ff;\n case 'palegoldenrod': return 0xeee8aaff;\n case 'palegreen': return 0x98fb98ff;\n case 'paleturquoise': return 0xafeeeeff;\n case 'palevioletred': return 0xdb7093ff;\n case 'papayawhip': return 0xffefd5ff;\n case 'peachpuff': return 0xffdab9ff;\n case 'peru': return 0xcd853fff;\n case 'pink': return 0xffc0cbff;\n case 'plum': return 0xdda0ddff;\n case 'powderblue': return 0xb0e0e6ff;\n case 'purple': return 0x800080ff;\n case 'rebeccapurple': return 0x663399ff;\n case 'red': return 0xff0000ff;\n case 'rosybrown': return 0xbc8f8fff;\n case 'royalblue': return 0x4169e1ff;\n case 'saddlebrown': return 0x8b4513ff;\n case 'salmon': return 0xfa8072ff;\n case 'sandybrown': return 0xf4a460ff;\n case 'seagreen': return 0x2e8b57ff;\n case 'seashell': return 0xfff5eeff;\n case 'sienna': return 0xa0522dff;\n case 'silver': return 0xc0c0c0ff;\n case 'skyblue': return 0x87ceebff;\n case 'slateblue': return 0x6a5acdff;\n case 'slategray': return 0x708090ff;\n case 'slategrey': return 0x708090ff;\n case 'snow': return 0xfffafaff;\n case 'springgreen': return 0x00ff7fff;\n case 'steelblue': return 0x4682b4ff;\n case 'tan': return 0xd2b48cff;\n case 'teal': return 0x008080ff;\n case 'thistle': return 0xd8bfd8ff;\n case 'tomato': return 0xff6347ff;\n case 'turquoise': return 0x40e0d0ff;\n case 'violet': return 0xee82eeff;\n case 'wheat': return 0xf5deb3ff;\n case 'white': return 0xffffffff;\n case 'whitesmoke': return 0xf5f5f5ff;\n case 'yellow': return 0xffff00ff;\n case 'yellowgreen': return 0x9acd32ff;\n }\n return null;\n}\n\nmodule.exports = normalizeColor;\n","import config from \"./config.mjs\"\nimport escapeStringRegexp from \"escape-string-regexp\"\nimport * as inflection from \"inflection\"\nimport PropTypes from \"prop-types\"\nimport {useCallback, useMemo} from \"react\"\nimport useShape from \"set-state-compare/src/use-shape.js\"\n\nconst useRouter = (props) => {\n const s = useShape(props)\n\n const findRouteParams = useCallback((routeDefinition) => {\n const result = []\n const parts = routeDefinition.path.split(\"/\")\n\n for (const part of parts) {\n if (part.match(/^:([a-z_]+)$/))\n result.push(part)\n }\n\n return result\n }, [])\n\n const getPath = useCallback(() => {\n let path = s.p.path || window.location.pathname\n\n path = path.replace(/[/]+$/, \"\")\n\n return path\n }, [])\n\n const getRouteDefinitions = useCallback(() => s.p.routeDefinitions || config.getRouteDefinitions(), [])\n const getRoutes = useCallback(() => s.p.routes || config.getRoutes(), [])\n\n const parseRouteDefinitions = useCallback(() => {\n const Locales = require(\"shared/locales\").default\n const routeDefinitions = getRouteDefinitions()\n const routes = getRoutes()\n const regex = /:([A-z\\d_]+)/\n const parsedRouteDefinitions = []\n\n for (const locale of Locales.availableLocales()) {\n for (const routeDefinition of routeDefinitions.routes) {\n const routePathName = `${inflection.camelize(routeDefinition.name, true)}Path`\n const params = findRouteParams(routeDefinition)\n\n params.push({locale})\n\n if (!(routePathName in routes))\n throw new Error(`${routePathName} not found in routes: ${Object.keys(routes, \", \")}`)\n\n const routePath = routes[routePathName](...params).replace(/[/]+$/, \"\")\n const groups = []\n let pathRegexString = \"^\"\n\n pathRegexString += escapeStringRegexp(routePath)\n\n while (true) {\n const match = pathRegexString.match(regex)\n\n if (!match) break\n\n const variableName = match[1]\n\n groups.push(variableName)\n\n pathRegexString = pathRegexString.replace(match[0], \"([^/]+)\")\n }\n\n pathRegexString += \"$\"\n\n const pathRegex = new RegExp(pathRegexString)\n\n parsedRouteDefinitions.push({groups, pathRegex, routeDefinition})\n }\n }\n\n return parsedRouteDefinitions\n }, [])\n\n const parsedRouteDefinitions = useMemo(() => parseRouteDefinitions(), [])\n\n s.updateMeta({parsedRouteDefinitions})\n\n const findMatchingRoute = useCallback(() => {\n const path = getPath()\n\n for (const parsedRouteDefinition of s.m.parsedRouteDefinitions) {\n const match = path.match(parsedRouteDefinition.pathRegex)\n let matched, params\n\n if (match) {\n matched = true\n params = {}\n\n for (const groupKey in parsedRouteDefinition.groups) {\n const groupName = parsedRouteDefinition.groups[groupKey]\n\n params[groupName] = match[Number(groupKey) + 1]\n }\n }\n\n if (path == \"\" && parsedRouteDefinition.routeDefinition.path == \"/\") matched = true\n if (matched) {\n return {params, parsedRouteDefinition}\n }\n }\n }, [])\n\n const matchingRoute = findMatchingRoute()\n const params = matchingRoute?.params || {}\n const match = {\n matchingRoute,\n params\n }\n\n return {match}\n}\n\nuseRouter.propTypes = {\n path: PropTypes.string,\n routeDefinitions: PropTypes.object,\n routes: PropTypes.object\n}\n\nexport default useRouter\n","import useRouter from \"./use-router\"\n\nexport default (WrapperComponent) => (props) => {\n const {path, routes, routeDefinitions, ...restProps} = props\n const {match} = useRouter({path, routes, routeDefinitions})\n\n return (\n \n )\n}\n","import PropTypes from \"prop-types\"\nimport React, {memo} from \"react\"\nimport {Suspense} from \"react\"\nimport withRouter from \"./with-router\"\n\nconst ApiMakerRouter = (props) => {\n const {match, ...restProps} = props\n const {matchingRoute} = match\n\n if (!matchingRoute) {\n if (props.notFoundComponent) {\n const NotFoundComponent = props.notFoundComponent\n\n return (\n }>\n \n \n )\n } else {\n return null\n }\n }\n\n const Component = props.requireComponent({routeDefinition: matchingRoute.parsedRouteDefinition.routeDefinition})\n\n return (\n }>\n \n \n )\n}\n\nApiMakerRouter.propTypes = {\n notFoundComponent: PropTypes.elementType,\n requireComponent: PropTypes.func.isRequired\n}\n\nexport default withRouter(memo(ApiMakerRouter))\n","import {Pressable, Text, View} from \"react-native\"\nimport {memo} from \"react\"\nimport PropTypes from \"prop-types\"\nimport PropTypesExact from \"prop-types-exact\"\nimport {shapeComponent, ShapeComponent} from \"set-state-compare/src/shape-component.js\"\n\nexport default memo(shapeComponent(class NotificationsNotification extends ShapeComponent {\n static propTypes = PropTypesExact({\n className: PropTypes.string,\n message: PropTypes.string.isRequired,\n notification: PropTypes.object.isRequired,\n onRemovedClicked: PropTypes.func.isRequired,\n title: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired\n })\n\n render() {\n const {className, message, title, type} = this.props\n\n const style = {\n width: 300,\n maxWidth: \"100%\",\n marginBottom: 15,\n padding: 15,\n borderRadius: 11,\n cursor: \"pointer\"\n }\n\n if (type == \"error\") {\n style.border = \"1px solid rgba(161 34 32 / 95%)\"\n style.background = \"rgba(161 34 32 / 87%)\"\n }\n\n if (type == \"success\") {\n style.border = \"1px solid rgba(0 0 0 / 95%)\"\n style.background = \"rgba(0 0 0 / 87%)\"\n }\n\n\n if (type == \"alert\") {\n style.border = \"1px solid rgba(204 51 0 / 95%)\"\n style.background = \"rgba(204 51 0 / 87%)\"\n }\n\n return (\n \n \n \n \n {title}\n \n \n \n \n {message}\n \n \n \n \n )\n }\n\n onRemovedClicked = () => {\n this.props.onRemovedClicked(this.props.notification)\n }\n}))\n","import {memo} from \"react\"\nimport {digg} from \"diggerize\"\nimport Notification from \"./notification\"\nimport {shapeComponent, ShapeComponent} from \"set-state-compare/src/shape-component.js\"\nimport useEventListener from \"@kaspernj/api-maker/src/use-event-listener\"\nimport {View} from \"react-native\"\n\nexport default memo(shapeComponent(class FlashNotificationsContainer extends ShapeComponent {\n setup() {\n this.useStates({\n count: 0,\n notifications: []\n })\n\n useEventListener(window, \"pushNotification\", this.onPushNotification)\n }\n\n render() {\n return (\n \n {this.state.notifications.map((notification) =>\n \n )}\n \n )\n }\n\n onPushNotification = (event) => {\n const detail = digg(event, \"detail\")\n const count = this.state.count + 1\n\n setTimeout(() => this.removeNotification(count), 4000)\n\n const notification = {\n count,\n message: digg(detail, \"message\"),\n title: digg(detail, \"title\"),\n type: digg(detail, \"type\")\n }\n\n this.setState({count, notifications: this.state.notifications.concat([notification])})\n }\n\n onRemovedClicked = (notification) => this.removeNotification(digg(notification, \"count\"))\n\n removeNotification = (count) => {\n this.setState({\n notifications: this.state.notifications.filter((notification) => notification.count != count)\n })\n }\n}))\n","class HayaSelectConfiguration {\n getBodyPortal() {\n if (!this._bodyPortal) throw new Error(\"bodyPortal wasn't set\")\n\n return this._bodyPortal\n }\n\n setBodyPortal(newBodyPortal) {\n this._bodyPortal = newBodyPortal\n }\n}\n\nconst configuration = new HayaSelectConfiguration()\n\nexport default configuration\n","import onLocationChanged from \"./on-location-changed.js\"\nimport {useCallback, useEffect, useMemo, useState} from \"react\"\n\nconst usePath = () => {\n const [path, setPath] = useState(globalThis.location.pathname)\n const shared = useMemo(() => ({}), [])\n\n shared.path = path\n\n const onLocationChangedCallback = useCallback(() => {\n const newPath = globalThis.location.pathname\n\n if (newPath != shared.path) {\n setPath(newPath)\n }\n }, [])\n\n useEffect(() => {\n const onLocationChangedEvent = onLocationChanged(onLocationChangedCallback)\n\n return () => {\n onLocationChangedEvent.disconnect()\n }\n }, [])\n\n return path\n}\n\nexport default usePath\n","import {memo} from \"react\"\nimport usePath from \"./use-path.js\"\n\nconst withPath = (WrappedComponent) => memo((props) => {\n const path = usePath()\n\n return (\n \n )\n})\n\nexport default withPath\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/**\n * Module dependenices\n */\n\nconst clone = require('shallow-clone');\nconst typeOf = require('kind-of');\nconst isPlainObject = require('is-plain-object');\n\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default: {\n return clone(val);\n }\n }\n}\n\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = new val.constructor();\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\n\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n/**\n * Expose `cloneDeep`\n */\n\nmodule.exports = cloneDeep;\n","/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true\n && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor,prot;\n\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\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(n); 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 filterUniqueArray(arr) {\n return arr.filter(function (val, index) {\n return arr.lastIndexOf(val) === index;\n });\n}\n\nexport default function assignStyle(base) {\n for (var i = 0, len = arguments.length <= 1 ? 0 : arguments.length - 1; i < len; ++i) {\n var style = i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1];\n\n for (var property in style) {\n var value = style[property];\n var baseValue = base[property];\n\n if (baseValue && value) {\n if (Array.isArray(baseValue)) {\n base[property] = filterUniqueArray(baseValue.concat(value));\n continue;\n }\n\n if (Array.isArray(value)) {\n base[property] = filterUniqueArray([baseValue].concat(_toConsumableArray(value)));\n continue;\n }\n\n if (_typeof(value) === 'object') {\n base[property] = assignStyle({}, baseValue, value);\n continue;\n }\n }\n\n base[property] = value;\n }\n }\n\n return base;\n}","var DASH = /-([a-z])/g;\nvar MS = /^Ms/g;\nvar cache = {};\n\nfunction toUpper(match) {\n return match[1].toUpperCase();\n}\n\nexport default function camelCaseProperty(property) {\n if (cache.hasOwnProperty(property)) {\n return cache[property];\n }\n\n var camelProp = property.replace(DASH, toUpper).replace(MS, 'ms');\n cache[property] = camelProp;\n return camelProp;\n}","import hyphenateStyleName from 'hyphenate-style-name';\nexport default function hyphenateProperty(property) {\n return hyphenateStyleName(property);\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function cssifyDeclaration(property, value) {\n return hyphenateProperty(property) + ':' + value;\n}","import cssifyDeclaration from './cssifyDeclaration';\nexport default function cssifyObject(style) {\n var css = '';\n\n for (var property in style) {\n var value = style[property];\n\n if (typeof value !== 'string' && typeof value !== 'number') {\n continue;\n } // prevents the semicolon after\n // the last rule declaration\n\n\n if (css) {\n css += ';';\n }\n\n css += cssifyDeclaration(property, value);\n }\n\n return css;\n}","var RE = /^(Webkit|Moz|O|ms)/;\nexport default function isPrefixedProperty(property) {\n return RE.test(property);\n}","var RE = /-webkit-|-moz-|-ms-/;\nexport default function isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","import hyphenateProperty from './hyphenateProperty';\nvar unitlessProperties = {\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n fontWeight: true,\n lineHeight: true,\n opacity: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nvar prefixedUnitlessProperties = ['animationIterationCount', 'boxFlex', 'boxFlexGroup', 'boxOrdinalGroup', 'columnCount', 'flex', 'flexGrow', 'flexPositive', 'flexShrink', 'flexNegative', 'flexOrder', 'gridColumn', 'gridColumnEnd', 'gridColumnStart', 'gridRow', 'gridRowEnd', 'gridRowStart', 'lineClamp', 'order'];\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\nfunction getPrefixedProperty(prefix, property) {\n return prefix + property.charAt(0).toUpperCase() + property.slice(1);\n} // add all prefixed properties to the unitless properties\n\n\nfor (var i = 0, len = prefixedUnitlessProperties.length; i < len; ++i) {\n var property = prefixedUnitlessProperties[i];\n unitlessProperties[property] = true;\n\n for (var j = 0, jLen = prefixes.length; j < jLen; ++j) {\n unitlessProperties[getPrefixedProperty(prefixes[j], property)] = true;\n }\n} // add all hypenated properties as well\n\n\nfor (var _property in unitlessProperties) {\n unitlessProperties[hyphenateProperty(_property)] = true;\n}\n\nexport default function isUnitlessProperty(property) {\n return unitlessProperties.hasOwnProperty(property);\n}","var RE = /^(ms|Webkit|Moz|O)/;\nexport default function unprefixProperty(property) {\n var propertyWithoutPrefix = property.replace(RE, '');\n return propertyWithoutPrefix.charAt(0).toLowerCase() + propertyWithoutPrefix.slice(1);\n}","import camelCaseProperty from './camelCaseProperty';\nimport unprefixProperty from './unprefixProperty';\nexport default function normalizeProperty(property) {\n return unprefixProperty(camelCaseProperty(property));\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function resolveArrayValue(property, value) {\n return value.join(';' + hyphenateProperty(property) + ':');\n}","var RE = /(-ms-|-webkit-|-moz-|-o-)/g;\nexport default function unprefixValue(value) {\n if (typeof value === 'string') {\n return value.replace(RE, '');\n }\n\n return value;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = hyphenateProperty;\n\nvar _hyphenateStyleName = require(\"hyphenate-style-name\");\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2[\"default\"])(property);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isPrefixedValue;\nvar RE = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\n\nvar toStringTag = hasToStringTag ? Symbol.toStringTag : null;\n\n/** @type {import('.')} */\nmodule.exports = function setToStringTag(object, value) {\n\tvar overrideIfSet = arguments.length > 2 && arguments[2] && arguments[2].force;\n\tif (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {\n\t\tif ($defineProperty) {\n\t\t\t$defineProperty(object, toStringTag, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: value,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t} else {\n\t\t\tobject[toStringTag] = value; // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","\"use strict\";\n\n/**\n * Copyright (c) 2013-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 * \n */\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\n\n\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\n\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\n * Copyright (c) 2013-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 * \n */\n'use strict';\n\nvar validateFormat = process.env.NODE_ENV !== \"production\" ? function (format) {\n if (format === undefined) {\n throw new Error('invariant(...): Second argument must be a string.');\n }\n} : function (format) {};\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments to provide\n * information about what broke and what you were expecting.\n *\n * The invariant message will be stripped in production, but the invariant will\n * remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n validateFormat(format);\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return String(args[argIndex++]);\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // Skip invariant's own stack frame.\n\n throw error;\n }\n}\n\nmodule.exports = invariant;","/**\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 */\n'use strict';\n\nvar emptyFunction = require(\"./emptyFunction\");\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\n\nfunction printWarning(format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n}\n\nvar warning = process.env.NODE_ENV !== \"production\" ? function (condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n} : emptyFunction;\nmodule.exports = warning;","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","/* eslint no-negated-condition: 0, no-new-func: 0 */\n\n'use strict';\n\nif (typeof self !== 'undefined') {\n\tmodule.exports = self;\n} else if (typeof window !== 'undefined') {\n\tmodule.exports = window;\n} else {\n\tmodule.exports = Function('return this')();\n}\n","'use strict';\n\nvar defineProperties = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = getPolyfill();\n\nvar getGlobal = function () { return polyfill; };\n\ndefineProperties(getGlobal, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = getGlobal;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar supportsDescriptors = origDefineProperty && hasPropertyDescriptors;\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value; // eslint-disable-line no-param-reassign\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (typeof global !== 'object' || !global || global.Math !== Math || global.Array !== Array) {\n\t\treturn implementation;\n\t}\n\treturn global;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimGlobal() {\n\tvar polyfill = getPolyfill();\n\tif (define.supportsDescriptors) {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(polyfill, 'globalThis');\n\t\tif (!descriptor || (descriptor.configurable && (descriptor.enumerable || !descriptor.writable || globalThis !== polyfill))) { // eslint-disable-line max-len\n\t\t\tObject.defineProperty(polyfill, 'globalThis', {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: polyfill,\n\t\t\t\twritable: true\n\t\t\t});\n\t\t}\n\t} else if (typeof globalThis !== 'object' || globalThis !== polyfill) {\n\t\tpolyfill.globalThis = polyfill;\n\t}\n\treturn polyfill;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n /**\r\n * A POP indicates a change to an arbitrary index in the history stack, such\r\n * as a back or forward navigation. It does not describe the direction of the\r\n * navigation, only that the current index changed.\r\n *\r\n * Note: This is the default action for newly created history objects.\r\n */\n Action[\"Pop\"] = \"POP\";\n /**\r\n * A PUSH indicates a new entry being added to the history stack, such as when\r\n * a link is clicked and a new page loads. When this happens, all subsequent\r\n * entries in the stack are lost.\r\n */\n\n Action[\"Push\"] = \"PUSH\";\n /**\r\n * A REPLACE indicates the entry at the current index in the history stack\r\n * being replaced by a new one.\r\n */\n\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n return Object.freeze(obj);\n} : function (obj) {\n return obj;\n};\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$window = _options.window,\n window = _options$window === void 0 ? document.defaultView : _options$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation[0],\n nextLocation = _getIndexAndLocation[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better what\n // is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop);\n var action = Action.Pop;\n\n var _getIndexAndLocation2 = getIndexAndLocation(),\n index = _getIndexAndLocation2[0],\n location = _getIndexAndLocation2[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n } // state defaults to `null` because `window.history.state` does\n\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation3 = getIndexAndLocation();\n\n index = _getIndexAndLocation3[0];\n location = _getIndexAndLocation3[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr[0],\n url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr2[0],\n url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options2 = options,\n _options2$window = _options2.window,\n window = _options2$window === void 0 ? document.defaultView : _options2$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _parsePath = parsePath(window.location.hash.substr(1)),\n _parsePath$pathname = _parsePath.pathname,\n pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n _parsePath$search = _parsePath.search,\n search = _parsePath$search === void 0 ? '' : _parsePath$search,\n _parsePath$hash = _parsePath.hash,\n hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation4 = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation4[0],\n nextLocation = _getIndexAndLocation4[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better\n // what is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n window.addEventListener(HashChangeEventType, function () {\n var _getIndexAndLocation5 = getIndexAndLocation(),\n nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n if (createPath(nextLocation) !== createPath(location)) {\n handlePop();\n }\n });\n var action = Action.Pop;\n\n var _getIndexAndLocation6 = getIndexAndLocation(),\n index = _getIndexAndLocation6[0],\n location = _getIndexAndLocation6[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function getBaseHref() {\n var base = document.querySelector('base');\n var href = '';\n\n if (base && base.getAttribute('href')) {\n var url = window.location.href;\n var hashIndex = url.indexOf('#');\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href;\n }\n\n function createHref(to) {\n return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation7 = getIndexAndLocation();\n\n index = _getIndexAndLocation7[0];\n location = _getIndexAndLocation7[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr3[0],\n url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr4[0],\n url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options3 = options,\n _options3$initialEntr = _options3.initialEntries,\n initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n initialIndex = _options3.initialIndex;\n var entries = initialEntries.map(function (entry) {\n var location = readOnly(_extends({\n pathname: '/',\n search: '',\n hash: '',\n state: null,\n key: createKey()\n }, typeof entry === 'string' ? parsePath(entry) : entry));\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n return location;\n });\n var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n var action = Action.Pop;\n var location = entries[index];\n var listeners = createEvents();\n var blockers = createEvents();\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n search: '',\n hash: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction, nextLocation) {\n action = nextAction;\n location = nextLocation;\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n applyTx(nextAction, nextLocation);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n entries[index] = nextLocation;\n applyTx(nextAction, nextLocation);\n }\n }\n\n function go(delta) {\n var nextIndex = clamp(index + delta, 0, entries.length - 1);\n var nextAction = Action.Pop;\n var nextLocation = entries[nextIndex];\n\n function retry() {\n go(delta);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index = nextIndex;\n applyTx(nextAction, nextLocation);\n }\n }\n\n var history = {\n get index() {\n return index;\n },\n\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n return blockers.push(blocker);\n }\n };\n return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n // Cancel the event.\n event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n event.returnValue = '';\n}\n\nfunction createEvents() {\n var handlers = [];\n return {\n get length() {\n return handlers.length;\n },\n\n push: function push(fn) {\n handlers.push(fn);\n return function () {\n handlers = handlers.filter(function (handler) {\n return handler !== fn;\n });\n };\n },\n call: function call(arg) {\n handlers.forEach(function (fn) {\n return fn && fn(arg);\n });\n }\n };\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n var _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? '' : _ref$search,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? '' : _ref$hash;\n if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n var parsedPath = {};\n\n if (path) {\n var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n var searchIndex = path.indexOf('?');\n\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","/*!\n * inflection\n * Copyright(c) 2011 Ben Lin \n * MIT Licensed\n *\n * @fileoverview\n * A port of inflection-js to node.js module.\n */\n\n( function ( root, factory ){\n if( typeof define === 'function' && define.amd ){\n define([], factory );\n }else if( typeof exports === 'object' ){\n module.exports = factory();\n }else{\n root.inflection = factory();\n }\n}( this, function (){\n\n /**\n * @description This is a list of nouns that use the same form for both singular and plural.\n * This list should remain entirely in lower case to correctly match Strings.\n * @private\n */\n var uncountable_words = [\n // 'access',\n 'accommodation',\n 'adulthood',\n 'advertising',\n 'advice',\n 'aggression',\n 'aid',\n 'air',\n 'aircraft',\n 'alcohol',\n 'anger',\n 'applause',\n 'arithmetic',\n // 'art',\n 'assistance',\n 'athletics',\n // 'attention',\n\n 'bacon',\n 'baggage',\n // 'ballet',\n // 'beauty',\n 'beef',\n // 'beer',\n // 'behavior',\n 'biology',\n // 'billiards',\n 'blood',\n 'botany',\n // 'bowels',\n 'bread',\n // 'business',\n 'butter',\n\n 'carbon',\n 'cardboard',\n 'cash',\n 'chalk',\n 'chaos',\n 'chess',\n 'crossroads',\n 'countryside',\n\n // 'damage',\n 'dancing',\n // 'danger',\n 'deer',\n // 'delight',\n // 'dessert',\n 'dignity',\n 'dirt',\n // 'distribution',\n 'dust',\n\n 'economics',\n 'education',\n 'electricity',\n // 'employment',\n // 'energy',\n 'engineering',\n 'enjoyment',\n // 'entertainment',\n 'envy',\n 'equipment',\n 'ethics',\n 'evidence',\n 'evolution',\n\n // 'failure',\n // 'faith',\n 'fame',\n 'fiction',\n // 'fish',\n 'flour',\n 'flu',\n 'food',\n // 'freedom',\n // 'fruit',\n 'fuel',\n 'fun',\n // 'funeral',\n 'furniture',\n\n 'gallows',\n 'garbage',\n 'garlic',\n // 'gas',\n 'genetics',\n // 'glass',\n 'gold',\n 'golf',\n 'gossip',\n // 'grass',\n 'gratitude',\n 'grief',\n // 'ground',\n 'guilt',\n 'gymnastics',\n\n // 'hair',\n 'happiness',\n 'hardware',\n 'harm',\n 'hate',\n 'hatred',\n 'health',\n 'heat',\n // 'height',\n 'help',\n 'homework',\n 'honesty',\n 'honey',\n 'hospitality',\n 'housework',\n 'humour',\n 'hunger',\n 'hydrogen',\n\n 'ice',\n 'importance',\n 'inflation',\n 'information',\n // 'injustice',\n 'innocence',\n // 'intelligence',\n 'iron',\n 'irony',\n\n 'jam',\n // 'jealousy',\n // 'jelly',\n 'jewelry',\n // 'joy',\n 'judo',\n // 'juice',\n // 'justice',\n\n 'karate',\n // 'kindness',\n 'knowledge',\n\n // 'labour',\n 'lack',\n // 'land',\n 'laughter',\n 'lava',\n 'leather',\n 'leisure',\n 'lightning',\n 'linguine',\n 'linguini',\n 'linguistics',\n 'literature',\n 'litter',\n 'livestock',\n 'logic',\n 'loneliness',\n // 'love',\n 'luck',\n 'luggage',\n\n 'macaroni',\n 'machinery',\n 'magic',\n // 'mail',\n 'management',\n 'mankind',\n 'marble',\n 'mathematics',\n 'mayonnaise',\n 'measles',\n // 'meat',\n // 'metal',\n 'methane',\n 'milk',\n 'minus',\n 'money',\n // 'moose',\n 'mud',\n 'music',\n 'mumps',\n\n 'nature',\n 'news',\n 'nitrogen',\n 'nonsense',\n 'nurture',\n 'nutrition',\n\n 'obedience',\n 'obesity',\n // 'oil',\n 'oxygen',\n\n // 'paper',\n // 'passion',\n 'pasta',\n 'patience',\n // 'permission',\n 'physics',\n 'poetry',\n 'pollution',\n 'poverty',\n // 'power',\n 'pride',\n // 'production',\n // 'progress',\n // 'pronunciation',\n 'psychology',\n 'publicity',\n 'punctuation',\n\n // 'quality',\n // 'quantity',\n 'quartz',\n\n 'racism',\n // 'rain',\n // 'recreation',\n 'relaxation',\n 'reliability',\n 'research',\n 'respect',\n 'revenge',\n 'rice',\n 'rubbish',\n 'rum',\n\n 'safety',\n // 'salad',\n // 'salt',\n // 'sand',\n // 'satire',\n 'scenery',\n 'seafood',\n 'seaside',\n 'series',\n 'shame',\n 'sheep',\n 'shopping',\n // 'silence',\n 'sleep',\n // 'slang'\n 'smoke',\n 'smoking',\n 'snow',\n 'soap',\n 'software',\n 'soil',\n // 'sorrow',\n // 'soup',\n 'spaghetti',\n // 'speed',\n 'species',\n // 'spelling',\n // 'sport',\n 'steam',\n // 'strength',\n 'stuff',\n 'stupidity',\n // 'success',\n // 'sugar',\n 'sunshine',\n 'symmetry',\n\n // 'tea',\n 'tennis',\n 'thirst',\n 'thunder',\n 'timber',\n // 'time',\n // 'toast',\n // 'tolerance',\n // 'trade',\n 'traffic',\n 'transportation',\n // 'travel',\n 'trust',\n\n // 'understanding',\n 'underwear',\n 'unemployment',\n 'unity',\n // 'usage',\n\n 'validity',\n 'veal',\n 'vegetation',\n 'vegetarianism',\n 'vengeance',\n 'violence',\n // 'vision',\n 'vitality',\n\n 'warmth',\n // 'water',\n 'wealth',\n 'weather',\n // 'weight',\n 'welfare',\n 'wheat',\n // 'whiskey',\n // 'width',\n 'wildlife',\n // 'wine',\n 'wisdom',\n // 'wood',\n // 'wool',\n // 'work',\n\n // 'yeast',\n 'yoga',\n\n 'zinc',\n 'zoology'\n ];\n\n /**\n * @description These rules translate from the singular form of a noun to its plural form.\n * @private\n */\n\n var regex = {\n plural : {\n men : new RegExp( '^(m|wom)en$' , 'gi' ),\n people : new RegExp( '(pe)ople$' , 'gi' ),\n children : new RegExp( '(child)ren$' , 'gi' ),\n tia : new RegExp( '([ti])a$' , 'gi' ),\n analyses : new RegExp( '((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$','gi' ),\n drives : new RegExp( '(drive)s$' , 'gi' ),\n hives : new RegExp( '(hi|ti)ves$' , 'gi' ),\n curves : new RegExp( '(curve)s$' , 'gi' ),\n lrves : new RegExp( '([lr])ves$' , 'gi' ),\n aves : new RegExp( '([a])ves$' , 'gi' ),\n foves : new RegExp( '([^fo])ves$' , 'gi' ),\n movies : new RegExp( '(m)ovies$' , 'gi' ),\n aeiouyies : new RegExp( '([^aeiouy]|qu)ies$' , 'gi' ),\n series : new RegExp( '(s)eries$' , 'gi' ),\n xes : new RegExp( '(x|ch|ss|sh)es$' , 'gi' ),\n mice : new RegExp( '([m|l])ice$' , 'gi' ),\n buses : new RegExp( '(bus)es$' , 'gi' ),\n oes : new RegExp( '(o)es$' , 'gi' ),\n shoes : new RegExp( '(shoe)s$' , 'gi' ),\n crises : new RegExp( '(cris|ax|test)es$' , 'gi' ),\n octopuses : new RegExp( '(octop|vir)uses$' , 'gi' ),\n aliases : new RegExp( '(alias|canvas|status|campus)es$', 'gi' ),\n summonses : new RegExp( '^(summons|bonus)es$' , 'gi' ),\n oxen : new RegExp( '^(ox)en' , 'gi' ),\n matrices : new RegExp( '(matr)ices$' , 'gi' ),\n vertices : new RegExp( '(vert|ind)ices$' , 'gi' ),\n feet : new RegExp( '^feet$' , 'gi' ),\n teeth : new RegExp( '^teeth$' , 'gi' ),\n geese : new RegExp( '^geese$' , 'gi' ),\n quizzes : new RegExp( '(quiz)zes$' , 'gi' ),\n whereases : new RegExp( '^(whereas)es$' , 'gi' ),\n criteria : new RegExp( '^(criteri)a$' , 'gi' ),\n genera : new RegExp( '^genera$' , 'gi' ),\n ss : new RegExp( 'ss$' , 'gi' ),\n s : new RegExp( 's$' , 'gi' )\n },\n\n singular : {\n man : new RegExp( '^(m|wom)an$' , 'gi' ),\n person : new RegExp( '(pe)rson$' , 'gi' ),\n child : new RegExp( '(child)$' , 'gi' ),\n drive : new RegExp( '(drive)$' , 'gi' ),\n ox : new RegExp( '^(ox)$' , 'gi' ),\n axis : new RegExp( '(ax|test)is$' , 'gi' ),\n octopus : new RegExp( '(octop|vir)us$' , 'gi' ),\n alias : new RegExp( '(alias|status|canvas|campus)$', 'gi' ),\n summons : new RegExp( '^(summons|bonus)$' , 'gi' ),\n bus : new RegExp( '(bu)s$' , 'gi' ),\n buffalo : new RegExp( '(buffal|tomat|potat)o$' , 'gi' ),\n tium : new RegExp( '([ti])um$' , 'gi' ),\n sis : new RegExp( 'sis$' , 'gi' ),\n ffe : new RegExp( '(?:([^f])fe|([lr])f)$' , 'gi' ),\n hive : new RegExp( '(hi|ti)ve$' , 'gi' ),\n aeiouyy : new RegExp( '([^aeiouy]|qu)y$' , 'gi' ),\n x : new RegExp( '(x|ch|ss|sh)$' , 'gi' ),\n matrix : new RegExp( '(matr)ix$' , 'gi' ),\n vertex : new RegExp( '(vert|ind)ex$' , 'gi' ),\n mouse : new RegExp( '([m|l])ouse$' , 'gi' ),\n foot : new RegExp( '^foot$' , 'gi' ),\n tooth : new RegExp( '^tooth$' , 'gi' ),\n goose : new RegExp( '^goose$' , 'gi' ),\n quiz : new RegExp( '(quiz)$' , 'gi' ),\n whereas : new RegExp( '^(whereas)$' , 'gi' ),\n criterion : new RegExp( '^(criteri)on$' , 'gi' ),\n genus : new RegExp( '^genus$' , 'gi' ),\n s : new RegExp( 's$' , 'gi' ),\n common : new RegExp( '$' , 'gi' )\n }\n };\n\n var plural_rules = [\n\n // do not replace if its already a plural word\n [ regex.plural.men ],\n [ regex.plural.people ],\n [ regex.plural.children ],\n [ regex.plural.tia ],\n [ regex.plural.analyses ],\n [ regex.plural.drives ],\n [ regex.plural.hives ],\n [ regex.plural.curves ],\n [ regex.plural.lrves ],\n [ regex.plural.foves ],\n [ regex.plural.aeiouyies ],\n [ regex.plural.series ],\n [ regex.plural.movies ],\n [ regex.plural.xes ],\n [ regex.plural.mice ],\n [ regex.plural.buses ],\n [ regex.plural.oes ],\n [ regex.plural.shoes ],\n [ regex.plural.crises ],\n [ regex.plural.octopuses ],\n [ regex.plural.aliases ],\n [ regex.plural.summonses ],\n [ regex.plural.oxen ],\n [ regex.plural.matrices ],\n [ regex.plural.feet ],\n [ regex.plural.teeth ],\n [ regex.plural.geese ],\n [ regex.plural.quizzes ],\n [ regex.plural.whereases ],\n [ regex.plural.criteria ],\n [ regex.plural.genera ],\n\n // original rule\n [ regex.singular.man , '$1en' ],\n [ regex.singular.person , '$1ople' ],\n [ regex.singular.child , '$1ren' ],\n [ regex.singular.drive , '$1s' ],\n [ regex.singular.ox , '$1en' ],\n [ regex.singular.axis , '$1es' ],\n [ regex.singular.octopus , '$1uses' ],\n [ regex.singular.alias , '$1es' ],\n [ regex.singular.summons , '$1es' ],\n [ regex.singular.bus , '$1ses' ],\n [ regex.singular.buffalo , '$1oes' ],\n [ regex.singular.tium , '$1a' ],\n [ regex.singular.sis , 'ses' ],\n [ regex.singular.ffe , '$1$2ves' ],\n [ regex.singular.hive , '$1ves' ],\n [ regex.singular.aeiouyy , '$1ies' ],\n [ regex.singular.matrix , '$1ices' ],\n [ regex.singular.vertex , '$1ices' ],\n [ regex.singular.x , '$1es' ],\n [ regex.singular.mouse , '$1ice' ],\n [ regex.singular.foot , 'feet' ],\n [ regex.singular.tooth , 'teeth' ],\n [ regex.singular.goose , 'geese' ],\n [ regex.singular.quiz , '$1zes' ],\n [ regex.singular.whereas , '$1es' ],\n [ regex.singular.criterion, '$1a' ],\n [ regex.singular.genus , 'genera' ],\n\n [ regex.singular.s , 's' ],\n [ regex.singular.common, 's' ]\n ];\n\n /**\n * @description These rules translate from the plural form of a noun to its singular form.\n * @private\n */\n var singular_rules = [\n\n // do not replace if its already a singular word\n [ regex.singular.man ],\n [ regex.singular.person ],\n [ regex.singular.child ],\n [ regex.singular.drive ],\n [ regex.singular.ox ],\n [ regex.singular.axis ],\n [ regex.singular.octopus ],\n [ regex.singular.alias ],\n [ regex.singular.summons ],\n [ regex.singular.bus ],\n [ regex.singular.buffalo ],\n [ regex.singular.tium ],\n [ regex.singular.sis ],\n [ regex.singular.ffe ],\n [ regex.singular.hive ],\n [ regex.singular.aeiouyy ],\n [ regex.singular.x ],\n [ regex.singular.matrix ],\n [ regex.singular.mouse ],\n [ regex.singular.foot ],\n [ regex.singular.tooth ],\n [ regex.singular.goose ],\n [ regex.singular.quiz ],\n [ regex.singular.whereas ],\n [ regex.singular.criterion ],\n [ regex.singular.genus ],\n\n // original rule\n [ regex.plural.men , '$1an' ],\n [ regex.plural.people , '$1rson' ],\n [ regex.plural.children , '$1' ],\n [ regex.plural.drives , '$1'],\n [ regex.plural.genera , 'genus'],\n [ regex.plural.criteria , '$1on'],\n [ regex.plural.tia , '$1um' ],\n [ regex.plural.analyses , '$1$2sis' ],\n [ regex.plural.hives , '$1ve' ],\n [ regex.plural.curves , '$1' ],\n [ regex.plural.lrves , '$1f' ],\n [ regex.plural.aves , '$1ve' ],\n [ regex.plural.foves , '$1fe' ],\n [ regex.plural.movies , '$1ovie' ],\n [ regex.plural.aeiouyies, '$1y' ],\n [ regex.plural.series , '$1eries' ],\n [ regex.plural.xes , '$1' ],\n [ regex.plural.mice , '$1ouse' ],\n [ regex.plural.buses , '$1' ],\n [ regex.plural.oes , '$1' ],\n [ regex.plural.shoes , '$1' ],\n [ regex.plural.crises , '$1is' ],\n [ regex.plural.octopuses, '$1us' ],\n [ regex.plural.aliases , '$1' ],\n [ regex.plural.summonses, '$1' ],\n [ regex.plural.oxen , '$1' ],\n [ regex.plural.matrices , '$1ix' ],\n [ regex.plural.vertices , '$1ex' ],\n [ regex.plural.feet , 'foot' ],\n [ regex.plural.teeth , 'tooth' ],\n [ regex.plural.geese , 'goose' ],\n [ regex.plural.quizzes , '$1' ],\n [ regex.plural.whereases, '$1' ],\n\n [ regex.plural.ss, 'ss' ],\n [ regex.plural.s , '' ]\n ];\n\n /**\n * @description This is a list of words that should not be capitalized for title case.\n * @private\n */\n var non_titlecased_words = [\n 'and', 'or', 'nor', 'a', 'an', 'the', 'so', 'but', 'to', 'of', 'at','by',\n 'from', 'into', 'on', 'onto', 'off', 'out', 'in', 'over', 'with', 'for'\n ];\n\n /**\n * @description These are regular expressions used for converting between String formats.\n * @private\n */\n var id_suffix = new RegExp( '(_ids|_id)$', 'g' );\n var underbar = new RegExp( '_', 'g' );\n var space_or_underbar = new RegExp( '[\\ _]', 'g' );\n var uppercase = new RegExp( '([A-Z])', 'g' );\n var underbar_prefix = new RegExp( '^_' );\n\n var inflector = {\n\n /**\n * A helper method that applies rules based replacement to a String.\n * @private\n * @function\n * @param {String} str String to modify and return based on the passed rules.\n * @param {Array: [RegExp, String]} rules Regexp to match paired with String to use for replacement\n * @param {Array: [String]} skip Strings to skip if they match\n * @param {String} override String to return as though this method succeeded (used to conform to APIs)\n * @returns {String} Return passed String modified by passed rules.\n * @example\n *\n * this._apply_rules( 'cows', singular_rules ); // === 'cow'\n */\n _apply_rules : function ( str, rules, skip, override ){\n if( override ){\n str = override;\n }else{\n var ignore = ( inflector.indexOf( skip, str.toLowerCase()) > -1 );\n\n if( !ignore ){\n var i = 0;\n var j = rules.length;\n\n for( ; i < j; i++ ){\n if( str.match( rules[ i ][ 0 ])){\n if( rules[ i ][ 1 ] !== undefined ){\n str = str.replace( rules[ i ][ 0 ], rules[ i ][ 1 ]);\n }\n break;\n }\n }\n }\n }\n\n return str;\n },\n\n\n\n /**\n * This lets us detect if an Array contains a given element.\n * @public\n * @function\n * @param {Array} arr The subject array.\n * @param {Object} item Object to locate in the Array.\n * @param {Number} from_index Starts checking from this position in the Array.(optional)\n * @param {Function} compare_func Function used to compare Array item vs passed item.(optional)\n * @returns {Number} Return index position in the Array of the passed item.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.indexOf([ 'hi','there' ], 'guys' ); // === -1\n * inflection.indexOf([ 'hi','there' ], 'hi' ); // === 0\n */\n indexOf : function ( arr, item, from_index, compare_func ){\n if( !from_index ){\n from_index = -1;\n }\n\n var index = -1;\n var i = from_index;\n var j = arr.length;\n\n for( ; i < j; i++ ){\n if( arr[ i ] === item || compare_func && compare_func( arr[ i ], item )){\n index = i;\n break;\n }\n }\n\n return index;\n },\n\n\n\n /**\n * This function adds pluralization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {String} plural Overrides normal output with said String.(optional)\n * @returns {String} Singular English language nouns are returned in plural form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.pluralize( 'person' ); // === 'people'\n * inflection.pluralize( 'octopus' ); // === 'octopuses'\n * inflection.pluralize( 'Hat' ); // === 'Hats'\n * inflection.pluralize( 'person', 'guys' ); // === 'guys'\n */\n pluralize : function ( str, plural ){\n return inflector._apply_rules( str, plural_rules, uncountable_words, plural );\n },\n\n\n\n /**\n * This function adds singularization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {String} singular Overrides normal output with said String.(optional)\n * @returns {String} Plural English language nouns are returned in singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.singularize( 'people' ); // === 'person'\n * inflection.singularize( 'octopuses' ); // === 'octopus'\n * inflection.singularize( 'Hats' ); // === 'Hat'\n * inflection.singularize( 'guys', 'person' ); // === 'person'\n */\n singularize : function ( str, singular ){\n return inflector._apply_rules( str, singular_rules, uncountable_words, singular );\n },\n\n\n /**\n * This function will pluralize or singularlize a String appropriately based on a number value\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Number} count The number to base pluralization off of.\n * @param {String} singular Overrides normal output with said String.(optional)\n * @param {String} plural Overrides normal output with said String.(optional)\n * @returns {String} English language nouns are returned in the plural or singular form based on the count.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.inflect( 'people' 1 ); // === 'person'\n * inflection.inflect( 'octopuses' 1 ); // === 'octopus'\n * inflection.inflect( 'Hats' 1 ); // === 'Hat'\n * inflection.inflect( 'guys', 1 , 'person' ); // === 'person'\n * inflection.inflect( 'inches', 1.5 ); // === 'inches'\n * inflection.inflect( 'person', 2 ); // === 'people'\n * inflection.inflect( 'octopus', 2 ); // === 'octopuses'\n * inflection.inflect( 'Hat', 2 ); // === 'Hats'\n * inflection.inflect( 'person', 2, null, 'guys' ); // === 'guys'\n */\n inflect : function ( str, count, singular, plural ){\n count = parseFloat( count, 10 );\n\n if( isNaN( count )) return str;\n\n if( count === 1 ){\n return inflector._apply_rules( str, singular_rules, uncountable_words, singular );\n }else{\n return inflector._apply_rules( str, plural_rules, uncountable_words, plural );\n }\n },\n\n\n\n /**\n * This function adds camelization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} low_first_letter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns {String} Lower case underscored words will be returned in camel case.\n * additionally '/' is translated to '::'\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.camelize( 'message_properties' ); // === 'MessageProperties'\n * inflection.camelize( 'message_properties', true ); // === 'messageProperties'\n */\n camelize : function ( str, low_first_letter ){\n var str_path = str.split( '/' );\n var i = 0;\n var j = str_path.length;\n var str_arr, init_x, k, l, first;\n\n for( ; i < j; i++ ){\n str_arr = str_path[ i ].split( '_' );\n k = 0;\n l = str_arr.length;\n\n for( ; k < l; k++ ){\n if( k !== 0 ){\n str_arr[ k ] = str_arr[ k ].toLowerCase();\n }\n\n first = str_arr[ k ].charAt( 0 );\n first = low_first_letter && i === 0 && k === 0\n ? first.toLowerCase() : first.toUpperCase();\n str_arr[ k ] = first + str_arr[ k ].substring( 1 );\n }\n\n str_path[ i ] = str_arr.join( '' );\n }\n\n return str_path.join( '::' );\n },\n\n\n\n /**\n * This function adds underscore support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} all_upper_case Default is to lowercase and add underscore prefix.(optional)\n * Passing true will return as entered.\n * @returns {String} Camel cased words are returned as lower cased and underscored.\n * additionally '::' is translated to '/'.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.underscore( 'MessageProperties' ); // === 'message_properties'\n * inflection.underscore( 'messageProperties' ); // === 'message_properties'\n * inflection.underscore( 'MP', true ); // === 'MP'\n */\n underscore : function ( str, all_upper_case ){\n if( all_upper_case && str === str.toUpperCase()) return str;\n\n var str_path = str.split( '::' );\n var i = 0;\n var j = str_path.length;\n\n for( ; i < j; i++ ){\n str_path[ i ] = str_path[ i ].replace( uppercase, '_$1' );\n str_path[ i ] = str_path[ i ].replace( underbar_prefix, '' );\n }\n\n return str_path.join( '/' ).toLowerCase();\n },\n\n\n\n /**\n * This function adds humanize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} low_first_letter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns {String} Lower case underscored words will be returned in humanized form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.humanize( 'message_properties' ); // === 'Message properties'\n * inflection.humanize( 'message_properties', true ); // === 'message properties'\n */\n humanize : function ( str, low_first_letter ){\n str = str.toLowerCase();\n str = str.replace( id_suffix, '' );\n str = str.replace( underbar, ' ' );\n\n if( !low_first_letter ){\n str = inflector.capitalize( str );\n }\n\n return str;\n },\n\n\n\n /**\n * This function adds capitalization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} All characters will be lower case and the first will be upper.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.capitalize( 'message_properties' ); // === 'Message_properties'\n * inflection.capitalize( 'message properties', true ); // === 'Message properties'\n */\n capitalize : function ( str ){\n str = str.toLowerCase();\n\n return str.substring( 0, 1 ).toUpperCase() + str.substring( 1 );\n },\n\n\n\n /**\n * This function replaces underscores with dashes in the string.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Replaces all spaces or underscores with dashes.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.dasherize( 'message_properties' ); // === 'message-properties'\n * inflection.dasherize( 'Message Properties' ); // === 'Message-Properties'\n */\n dasherize : function ( str ){\n return str.replace( space_or_underbar, '-' );\n },\n\n\n\n /**\n * This function adds titleize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Capitalizes words as you would for a book title.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.titleize( 'message_properties' ); // === 'Message Properties'\n * inflection.titleize( 'message properties to keep' ); // === 'Message Properties to Keep'\n */\n titleize : function ( str ){\n str = str.toLowerCase().replace( underbar, ' ' );\n var str_arr = str.split( ' ' );\n var i = 0;\n var j = str_arr.length;\n var d, k, l;\n\n for( ; i < j; i++ ){\n d = str_arr[ i ].split( '-' );\n k = 0;\n l = d.length;\n\n for( ; k < l; k++){\n if( inflector.indexOf( non_titlecased_words, d[ k ].toLowerCase()) < 0 ){\n d[ k ] = inflector.capitalize( d[ k ]);\n }\n }\n\n str_arr[ i ] = d.join( '-' );\n }\n\n str = str_arr.join( ' ' );\n str = str.substring( 0, 1 ).toUpperCase() + str.substring( 1 );\n\n return str;\n },\n\n\n\n /**\n * This function adds demodulize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Removes module names leaving only class names.(Ruby style)\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.demodulize( 'Message::Bus::Properties' ); // === 'Properties'\n */\n demodulize : function ( str ){\n var str_arr = str.split( '::' );\n\n return str_arr[ str_arr.length - 1 ];\n },\n\n\n\n /**\n * This function adds tableize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Return camel cased words into their underscored plural form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.tableize( 'MessageBusProperty' ); // === 'message_bus_properties'\n */\n tableize : function ( str ){\n str = inflector.underscore( str );\n str = inflector.pluralize( str );\n\n return str;\n },\n\n\n\n /**\n * This function adds classification support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.classify( 'message_bus_properties' ); // === 'MessageBusProperty'\n */\n classify : function ( str ){\n str = inflector.camelize( str );\n str = inflector.singularize( str );\n\n return str;\n },\n\n\n\n /**\n * This function adds foreign key support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} drop_id_ubar Default is to seperate id with an underbar at the end of the class name,\n you can pass true to skip it.(optional)\n * @returns {String} Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.foreign_key( 'MessageBusProperty' ); // === 'message_bus_property_id'\n * inflection.foreign_key( 'MessageBusProperty', true ); // === 'message_bus_propertyid'\n */\n foreign_key : function ( str, drop_id_ubar ){\n str = inflector.demodulize( str );\n str = inflector.underscore( str ) + (( drop_id_ubar ) ? ( '' ) : ( '_' )) + 'id';\n\n return str;\n },\n\n\n\n /**\n * This function adds ordinalize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Return all found numbers their sequence like '22nd'.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.ordinalize( 'the 1 pitch' ); // === 'the 1st pitch'\n */\n ordinalize : function ( str ){\n var str_arr = str.split( ' ' );\n var i = 0;\n var j = str_arr.length;\n\n for( ; i < j; i++ ){\n var k = parseInt( str_arr[ i ], 10 );\n\n if( !isNaN( k )){\n var ltd = str_arr[ i ].substring( str_arr[ i ].length - 2 );\n var ld = str_arr[ i ].substring( str_arr[ i ].length - 1 );\n var suf = 'th';\n\n if( ltd != '11' && ltd != '12' && ltd != '13' ){\n if( ld === '1' ){\n suf = 'st';\n }else if( ld === '2' ){\n suf = 'nd';\n }else if( ld === '3' ){\n suf = 'rd';\n }\n }\n\n str_arr[ i ] += suf;\n }\n }\n\n return str_arr.join( ' ' );\n },\n\n /**\n * This function performs multiple inflection methods on a string\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Array} arr An array of inflection methods.\n * @returns {String}\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.transform( 'all job', [ 'pluralize', 'capitalize', 'dasherize' ]); // === 'All-jobs'\n */\n transform : function ( str, arr ){\n var i = 0;\n var j = arr.length;\n\n for( ;i < j; i++ ){\n var method = arr[ i ];\n\n if( inflector.hasOwnProperty( method )){\n str = inflector[ method ]( str );\n }\n }\n\n return str;\n }\n };\n\n/**\n * @public\n */\n inflector.version = '1.13.1';\n\n return inflector;\n}));\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = require('./utils/prefixProperty');\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = require('./utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = require('./utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('./utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n return function prefix(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = backgroundClip;\nfunction backgroundClip() {\n return null;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar CROSS_FADE_REGEX = /cross-fade\\(/g;\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\n\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('cross-fade(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(CROSS_FADE_REGEX, prefix + 'cross-fade(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar FILTER_REGEX = /filter\\(/g;\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\n\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('filter(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(FILTER_REGEX, prefix + 'filter(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\n\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = logical;\nvar alternativeProps = {\n marginBlockStart: ['WebkitMarginBefore'],\n marginBlockEnd: ['WebkitMarginAfter'],\n marginInlineStart: ['WebkitMarginStart', 'MozMarginStart'],\n marginInlineEnd: ['WebkitMarginEnd', 'MozMarginEnd'],\n paddingBlockStart: ['WebkitPaddingBefore'],\n paddingBlockEnd: ['WebkitPaddingAfter'],\n paddingInlineStart: ['WebkitPaddingStart', 'MozPaddingStart'],\n paddingInlineEnd: ['WebkitPaddingEnd', 'MozPaddingEnd'],\n borderBlockStart: ['WebkitBorderBefore'],\n borderBlockStartColor: ['WebkitBorderBeforeColor'],\n borderBlockStartStyle: ['WebkitBorderBeforeStyle'],\n borderBlockStartWidth: ['WebkitBorderBeforeWidth'],\n borderBlockEnd: ['WebkitBorderAfter'],\n borderBlockEndColor: ['WebkitBorderAfterColor'],\n borderBlockEndStyle: ['WebkitBorderAfterStyle'],\n borderBlockEndWidth: ['WebkitBorderAfterWidth'],\n borderInlineStart: ['WebkitBorderStart', 'MozBorderStart'],\n borderInlineStartColor: ['WebkitBorderStartColor', 'MozBorderStartColor'],\n borderInlineStartStyle: ['WebkitBorderStartStyle', 'MozBorderStartStyle'],\n borderInlineStartWidth: ['WebkitBorderStartWidth', 'MozBorderStartWidth'],\n borderInlineEnd: ['WebkitBorderEnd', 'MozBorderEnd'],\n borderInlineEndColor: ['WebkitBorderEndColor', 'MozBorderEndColor'],\n borderInlineEndStyle: ['WebkitBorderEndStyle', 'MozBorderEndStyle'],\n borderInlineEndWidth: ['WebkitBorderEndWidth', 'MozBorderEndWidth']\n};\n\nfunction logical(property, value, style) {\n if (Object.prototype.hasOwnProperty.call(alternativeProps, property)) {\n var alternativePropList = alternativeProps[property];\n for (var i = 0, len = alternativePropList.length; i < len; ++i) {\n style[alternativePropList[i]] = value;\n }\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addNewValuesOnly;\nfunction addIfNew(list, value) {\n if (list.indexOf(value) === -1) {\n list.push(value);\n }\n}\n\nfunction addNewValuesOnly(list, values) {\n if (Array.isArray(values)) {\n for (var i = 0, len = values.length; i < len; ++i) {\n addIfNew(list, values[i]);\n }\n } else {\n addIfNew(list, values);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalizeString;\nfunction capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isObject;\nfunction isObject(value) {\n return value instanceof Object && !Array.isArray(value);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = require('./capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n var requiredPrefixes = prefixProperties[property];\n\n if (requiredPrefixes && style.hasOwnProperty(property)) {\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n\n for (var i = 0; i < requiredPrefixes.length; ++i) {\n var prefixedProperty = requiredPrefixes[i] + capitalizedProperty;\n\n if (!style[prefixedProperty]) {\n style[prefixedProperty] = style[property];\n }\n }\n }\n\n return style;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixValue;\nfunction prefixValue(plugins, property, value, style, metaData) {\n for (var i = 0, len = plugins.length; i < len; ++i) {\n var processedValue = plugins[i](property, value, style, metaData);\n\n // we can stop processing if a value is returned\n // as all plugin criteria are unique\n if (processedValue) {\n return processedValue;\n }\n }\n}","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/*!\n * isobject \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n","/**\r\n * This file is part of the JS Money library\r\n *\r\n * Copyright (c) 2014 David Kalosi\r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nvar currencies = {\r\n \"USD\": {\r\n \"symbol\": \"$\",\r\n \"name\": \"US Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"USD\",\r\n \"name_plural\": \"US dollars\"\r\n },\r\n \"CAD\": {\r\n \"symbol\": \"CA$\",\r\n \"name\": \"Canadian Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CAD\",\r\n \"name_plural\": \"Canadian dollars\"\r\n },\r\n \"EUR\": {\r\n \"symbol\": \"€\",\r\n \"name\": \"Euro\",\r\n \"symbol_native\": \"€\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EUR\",\r\n \"name_plural\": \"euros\"\r\n },\r\n \"BTC\": {\r\n \"symbol\": \"BTC\",\r\n \"name\": \"Bitcoin\",\r\n \"symbol_native\": \"฿\",\r\n \"decimal_digits\": 8,\r\n \"rounding\": 0,\r\n \"code\": \"BTC\",\r\n \"name_plural\": \"Bitcoins\"\r\n },\r\n \"AED\": {\r\n \"symbol\": \"AED\",\r\n \"name\": \"United Arab Emirates Dirham\",\r\n \"symbol_native\": \"د.إ.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AED\",\r\n \"name_plural\": \"UAE dirhams\"\r\n },\r\n \"AFN\": {\r\n \"symbol\": \"Af\",\r\n \"name\": \"Afghan Afghani\",\r\n \"symbol_native\": \"؋\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AFN\",\r\n \"name_plural\": \"Afghan Afghanis\"\r\n },\r\n \"ALL\": {\r\n \"symbol\": \"ALL\",\r\n \"name\": \"Albanian Lek\",\r\n \"symbol_native\": \"Lek\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ALL\",\r\n \"name_plural\": \"Albanian lekë\"\r\n },\r\n \"AMD\": {\r\n \"symbol\": \"AMD\",\r\n \"name\": \"Armenian Dram\",\r\n \"symbol_native\": \"դր.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AMD\",\r\n \"name_plural\": \"Armenian drams\"\r\n },\r\n \"ARS\": {\r\n \"symbol\": \"AR$\",\r\n \"name\": \"Argentine Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ARS\",\r\n \"name_plural\": \"Argentine pesos\"\r\n },\r\n \"AUD\": {\r\n \"symbol\": \"AU$\",\r\n \"name\": \"Australian Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AUD\",\r\n \"name_plural\": \"Australian dollars\"\r\n },\r\n \"AZN\": {\r\n \"symbol\": \"man.\",\r\n \"name\": \"Azerbaijani Manat\",\r\n \"symbol_native\": \"ман.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AZN\",\r\n \"name_plural\": \"Azerbaijani manats\"\r\n },\r\n \"BAM\": {\r\n \"symbol\": \"KM\",\r\n \"name\": \"Bosnia-Herzegovina Convertible Mark\",\r\n \"symbol_native\": \"KM\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BAM\",\r\n \"name_plural\": \"Bosnia-Herzegovina convertible marks\"\r\n },\r\n \"BDT\": {\r\n \"symbol\": \"Tk\",\r\n \"name\": \"Bangladeshi Taka\",\r\n \"symbol_native\": \"৳\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BDT\",\r\n \"name_plural\": \"Bangladeshi takas\"\r\n },\r\n \"BGN\": {\r\n \"symbol\": \"BGN\",\r\n \"name\": \"Bulgarian Lev\",\r\n \"symbol_native\": \"лв.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BGN\",\r\n \"name_plural\": \"Bulgarian leva\"\r\n },\r\n \"BHD\": {\r\n \"symbol\": \"BD\",\r\n \"name\": \"Bahraini Dinar\",\r\n \"symbol_native\": \"د.ب.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"BHD\",\r\n \"name_plural\": \"Bahraini dinars\"\r\n },\r\n \"BIF\": {\r\n \"symbol\": \"FBu\",\r\n \"name\": \"Burundian Franc\",\r\n \"symbol_native\": \"FBu\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"BIF\",\r\n \"name_plural\": \"Burundian francs\"\r\n },\r\n \"BND\": {\r\n \"symbol\": \"BN$\",\r\n \"name\": \"Brunei Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BND\",\r\n \"name_plural\": \"Brunei dollars\"\r\n },\r\n \"BOB\": {\r\n \"symbol\": \"Bs\",\r\n \"name\": \"Bolivian Boliviano\",\r\n \"symbol_native\": \"Bs\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BOB\",\r\n \"name_plural\": \"Bolivian bolivianos\"\r\n },\r\n \"BRL\": {\r\n \"symbol\": \"R$\",\r\n \"name\": \"Brazilian Real\",\r\n \"symbol_native\": \"R$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BRL\",\r\n \"name_plural\": \"Brazilian reals\"\r\n },\r\n \"BWP\": {\r\n \"symbol\": \"BWP\",\r\n \"name\": \"Botswanan Pula\",\r\n \"symbol_native\": \"P\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BWP\",\r\n \"name_plural\": \"Botswanan pulas\"\r\n },\r\n \"BYR\": {\r\n \"symbol\": \"BYR\",\r\n \"name\": \"Belarusian Ruble\",\r\n \"symbol_native\": \"BYR\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"BYR\",\r\n \"name_plural\": \"Belarusian rubles\"\r\n },\r\n \"BZD\": {\r\n \"symbol\": \"BZ$\",\r\n \"name\": \"Belize Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BZD\",\r\n \"name_plural\": \"Belize dollars\"\r\n },\r\n \"CDF\": {\r\n \"symbol\": \"CDF\",\r\n \"name\": \"Congolese Franc\",\r\n \"symbol_native\": \"FrCD\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CDF\",\r\n \"name_plural\": \"Congolese francs\"\r\n },\r\n \"CHF\": {\r\n \"symbol\": \"CHF\",\r\n \"name\": \"Swiss Franc\",\r\n \"symbol_native\": \"CHF\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0.05,\r\n \"code\": \"CHF\",\r\n \"name_plural\": \"Swiss francs\"\r\n },\r\n \"CLP\": {\r\n \"symbol\": \"CL$\",\r\n \"name\": \"Chilean Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"CLP\",\r\n \"name_plural\": \"Chilean pesos\"\r\n },\r\n \"CNY\": {\r\n \"symbol\": \"CN¥\",\r\n \"name\": \"Chinese Yuan\",\r\n \"symbol_native\": \"CN¥\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CNY\",\r\n \"name_plural\": \"Chinese yuan\"\r\n },\r\n \"COP\": {\r\n \"symbol\": \"CO$\",\r\n \"name\": \"Colombian Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"COP\",\r\n \"name_plural\": \"Colombian pesos\"\r\n },\r\n \"CRC\": {\r\n \"symbol\": \"₡\",\r\n \"name\": \"Costa Rican Colón\",\r\n \"symbol_native\": \"₡\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CRC\",\r\n \"name_plural\": \"Costa Rican colóns\"\r\n },\r\n \"CVE\": {\r\n \"symbol\": \"CV$\",\r\n \"name\": \"Cape Verdean Escudo\",\r\n \"symbol_native\": \"CV$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CVE\",\r\n \"name_plural\": \"Cape Verdean escudos\"\r\n },\r\n \"CZK\": {\r\n \"symbol\": \"Kč\",\r\n \"name\": \"Czech Republic Koruna\",\r\n \"symbol_native\": \"Kč\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CZK\",\r\n \"name_plural\": \"Czech Republic korunas\"\r\n },\r\n \"DJF\": {\r\n \"symbol\": \"Fdj\",\r\n \"name\": \"Djiboutian Franc\",\r\n \"symbol_native\": \"Fdj\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"DJF\",\r\n \"name_plural\": \"Djiboutian francs\"\r\n },\r\n \"DKK\": {\r\n \"symbol\": \"Dkr\",\r\n \"name\": \"Danish Krone\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DKK\",\r\n \"name_plural\": \"Danish kroner\"\r\n },\r\n \"DOP\": {\r\n \"symbol\": \"RD$\",\r\n \"name\": \"Dominican Peso\",\r\n \"symbol_native\": \"RD$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DOP\",\r\n \"name_plural\": \"Dominican pesos\"\r\n },\r\n \"DZD\": {\r\n \"symbol\": \"DA\",\r\n \"name\": \"Algerian Dinar\",\r\n \"symbol_native\": \"د.ج.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DZD\",\r\n \"name_plural\": \"Algerian dinars\"\r\n },\r\n \"EEK\": {\r\n \"symbol\": \"Ekr\",\r\n \"name\": \"Estonian Kroon\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EEK\",\r\n \"name_plural\": \"Estonian kroons\"\r\n },\r\n \"EGP\": {\r\n \"symbol\": \"EGP\",\r\n \"name\": \"Egyptian Pound\",\r\n \"symbol_native\": \"ج.م.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EGP\",\r\n \"name_plural\": \"Egyptian pounds\"\r\n },\r\n \"ERN\": {\r\n \"symbol\": \"Nfk\",\r\n \"name\": \"Eritrean Nakfa\",\r\n \"symbol_native\": \"Nfk\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ERN\",\r\n \"name_plural\": \"Eritrean nakfas\"\r\n },\r\n \"ETB\": {\r\n \"symbol\": \"Br\",\r\n \"name\": \"Ethiopian Birr\",\r\n \"symbol_native\": \"Br\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ETB\",\r\n \"name_plural\": \"Ethiopian birrs\"\r\n },\r\n \"GBP\": {\r\n \"symbol\": \"£\",\r\n \"name\": \"British Pound Sterling\",\r\n \"symbol_native\": \"£\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GBP\",\r\n \"name_plural\": \"British pounds sterling\"\r\n },\r\n \"GEL\": {\r\n \"symbol\": \"GEL\",\r\n \"name\": \"Georgian Lari\",\r\n \"symbol_native\": \"GEL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GEL\",\r\n \"name_plural\": \"Georgian laris\"\r\n },\r\n \"GHS\": {\r\n \"symbol\": \"GH₵\",\r\n \"name\": \"Ghanaian Cedi\",\r\n \"symbol_native\": \"GH₵\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GHS\",\r\n \"name_plural\": \"Ghanaian cedis\"\r\n },\r\n \"GNF\": {\r\n \"symbol\": \"FG\",\r\n \"name\": \"Guinean Franc\",\r\n \"symbol_native\": \"FG\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"GNF\",\r\n \"name_plural\": \"Guinean francs\"\r\n },\r\n \"GTQ\": {\r\n \"symbol\": \"GTQ\",\r\n \"name\": \"Guatemalan Quetzal\",\r\n \"symbol_native\": \"Q\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GTQ\",\r\n \"name_plural\": \"Guatemalan quetzals\"\r\n },\r\n \"HKD\": {\r\n \"symbol\": \"HK$\",\r\n \"name\": \"Hong Kong Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HKD\",\r\n \"name_plural\": \"Hong Kong dollars\"\r\n },\r\n \"HNL\": {\r\n \"symbol\": \"HNL\",\r\n \"name\": \"Honduran Lempira\",\r\n \"symbol_native\": \"L\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HNL\",\r\n \"name_plural\": \"Honduran lempiras\"\r\n },\r\n \"HRK\": {\r\n \"symbol\": \"kn\",\r\n \"name\": \"Croatian Kuna\",\r\n \"symbol_native\": \"kn\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HRK\",\r\n \"name_plural\": \"Croatian kunas\"\r\n },\r\n \"HUF\": {\r\n \"symbol\": \"Ft\",\r\n \"name\": \"Hungarian Forint\",\r\n \"symbol_native\": \"Ft\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HUF\",\r\n \"name_plural\": \"Hungarian forints\"\r\n },\r\n \"IDR\": {\r\n \"symbol\": \"Rp\",\r\n \"name\": \"Indonesian Rupiah\",\r\n \"symbol_native\": \"Rp\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"IDR\",\r\n \"name_plural\": \"Indonesian rupiahs\"\r\n },\r\n \"ILS\": {\r\n \"symbol\": \"₪\",\r\n \"name\": \"Israeli New Sheqel\",\r\n \"symbol_native\": \"₪\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ILS\",\r\n \"name_plural\": \"Israeli new sheqels\"\r\n },\r\n \"INR\": {\r\n \"symbol\": \"Rs\",\r\n \"name\": \"Indian Rupee\",\r\n \"symbol_native\": \"টকা\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"INR\",\r\n \"name_plural\": \"Indian rupees\"\r\n },\r\n \"IQD\": {\r\n \"symbol\": \"IQD\",\r\n \"name\": \"Iraqi Dinar\",\r\n \"symbol_native\": \"د.ع.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"IQD\",\r\n \"name_plural\": \"Iraqi dinars\"\r\n },\r\n \"IRR\": {\r\n \"symbol\": \"IRR\",\r\n \"name\": \"Iranian Rial\",\r\n \"symbol_native\": \"﷼\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"IRR\",\r\n \"name_plural\": \"Iranian rials\"\r\n },\r\n \"ISK\": {\r\n \"symbol\": \"Ikr\",\r\n \"name\": \"Icelandic Króna\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"ISK\",\r\n \"name_plural\": \"Icelandic krónur\"\r\n },\r\n \"JMD\": {\r\n \"symbol\": \"J$\",\r\n \"name\": \"Jamaican Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"JMD\",\r\n \"name_plural\": \"Jamaican dollars\"\r\n },\r\n \"JOD\": {\r\n \"symbol\": \"JD\",\r\n \"name\": \"Jordanian Dinar\",\r\n \"symbol_native\": \"د.أ.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"JOD\",\r\n \"name_plural\": \"Jordanian dinars\"\r\n },\r\n \"JPY\": {\r\n \"symbol\": \"¥\",\r\n \"name\": \"Japanese Yen\",\r\n \"symbol_native\": \"¥\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"JPY\",\r\n \"name_plural\": \"Japanese yen\"\r\n },\r\n \"KES\": {\r\n \"symbol\": \"Ksh\",\r\n \"name\": \"Kenyan Shilling\",\r\n \"symbol_native\": \"Ksh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KES\",\r\n \"name_plural\": \"Kenyan shillings\"\r\n },\r\n \"KHR\": {\r\n \"symbol\": \"KHR\",\r\n \"name\": \"Cambodian Riel\",\r\n \"symbol_native\": \"៛\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KHR\",\r\n \"name_plural\": \"Cambodian riels\"\r\n },\r\n \"KMF\": {\r\n \"symbol\": \"CF\",\r\n \"name\": \"Comorian Franc\",\r\n \"symbol_native\": \"FC\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"KMF\",\r\n \"name_plural\": \"Comorian francs\"\r\n },\r\n \"KRW\": {\r\n \"symbol\": \"₩\",\r\n \"name\": \"South Korean Won\",\r\n \"symbol_native\": \"₩\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"KRW\",\r\n \"name_plural\": \"South Korean won\"\r\n },\r\n \"KWD\": {\r\n \"symbol\": \"KD\",\r\n \"name\": \"Kuwaiti Dinar\",\r\n \"symbol_native\": \"د.ك.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"KWD\",\r\n \"name_plural\": \"Kuwaiti dinars\"\r\n },\r\n \"KZT\": {\r\n \"symbol\": \"KZT\",\r\n \"name\": \"Kazakhstani Tenge\",\r\n \"symbol_native\": \"тңг.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KZT\",\r\n \"name_plural\": \"Kazakhstani tenges\"\r\n },\r\n \"LAK\": {\r\n \"symbol\": \"₭\",\r\n \"name\": \"Lao kip\",\r\n \"symbol_native\": \"ກີບ\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LAK\",\r\n \"name_plural\": \"Lao kips\"\r\n },\r\n \"LBP\": {\r\n \"symbol\": \"LB£\",\r\n \"name\": \"Lebanese Pound\",\r\n \"symbol_native\": \"ل.ل.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LBP\",\r\n \"name_plural\": \"Lebanese pounds\"\r\n },\r\n \"LKR\": {\r\n \"symbol\": \"SLRs\",\r\n \"name\": \"Sri Lankan Rupee\",\r\n \"symbol_native\": \"SL Re\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LKR\",\r\n \"name_plural\": \"Sri Lankan rupees\"\r\n },\r\n \"LTL\": {\r\n \"symbol\": \"Lt\",\r\n \"name\": \"Lithuanian Litas\",\r\n \"symbol_native\": \"Lt\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LTL\",\r\n \"name_plural\": \"Lithuanian litai\"\r\n },\r\n \"LVL\": {\r\n \"symbol\": \"Ls\",\r\n \"name\": \"Latvian Lats\",\r\n \"symbol_native\": \"Ls\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LVL\",\r\n \"name_plural\": \"Latvian lati\"\r\n },\r\n \"LYD\": {\r\n \"symbol\": \"LD\",\r\n \"name\": \"Libyan Dinar\",\r\n \"symbol_native\": \"د.ل.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"LYD\",\r\n \"name_plural\": \"Libyan dinars\"\r\n },\r\n \"MAD\": {\r\n \"symbol\": \"MAD\",\r\n \"name\": \"Moroccan Dirham\",\r\n \"symbol_native\": \"د.م.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MAD\",\r\n \"name_plural\": \"Moroccan dirhams\"\r\n },\r\n \"MDL\": {\r\n \"symbol\": \"MDL\",\r\n \"name\": \"Moldovan Leu\",\r\n \"symbol_native\": \"MDL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MDL\",\r\n \"name_plural\": \"Moldovan lei\"\r\n },\r\n \"MGA\": {\r\n \"symbol\": \"MGA\",\r\n \"name\": \"Malagasy Ariary\",\r\n \"symbol_native\": \"MGA\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MGA\",\r\n \"name_plural\": \"Malagasy Ariaries\"\r\n },\r\n \"MKD\": {\r\n \"symbol\": \"MKD\",\r\n \"name\": \"Macedonian Denar\",\r\n \"symbol_native\": \"MKD\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MKD\",\r\n \"name_plural\": \"Macedonian denari\"\r\n },\r\n \"MMK\": {\r\n \"symbol\": \"MMK\",\r\n \"name\": \"Myanma Kyat\",\r\n \"symbol_native\": \"K\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MMK\",\r\n \"name_plural\": \"Myanma kyats\"\r\n },\r\n \"MOP\": {\r\n \"symbol\": \"MOP$\",\r\n \"name\": \"Macanese Pataca\",\r\n \"symbol_native\": \"MOP$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MOP\",\r\n \"name_plural\": \"Macanese patacas\"\r\n },\r\n \"MUR\": {\r\n \"symbol\": \"MURs\",\r\n \"name\": \"Mauritian Rupee\",\r\n \"symbol_native\": \"MURs\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MUR\",\r\n \"name_plural\": \"Mauritian rupees\"\r\n },\r\n \"MXN\": {\r\n \"symbol\": \"MX$\",\r\n \"name\": \"Mexican Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MXN\",\r\n \"name_plural\": \"Mexican pesos\"\r\n },\r\n \"MYR\": {\r\n \"symbol\": \"RM\",\r\n \"name\": \"Malaysian Ringgit\",\r\n \"symbol_native\": \"RM\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MYR\",\r\n \"name_plural\": \"Malaysian ringgits\"\r\n },\r\n \"MZN\": {\r\n \"symbol\": \"MTn\",\r\n \"name\": \"Mozambican Metical\",\r\n \"symbol_native\": \"MTn\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MZN\",\r\n \"name_plural\": \"Mozambican meticals\"\r\n },\r\n \"NAD\": {\r\n \"symbol\": \"N$\",\r\n \"name\": \"Namibian Dollar\",\r\n \"symbol_native\": \"N$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NAD\",\r\n \"name_plural\": \"Namibian dollars\"\r\n },\r\n \"NGN\": {\r\n \"symbol\": \"₦\",\r\n \"name\": \"Nigerian Naira\",\r\n \"symbol_native\": \"₦\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NGN\",\r\n \"name_plural\": \"Nigerian nairas\"\r\n },\r\n \"NIO\": {\r\n \"symbol\": \"C$\",\r\n \"name\": \"Nicaraguan Córdoba\",\r\n \"symbol_native\": \"C$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NIO\",\r\n \"name_plural\": \"Nicaraguan córdobas\"\r\n },\r\n \"NOK\": {\r\n \"symbol\": \"Nkr\",\r\n \"name\": \"Norwegian Krone\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NOK\",\r\n \"name_plural\": \"Norwegian kroner\"\r\n },\r\n \"NPR\": {\r\n \"symbol\": \"NPRs\",\r\n \"name\": \"Nepalese Rupee\",\r\n \"symbol_native\": \"नेरू\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NPR\",\r\n \"name_plural\": \"Nepalese rupees\"\r\n },\r\n \"NZD\": {\r\n \"symbol\": \"NZ$\",\r\n \"name\": \"New Zealand Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NZD\",\r\n \"name_plural\": \"New Zealand dollars\"\r\n },\r\n \"OMR\": {\r\n \"symbol\": \"OMR\",\r\n \"name\": \"Omani Rial\",\r\n \"symbol_native\": \"ر.ع.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"OMR\",\r\n \"name_plural\": \"Omani rials\"\r\n },\r\n \"PAB\": {\r\n \"symbol\": \"B/.\",\r\n \"name\": \"Panamanian Balboa\",\r\n \"symbol_native\": \"B/.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PAB\",\r\n \"name_plural\": \"Panamanian balboas\"\r\n },\r\n \"PEN\": {\r\n \"symbol\": \"S/.\",\r\n \"name\": \"Peruvian Nuevo Sol\",\r\n \"symbol_native\": \"S/.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PEN\",\r\n \"name_plural\": \"Peruvian nuevos soles\"\r\n },\r\n \"PHP\": {\r\n \"symbol\": \"₱\",\r\n \"name\": \"Philippine Peso\",\r\n \"symbol_native\": \"₱\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PHP\",\r\n \"name_plural\": \"Philippine pesos\"\r\n },\r\n \"PKR\": {\r\n \"symbol\": \"PKRs\",\r\n \"name\": \"Pakistani Rupee\",\r\n \"symbol_native\": \"₨\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PKR\",\r\n \"name_plural\": \"Pakistani rupees\"\r\n },\r\n \"PLN\": {\r\n \"symbol\": \"zł\",\r\n \"name\": \"Polish Zloty\",\r\n \"symbol_native\": \"zł\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PLN\",\r\n \"name_plural\": \"Polish zlotys\"\r\n },\r\n \"PYG\": {\r\n \"symbol\": \"₲\",\r\n \"name\": \"Paraguayan Guarani\",\r\n \"symbol_native\": \"₲\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"PYG\",\r\n \"name_plural\": \"Paraguayan guaranis\"\r\n },\r\n \"QAR\": {\r\n \"symbol\": \"QR\",\r\n \"name\": \"Qatari Rial\",\r\n \"symbol_native\": \"ر.ق.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"QAR\",\r\n \"name_plural\": \"Qatari rials\"\r\n },\r\n \"RON\": {\r\n \"symbol\": \"RON\",\r\n \"name\": \"Romanian Leu\",\r\n \"symbol_native\": \"RON\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RON\",\r\n \"name_plural\": \"Romanian lei\"\r\n },\r\n \"RSD\": {\r\n \"symbol\": \"din.\",\r\n \"name\": \"Serbian Dinar\",\r\n \"symbol_native\": \"дин.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RSD\",\r\n \"name_plural\": \"Serbian dinars\"\r\n },\r\n \"RUB\": {\r\n \"symbol\": \"RUB\",\r\n \"name\": \"Russian Ruble\",\r\n \"symbol_native\": \"₽\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RUB\",\r\n \"name_plural\": \"Russian rubles\"\r\n },\r\n \"RWF\": {\r\n \"symbol\": \"RWF\",\r\n \"name\": \"Rwandan Franc\",\r\n \"symbol_native\": \"FR\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"RWF\",\r\n \"name_plural\": \"Rwandan francs\"\r\n },\r\n \"SAR\": {\r\n \"symbol\": \"SR\",\r\n \"name\": \"Saudi Riyal\",\r\n \"symbol_native\": \"ر.س.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SAR\",\r\n \"name_plural\": \"Saudi riyals\"\r\n },\r\n \"SDG\": {\r\n \"symbol\": \"SDG\",\r\n \"name\": \"Sudanese Pound\",\r\n \"symbol_native\": \"SDG\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SDG\",\r\n \"name_plural\": \"Sudanese pounds\"\r\n },\r\n \"SEK\": {\r\n \"symbol\": \"Skr\",\r\n \"name\": \"Swedish Krona\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SEK\",\r\n \"name_plural\": \"Swedish kronor\"\r\n },\r\n \"SGD\": {\r\n \"symbol\": \"S$\",\r\n \"name\": \"Singapore Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SGD\",\r\n \"name_plural\": \"Singapore dollars\"\r\n },\r\n \"SOS\": {\r\n \"symbol\": \"Ssh\",\r\n \"name\": \"Somali Shilling\",\r\n \"symbol_native\": \"Ssh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SOS\",\r\n \"name_plural\": \"Somali shillings\"\r\n },\r\n \"SYP\": {\r\n \"symbol\": \"SY£\",\r\n \"name\": \"Syrian Pound\",\r\n \"symbol_native\": \"ل.س.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SYP\",\r\n \"name_plural\": \"Syrian pounds\"\r\n },\r\n \"THB\": {\r\n \"symbol\": \"฿\",\r\n \"name\": \"Thai Baht\",\r\n \"symbol_native\": \"฿\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"THB\",\r\n \"name_plural\": \"Thai baht\"\r\n },\r\n \"TND\": {\r\n \"symbol\": \"DT\",\r\n \"name\": \"Tunisian Dinar\",\r\n \"symbol_native\": \"د.ت.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"TND\",\r\n \"name_plural\": \"Tunisian dinars\"\r\n },\r\n \"TOP\": {\r\n \"symbol\": \"T$\",\r\n \"name\": \"Tongan Paʻanga\",\r\n \"symbol_native\": \"T$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TOP\",\r\n \"name_plural\": \"Tongan paʻanga\"\r\n },\r\n \"TRY\": {\r\n \"symbol\": \"TL\",\r\n \"name\": \"Turkish Lira\",\r\n \"symbol_native\": \"TL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TRY\",\r\n \"name_plural\": \"Turkish Lira\"\r\n },\r\n \"TTD\": {\r\n \"symbol\": \"TT$\",\r\n \"name\": \"Trinidad and Tobago Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TTD\",\r\n \"name_plural\": \"Trinidad and Tobago dollars\"\r\n },\r\n \"TWD\": {\r\n \"symbol\": \"NT$\",\r\n \"name\": \"New Taiwan Dollar\",\r\n \"symbol_native\": \"NT$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TWD\",\r\n \"name_plural\": \"New Taiwan dollars\"\r\n },\r\n \"TZS\": {\r\n \"symbol\": \"TSh\",\r\n \"name\": \"Tanzanian Shilling\",\r\n \"symbol_native\": \"TSh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TZS\",\r\n \"name_plural\": \"Tanzanian shillings\"\r\n },\r\n \"UAH\": {\r\n \"symbol\": \"₴\",\r\n \"name\": \"Ukrainian Hryvnia\",\r\n \"symbol_native\": \"₴\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UAH\",\r\n \"name_plural\": \"Ukrainian hryvnias\"\r\n },\r\n \"UGX\": {\r\n \"symbol\": \"USh\",\r\n \"name\": \"Ugandan Shilling\",\r\n \"symbol_native\": \"USh\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"UGX\",\r\n \"name_plural\": \"Ugandan shillings\"\r\n },\r\n \"UYU\": {\r\n \"symbol\": \"$U\",\r\n \"name\": \"Uruguayan Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UYU\",\r\n \"name_plural\": \"Uruguayan pesos\"\r\n },\r\n \"UZS\": {\r\n \"symbol\": \"UZS\",\r\n \"name\": \"Uzbekistan Som\",\r\n \"symbol_native\": \"UZS\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UZS\",\r\n \"name_plural\": \"Uzbekistan som\"\r\n },\r\n \"VEF\": {\r\n \"symbol\": \"Bs.F.\",\r\n \"name\": \"Venezuelan Bolívar\",\r\n \"symbol_native\": \"Bs.F.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"VEF\",\r\n \"name_plural\": \"Venezuelan bolívars\"\r\n },\r\n \"VND\": {\r\n \"symbol\": \"₫\",\r\n \"name\": \"Vietnamese Dong\",\r\n \"symbol_native\": \"₫\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"VND\",\r\n \"name_plural\": \"Vietnamese dong\"\r\n },\r\n \"XAF\": {\r\n \"symbol\": \"FCFA\",\r\n \"name\": \"CFA Franc BEAC\",\r\n \"symbol_native\": \"FCFA\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"XAF\",\r\n \"name_plural\": \"CFA francs BEAC\"\r\n },\r\n \"XOF\": {\r\n \"symbol\": \"CFA\",\r\n \"name\": \"CFA Franc BCEAO\",\r\n \"symbol_native\": \"CFA\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"XOF\",\r\n \"name_plural\": \"CFA francs BCEAO\"\r\n },\r\n \"YER\": {\r\n \"symbol\": \"YR\",\r\n \"name\": \"Yemeni Rial\",\r\n \"symbol_native\": \"ر.ي.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"YER\",\r\n \"name_plural\": \"Yemeni rials\"\r\n },\r\n \"ZAR\": {\r\n \"symbol\": \"R\",\r\n \"name\": \"South African Rand\",\r\n \"symbol_native\": \"R\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ZAR\",\r\n \"name_plural\": \"South African rand\"\r\n },\r\n \"ZMK\": {\r\n \"symbol\": \"ZK\",\r\n \"name\": \"Zambian Kwacha\",\r\n \"symbol_native\": \"ZK\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"ZMK\",\r\n \"name_plural\": \"Zambian kwachas\"\r\n }\r\n};\r\n\r\nObject.keys(currencies).forEach(function (currency) {\r\n module.exports[currency] = currencies[currency]; \r\n});\r\n","/**\n * This file is part of the JS Money library\n *\n * Copyright (c) 2014 David Kalosi\n *\n * For the full copyright and license information, please view the LICENSE\n * file that was distributed with this source code.\n */\n\nmodule.exports = require('./money');\n","/**\r\n * This file is part of the JS Money library\r\n *\r\n * Copyright (c) 2014 David Kalosi\r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nvar extend = require('lodash/extend');\r\nvar isFunction = require('lodash/isFunction');\r\nvar isNaN = require('lodash/isNaN');\r\nvar isObject = require('lodash/isObject');\r\nvar isPlainObject = require('lodash/isPlainObject');\r\nvar isString = require('lodash/isString');\r\nvar currencies = require('./currency');\r\n\r\nvar isInt = function (n) {\r\n return Number(n) === n && n % 1 === 0;\r\n};\r\n\r\nvar decimalPlaces = function (num) {\r\n var match = ('' + num).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\r\n\r\n if (!match)\r\n return 0;\r\n\r\n return Math.max(0,\r\n (match[1] ? match[1].length : 0) - (match[2] ? +match[2] : 0));\r\n};\r\n\r\nvar assertSameCurrency = function (left, right) {\r\n if (left.currency !== right.currency)\r\n throw new Error('Different currencies');\r\n};\r\n\r\nvar assertType = function (other) {\r\n if (!(other instanceof Money))\r\n throw new TypeError('Instance of Money required');\r\n};\r\n\r\nvar assertOperand = function (operand) {\r\n if (isNaN(parseFloat(operand)) && !isFinite(operand))\r\n throw new TypeError('Operand must be a number');\r\n};\r\n\r\n/**\r\n * Creates a new Money instance.\r\n * The created Money instances is a value object thus it is immutable.\r\n *\r\n * @param {Number} amount\r\n * @param {Object/String} currency\r\n * @returns {Money}\r\n * @constructor\r\n */\r\nfunction Money(amount, currency) {\r\n if (isString(currency))\r\n currency = currencies[currency];\r\n\r\n if (!isPlainObject(currency))\r\n throw new TypeError('Invalid currency');\r\n\r\n if (!isInt(amount))\r\n throw new TypeError('Amount must be an integer');\r\n\r\n this.amount = amount;\r\n this.currency = currency.code;\r\n Object.freeze(this);\r\n}\r\n\r\nMoney.fromInteger = function (amount, currency) {\r\n if (isObject(amount)) {\r\n if (amount.amount === undefined || amount.currency === undefined)\r\n throw new TypeError('Missing required parameters amount,currency');\r\n\r\n currency = amount.currency;\r\n amount = amount.amount;\r\n }\r\n\r\n if (!isInt(amount))\r\n throw new TypeError('Amount must be an integer value');\r\n\r\n return new Money(amount, currency);\r\n};\r\n\r\nMoney.fromDecimal = function (amount, currency, rounder) {\r\n if (isObject(amount)) {\r\n if (amount.amount === undefined || amount.currency === undefined)\r\n throw new TypeError('Missing required parameters amount,currency');\r\n\r\n rounder = currency;\r\n currency = amount.currency;\r\n amount = amount.amount;\r\n }\r\n\r\n if (isString(currency))\r\n currency = currencies[currency];\r\n\r\n if (!isPlainObject(currency))\r\n throw new TypeError('Invalid currency');\r\n\r\n if (rounder === undefined) {\r\n var decimals = decimalPlaces(amount);\r\n\r\n if (decimals > currency.decimal_digits)\r\n throw new Error(\"The currency \" + currency.code + \" supports only \"\r\n + currency.decimal_digits + \" decimal digits\");\r\n } else {\r\n if (['round', 'floor', 'ceil'].indexOf(rounder) === -1 && typeof rounder !== 'function')\r\n throw new TypeError('Invalid parameter rounder');\r\n\r\n if (isString(rounder))\r\n rounder = Math[rounder];\r\n }\r\n\r\n var precisionMultiplier = Math.pow(10, currency.decimal_digits);\r\n var resultAmount = amount * precisionMultiplier;\r\n\r\n if (rounder)\r\n resultAmount = rounder(resultAmount);\r\n\r\n return new Money(resultAmount, currency);\r\n};\r\n\r\n/**\r\n * Returns true if the two instances of Money are equal, false otherwise.\r\n *\r\n * @param {Money} other\r\n * @returns {Boolean}\r\n */\r\nMoney.prototype.equals = function (other) {\r\n var self = this;\r\n assertType(other);\r\n\r\n return self.amount === other.amount &&\r\n self.currency === other.currency;\r\n};\r\n\r\n/**\r\n * Adds the two objects together creating a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Money} other\r\n * @returns {Money}\r\n */\r\nMoney.prototype.add = function (other) {\r\n var self = this;\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n return new Money(self.amount + other.amount, self.currency);\r\n};\r\n\r\n/**\r\n * Subtracts the two objects creating a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Money} other\r\n * @returns {Money}\r\n */\r\nMoney.prototype.subtract = function (other) {\r\n var self = this;\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n return new Money(self.amount - other.amount, self.currency);\r\n};\r\n\r\n/**\r\n * Multiplies the object by the multiplier returning a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Number} multiplier\r\n * @param {Function} [fn=Math.round]\r\n * @returns {Money}\r\n */\r\nMoney.prototype.multiply = function (multiplier, fn) {\r\n if (!isFunction(fn))\r\n fn = Math.round;\r\n\r\n assertOperand(multiplier);\r\n var amount = fn(this.amount * multiplier);\r\n\r\n return new Money(amount, this.currency);\r\n};\r\n\r\n/**\r\n * Divides the object by the multiplier returning a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Number} divisor\r\n * @param {Function} [fn=Math.round]\r\n * @returns {Money}\r\n */\r\nMoney.prototype.divide = function (divisor, fn) {\r\n if (!isFunction(fn))\r\n fn = Math.round;\r\n\r\n assertOperand(divisor);\r\n var amount = fn(this.amount / divisor);\r\n\r\n return new Money(amount, this.currency);\r\n};\r\n\r\n/**\r\n * Allocates fund bases on the ratios provided returing an array of objects as a product of the allocation.\r\n *\r\n * @param {Array} other\r\n * @returns {Array.Money}\r\n */\r\nMoney.prototype.allocate = function (ratios) {\r\n var self = this;\r\n var remainder = self.amount;\r\n var results = [];\r\n var total = 0;\r\n\r\n ratios.forEach(function (ratio) {\r\n total += ratio;\r\n });\r\n\r\n ratios.forEach(function (ratio) {\r\n var share = Math.floor(self.amount * ratio / total)\r\n results.push(new Money(share, self.currency));\r\n remainder -= share;\r\n });\r\n\r\n for (var i = 0; remainder > 0; i++) {\r\n results[i] = new Money(results[i].amount + 1, results[i].currency);\r\n remainder--;\r\n }\r\n\r\n return results;\r\n};\r\n\r\n/**\r\n * Compares two instances of Money.\r\n *\r\n * @param {Money} other\r\n * @returns {Number}\r\n */\r\nMoney.prototype.compare = function (other) {\r\n var self = this;\r\n\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n if (self.amount === other.amount)\r\n return 0;\r\n\r\n return self.amount > other.amount ? 1 : -1;\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is greater than the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.greaterThan = function (other) {\r\n return 1 === this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is greater or equal to the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.greaterThanOrEqual = function (other) {\r\n return 0 <= this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is less than the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.lessThan = function (other) {\r\n return -1 === this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is less than or equal to the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.lessThanOrEqual = function (other) {\r\n return 0 >= this.compare(other);\r\n};\r\n\r\n/**\r\n * Returns true if the amount is zero.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isZero = function () {\r\n return this.amount === 0;\r\n};\r\n\r\n/**\r\n * Returns true if the amount is positive.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isPositive = function () {\r\n return this.amount > 0;\r\n};\r\n\r\n/**\r\n * Returns true if the amount is negative.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isNegative = function () {\r\n return this.amount < 0;\r\n};\r\n\r\n/**\r\n * Returns the decimal value as a float.\r\n *\r\n * @returns {number}\r\n */\r\nMoney.prototype.toDecimal = function () {\r\n return Number(this.toString());\r\n};\r\n\r\n/**\r\n * Returns the decimal value as a string.\r\n *\r\n * @returns {string}\r\n */\r\nMoney.prototype.toString = function () {\r\n var currency = currencies[this.currency];\r\n return (this.amount / Math.pow(10, currency.decimal_digits)).toFixed(currency.decimal_digits);\r\n};\r\n\r\n/**\r\n * Returns a serialised version of the instance.\r\n *\r\n * @returns {{amount: number, currency: string}}\r\n */\r\nMoney.prototype.toJSON = function () {\r\n return {\r\n amount: this.amount,\r\n currency: this.currency\r\n };\r\n};\r\n\r\n/**\r\n * Returns the amount represented by this object.\r\n *\r\n * @returns {number}\r\n */\r\nMoney.prototype.getAmount = function () {\r\n return this.amount;\r\n};\r\n\r\n/**\r\n * Returns the currency represented by this object.\r\n *\r\n * @returns {string}\r\n */\r\nMoney.prototype.getCurrency = function () {\r\n return this.currency;\r\n};\r\n\r\nmodule.exports = extend(Money, currencies);\r\n","var toString = Object.prototype.toString;\n\nmodule.exports = function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\n\nfunction isError(val) {\n return val instanceof Error || (typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number');\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n keysIn = require('./keysIn');\n\n/**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\nvar assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n});\n\nmodule.exports = assignIn;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","module.exports = require('./assignIn');\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","'use strict';\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);\n error.framesToPop = 1; // Skip nullthrows's own stack frame.\n throw error;\n}\n\nmodule.exports = nullthrows;\nmodule.exports.default = nullthrows;\n\nObject.defineProperty(module.exports, '__esModule', {value: true});\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","function isUndefined(value) {\n return value === undefined;\n}\n\nfunction isNull(value) {\n return value === null;\n}\n\nfunction isBoolean(value) {\n return typeof value === 'boolean';\n}\n\nfunction isObject(value) {\n return value === Object(value);\n}\n\nfunction isArray(value) {\n return Array.isArray(value);\n}\n\nfunction isDate(value) {\n return value instanceof Date;\n}\n\nfunction isBlob(value, isReactNative) {\n return isReactNative\n ? isObject(value) && !isUndefined(value.uri)\n : isObject(value) &&\n typeof value.size === 'number' &&\n typeof value.type === 'string' &&\n typeof value.slice === 'function';\n}\n\nfunction isFile(value, isReactNative) {\n return (\n isBlob(value, isReactNative) &&\n typeof value.name === 'string' &&\n (isObject(value.lastModifiedDate) || typeof value.lastModified === 'number')\n );\n}\n\nfunction initCfg(value) {\n return isUndefined(value) ? false : value;\n}\n\nfunction serialize(obj, cfg, fd, pre) {\n cfg = cfg || {};\n fd = fd || new FormData();\n\n cfg.indices = initCfg(cfg.indices);\n cfg.nullsAsUndefineds = initCfg(cfg.nullsAsUndefineds);\n cfg.booleansAsIntegers = initCfg(cfg.booleansAsIntegers);\n cfg.allowEmptyArrays = initCfg(cfg.allowEmptyArrays);\n cfg.noFilesWithArrayNotation = initCfg(cfg.noFilesWithArrayNotation);\n cfg.dotsForObjectNotation = initCfg(cfg.dotsForObjectNotation);\n\n const isReactNative = typeof fd.getParts === 'function';\n\n if (isUndefined(obj)) {\n return fd;\n } else if (isNull(obj)) {\n if (!cfg.nullsAsUndefineds) {\n fd.append(pre, '');\n }\n } else if (isBoolean(obj)) {\n if (cfg.booleansAsIntegers) {\n fd.append(pre, obj ? 1 : 0);\n } else {\n fd.append(pre, obj);\n }\n } else if (isArray(obj)) {\n if (obj.length) {\n obj.forEach((value, index) => {\n let key = pre + '[' + (cfg.indices ? index : '') + ']';\n\n if (cfg.noFilesWithArrayNotation && isFile(value, isReactNative)) {\n key = pre;\n }\n\n serialize(value, cfg, fd, key);\n });\n } else if (cfg.allowEmptyArrays) {\n fd.append(pre + '[]', '');\n }\n } else if (isDate(obj)) {\n fd.append(pre, obj.toISOString());\n } else if (isObject(obj) && !isBlob(obj, isReactNative)) {\n Object.keys(obj).forEach((prop) => {\n const value = obj[prop];\n\n if (isArray(value)) {\n while (prop.length > 2 && prop.lastIndexOf('[]') === prop.length - 2) {\n prop = prop.substring(0, prop.length - 2);\n }\n }\n\n const key = pre\n ? cfg.dotsForObjectNotation\n ? pre + '.' + prop\n : pre + '[' + prop + ']'\n : prop;\n\n serialize(value, cfg, fd, key);\n });\n } else {\n fd.append(pre, obj);\n }\n\n return fd;\n}\n\nmodule.exports = {\n serialize,\n};\n","'use strict';\n\n// modified from https://github.com/es-shims/es6-shim\nvar objectKeys = require('object-keys');\nvar hasSymbols = require('has-symbols/shams')();\nvar callBound = require('call-bind/callBound');\nvar toObject = Object;\nvar $push = callBound('Array.prototype.push');\nvar $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function assign(target, source1) {\n\tif (target == null) { throw new TypeError('target must be an object'); }\n\tvar to = toObject(target); // step 1\n\tif (arguments.length === 1) {\n\t\treturn to; // step 2\n\t}\n\tfor (var s = 1; s < arguments.length; ++s) {\n\t\tvar from = toObject(arguments[s]); // step 3.a.i\n\n\t\t// step 3.a.ii:\n\t\tvar keys = objectKeys(from);\n\t\tvar getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);\n\t\tif (getSymbols) {\n\t\t\tvar syms = getSymbols(from);\n\t\t\tfor (var j = 0; j < syms.length; ++j) {\n\t\t\t\tvar key = syms[j];\n\t\t\t\tif ($propIsEnumerable(from, key)) {\n\t\t\t\t\t$push(keys, key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// step 3.a.iii:\n\t\tfor (var i = 0; i < keys.length; ++i) {\n\t\t\tvar nextKey = keys[i];\n\t\t\tif ($propIsEnumerable(from, nextKey)) { // step 3.a.iii.2\n\t\t\t\tvar propValue = from[nextKey]; // step 3.a.iii.2.a\n\t\t\t\tto[nextKey] = propValue; // step 3.a.iii.2.b\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to; // step 4\n};\n","'use strict';\n\nvar defineProperties = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind.apply(getPolyfill());\n// eslint-disable-next-line no-unused-vars\nvar bound = function assign(target, source1) {\n\treturn polyfill(Object, arguments);\n};\n\ndefineProperties(bound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = bound;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar lacksProperEnumerationOrder = function () {\n\tif (!Object.assign) {\n\t\treturn false;\n\t}\n\t/*\n\t * v8, specifically in node 4.x, has a bug with incorrect property enumeration order\n\t * note: this does not detect the bug unless there's 20 characters\n\t */\n\tvar str = 'abcdefghijklmnopqrst';\n\tvar letters = str.split('');\n\tvar map = {};\n\tfor (var i = 0; i < letters.length; ++i) {\n\t\tmap[letters[i]] = letters[i];\n\t}\n\tvar obj = Object.assign({}, map);\n\tvar actual = '';\n\tfor (var k in obj) {\n\t\tactual += k;\n\t}\n\treturn str !== actual;\n};\n\nvar assignHasPendingExceptions = function () {\n\tif (!Object.assign || !Object.preventExtensions) {\n\t\treturn false;\n\t}\n\t/*\n\t * Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n\t * which is 72% slower than our shim, and Firefox 40's native implementation.\n\t */\n\tvar thrower = Object.preventExtensions({ 1: 2 });\n\ttry {\n\t\tObject.assign(thrower, 'xy');\n\t} catch (e) {\n\t\treturn thrower[1] === 'y';\n\t}\n\treturn false;\n};\n\nmodule.exports = function getPolyfill() {\n\tif (!Object.assign) {\n\t\treturn implementation;\n\t}\n\tif (lacksProperEnumerationOrder()) {\n\t\treturn implementation;\n\t}\n\tif (assignHasPendingExceptions()) {\n\t\treturn implementation;\n\t}\n\treturn Object.assign;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimAssign() {\n\tvar polyfill = getPolyfill();\n\tdefine(\n\t\tObject,\n\t\t{ assign: polyfill },\n\t\t{ assign: function () { return Object.assign !== polyfill; } }\n\t);\n\treturn polyfill;\n};\n","var parse = require(\"./parse\");\nvar walk = require(\"./walk\");\nvar stringify = require(\"./stringify\");\n\nfunction ValueParser(value) {\n if (this instanceof ValueParser) {\n this.nodes = parse(value);\n return this;\n }\n return new ValueParser(value);\n}\n\nValueParser.prototype.toString = function() {\n return Array.isArray(this.nodes) ? stringify(this.nodes) : \"\";\n};\n\nValueParser.prototype.walk = function(cb, bubble) {\n walk(this.nodes, cb, bubble);\n return this;\n};\n\nValueParser.unit = require(\"./unit\");\n\nValueParser.walk = walk;\n\nValueParser.stringify = stringify;\n\nmodule.exports = ValueParser;\n","var openParentheses = \"(\".charCodeAt(0);\nvar closeParentheses = \")\".charCodeAt(0);\nvar singleQuote = \"'\".charCodeAt(0);\nvar doubleQuote = '\"'.charCodeAt(0);\nvar backslash = \"\\\\\".charCodeAt(0);\nvar slash = \"/\".charCodeAt(0);\nvar comma = \",\".charCodeAt(0);\nvar colon = \":\".charCodeAt(0);\nvar star = \"*\".charCodeAt(0);\nvar uLower = \"u\".charCodeAt(0);\nvar uUpper = \"U\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar isUnicodeRange = /^[a-f0-9?-]+$/i;\n\nmodule.exports = function(input) {\n var tokens = [];\n var value = input;\n\n var next,\n quote,\n prev,\n token,\n escape,\n escapePos,\n whitespacePos,\n parenthesesOpenPos;\n var pos = 0;\n var code = value.charCodeAt(pos);\n var max = value.length;\n var stack = [{ nodes: tokens }];\n var balanced = 0;\n var parent;\n\n var name = \"\";\n var before = \"\";\n var after = \"\";\n\n while (pos < max) {\n // Whitespaces\n if (code <= 32) {\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n token = value.slice(pos, next);\n\n prev = tokens[tokens.length - 1];\n if (code === closeParentheses && balanced) {\n after = token;\n } else if (prev && prev.type === \"div\") {\n prev.after = token;\n prev.sourceEndIndex += token.length;\n } else if (\n code === comma ||\n code === colon ||\n (code === slash &&\n value.charCodeAt(next + 1) !== star &&\n (!parent ||\n (parent && parent.type === \"function\" && parent.value !== \"calc\")))\n ) {\n before = token;\n } else {\n tokens.push({\n type: \"space\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n }\n\n pos = next;\n\n // Quotes\n } else if (code === singleQuote || code === doubleQuote) {\n next = pos;\n quote = code === singleQuote ? \"'\" : '\"';\n token = {\n type: \"string\",\n sourceIndex: pos,\n quote: quote\n };\n do {\n escape = false;\n next = value.indexOf(quote, next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += quote;\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n token.value = value.slice(pos + 1, next);\n token.sourceEndIndex = token.unclosed ? next : next + 1;\n tokens.push(token);\n pos = next + 1;\n code = value.charCodeAt(pos);\n\n // Comments\n } else if (code === slash && value.charCodeAt(pos + 1) === star) {\n next = value.indexOf(\"*/\", pos);\n\n token = {\n type: \"comment\",\n sourceIndex: pos,\n sourceEndIndex: next + 2\n };\n\n if (next === -1) {\n token.unclosed = true;\n next = value.length;\n token.sourceEndIndex = next;\n }\n\n token.value = value.slice(pos + 2, next);\n tokens.push(token);\n\n pos = next + 2;\n code = value.charCodeAt(pos);\n\n // Operation within calc\n } else if (\n (code === slash || code === star) &&\n parent &&\n parent.type === \"function\" &&\n parent.value === \"calc\"\n ) {\n token = value[pos];\n tokens.push({\n type: \"word\",\n sourceIndex: pos - before.length,\n sourceEndIndex: pos + token.length,\n value: token\n });\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Dividers\n } else if (code === slash || code === comma || code === colon) {\n token = value[pos];\n\n tokens.push({\n type: \"div\",\n sourceIndex: pos - before.length,\n sourceEndIndex: pos + token.length,\n value: token,\n before: before,\n after: \"\"\n });\n before = \"\";\n\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Open parentheses\n } else if (openParentheses === code) {\n // Whitespaces after open parentheses\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n parenthesesOpenPos = pos;\n token = {\n type: \"function\",\n sourceIndex: pos - name.length,\n value: name,\n before: value.slice(parenthesesOpenPos + 1, next)\n };\n pos = next;\n\n if (name === \"url\" && code !== singleQuote && code !== doubleQuote) {\n next -= 1;\n do {\n escape = false;\n next = value.indexOf(\")\", next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += \")\";\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n // Whitespaces before closed\n whitespacePos = next;\n do {\n whitespacePos -= 1;\n code = value.charCodeAt(whitespacePos);\n } while (code <= 32);\n if (parenthesesOpenPos < whitespacePos) {\n if (pos !== whitespacePos + 1) {\n token.nodes = [\n {\n type: \"word\",\n sourceIndex: pos,\n sourceEndIndex: whitespacePos + 1,\n value: value.slice(pos, whitespacePos + 1)\n }\n ];\n } else {\n token.nodes = [];\n }\n if (token.unclosed && whitespacePos + 1 !== next) {\n token.after = \"\";\n token.nodes.push({\n type: \"space\",\n sourceIndex: whitespacePos + 1,\n sourceEndIndex: next,\n value: value.slice(whitespacePos + 1, next)\n });\n } else {\n token.after = value.slice(whitespacePos + 1, next);\n token.sourceEndIndex = next;\n }\n } else {\n token.after = \"\";\n token.nodes = [];\n }\n pos = next + 1;\n token.sourceEndIndex = token.unclosed ? next : pos;\n code = value.charCodeAt(pos);\n tokens.push(token);\n } else {\n balanced += 1;\n token.after = \"\";\n token.sourceEndIndex = pos + 1;\n tokens.push(token);\n stack.push(token);\n tokens = token.nodes = [];\n parent = token;\n }\n name = \"\";\n\n // Close parentheses\n } else if (closeParentheses === code && balanced) {\n pos += 1;\n code = value.charCodeAt(pos);\n\n parent.after = after;\n parent.sourceEndIndex += after.length;\n after = \"\";\n balanced -= 1;\n stack[stack.length - 1].sourceEndIndex = pos;\n stack.pop();\n parent = stack[balanced];\n tokens = parent.nodes;\n\n // Words\n } else {\n next = pos;\n do {\n if (code === backslash) {\n next += 1;\n }\n next += 1;\n code = value.charCodeAt(next);\n } while (\n next < max &&\n !(\n code <= 32 ||\n code === singleQuote ||\n code === doubleQuote ||\n code === comma ||\n code === colon ||\n code === slash ||\n code === openParentheses ||\n (code === star &&\n parent &&\n parent.type === \"function\" &&\n parent.value === \"calc\") ||\n (code === slash &&\n parent.type === \"function\" &&\n parent.value === \"calc\") ||\n (code === closeParentheses && balanced)\n )\n );\n token = value.slice(pos, next);\n\n if (openParentheses === code) {\n name = token;\n } else if (\n (uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) &&\n plus === token.charCodeAt(1) &&\n isUnicodeRange.test(token.slice(2))\n ) {\n tokens.push({\n type: \"unicode-range\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n } else {\n tokens.push({\n type: \"word\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n }\n\n pos = next;\n }\n }\n\n for (pos = stack.length - 1; pos; pos -= 1) {\n stack[pos].unclosed = true;\n stack[pos].sourceEndIndex = value.length;\n }\n\n return stack[0].nodes;\n};\n","function stringifyNode(node, custom) {\n var type = node.type;\n var value = node.value;\n var buf;\n var customResult;\n\n if (custom && (customResult = custom(node)) !== undefined) {\n return customResult;\n } else if (type === \"word\" || type === \"space\") {\n return value;\n } else if (type === \"string\") {\n buf = node.quote || \"\";\n return buf + value + (node.unclosed ? \"\" : buf);\n } else if (type === \"comment\") {\n return \"/*\" + value + (node.unclosed ? \"\" : \"*/\");\n } else if (type === \"div\") {\n return (node.before || \"\") + value + (node.after || \"\");\n } else if (Array.isArray(node.nodes)) {\n buf = stringify(node.nodes, custom);\n if (type !== \"function\") {\n return buf;\n }\n return (\n value +\n \"(\" +\n (node.before || \"\") +\n buf +\n (node.after || \"\") +\n (node.unclosed ? \"\" : \")\")\n );\n }\n return value;\n}\n\nfunction stringify(nodes, custom) {\n var result, i;\n\n if (Array.isArray(nodes)) {\n result = \"\";\n for (i = nodes.length - 1; ~i; i -= 1) {\n result = stringifyNode(nodes[i], custom) + result;\n }\n return result;\n }\n return stringifyNode(nodes, custom);\n}\n\nmodule.exports = stringify;\n","var minus = \"-\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar dot = \".\".charCodeAt(0);\nvar exp = \"e\".charCodeAt(0);\nvar EXP = \"E\".charCodeAt(0);\n\n// Check if three code points would start a number\n// https://www.w3.org/TR/css-syntax-3/#starts-with-a-number\nfunction likeNumber(value) {\n var code = value.charCodeAt(0);\n var nextCode;\n\n if (code === plus || code === minus) {\n nextCode = value.charCodeAt(1);\n\n if (nextCode >= 48 && nextCode <= 57) {\n return true;\n }\n\n var nextNextCode = value.charCodeAt(2);\n\n if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) {\n return true;\n }\n\n return false;\n }\n\n if (code === dot) {\n nextCode = value.charCodeAt(1);\n\n if (nextCode >= 48 && nextCode <= 57) {\n return true;\n }\n\n return false;\n }\n\n if (code >= 48 && code <= 57) {\n return true;\n }\n\n return false;\n}\n\n// Consume a number\n// https://www.w3.org/TR/css-syntax-3/#consume-number\nmodule.exports = function(value) {\n var pos = 0;\n var length = value.length;\n var code;\n var nextCode;\n var nextNextCode;\n\n if (length === 0 || !likeNumber(value)) {\n return false;\n }\n\n code = value.charCodeAt(pos);\n\n if (code === plus || code === minus) {\n pos++;\n }\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n\n code = value.charCodeAt(pos);\n nextCode = value.charCodeAt(pos + 1);\n\n if (code === dot && nextCode >= 48 && nextCode <= 57) {\n pos += 2;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n }\n\n code = value.charCodeAt(pos);\n nextCode = value.charCodeAt(pos + 1);\n nextNextCode = value.charCodeAt(pos + 2);\n\n if (\n (code === exp || code === EXP) &&\n ((nextCode >= 48 && nextCode <= 57) ||\n ((nextCode === plus || nextCode === minus) &&\n nextNextCode >= 48 &&\n nextNextCode <= 57))\n ) {\n pos += nextCode === plus || nextCode === minus ? 3 : 2;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n }\n\n return {\n number: value.slice(0, pos),\n unit: value.slice(pos)\n };\n};\n","module.exports = function walk(nodes, cb, bubble) {\n var i, max, node, result;\n\n for (i = 0, max = nodes.length; i < max; i += 1) {\n node = nodes[i];\n if (!bubble) {\n result = cb(node, i, nodes);\n }\n\n if (\n result !== false &&\n node.type === \"function\" &&\n Array.isArray(node.nodes)\n ) {\n walk(node.nodes, cb, bubble);\n }\n\n if (bubble) {\n cb(node, i, nodes);\n }\n }\n};\n","'use strict';\n\nvar isArray = require('isarray');\n\n// TODO: inline, semver-major\n\n/** @type {(x: unknown) => x is object} */\nmodule.exports = function isPlainObject(x) {\n\treturn x && typeof x === 'object' && !isArray(x);\n};\n","'use strict';\n\nvar assign = require('object.assign');\nvar hasOwn = require('hasown');\nvar ownKeys = require('reflect.ownkeys');\nvar TypeError = require('es-errors/type');\n\nvar isPlainObject = require('../build/helpers/isPlainObject');\n\nvar zeroWidthSpace = '\\u200b';\nvar specialProperty = 'prop-types-exact: ' + zeroWidthSpace;\n// eslint-disable-next-line no-restricted-properties\nvar semaphore = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' ? Symbol['for'](specialProperty) : /* istanbul ignore next */ specialProperty;\n\nvar callBound = require('call-bind/callBound');\nvar isEnumerable = callBound('Object.prototype.propertyIsEnumerable');\n\n/** @type {(fn: T) => T} */\nfunction brand(fn) {\n\t// eslint-disable-next-line no-param-reassign\n\tfn[specialProperty] = semaphore;\n\treturn fn;\n}\n\nfunction isBranded(value) {\n\treturn value && value[specialProperty] === semaphore;\n}\n\nmodule.exports = function forbidExtraProps(propTypes) {\n\tif (!isPlainObject(propTypes)) {\n\t\tthrow new TypeError('given propTypes must be an object');\n\t}\n\tif (hasOwn(propTypes, specialProperty) && !isBranded(propTypes[specialProperty])) {\n\t\tthrow new TypeError('Against all odds, you created a propType for a prop that uses both the zero-width space and our custom string - which, sadly, conflicts with `prop-types-exact`');\n\t}\n\n\tvar forbidden = {};\n\tforbidden[specialProperty] = brand(function forbidUnknownProps(props, _, componentName) {\n\t\tvar unknownProps = ownKeys(props).filter(function (prop) {\n\t\t\treturn !hasOwn(propTypes, prop) && isEnumerable(props, prop);\n\t\t});\n\t\tif (unknownProps.length > 0) {\n\t\t\treturn new TypeError(componentName + ': unknown props found: ' + unknownProps.join(', '));\n\t\t}\n\t\treturn null;\n\t});\n\n\treturn assign({}, propTypes, forbidden);\n};\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3 {\n if (e && e.currentTarget !== e.target) {\n // If the event was generated for something NOT this element we\n // should ignore it as it's not relevant to us\n return;\n }\n if (visible) {\n if (onShow) {\n onShow();\n }\n } else {\n setIsRendering(false);\n }\n }, [onShow, visible]);\n React.useEffect(() => {\n if (wasRendering.current && !isRendering && onDismiss) {\n onDismiss();\n }\n wasRendering.current = isRendering;\n }, [isRendering, onDismiss]);\n React.useEffect(() => {\n if (visible) {\n setIsRendering(true);\n }\n if (visible !== wasVisible.current && !isAnimated) {\n // Manually call `animationEndCallback` if no animation is used\n animationEndCallback();\n }\n wasVisible.current = visible;\n }, [isAnimated, visible, animationEndCallback]);\n return isRendering || visible ? (0, _createElement.default)('div', {\n style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n onAnimationEnd: animationEndCallback,\n children\n }) : null;\n}\nvar styles = _StyleSheet.default.create({\n container: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 9999\n },\n animatedIn: {\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-in'\n },\n animatedOut: {\n pointerEvents: 'none',\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-out'\n },\n fadeIn: {\n opacity: 1,\n animationKeyframes: {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n }\n },\n fadeOut: {\n opacity: 0,\n animationKeyframes: {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n }\n },\n slideIn: {\n transform: 'translateY(0%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(100%)'\n },\n '100%': {\n transform: 'translateY(0%)'\n }\n }\n },\n slideOut: {\n transform: 'translateY(100%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(0%)'\n },\n '100%': {\n transform: 'translateY(100%)'\n }\n }\n },\n hidden: {\n opacity: 0\n }\n});\nvar animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn];\nvar animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut];\nvar animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn];\nvar animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut];\nvar _default = ModalAnimation;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\nvar _excluded = [\"active\", \"children\", \"onRequestClose\", \"transparent\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar ModalContent = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var active = props.active,\n children = props.children,\n onRequestClose = props.onRequestClose,\n transparent = props.transparent,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n React.useEffect(() => {\n if (_canUseDom.default) {\n var closeOnEscape = e => {\n if (active && e.key === 'Escape') {\n e.stopPropagation();\n if (onRequestClose) {\n onRequestClose();\n }\n }\n };\n document.addEventListener('keyup', closeOnEscape, false);\n return () => document.removeEventListener('keyup', closeOnEscape, false);\n }\n }, [active, onRequestClose]);\n var style = React.useMemo(() => {\n return [styles.modal, transparent ? styles.modalTransparent : styles.modalOpaque];\n }, [transparent]);\n return /*#__PURE__*/React.createElement(_View.default, (0, _extends2.default)({}, rest, {\n \"aria-modal\": true,\n ref: forwardedRef,\n role: active ? 'dialog' : null,\n style: style\n }), /*#__PURE__*/React.createElement(_View.default, {\n style: styles.container\n }, children));\n});\nvar styles = _StyleSheet.default.create({\n modal: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n modalTransparent: {\n backgroundColor: 'transparent'\n },\n modalOpaque: {\n backgroundColor: 'white'\n },\n container: {\n top: 0,\n flex: 1\n }\n});\nvar _default = ModalContent;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _UIManager = _interopRequireDefault(require(\"../UIManager\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * This Component is used to \"wrap\" the modal we're opening\n * so that changing focus via tab will never leave the document.\n *\n * This allows us to properly trap the focus within a modal\n * even if the modal is at the start or end of a document.\n */\n\nvar FocusBracket = () => {\n return (0, _createElement.default)('div', {\n role: 'none',\n tabIndex: 0,\n style: styles.focusBracket\n });\n};\nfunction attemptFocus(element) {\n if (!_canUseDom.default) {\n return false;\n }\n try {\n element.focus();\n } catch (e) {\n // Do nothing\n }\n return document.activeElement === element;\n}\nfunction focusFirstDescendant(element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nfunction focusLastDescendant(element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nvar ModalFocusTrap = _ref => {\n var active = _ref.active,\n children = _ref.children;\n var trapElementRef = React.useRef();\n var focusRef = React.useRef({\n trapFocusInProgress: false,\n lastFocusedElement: null\n });\n React.useEffect(() => {\n if (_canUseDom.default) {\n var trapFocus = () => {\n // We should not trap focus if:\n // - The modal hasn't fully initialized with an HTMLElement ref\n // - Focus is already in the process of being trapped (e.g., we're refocusing)\n // - isTrapActive prop being falsey tells us to do nothing\n if (trapElementRef.current == null || focusRef.current.trapFocusInProgress || !active) {\n return;\n }\n try {\n focusRef.current.trapFocusInProgress = true;\n if (document.activeElement instanceof Node && !trapElementRef.current.contains(document.activeElement)) {\n // To handle keyboard focusing we can make an assumption here.\n // If you're tabbing through the focusable elements, the previously\n // active element will either be the first or the last.\n // If the previously selected element is the \"first\" descendant\n // and we're leaving it - this means that we should be looping\n // around to the other side of the modal.\n var hasFocused = focusFirstDescendant(trapElementRef.current);\n if (focusRef.current.lastFocusedElement === document.activeElement) {\n hasFocused = focusLastDescendant(trapElementRef.current);\n }\n // If we couldn't focus a new element then we need to focus onto the trap target\n if (!hasFocused && trapElementRef.current != null && document.activeElement) {\n _UIManager.default.focus(trapElementRef.current);\n }\n }\n } finally {\n focusRef.current.trapFocusInProgress = false;\n }\n focusRef.current.lastFocusedElement = document.activeElement;\n };\n\n // Call the trapFocus callback at least once when this modal has been activated.\n trapFocus();\n document.addEventListener('focus', trapFocus, true);\n return () => document.removeEventListener('focus', trapFocus, true);\n }\n }, [active]);\n\n // To be fully compliant with WCAG we need to refocus element that triggered opening modal\n // after closing it\n React.useEffect(function () {\n if (_canUseDom.default) {\n var lastFocusedElementOutsideTrap = document.activeElement;\n return function () {\n if (lastFocusedElementOutsideTrap && document.contains(lastFocusedElementOutsideTrap)) {\n _UIManager.default.focus(lastFocusedElementOutsideTrap);\n }\n };\n }\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FocusBracket, null), /*#__PURE__*/React.createElement(_View.default, {\n ref: trapElementRef\n }, children), /*#__PURE__*/React.createElement(FocusBracket, null));\n};\nvar _default = ModalFocusTrap;\nexports.default = _default;\nvar styles = _StyleSheet.default.create({\n focusBracket: {\n outlineStyle: 'none'\n }\n});\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction ModalPortal(props) {\n var children = props.children;\n var elementRef = React.useRef(null);\n if (_canUseDom.default && !elementRef.current) {\n var element = document.createElement('div');\n if (element && document.body) {\n document.body.appendChild(element);\n elementRef.current = element;\n }\n }\n React.useEffect(() => {\n if (_canUseDom.default) {\n return () => {\n if (document.body && elementRef.current) {\n document.body.removeChild(elementRef.current);\n elementRef.current = null;\n }\n };\n }\n }, []);\n return elementRef.current && _canUseDom.default ? /*#__PURE__*/_reactDom.default.createPortal(children, elementRef.current) : null;\n}\nvar _default = ModalPortal;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _ModalPortal = _interopRequireDefault(require(\"./ModalPortal\"));\nvar _ModalAnimation = _interopRequireDefault(require(\"./ModalAnimation\"));\nvar _ModalContent = _interopRequireDefault(require(\"./ModalContent\"));\nvar _ModalFocusTrap = _interopRequireDefault(require(\"./ModalFocusTrap\"));\nvar _excluded = [\"animationType\", \"children\", \"onDismiss\", \"onRequestClose\", \"onShow\", \"transparent\", \"visible\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar uniqueModalIdentifier = 0;\nvar activeModalStack = [];\nvar activeModalListeners = {};\nfunction notifyActiveModalListeners() {\n if (activeModalStack.length === 0) {\n return;\n }\n var activeModalId = activeModalStack[activeModalStack.length - 1];\n activeModalStack.forEach(modalId => {\n if (modalId in activeModalListeners) {\n activeModalListeners[modalId](modalId === activeModalId);\n }\n });\n}\nfunction removeActiveModal(modalId) {\n if (modalId in activeModalListeners) {\n // Before removing this listener we should probably tell it\n // that it's no longer the active modal for sure.\n activeModalListeners[modalId](false);\n delete activeModalListeners[modalId];\n }\n var index = activeModalStack.indexOf(modalId);\n if (index !== -1) {\n activeModalStack.splice(index, 1);\n notifyActiveModalListeners();\n }\n}\nfunction addActiveModal(modalId, listener) {\n removeActiveModal(modalId);\n activeModalStack.push(modalId);\n activeModalListeners[modalId] = listener;\n notifyActiveModalListeners();\n}\nvar Modal = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onRequestClose = props.onRequestClose,\n onShow = props.onShow,\n transparent = props.transparent,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n\n // Set a unique model identifier so we can correctly route\n // dismissals and check the layering of modals.\n var modalId = React.useMemo(() => uniqueModalIdentifier++, []);\n var _React$useState = React.useState(false),\n isActive = _React$useState[0],\n setIsActive = _React$useState[1];\n var onDismissCallback = React.useCallback(() => {\n removeActiveModal(modalId);\n if (onDismiss) {\n onDismiss();\n }\n }, [modalId, onDismiss]);\n var onShowCallback = React.useCallback(() => {\n addActiveModal(modalId, setIsActive);\n if (onShow) {\n onShow();\n }\n }, [modalId, onShow]);\n React.useEffect(() => {\n return () => removeActiveModal(modalId);\n }, [modalId]);\n return /*#__PURE__*/React.createElement(_ModalPortal.default, null, /*#__PURE__*/React.createElement(_ModalAnimation.default, {\n animationType: animationType,\n onDismiss: onDismissCallback,\n onShow: onShowCallback,\n visible: visible\n }, /*#__PURE__*/React.createElement(_ModalFocusTrap.default, {\n active: isActive\n }, /*#__PURE__*/React.createElement(_ModalContent.default, (0, _extends2.default)({}, rest, {\n active: isActive,\n onRequestClose: onRequestClose,\n ref: forwardedRef,\n transparent: transparent\n }), children))));\n});\nvar _default = Modal;\nexports.default = _default;\nmodule.exports = exports.default;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _useHover = _interopRequireDefault(require(\"../../modules/useHover\"));\nvar _usePressEvents = _interopRequireDefault(require(\"../../modules/usePressEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _excluded = [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"tabIndex\", \"testOnly_hovered\", \"testOnly_pressed\"];\n/**\n * Component used to build display components that should respond to whether the\n * component is currently pressed or not.\n */\nfunction Pressable(props, forwardedRef) {\n var children = props.children,\n delayLongPress = props.delayLongPress,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n disabled = props.disabled,\n onBlur = props.onBlur,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onHoverIn = props.onHoverIn,\n onHoverOut = props.onHoverOut,\n onKeyDown = props.onKeyDown,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressMove = props.onPressMove,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n style = props.style,\n tabIndex = props.tabIndex,\n testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n var hostRef = (0, React.useRef)(null);\n var setRef = (0, _useMergeRefs.default)(forwardedRef, hostRef);\n var pressConfig = (0, React.useMemo)(() => ({\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled,\n onLongPress,\n onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove,\n onPressEnd: onPressOut\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]);\n var pressEventHandlers = (0, _usePressEvents.default)(hostRef, pressConfig);\n var onContextMenuPress = pressEventHandlers.onContextMenu,\n onKeyDownPress = pressEventHandlers.onKeyDown;\n (0, _useHover.default)(hostRef, {\n contain: true,\n disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered,\n focused,\n pressed\n };\n var blurHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(e => {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(e => {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n var _tabIndex;\n if (tabIndex !== undefined) {\n _tabIndex = tabIndex;\n } else {\n _tabIndex = disabled ? -1 : 0;\n }\n return /*#__PURE__*/React.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, {\n \"aria-disabled\": disabled,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [disabled ? styles.disabled : styles.active, typeof style === 'function' ? style(interactionState) : style],\n tabIndex: _tabIndex\n }), typeof children === 'function' ? children(interactionState) : children);\n}\nfunction useForceableState(forced) {\n var _useState = (0, React.useState)(false),\n bool = _useState[0],\n setBool = _useState[1];\n return [bool || forced, setBool];\n}\nvar styles = _StyleSheet.default.create({\n active: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n },\n disabled: {\n pointerEvents: 'box-none'\n }\n});\nvar MemoedPressable = /*#__PURE__*/(0, React.memo)( /*#__PURE__*/(0, React.forwardRef)(Pressable));\nMemoedPressable.displayName = 'Pressable';\nvar _default = MemoedPressable;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./normalizeValueWithProperty\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * The browser implements the CSS cascade, where the order of properties is a\n * factor in determining which styles to paint. React Native is different. It\n * gives giving precedence to the more specific style property. For example,\n * the value of `paddingTop` takes precedence over that of `padding`.\n *\n * This module creates mutally exclusive style declarations by expanding all of\n * React Native's supported shortform properties (e.g. `padding`) to their\n * longfrom equivalents.\n */\n\nvar emptyObject = {};\nvar supportsCSS3TextDecoration = !_canUseDom.default || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));\nvar MONOSPACE_FONT_STACK = 'monospace,monospace';\nvar SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';\nvar STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderInlineColor: ['borderRightColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderInlineStyle: ['borderRightStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderInlineWidth: ['borderRightWidth', 'borderLeftWidth'],\n insetBlock: ['top', 'bottom'],\n insetInline: ['left', 'right'],\n marginBlock: ['marginTop', 'marginBottom'],\n marginInline: ['marginRight', 'marginLeft'],\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingInline: ['paddingRight', 'paddingLeft'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndColor: ['borderBottomColor'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderBlockEndWidth: ['borderBottomWidth'],\n //borderInlineStartColor: ['borderLeftColor'],\n //borderInlineStartStyle: ['borderLeftStyle'],\n //borderInlineStartWidth: ['borderLeftWidth'],\n //borderInlineEndColor: ['borderRightColor'],\n //borderInlineEndStyle: ['borderRightStyle'],\n //borderInlineEndWidth: ['borderRightWidth'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius'],\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n insetBlockEnd: ['bottom'],\n insetBlockStart: ['top'],\n //insetInlineEnd: ['right'],\n //insetInlineStart: ['left'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n //marginInlineStart: ['marginLeft'],\n //marginInlineEnd: ['marginRight'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom']\n //paddingInlineStart: ['marginLeft'],\n //paddingInlineEnd: ['marginRight'],\n};\n\n/**\n * Reducer\n */\n\nvar createReactDOMStyle = (style, isInline) => {\n if (!style) {\n return emptyObject;\n }\n var resolvedStyle = {};\n var _loop = function _loop() {\n var value = style[prop];\n if (\n // Ignore everything with a null value\n value == null) {\n return \"continue\";\n }\n if (prop === 'backgroundClip') {\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n } else if (prop === 'flex') {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n } else if (prop === 'font') {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n } else if (prop === 'fontFamily') {\n if (value.indexOf('System') > -1) {\n var stack = value.split(/,\\s*/);\n stack[stack.indexOf('System')] = SYSTEM_FONT_STACK;\n resolvedStyle[prop] = stack.join(',');\n } else if (value === 'monospace') {\n resolvedStyle[prop] = MONOSPACE_FONT_STACK;\n } else {\n resolvedStyle[prop] = value;\n }\n } else if (prop === 'textDecorationLine') {\n // use 'text-decoration' for browsers that only support CSS2\n // text-decoration (e.g., IE, Edge)\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n } else if (prop === 'writingDirection') {\n resolvedStyle.direction = value;\n } else {\n var _value = (0, _normalizeValueWithProperty.default)(style[prop], prop);\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n if (isInline && prop === 'inset') {\n if (style.insetInline == null) {\n resolvedStyle.left = _value;\n resolvedStyle.right = _value;\n }\n if (style.insetBlock == null) {\n resolvedStyle.top = _value;\n resolvedStyle.bottom = _value;\n }\n } else if (isInline && prop === 'margin') {\n if (style.marginInline == null) {\n resolvedStyle.marginLeft = _value;\n resolvedStyle.marginRight = _value;\n }\n if (style.marginBlock == null) {\n resolvedStyle.marginTop = _value;\n resolvedStyle.marginBottom = _value;\n }\n } else if (isInline && prop === 'padding') {\n if (style.paddingInline == null) {\n resolvedStyle.paddingLeft = _value;\n resolvedStyle.paddingRight = _value;\n }\n if (style.paddingBlock == null) {\n resolvedStyle.paddingTop = _value;\n resolvedStyle.paddingBottom = _value;\n }\n } else if (longFormProperties) {\n longFormProperties.forEach((longForm, i) => {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (style[longForm] == null) {\n resolvedStyle[longForm] = _value;\n }\n });\n } else {\n resolvedStyle[prop] = _value;\n }\n }\n };\n for (var prop in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return resolvedStyle;\n};\nvar _default = createReactDOMStyle;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n *\n * \n */\n\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\nvar hash = str => murmurhash2_32_gc(str, 1).toString(36);\nvar _default = hash;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateStyleName(name) {\n if (name in cache) {\n return cache[name];\n }\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\nvar _default = hyphenateStyleName;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.atomic = atomic;\nexports.classic = classic;\nexports.inline = inline;\nexports.stringifyValueWithProperty = stringifyValueWithProperty;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _createReactDOMStyle = _interopRequireDefault(require(\"./createReactDOMStyle\"));\nvar _hash = _interopRequireDefault(require(\"./hash\"));\nvar _hyphenateStyleName = _interopRequireDefault(require(\"./hyphenateStyleName\"));\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./normalizeValueWithProperty\"));\nvar _prefixStyles = _interopRequireDefault(require(\"../../../modules/prefixStyles\"));\nvar _excluded = [\"animationKeyframes\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar cache = new Map();\nvar emptyObject = {};\nvar classicGroup = 1;\nvar atomicGroup = 3;\nvar customGroup = {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n inset: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n insetBlock: 2.1,\n insetInline: 2.1,\n marginInline: 2.1,\n marginBlock: 2.1,\n paddingInline: 2.1,\n paddingBlock: 2.1,\n borderBlockStartColor: 2.2,\n borderBlockStartStyle: 2.2,\n borderBlockStartWidth: 2.2,\n borderBlockEndColor: 2.2,\n borderBlockEndStyle: 2.2,\n borderBlockEndWidth: 2.2,\n borderInlineStartColor: 2.2,\n borderInlineStartStyle: 2.2,\n borderInlineStartWidth: 2.2,\n borderInlineEndColor: 2.2,\n borderInlineEndStyle: 2.2,\n borderInlineEndWidth: 2.2,\n borderEndStartRadius: 2.2,\n borderEndEndRadius: 2.2,\n borderStartStartRadius: 2.2,\n borderStartEndRadius: 2.2,\n insetBlockEnd: 2.2,\n insetBlockStart: 2.2,\n insetInlineEnd: 2.2,\n insetInlineStart: 2.2,\n marginBlockStart: 2.2,\n marginBlockEnd: 2.2,\n marginInlineStart: 2.2,\n marginInlineEnd: 2.2,\n paddingBlockStart: 2.2,\n paddingBlockEnd: 2.2,\n paddingInlineStart: 2.2,\n paddingInlineEnd: 2.2\n};\nvar borderTopLeftRadius = 'borderTopLeftRadius';\nvar borderTopRightRadius = 'borderTopRightRadius';\nvar borderBottomLeftRadius = 'borderBottomLeftRadius';\nvar borderBottomRightRadius = 'borderBottomRightRadius';\nvar borderLeftColor = 'borderLeftColor';\nvar borderLeftStyle = 'borderLeftStyle';\nvar borderLeftWidth = 'borderLeftWidth';\nvar borderRightColor = 'borderRightColor';\nvar borderRightStyle = 'borderRightStyle';\nvar borderRightWidth = 'borderRightWidth';\nvar right = 'right';\nvar marginLeft = 'marginLeft';\nvar marginRight = 'marginRight';\nvar paddingLeft = 'paddingLeft';\nvar paddingRight = 'paddingRight';\nvar left = 'left';\n\n// Map of LTR property names to their BiDi equivalent.\nvar PROPERTIES_FLIP = {\n [borderTopLeftRadius]: borderTopRightRadius,\n [borderTopRightRadius]: borderTopLeftRadius,\n [borderBottomLeftRadius]: borderBottomRightRadius,\n [borderBottomRightRadius]: borderBottomLeftRadius,\n [borderLeftColor]: borderRightColor,\n [borderLeftStyle]: borderRightStyle,\n [borderLeftWidth]: borderRightWidth,\n [borderRightColor]: borderLeftColor,\n [borderRightStyle]: borderLeftStyle,\n [borderRightWidth]: borderLeftWidth,\n [left]: right,\n [marginLeft]: marginRight,\n [marginRight]: marginLeft,\n [paddingLeft]: paddingRight,\n [paddingRight]: paddingLeft,\n [right]: left\n};\n\n// Map of I18N property names to their LTR equivalent.\nvar PROPERTIES_I18N = {\n borderStartStartRadius: borderTopLeftRadius,\n borderStartEndRadius: borderTopRightRadius,\n borderEndStartRadius: borderBottomLeftRadius,\n borderEndEndRadius: borderBottomRightRadius,\n borderInlineStartColor: borderLeftColor,\n borderInlineStartStyle: borderLeftStyle,\n borderInlineStartWidth: borderLeftWidth,\n borderInlineEndColor: borderRightColor,\n borderInlineEndStyle: borderRightStyle,\n borderInlineEndWidth: borderRightWidth,\n insetInlineEnd: right,\n insetInlineStart: left,\n marginInlineStart: marginLeft,\n marginInlineEnd: marginRight,\n paddingInlineStart: paddingLeft,\n paddingInlineEnd: paddingRight\n};\nvar PROPERTIES_VALUE = ['clear', 'float', 'textAlign'];\nfunction atomic(style) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n function atomicCompile(srcProp, prop, value) {\n var valueString = stringifyValueWithProperty(value, prop);\n var cacheKey = prop + valueString;\n var cachedResult = cache.get(cacheKey);\n var identifier;\n if (cachedResult != null) {\n identifier = cachedResult[0];\n compiledRules.push(cachedResult[1]);\n } else {\n var v = srcProp !== prop ? cacheKey : valueString;\n identifier = createIdentifier('r', srcProp, v);\n var order = customGroup[srcProp] || atomicGroup;\n var rules = createAtomicRules(identifier, prop, value);\n var orderedRules = [rules, order];\n compiledRules.push(orderedRules);\n cache.set(cacheKey, [identifier, orderedRules]);\n }\n return identifier;\n }\n Object.keys(style).sort().forEach(srcProp => {\n var value = style[srcProp];\n if (value != null) {\n var localizeableValue;\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(srcProp) > -1) {\n var _left = atomicCompile(srcProp, srcProp, 'left');\n var _right = atomicCompile(srcProp, srcProp, 'right');\n if (value === 'start') {\n localizeableValue = [_left, _right];\n } else if (value === 'end') {\n localizeableValue = [_right, _left];\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[srcProp];\n if (propPolyfill != null) {\n var ltr = atomicCompile(srcProp, propPolyfill, value);\n var rtl = atomicCompile(srcProp, PROPERTIES_FLIP[propPolyfill], value);\n localizeableValue = [ltr, rtl];\n }\n // BiDi flip transitionProperty value\n if (srcProp === 'transitionProperty') {\n var values = Array.isArray(value) ? value : [value];\n var polyfillIndices = [];\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (typeof val === 'string' && PROPERTIES_I18N[val] != null) {\n polyfillIndices.push(i);\n }\n }\n if (polyfillIndices.length > 0) {\n var ltrPolyfillValues = [...values];\n var rtlPolyfillValues = [...values];\n polyfillIndices.forEach(i => {\n var ltrVal = ltrPolyfillValues[i];\n if (typeof ltrVal === 'string') {\n var ltrPolyfill = PROPERTIES_I18N[ltrVal];\n var rtlPolyfill = PROPERTIES_FLIP[ltrPolyfill];\n ltrPolyfillValues[i] = ltrPolyfill;\n rtlPolyfillValues[i] = rtlPolyfill;\n var _ltr = atomicCompile(srcProp, srcProp, ltrPolyfillValues);\n var _rtl = atomicCompile(srcProp, srcProp, rtlPolyfillValues);\n localizeableValue = [_ltr, _rtl];\n }\n });\n }\n }\n if (localizeableValue == null) {\n localizeableValue = atomicCompile(srcProp, srcProp, value);\n } else {\n compiledStyle['$$css$localize'] = true;\n }\n compiledStyle[srcProp] = localizeableValue;\n }\n });\n return [compiledStyle, compiledRules];\n}\n\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nfunction classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n var animationKeyframes = style.animationKeyframes,\n rest = (0, _objectWithoutPropertiesLoose2.default)(style, _excluded);\n var identifier = createIdentifier('css', name, JSON.stringify(style));\n var selector = \".\" + identifier;\n var animationName;\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu[0],\n keyframesRules = _processKeyframesValu[1];\n animationName = animationNames.join(',');\n compiledRules.push(...keyframesRules);\n }\n var block = createDeclarationBlock((0, _objectSpread2.default)((0, _objectSpread2.default)({}, rest), {}, {\n animationName\n }));\n compiledRules.push(\"\" + selector + block);\n compiledStyle[identifier] = identifier;\n return [compiledStyle, [[compiledRules, classicGroup]]];\n}\n\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nfunction inline(originalStyle, isRTL) {\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n var _loop = function _loop() {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n return \"continue\";\n }\n\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(originalProp) > -1) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[originalProp];\n if (propPolyfill != null) {\n prop = isRTL ? PROPERTIES_FLIP[propPolyfill] : propPolyfill;\n }\n // BiDi flip transitionProperty value\n if (originalProp === 'transitionProperty') {\n // $FlowFixMe\n var originalValues = Array.isArray(originalValue) ? originalValue : [originalValue];\n originalValues.forEach((val, i) => {\n if (typeof val === 'string') {\n var valuePolyfill = PROPERTIES_I18N[val];\n if (valuePolyfill != null) {\n originalValues[i] = isRTL ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill;\n value = originalValues.join(' ');\n }\n }\n });\n }\n\n // Create finalized style\n if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n if (prop === originalProp) {\n frozenProps[prop] = true;\n }\n\n // if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n // frozenProps[prop] = true;\n //}\n };\n for (var originalProp in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return (0, _createReactDOMStyle.default)(nextStyle, true);\n}\n\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\nfunction stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = (0, _normalizeValueWithProperty.default)(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n\n/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier;\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2[0],\n keyframesRules = _processKeyframesValu2[1];\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push(\"\" + selector + block, ...keyframesRules);\n break;\n }\n\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\n rules.push(selector + \"::-webkit-input-placeholder\" + _block, selector + \"::-moz-placeholder\" + _block, selector + \":-ms-input-placeholder\" + _block, selector + \"::placeholder\" + _block);\n break;\n }\n\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n case 'pointerEvents':\n {\n var finalValue = value;\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n if (value === 'box-only') {\n var _block2 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n rules.push(selector + \">*\" + _block2);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n if (value === 'box-none') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n rules.push(selector + \">*\" + _block3);\n }\n }\n var _block4 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n rules.push(\"\" + selector + _block4);\n break;\n }\n\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n rules.push(\"\" + selector + _block5);\n break;\n }\n default:\n {\n var _block6 = createDeclarationBlock({\n [property]: value\n });\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n return rules;\n}\n\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\nfunction createDeclarationBlock(style) {\n var domStyle = (0, _prefixStyles.default)((0, _createReactDOMStyle.default)(style));\n var declarationsString = Object.keys(domStyle).map(property => {\n var value = domStyle[property];\n var prop = (0, _hyphenateStyleName.default)(property);\n // The prefixer may return an array of values:\n // { display: [ '-webkit-flex', 'flex' ] }\n // to represent \"fallback\" declarations\n // { display: -webkit-flex; display: flex; }\n if (Array.isArray(value)) {\n return value.map(v => prop + \":\" + v).join(';');\n } else {\n return prop + \":\" + value;\n }\n })\n // Once properties are hyphenated, this will put the vendor\n // prefixed and short-form properties first in the list.\n .sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n\n/**\n * An identifier is associated with a unique set of styles.\n */\nfunction createIdentifier(prefix, name, key) {\n var hashedString = (0, _hash.default)(name + key);\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n\n/**\n * Create individual CSS keyframes rules.\n */\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', JSON.stringify(keyframes));\n var steps = '{' + Object.keys(keyframes).map(stepName => {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(prefix => {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return [identifier, rules];\n}\n\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(keyframes => {\n if (typeof keyframes === 'string') {\n // Support external animation libraries (identifiers only)\n animationNames.push(keyframes);\n } else {\n // Create rules for each of the keyframes\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes[0],\n keyframesRules = _createKeyframes[1];\n animationNames.push(identifier);\n rules.push(...keyframesRules);\n }\n });\n return [animationNames, rules];\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _isWebColor = _interopRequireDefault(require(\"../../../modules/isWebColor\"));\nvar _processColor = _interopRequireDefault(require(\"../../../exports/processColor\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n if (color == null) return;\n if (typeof color === 'string' && (0, _isWebColor.default)(color)) {\n return color;\n }\n var colorInt = (0, _processColor.default)(color);\n if (colorInt != null) {\n var r = colorInt >> 16 & 255;\n var g = colorInt >> 8 & 255;\n var b = colorInt & 255;\n var a = (colorInt >> 24 & 255) / 255;\n var alpha = (a * opacity).toFixed(2);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + alpha + \")\";\n }\n};\nvar _default = normalizeColor;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = normalizeValueWithProperty;\nvar _unitlessNumbers = _interopRequireDefault(require(\"./unitlessNumbers\"));\nvar _normalizeColor = _interopRequireDefault(require(\"./normalizeColor\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar colorProps = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true\n};\nfunction normalizeValueWithProperty(value, property) {\n var returnValue = value;\n if ((property == null || !_unitlessNumbers.default[property]) && typeof value === 'number') {\n returnValue = value + \"px\";\n } else if (property != null && colorProps[property]) {\n returnValue = (0, _normalizeColor.default)(value);\n }\n return returnValue;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nvar _default = unitlessNumbers;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = createCSSStyleSheet;\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\nfunction createCSSStyleSheet(id, rootNode, textContent) {\n if (_canUseDom.default) {\n var root = rootNode != null ? rootNode : document;\n var element = root.getElementById(id);\n if (element == null) {\n element = document.createElement('style');\n element.setAttribute('id', id);\n if (typeof textContent === 'string') {\n element.appendChild(document.createTextNode(textContent));\n }\n if (root instanceof ShadowRoot) {\n root.insertBefore(element, root.firstChild);\n } else {\n var head = root.head;\n if (head) {\n head.insertBefore(element, head.firstChild);\n }\n }\n }\n // $FlowFixMe: HTMLElement is incorrectly typed\n return element.sheet;\n } else {\n return null;\n }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = createOrderedCSSStyleSheet;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar slice = Array.prototype.slice;\n\n/**\n * Order-based insertion of CSS.\n *\n * Each rule is associated with a numerically defined group.\n * Groups are ordered within the style sheet according to their number, with the\n * lowest first.\n *\n * Groups are implemented using marker rules. The selector of the first rule of\n * each group is used only to encode the group number for hydration. An\n * alternative implementation could rely on CSSMediaRule, allowing groups to be\n * treated as a sub-sheet, but the Edge implementation of CSSMediaRule is\n * broken.\n * https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule\n * https://gist.github.com/necolas/aa0c37846ad6bd3b05b727b959e82674\n */\nfunction createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach((cssRule, i) => {\n var cssText = cssRule.cssText;\n // Create record of existing selectors and rules\n if (cssText.indexOf('stylesheet-group') > -1) {\n group = decodeGroupRule(cssRule);\n groups[group] = {\n start: i,\n rules: [cssText]\n };\n } else {\n var selectorText = getSelectorText(cssText);\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\n }\n });\n }\n function sheetInsert(sheet, group, text) {\n var orderedGroups = getOrderedGroups(groups);\n var groupIndex = orderedGroups.indexOf(group);\n var nextGroupIndex = groupIndex + 1;\n var nextGroup = orderedGroups[nextGroupIndex];\n // Insert rule before the next group, or at the end of the stylesheet\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n }\n // Increment the starting index of all subsequent groups\n for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) {\n var groupNumber = orderedGroups[i];\n var previousStart = groups[groupNumber].start || 0;\n groups[groupNumber].start = previousStart + 1;\n }\n }\n return isInserted;\n }\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent() {\n return getOrderedGroups(groups).map(group => {\n var rules = groups[group].rules;\n // Sorting provides deterministic order of styles in group for\n // build-time extraction of the style sheet.\n var marker = rules.shift();\n rules.sort();\n rules.unshift(marker);\n return rules.join('\\n');\n }).join('\\n');\n },\n /**\n * Insert a rule into the style sheet\n */\n insert(cssText, groupValue) {\n var group = Number(groupValue);\n\n // Create a new group.\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group);\n // Create the internal record.\n groups[group] = {\n start: null,\n rules: [markerRule]\n };\n // Update CSSOM.\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n }\n\n // selectorText is more reliable than cssText for insertion checks. The\n // browser excludes vendor-prefixed properties and rewrites certain values\n // making cssText more likely to be different from what was inserted.\n var selectorText = getSelectorText(cssText);\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n // Update CSSOM.\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n if (!isInserted) {\n // Revert internal record change if a rule was rejected (e.g.,\n // unrecognized pseudo-selector)\n groups[group].rules.pop();\n }\n }\n }\n }\n };\n return OrderedCSSStyleSheet;\n}\n\n/**\n * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\nvar groupPattern = /[\"']/g;\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(groupPattern)[1]);\n}\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1);\n}\nvar selectorPattern = /\\s*([,])\\s*/g;\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(selectorPattern, '$1') : null;\n}\nfunction insertRuleAt(root, cssText, position) {\n try {\n // $FlowFixMe: Flow is missing CSSOM types needed to type 'root'.\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n // JSDOM doesn't support `CSSSMediaRule#insertRule`.\n // Also ignore errors that occur from attempting to insert vendor-prefixed selectors.\n return false;\n }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.createSheet = createSheet;\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\nvar _createCSSStyleSheet = _interopRequireDefault(require(\"./createCSSStyleSheet\"));\nvar _createOrderedCSSStyleSheet = _interopRequireDefault(require(\"./createOrderedCSSStyleSheet\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar defaultId = 'react-native-stylesheet';\nvar roots = new WeakMap();\nvar sheets = [];\nvar initialRules = [\n// minimal top-level reset\n'html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}',\n// minimal form pseudo-element reset\n'button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}', 'input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}'];\nfunction createSheet(root, id) {\n if (id === void 0) {\n id = defaultId;\n }\n var sheet;\n if (_canUseDom.default) {\n var rootNode = root != null ? root.getRootNode() : document;\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n var index = roots.get(rootNode);\n if (index == null) {\n var initialSheet = sheets[0];\n // If we're creating a new sheet, populate it with existing styles\n var textContent = initialSheet != null ? initialSheet.getTextContent() : '';\n // Cast rootNode to 'any' because Flow types for getRootNode are wrong\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id, rootNode, textContent));\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n sheet = sheets[index];\n }\n }\n } else {\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n sheets.push(sheet);\n } else {\n sheet = sheets[0];\n }\n }\n return {\n getTextContent() {\n return sheet.getTextContent();\n },\n id,\n insert(cssText, groupValue) {\n sheets.forEach(s => {\n s.insert(cssText, groupValue);\n });\n }\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _compiler = require(\"./compiler\");\nvar _dom = require(\"./dom\");\nvar _transformLocalizeStyle = require(\"styleq/transform-localize-style\");\nvar _preprocess = require(\"./preprocess\");\nvar _styleq = require(\"styleq\");\nvar _validate = require(\"./validate\");\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\nvar _excluded = [\"writingDirection\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar staticStyleMap = new WeakMap();\nvar sheet = (0, _dom.createSheet)();\nvar defaultPreprocessOptions = {\n shadow: true,\n textShadow: true\n};\nfunction customStyleq(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n writingDirection = _options.writingDirection,\n preprocessOptions = (0, _objectWithoutPropertiesLoose2.default)(_options, _excluded);\n var isRTL = writingDirection === 'rtl';\n return _styleq.styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n if (compiledStyle != null) {\n return (0, _transformLocalizeStyle.localizeStyle)(compiledStyle, isRTL);\n }\n return (0, _preprocess.preprocess)(style, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultPreprocessOptions), preprocessOptions));\n }\n })(styles);\n}\nfunction insertRules(compiledOrderedRules) {\n compiledOrderedRules.forEach(_ref => {\n var rules = _ref[0],\n order = _ref[1];\n if (sheet != null) {\n rules.forEach(rule => {\n sheet.insert(rule, order);\n });\n }\n });\n}\nfunction compileAndInsertAtomic(style) {\n var _atomic = (0, _compiler.atomic)((0, _preprocess.preprocess)(style, defaultPreprocessOptions)),\n compiledStyle = _atomic[0],\n compiledOrderedRules = _atomic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\nfunction compileAndInsertReset(style, key) {\n var _classic = (0, _compiler.classic)(style, key),\n compiledStyle = _classic[0],\n compiledOrderedRules = _classic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n\n/* ----- API ----- */\n\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = create({\n x: (0, _objectSpread2.default)({}, absoluteFillObject)\n}).x;\n\n/**\n * create\n */\nfunction create(styles) {\n Object.keys(styles).forEach(key => {\n var styleObj = styles[key];\n // Only compile at runtime if the style is not already compiled\n if (styleObj != null && styleObj.$$css !== true) {\n var compiledStyles;\n if (key.indexOf('$raw') > -1) {\n compiledStyles = compileAndInsertReset(styleObj, key.split('$raw')[0]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n (0, _validate.validate)(styleObj);\n styles[key] = Object.freeze(styleObj);\n }\n compiledStyles = compileAndInsertAtomic(styleObj);\n }\n staticStyleMap.set(styleObj, compiledStyles);\n }\n });\n return styles;\n}\n\n/**\n * compose\n */\nfunction compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n if (len > 2) {\n var readableStyles = [...arguments].map(a => flatten(a));\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n console.warn('StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].');\n }\n return [style1, style2];\n}\n\n/**\n * flatten\n */\nfunction flatten() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n var flatArray = styles.flat(Infinity);\n var result = {};\n for (var i = 0; i < flatArray.length; i++) {\n var style = flatArray[i];\n if (style != null && typeof style === 'object') {\n // $FlowFixMe\n Object.assign(result, style);\n }\n }\n return result;\n}\n\n/**\n * getSheet\n */\nfunction getSheet() {\n return {\n id: sheet.id,\n textContent: sheet.getTextContent()\n };\n}\n\n/**\n * resolve\n */\n\nfunction StyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var isRTL = options.writingDirection === 'rtl';\n var styleProps = customStyleq(styles, options);\n if (Array.isArray(styleProps) && styleProps[1] != null) {\n styleProps[1] = (0, _compiler.inline)(styleProps[1], isRTL);\n }\n return styleProps;\n}\nStyleSheet.absoluteFill = absoluteFill;\nStyleSheet.absoluteFillObject = absoluteFillObject;\nStyleSheet.create = create;\nStyleSheet.compose = compose;\nStyleSheet.flatten = flatten;\nStyleSheet.getSheet = getSheet;\n// `hairlineWidth` is not implemented using screen density as browsers may\n// round sub-pixel values down to `0`, causing the line not to be rendered.\nStyleSheet.hairlineWidth = 1;\nif (_canUseDom.default && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\nvar stylesheet = StyleSheet;\nvar _default = stylesheet;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.preprocess = exports.default = exports.createTransformValue = exports.createTextShadowValue = exports.createBoxShadowValue = void 0;\nvar _normalizeColor = _interopRequireDefault(require(\"./compiler/normalizeColor\"));\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./compiler/normalizeValueWithProperty\"));\nvar _warnOnce = require(\"../../modules/warnOnce\");\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar emptyObject = {};\n\n/**\n * Shadows\n */\n\nvar defaultOffset = {\n height: 0,\n width: 0\n};\nvar createBoxShadowValue = style => {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n var offsetX = (0, _normalizeValueWithProperty.default)(width);\n var offsetY = (0, _normalizeValueWithProperty.default)(height);\n var blurRadius = (0, _normalizeValueWithProperty.default)(shadowRadius || 0);\n var color = (0, _normalizeColor.default)(shadowColor || 'black', shadowOpacity);\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\nexports.createBoxShadowValue = createBoxShadowValue;\nvar createTextShadowValue = style => {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n var _ref2 = textShadowOffset || defaultOffset,\n height = _ref2.height,\n width = _ref2.width;\n var radius = textShadowRadius || 0;\n var offsetX = (0, _normalizeValueWithProperty.default)(width);\n var offsetY = (0, _normalizeValueWithProperty.default)(height);\n var blurRadius = (0, _normalizeValueWithProperty.default)(radius);\n var color = (0, _normalizeValueWithProperty.default)(textShadowColor, 'textShadowColor');\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\nexports.createTextShadowValue = createTextShadowValue;\nvar mapTransform = transform => {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n if (type === 'matrix' || type === 'matrix3d') {\n return type + \"(\" + value.join(',') + \")\";\n } else {\n var normalizedValue = (0, _normalizeValueWithProperty.default)(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\nvar createTransformValue = value => {\n return value.map(mapTransform).join(' ');\n};\nexports.createTransformValue = createTransformValue;\nvar PROPERTIES_STANDARD = {\n borderBottomEndRadius: 'borderEndEndRadius',\n borderBottomStartRadius: 'borderEndStartRadius',\n borderTopEndRadius: 'borderStartEndRadius',\n borderTopStartRadius: 'borderStartStartRadius',\n borderEndColor: 'borderInlineEndColor',\n borderEndStyle: 'borderInlineEndStyle',\n borderEndWidth: 'borderInlineEndWidth',\n borderStartColor: 'borderInlineStartColor',\n borderStartStyle: 'borderInlineStartStyle',\n borderStartWidth: 'borderInlineStartWidth',\n end: 'insetInlineEnd',\n marginEnd: 'marginInlineEnd',\n marginHorizontal: 'marginInline',\n marginStart: 'marginInlineStart',\n marginVertical: 'marginBlock',\n paddingEnd: 'paddingInlineEnd',\n paddingHorizontal: 'paddingInline',\n paddingStart: 'paddingInlineStart',\n paddingVertical: 'paddingBlock',\n start: 'insetInlineStart'\n};\nvar ignoredProps = {\n elevation: true,\n overlayColor: true,\n resizeMode: true,\n tintColor: true\n};\n\n/**\n * Preprocess styles\n */\nvar preprocess = function preprocess(originalStyle, options) {\n if (options === void 0) {\n options = {};\n }\n var style = originalStyle || emptyObject;\n var nextStyle = {};\n\n // Convert shadow styles\n if (options.shadow === true, style.shadowColor != null || style.shadowOffset != null || style.shadowOpacity != null || style.shadowRadius != null) {\n (0, _warnOnce.warnOnce)('shadowStyles', \"\\\"shadow*\\\" style props are deprecated. Use \\\"boxShadow\\\".\");\n var boxShadowValue = createBoxShadowValue(style);\n if (boxShadowValue != null && nextStyle.boxShadow == null) {\n var boxShadow = style.boxShadow;\n var value = boxShadow ? boxShadow + \", \" + boxShadowValue : boxShadowValue;\n nextStyle.boxShadow = value;\n }\n }\n\n // Convert text shadow styles\n if (options.textShadow === true, style.textShadowColor != null || style.textShadowOffset != null || style.textShadowRadius != null) {\n (0, _warnOnce.warnOnce)('textShadowStyles', \"\\\"textShadow*\\\" style props are deprecated. Use \\\"textShadow\\\".\");\n var textShadowValue = createTextShadowValue(style);\n if (textShadowValue != null && nextStyle.textShadow == null) {\n var textShadow = style.textShadow;\n var _value = textShadow ? textShadow + \", \" + textShadowValue : textShadowValue;\n nextStyle.textShadow = _value;\n }\n }\n for (var originalProp in style) {\n if (\n // Ignore some React Native styles\n ignoredProps[originalProp] != null || originalProp === 'shadowColor' || originalProp === 'shadowOffset' || originalProp === 'shadowOpacity' || originalProp === 'shadowRadius' || originalProp === 'textShadowColor' || originalProp === 'textShadowOffset' || originalProp === 'textShadowRadius') {\n continue;\n }\n var originalValue = style[originalProp];\n var prop = PROPERTIES_STANDARD[originalProp] || originalProp;\n var _value2 = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || prop !== originalProp && style[prop] != null) {\n continue;\n }\n if (prop === 'aspectRatio' && typeof _value2 === 'number') {\n nextStyle[prop] = _value2.toString();\n } else if (prop === 'fontVariant') {\n if (Array.isArray(_value2) && _value2.length > 0) {\n (0, _warnOnce.warnOnce)('fontVariant', '\"fontVariant\" style array value is deprecated. Use space-separated values.');\n _value2 = _value2.join(' ');\n }\n nextStyle[prop] = _value2;\n } else if (prop === 'textAlignVertical') {\n (0, _warnOnce.warnOnce)('textAlignVertical', '\"textAlignVertical\" style is deprecated. Use \"verticalAlign\".');\n if (style.verticalAlign == null) {\n nextStyle.verticalAlign = _value2 === 'center' ? 'middle' : _value2;\n }\n } else if (prop === 'transform') {\n if (Array.isArray(_value2)) {\n _value2 = createTransformValue(_value2);\n }\n nextStyle.transform = _value2;\n } else {\n nextStyle[prop] = _value2;\n }\n }\n\n // $FlowIgnore\n return nextStyle;\n};\nexports.preprocess = preprocess;\nvar _default = preprocess;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.validate = validate;\nvar _postcssValueParser = _interopRequireDefault(require(\"postcss-value-parser\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar invalidShortforms = {\n background: true,\n borderBottom: true,\n borderLeft: true,\n borderRight: true,\n borderTop: true,\n font: true,\n grid: true,\n outline: true,\n textDecoration: true\n};\nvar invalidMultiValueShortforms = {\n flex: true,\n margin: true,\n padding: true,\n borderColor: true,\n borderRadius: true,\n borderStyle: true,\n borderWidth: true,\n inset: true,\n insetBlock: true,\n insetInline: true,\n marginBlock: true,\n marginInline: true,\n marginHorizontal: true,\n marginVertical: true,\n paddingBlock: true,\n paddingInline: true,\n paddingHorizontal: true,\n paddingVertical: true,\n overflow: true,\n overscrollBehavior: true,\n backgroundPosition: true\n};\nfunction error(message) {\n console.error(message);\n}\nfunction validate(obj) {\n for (var k in obj) {\n var prop = k.trim();\n var value = obj[prop];\n var isInvalid = false;\n if (value === null) {\n continue;\n }\n if (typeof value === 'string' && value.indexOf('!important') > -1) {\n error(\"Invalid style declaration \\\"\" + prop + \":\" + value + \"\\\". Values cannot include \\\"!important\\\"\");\n isInvalid = true;\n } else {\n var suggestion = '';\n if (prop === 'animation' || prop === 'animationName') {\n suggestion = 'Did you mean \"animationKeyframes\"?';\n isInvalid = true;\n } else if (prop === 'direction') {\n suggestion = 'Did you mean \"writingDirection\"?';\n isInvalid = true;\n } else if (invalidShortforms[prop]) {\n suggestion = 'Please use long-form properties.';\n isInvalid = true;\n } else if (invalidMultiValueShortforms[prop]) {\n if (typeof value === 'string' && (0, _postcssValueParser.default)(value).nodes.length > 1) {\n suggestion = \"Value is \\\"\" + value + \"\\\" but only single values are supported.\";\n isInvalid = true;\n }\n }\n if (suggestion !== '') {\n error(\"Invalid style property of \\\"\" + prop + \"\\\". \" + suggestion);\n }\n }\n if (isInvalid) {\n delete obj[k];\n }\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _react = require(\"react\");\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar TextAncestorContext = /*#__PURE__*/(0, _react.createContext)(false);\nvar _default = TextAncestorContext;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar forwardedProps = _interopRequireWildcard(require(\"../../modules/forwardedProps\"));\nvar _pick = _interopRequireDefault(require(\"../../modules/pick\"));\nvar _useElementLayout = _interopRequireDefault(require(\"../../modules/useElementLayout\"));\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _usePlatformMethods = _interopRequireDefault(require(\"../../modules/usePlatformMethods\"));\nvar _useResponderEvents = _interopRequireDefault(require(\"../../modules/useResponderEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _TextAncestorContext = _interopRequireDefault(require(\"./TextAncestorContext\"));\nvar _useLocale = require(\"../../modules/useLocale\");\nvar _warnOnce = require(\"../../modules/warnOnce\");\nvar _excluded = [\"hrefAttrs\", \"numberOfLines\", \"onClick\", \"onLayout\", \"onPress\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\", \"selectable\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n pointerEvents: true\n});\nvar pickProps = props => (0, _pick.default)(props, forwardPropsList);\nvar Text = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n numberOfLines = props.numberOfLines,\n onClick = props.onClick,\n onLayout = props.onLayout,\n onPress = props.onPress,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n selectable = props.selectable,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n if (selectable != null) {\n (0, _warnOnce.warnOnce)('selectable', 'selectable prop is deprecated. Use styles.userSelect.');\n }\n var hasTextAncestor = React.useContext(_TextAncestorContext.default);\n var hostRef = React.useRef(null);\n var _useLocaleContext = (0, _useLocale.useLocaleContext)(),\n contextDirection = _useLocaleContext.direction;\n (0, _useElementLayout.default)(hostRef, onLayout);\n (0, _useResponderEvents.default)(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(e => {\n if (onClick != null) {\n onClick(e);\n } else if (onPress != null) {\n e.stopPropagation();\n onPress(e);\n }\n }, [onClick, onPress]);\n var component = hasTextAncestor ? 'span' : 'div';\n var langDirection = props.lang != null ? (0, _useLocale.getLocaleDirection)(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n // 'auto' by default allows browsers to infer writing direction (root elements only)\n if (!hasTextAncestor) {\n supportedProps.dir = componentDirection != null ? componentDirection : 'auto';\n }\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n supportedProps.style = [numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, hasTextAncestor === true ? styles.textHasAncestor$raw : styles.text$raw, numberOfLines === 1 && styles.textOneLine, numberOfLines != null && numberOfLines > 1 && styles.textMultiLine, props.style, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps);\n var setRef = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = (0, _createElement.default)(component, supportedProps, {\n writingDirection\n });\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(_TextAncestorContext.default.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar textStyle = {\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n textAlign: 'start',\n textDecoration: 'none',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n};\nvar styles = _StyleSheet.default.create({\n text$raw: textStyle,\n textHasAncestor$raw: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, textStyle), {}, {\n color: 'inherit',\n font: 'inherit',\n textAlign: 'inherit',\n whiteSpace: 'inherit'\n }),\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n },\n // See #13\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n },\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nvar _default = Text;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _getBoundingClientRect = _interopRequireDefault(require(\"../../modules/getBoundingClientRect\"));\nvar _setValueForStyles = _interopRequireDefault(require(\"../../modules/setValueForStyles\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar getRect = node => {\n var height = node.offsetHeight;\n var width = node.offsetWidth;\n var left = node.offsetLeft;\n var top = node.offsetTop;\n node = node.offsetParent;\n while (node && node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n left += node.offsetLeft + node.clientLeft - node.scrollLeft;\n top += node.offsetTop + node.clientTop - node.scrollTop;\n node = node.offsetParent;\n }\n top -= window.scrollY;\n left -= window.scrollX;\n return {\n width,\n height,\n top,\n left\n };\n};\nvar measureLayout = (node, relativeToNativeNode, callback) => {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n if (node && relativeNode) {\n setTimeout(() => {\n if (node.isConnected && relativeNode.isConnected) {\n var relativeRect = getRect(relativeNode);\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }\n }, 0);\n }\n};\nvar elementsToIgnore = {\n A: true,\n BODY: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n focus(node) {\n try {\n var name = node.nodeName;\n // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus. We don't want to set the tabindex value on\n // elements that should not prevent keyboard focus.\n if (node.getAttribute('tabIndex') == null && node.isContentEditable !== true && elementsToIgnore[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n node.focus();\n } catch (err) {}\n },\n measure(node, callback) {\n measureLayout(node, null, callback);\n },\n measureInWindow(node, callback) {\n if (node) {\n setTimeout(() => {\n var _getBoundingClientRec = (0, _getBoundingClientRect.default)(node),\n height = _getBoundingClientRec.height,\n left = _getBoundingClientRec.left,\n top = _getBoundingClientRec.top,\n width = _getBoundingClientRec.width;\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n var value = props[prop];\n switch (prop) {\n case 'style':\n {\n (0, _setValueForStyles.default)(node, value);\n break;\n }\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n case 'text':\n case 'value':\n // native platforms use `text` prop to replace text input value\n node.value = value;\n break;\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n // mocks\n setLayoutAnimationEnabledExperimental() {}\n};\nvar _default = UIManager;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar forwardedProps = _interopRequireWildcard(require(\"../../modules/forwardedProps\"));\nvar _pick = _interopRequireDefault(require(\"../../modules/pick\"));\nvar _useElementLayout = _interopRequireDefault(require(\"../../modules/useElementLayout\"));\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _usePlatformMethods = _interopRequireDefault(require(\"../../modules/usePlatformMethods\"));\nvar _useResponderEvents = _interopRequireDefault(require(\"../../modules/useResponderEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _TextAncestorContext = _interopRequireDefault(require(\"../Text/TextAncestorContext\"));\nvar _useLocale = require(\"../../modules/useLocale\");\nvar _excluded = [\"hrefAttrs\", \"onLayout\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n onScroll: true,\n onWheel: true,\n pointerEvents: true\n});\nvar pickProps = props => (0, _pick.default)(props, forwardPropsList);\nvar View = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(item => {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a .\");\n }\n });\n }\n var hasTextAncestor = React.useContext(_TextAncestorContext.default);\n var hostRef = React.useRef(null);\n var _useLocaleContext = (0, _useLocale.useLocaleContext)(),\n contextDirection = _useLocaleContext.direction;\n (0, _useElementLayout.default)(hostRef, onLayout);\n (0, _useResponderEvents.default)(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var component = 'div';\n var langDirection = props.lang != null ? (0, _useLocale.getLocaleDirection)(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n supportedProps.style = [styles.view$raw, hasTextAncestor && styles.inline, props.style];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps);\n var setRef = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return (0, _createElement.default)(component, supportedProps, {\n writingDirection\n });\n});\nView.displayName = 'View';\nvar styles = _StyleSheet.default.create({\n view$raw: {\n alignItems: 'stretch',\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n listStyle: 'none',\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n textDecoration: 'none',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n }\n});\nvar _default = View;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _AccessibilityUtil = _interopRequireDefault(require(\"../../modules/AccessibilityUtil\"));\nvar _createDOMProps = _interopRequireDefault(require(\"../../modules/createDOMProps\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _useLocale = require(\"../../modules/useLocale\");\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar createElement = (component, props, options) => {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n if (component && component.constructor === String) {\n accessibilityComponent = _AccessibilityUtil.default.propsToAccessibilityComponent(props);\n }\n var Component = accessibilityComponent || component;\n var domProps = (0, _createDOMProps.default)(Component, props, options);\n var element = /*#__PURE__*/_react.default.createElement(Component, domProps);\n\n // Update locale context if element's writing direction prop changes\n var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/_react.default.createElement(_useLocale.LocaleProvider, {\n children: element,\n direction: domProps.dir,\n locale: domProps.lang\n }) : element;\n return elementWithLocaleProvider;\n};\nvar _default = createElement;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _normalizeColors = _interopRequireDefault(require(\"@react-native/normalize-colors\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar processColor = color => {\n if (color === undefined || color === null) {\n return color;\n }\n\n // convert number and hex\n var int32Color = (0, _normalizeColors.default)(color);\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\nvar _default = processColor;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _isDisabled = _interopRequireDefault(require(\"./isDisabled\"));\nvar _propsToAccessibilityComponent = _interopRequireDefault(require(\"./propsToAccessibilityComponent\"));\nvar _propsToAriaRole = _interopRequireDefault(require(\"./propsToAriaRole\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar AccessibilityUtil = {\n isDisabled: _isDisabled.default,\n propsToAccessibilityComponent: _propsToAccessibilityComponent.default,\n propsToAriaRole: _propsToAriaRole.default\n};\nvar _default = AccessibilityUtil;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\nvar _default = isDisabled;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _propsToAriaRole = _interopRequireDefault(require(\"./propsToAriaRole\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n button: 'button',\n code: 'code',\n complementary: 'aside',\n contentinfo: 'footer',\n deletion: 'del',\n emphasis: 'em',\n figure: 'figure',\n insertion: 'ins',\n form: 'form',\n list: 'ul',\n listitem: 'li',\n main: 'main',\n navigation: 'nav',\n paragraph: 'p',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n var roleProp = props.role || props.accessibilityRole;\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (roleProp === 'label') {\n return 'label';\n }\n var role = (0, _propsToAriaRole.default)(props);\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n if (level != null) {\n return \"h\" + level;\n }\n return 'h1';\n }\n return roleComponents[role];\n }\n};\nvar _default = propsToAccessibilityComponent;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar accessibilityRoleToWebRole = {\n adjustable: 'slider',\n button: 'button',\n header: 'heading',\n image: 'img',\n imagebutton: null,\n keyboardkey: null,\n label: null,\n link: 'link',\n none: 'presentation',\n search: 'search',\n summary: 'region',\n text: null\n};\nvar propsToAriaRole = _ref => {\n var accessibilityRole = _ref.accessibilityRole,\n role = _ref.role;\n var _role = role || accessibilityRole;\n if (_role) {\n var inferredRole = accessibilityRoleToWebRole[_role];\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || _role;\n }\n }\n};\nvar _default = propsToAriaRole;\nexports.default = _default;\nmodule.exports = exports.default;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addEventListener = addEventListener;\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\nvar emptyFunction = () => {};\nfunction supportsPassiveEvents() {\n var supported = false;\n // Check if browser supports event with passive listeners\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n if (_canUseDom.default) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get() {\n supported = true;\n return false;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n return supported;\n}\nvar canUsePassiveEvents = supportsPassiveEvents();\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n\n/**\n * Shim generic API compatibility with ReactDOM's synthetic events, without needing the\n * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic\n * event wrapper at all.\n */\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction normalizeEvent(event) {\n event.nativeEvent = event;\n event.persist = emptyFunction;\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n return event;\n}\n\n/**\n *\n */\nfunction addEventListener(target, type, listener, options) {\n var opts = getOptions(options);\n var compatListener = e => listener(normalizeEvent(e));\n target.addEventListener(type, compatListener, opts);\n return function removeEventListener() {\n if (target != null) {\n target.removeEventListener(type, compatListener, opts);\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar _default = canUseDOM;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _AccessibilityUtil = _interopRequireDefault(require(\"../AccessibilityUtil\"));\nvar _StyleSheet2 = _interopRequireDefault(require(\"../../exports/StyleSheet\"));\nvar _warnOnce = require(\"../warnOnce\");\nvar _excluded = [\"aria-activedescendant\", \"accessibilityActiveDescendant\", \"aria-atomic\", \"accessibilityAtomic\", \"aria-autocomplete\", \"accessibilityAutoComplete\", \"aria-busy\", \"accessibilityBusy\", \"aria-checked\", \"accessibilityChecked\", \"aria-colcount\", \"accessibilityColumnCount\", \"aria-colindex\", \"accessibilityColumnIndex\", \"aria-colspan\", \"accessibilityColumnSpan\", \"aria-controls\", \"accessibilityControls\", \"aria-current\", \"accessibilityCurrent\", \"aria-describedby\", \"accessibilityDescribedBy\", \"aria-details\", \"accessibilityDetails\", \"aria-disabled\", \"accessibilityDisabled\", \"aria-errormessage\", \"accessibilityErrorMessage\", \"aria-expanded\", \"accessibilityExpanded\", \"aria-flowto\", \"accessibilityFlowTo\", \"aria-haspopup\", \"accessibilityHasPopup\", \"aria-hidden\", \"accessibilityHidden\", \"aria-invalid\", \"accessibilityInvalid\", \"aria-keyshortcuts\", \"accessibilityKeyShortcuts\", \"aria-label\", \"accessibilityLabel\", \"aria-labelledby\", \"accessibilityLabelledBy\", \"aria-level\", \"accessibilityLevel\", \"aria-live\", \"accessibilityLiveRegion\", \"aria-modal\", \"accessibilityModal\", \"aria-multiline\", \"accessibilityMultiline\", \"aria-multiselectable\", \"accessibilityMultiSelectable\", \"aria-orientation\", \"accessibilityOrientation\", \"aria-owns\", \"accessibilityOwns\", \"aria-placeholder\", \"accessibilityPlaceholder\", \"aria-posinset\", \"accessibilityPosInSet\", \"aria-pressed\", \"accessibilityPressed\", \"aria-readonly\", \"accessibilityReadOnly\", \"aria-required\", \"accessibilityRequired\", \"role\", \"accessibilityRole\", \"aria-roledescription\", \"accessibilityRoleDescription\", \"aria-rowcount\", \"accessibilityRowCount\", \"aria-rowindex\", \"accessibilityRowIndex\", \"aria-rowspan\", \"accessibilityRowSpan\", \"aria-selected\", \"accessibilitySelected\", \"aria-setsize\", \"accessibilitySetSize\", \"aria-sort\", \"accessibilitySort\", \"aria-valuemax\", \"accessibilityValueMax\", \"aria-valuemin\", \"accessibilityValueMin\", \"aria-valuenow\", \"accessibilityValueNow\", \"aria-valuetext\", \"accessibilityValueText\", \"dataSet\", \"focusable\", \"id\", \"nativeID\", \"pointerEvents\", \"style\", \"tabIndex\", \"testID\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n}\nvar pointerEventsStyles = _StyleSheet2.default.create({\n auto: {\n pointerEvents: 'auto'\n },\n 'box-none': {\n pointerEvents: 'box-none'\n },\n 'box-only': {\n pointerEvents: 'box-only'\n },\n none: {\n pointerEvents: 'none'\n }\n});\nvar createDOMProps = (elementType, props, options) => {\n if (!props) {\n props = emptyObject;\n }\n var _props = props,\n ariaActiveDescendant = _props['aria-activedescendant'],\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n ariaAtomic = _props['aria-atomic'],\n accessibilityAtomic = _props.accessibilityAtomic,\n ariaAutoComplete = _props['aria-autocomplete'],\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n ariaBusy = _props['aria-busy'],\n accessibilityBusy = _props.accessibilityBusy,\n ariaChecked = _props['aria-checked'],\n accessibilityChecked = _props.accessibilityChecked,\n ariaColumnCount = _props['aria-colcount'],\n accessibilityColumnCount = _props.accessibilityColumnCount,\n ariaColumnIndex = _props['aria-colindex'],\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n ariaColumnSpan = _props['aria-colspan'],\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n ariaControls = _props['aria-controls'],\n accessibilityControls = _props.accessibilityControls,\n ariaCurrent = _props['aria-current'],\n accessibilityCurrent = _props.accessibilityCurrent,\n ariaDescribedBy = _props['aria-describedby'],\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n ariaDetails = _props['aria-details'],\n accessibilityDetails = _props.accessibilityDetails,\n ariaDisabled = _props['aria-disabled'],\n accessibilityDisabled = _props.accessibilityDisabled,\n ariaErrorMessage = _props['aria-errormessage'],\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n ariaExpanded = _props['aria-expanded'],\n accessibilityExpanded = _props.accessibilityExpanded,\n ariaFlowTo = _props['aria-flowto'],\n accessibilityFlowTo = _props.accessibilityFlowTo,\n ariaHasPopup = _props['aria-haspopup'],\n accessibilityHasPopup = _props.accessibilityHasPopup,\n ariaHidden = _props['aria-hidden'],\n accessibilityHidden = _props.accessibilityHidden,\n ariaInvalid = _props['aria-invalid'],\n accessibilityInvalid = _props.accessibilityInvalid,\n ariaKeyShortcuts = _props['aria-keyshortcuts'],\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n ariaLabel = _props['aria-label'],\n accessibilityLabel = _props.accessibilityLabel,\n ariaLabelledBy = _props['aria-labelledby'],\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n ariaLevel = _props['aria-level'],\n accessibilityLevel = _props.accessibilityLevel,\n ariaLive = _props['aria-live'],\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n ariaModal = _props['aria-modal'],\n accessibilityModal = _props.accessibilityModal,\n ariaMultiline = _props['aria-multiline'],\n accessibilityMultiline = _props.accessibilityMultiline,\n ariaMultiSelectable = _props['aria-multiselectable'],\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n ariaOrientation = _props['aria-orientation'],\n accessibilityOrientation = _props.accessibilityOrientation,\n ariaOwns = _props['aria-owns'],\n accessibilityOwns = _props.accessibilityOwns,\n ariaPlaceholder = _props['aria-placeholder'],\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n ariaPosInSet = _props['aria-posinset'],\n accessibilityPosInSet = _props.accessibilityPosInSet,\n ariaPressed = _props['aria-pressed'],\n accessibilityPressed = _props.accessibilityPressed,\n ariaReadOnly = _props['aria-readonly'],\n accessibilityReadOnly = _props.accessibilityReadOnly,\n ariaRequired = _props['aria-required'],\n accessibilityRequired = _props.accessibilityRequired,\n ariaRole = _props.role,\n accessibilityRole = _props.accessibilityRole,\n ariaRoleDescription = _props['aria-roledescription'],\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n ariaRowCount = _props['aria-rowcount'],\n accessibilityRowCount = _props.accessibilityRowCount,\n ariaRowIndex = _props['aria-rowindex'],\n accessibilityRowIndex = _props.accessibilityRowIndex,\n ariaRowSpan = _props['aria-rowspan'],\n accessibilityRowSpan = _props.accessibilityRowSpan,\n ariaSelected = _props['aria-selected'],\n accessibilitySelected = _props.accessibilitySelected,\n ariaSetSize = _props['aria-setsize'],\n accessibilitySetSize = _props.accessibilitySetSize,\n ariaSort = _props['aria-sort'],\n accessibilitySort = _props.accessibilitySort,\n ariaValueMax = _props['aria-valuemax'],\n accessibilityValueMax = _props.accessibilityValueMax,\n ariaValueMin = _props['aria-valuemin'],\n accessibilityValueMin = _props.accessibilityValueMin,\n ariaValueNow = _props['aria-valuenow'],\n accessibilityValueNow = _props.accessibilityValueNow,\n ariaValueText = _props['aria-valuetext'],\n accessibilityValueText = _props.accessibilityValueText,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n id = _props.id,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n style = _props.style,\n tabIndex = _props.tabIndex,\n testID = _props.testID,\n domProps = (0, _objectWithoutPropertiesLoose2.default)(_props, _excluded);\n if (accessibilityDisabled != null) {\n (0, _warnOnce.warnOnce)('accessibilityDisabled', \"accessibilityDisabled is deprecated.\");\n }\n var disabled = ariaDisabled || accessibilityDisabled;\n var role = _AccessibilityUtil.default.propsToAriaRole(props);\n\n // ACCESSIBILITY\n if (accessibilityActiveDescendant != null) {\n (0, _warnOnce.warnOnce)('accessibilityActiveDescendant', \"accessibilityActiveDescendant is deprecated. Use aria-activedescendant.\");\n }\n var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant;\n if (_ariaActiveDescendant != null) {\n domProps['aria-activedescendant'] = _ariaActiveDescendant;\n }\n if (accessibilityAtomic != null) {\n (0, _warnOnce.warnOnce)('accessibilityAtomic', \"accessibilityAtomic is deprecated. Use aria-atomic.\");\n }\n var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic;\n if (_ariaAtomic != null) {\n domProps['aria-atomic'] = _ariaAtomic;\n }\n if (accessibilityAutoComplete != null) {\n (0, _warnOnce.warnOnce)('accessibilityAutoComplete', \"accessibilityAutoComplete is deprecated. Use aria-autocomplete.\");\n }\n var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete;\n if (_ariaAutoComplete != null) {\n domProps['aria-autocomplete'] = _ariaAutoComplete;\n }\n if (accessibilityBusy != null) {\n (0, _warnOnce.warnOnce)('accessibilityBusy', \"accessibilityBusy is deprecated. Use aria-busy.\");\n }\n var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy;\n if (_ariaBusy != null) {\n domProps['aria-busy'] = _ariaBusy;\n }\n if (accessibilityChecked != null) {\n (0, _warnOnce.warnOnce)('accessibilityChecked', \"accessibilityChecked is deprecated. Use aria-checked.\");\n }\n var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked;\n if (_ariaChecked != null) {\n domProps['aria-checked'] = _ariaChecked;\n }\n if (accessibilityColumnCount != null) {\n (0, _warnOnce.warnOnce)('accessibilityColumnCount', \"accessibilityColumnCount is deprecated. Use aria-colcount.\");\n }\n var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount;\n if (_ariaColumnCount != null) {\n domProps['aria-colcount'] = _ariaColumnCount;\n }\n if (accessibilityColumnIndex != null) {\n (0, _warnOnce.warnOnce)('accessibilityColumnIndex', \"accessibilityColumnIndex is deprecated. Use aria-colindex.\");\n }\n var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex;\n if (_ariaColumnIndex != null) {\n domProps['aria-colindex'] = _ariaColumnIndex;\n }\n if (accessibilityColumnSpan != null) {\n (0, _warnOnce.warnOnce)('accessibilityColumnSpan', \"accessibilityColumnSpan is deprecated. Use aria-colspan.\");\n }\n var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan;\n if (_ariaColumnSpan != null) {\n domProps['aria-colspan'] = _ariaColumnSpan;\n }\n if (accessibilityControls != null) {\n (0, _warnOnce.warnOnce)('accessibilityControls', \"accessibilityControls is deprecated. Use aria-controls.\");\n }\n var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls;\n if (_ariaControls != null) {\n domProps['aria-controls'] = processIDRefList(_ariaControls);\n }\n if (accessibilityCurrent != null) {\n (0, _warnOnce.warnOnce)('accessibilityCurrent', \"accessibilityCurrent is deprecated. Use aria-current.\");\n }\n var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent;\n if (_ariaCurrent != null) {\n domProps['aria-current'] = _ariaCurrent;\n }\n if (accessibilityDescribedBy != null) {\n (0, _warnOnce.warnOnce)('accessibilityDescribedBy', \"accessibilityDescribedBy is deprecated. Use aria-describedby.\");\n }\n var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy;\n if (_ariaDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(_ariaDescribedBy);\n }\n if (accessibilityDetails != null) {\n (0, _warnOnce.warnOnce)('accessibilityDetails', \"accessibilityDetails is deprecated. Use aria-details.\");\n }\n var _ariaDetails = ariaDetails != null ? ariaDetails : accessibilityDetails;\n if (_ariaDetails != null) {\n domProps['aria-details'] = _ariaDetails;\n }\n if (disabled === true) {\n domProps['aria-disabled'] = true;\n // Enhance with native semantics\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n if (accessibilityErrorMessage != null) {\n (0, _warnOnce.warnOnce)('accessibilityErrorMessage', \"accessibilityErrorMessage is deprecated. Use aria-errormessage.\");\n }\n var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage;\n if (_ariaErrorMessage != null) {\n domProps['aria-errormessage'] = _ariaErrorMessage;\n }\n if (accessibilityExpanded != null) {\n (0, _warnOnce.warnOnce)('accessibilityExpanded', \"accessibilityExpanded is deprecated. Use aria-expanded.\");\n }\n var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded;\n if (_ariaExpanded != null) {\n domProps['aria-expanded'] = _ariaExpanded;\n }\n if (accessibilityFlowTo != null) {\n (0, _warnOnce.warnOnce)('accessibilityFlowTo', \"accessibilityFlowTo is deprecated. Use aria-flowto.\");\n }\n var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo;\n if (_ariaFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(_ariaFlowTo);\n }\n if (accessibilityHasPopup != null) {\n (0, _warnOnce.warnOnce)('accessibilityHasPopup', \"accessibilityHasPopup is deprecated. Use aria-haspopup.\");\n }\n var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup;\n if (_ariaHasPopup != null) {\n domProps['aria-haspopup'] = _ariaHasPopup;\n }\n if (accessibilityHidden != null) {\n (0, _warnOnce.warnOnce)('accessibilityHidden', \"accessibilityHidden is deprecated. Use aria-hidden.\");\n }\n var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden;\n if (_ariaHidden === true) {\n domProps['aria-hidden'] = _ariaHidden;\n }\n if (accessibilityInvalid != null) {\n (0, _warnOnce.warnOnce)('accessibilityInvalid', \"accessibilityInvalid is deprecated. Use aria-invalid.\");\n }\n var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid;\n if (_ariaInvalid != null) {\n domProps['aria-invalid'] = _ariaInvalid;\n }\n if (accessibilityKeyShortcuts != null) {\n (0, _warnOnce.warnOnce)('accessibilityKeyShortcuts', \"accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts.\");\n }\n var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts;\n if (_ariaKeyShortcuts != null) {\n domProps['aria-keyshortcuts'] = processIDRefList(_ariaKeyShortcuts);\n }\n if (accessibilityLabel != null) {\n (0, _warnOnce.warnOnce)('accessibilityLabel', \"accessibilityLabel is deprecated. Use aria-label.\");\n }\n var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel;\n if (_ariaLabel != null) {\n domProps['aria-label'] = _ariaLabel;\n }\n if (accessibilityLabelledBy != null) {\n (0, _warnOnce.warnOnce)('accessibilityLabelledBy', \"accessibilityLabelledBy is deprecated. Use aria-labelledby.\");\n }\n var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy;\n if (_ariaLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(_ariaLabelledBy);\n }\n if (accessibilityLevel != null) {\n (0, _warnOnce.warnOnce)('accessibilityLevel', \"accessibilityLevel is deprecated. Use aria-level.\");\n }\n var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel;\n if (_ariaLevel != null) {\n domProps['aria-level'] = _ariaLevel;\n }\n if (accessibilityLiveRegion != null) {\n (0, _warnOnce.warnOnce)('accessibilityLiveRegion', \"accessibilityLiveRegion is deprecated. Use aria-live.\");\n }\n var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion;\n if (_ariaLive != null) {\n domProps['aria-live'] = _ariaLive === 'none' ? 'off' : _ariaLive;\n }\n if (accessibilityModal != null) {\n (0, _warnOnce.warnOnce)('accessibilityModal', \"accessibilityModal is deprecated. Use aria-modal.\");\n }\n var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal;\n if (_ariaModal != null) {\n domProps['aria-modal'] = _ariaModal;\n }\n if (accessibilityMultiline != null) {\n (0, _warnOnce.warnOnce)('accessibilityMultiline', \"accessibilityMultiline is deprecated. Use aria-multiline.\");\n }\n var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline;\n if (_ariaMultiline != null) {\n domProps['aria-multiline'] = _ariaMultiline;\n }\n if (accessibilityMultiSelectable != null) {\n (0, _warnOnce.warnOnce)('accessibilityMultiSelectable', \"accessibilityMultiSelectable is deprecated. Use aria-multiselectable.\");\n }\n var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable;\n if (_ariaMultiSelectable != null) {\n domProps['aria-multiselectable'] = _ariaMultiSelectable;\n }\n if (accessibilityOrientation != null) {\n (0, _warnOnce.warnOnce)('accessibilityOrientation', \"accessibilityOrientation is deprecated. Use aria-orientation.\");\n }\n var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation;\n if (_ariaOrientation != null) {\n domProps['aria-orientation'] = _ariaOrientation;\n }\n if (accessibilityOwns != null) {\n (0, _warnOnce.warnOnce)('accessibilityOwns', \"accessibilityOwns is deprecated. Use aria-owns.\");\n }\n var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns;\n if (_ariaOwns != null) {\n domProps['aria-owns'] = processIDRefList(_ariaOwns);\n }\n if (accessibilityPlaceholder != null) {\n (0, _warnOnce.warnOnce)('accessibilityPlaceholder', \"accessibilityPlaceholder is deprecated. Use aria-placeholder.\");\n }\n var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder;\n if (_ariaPlaceholder != null) {\n domProps['aria-placeholder'] = _ariaPlaceholder;\n }\n if (accessibilityPosInSet != null) {\n (0, _warnOnce.warnOnce)('accessibilityPosInSet', \"accessibilityPosInSet is deprecated. Use aria-posinset.\");\n }\n var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet;\n if (_ariaPosInSet != null) {\n domProps['aria-posinset'] = _ariaPosInSet;\n }\n if (accessibilityPressed != null) {\n (0, _warnOnce.warnOnce)('accessibilityPressed', \"accessibilityPressed is deprecated. Use aria-pressed.\");\n }\n var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed;\n if (_ariaPressed != null) {\n domProps['aria-pressed'] = _ariaPressed;\n }\n if (accessibilityReadOnly != null) {\n (0, _warnOnce.warnOnce)('accessibilityReadOnly', \"accessibilityReadOnly is deprecated. Use aria-readonly.\");\n }\n var _ariaReadOnly = ariaReadOnly != null ? ariaReadOnly : accessibilityReadOnly;\n if (_ariaReadOnly != null) {\n domProps['aria-readonly'] = _ariaReadOnly;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n if (accessibilityRequired != null) {\n (0, _warnOnce.warnOnce)('accessibilityRequired', \"accessibilityRequired is deprecated. Use aria-required.\");\n }\n var _ariaRequired = ariaRequired != null ? ariaRequired : accessibilityRequired;\n if (_ariaRequired != null) {\n domProps['aria-required'] = _ariaRequired;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = accessibilityRequired;\n }\n }\n if (accessibilityRole != null) {\n (0, _warnOnce.warnOnce)('accessibilityRole', \"accessibilityRole is deprecated. Use role.\");\n }\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n if (accessibilityRoleDescription != null) {\n (0, _warnOnce.warnOnce)('accessibilityRoleDescription', \"accessibilityRoleDescription is deprecated. Use aria-roledescription.\");\n }\n var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription;\n if (_ariaRoleDescription != null) {\n domProps['aria-roledescription'] = _ariaRoleDescription;\n }\n if (accessibilityRowCount != null) {\n (0, _warnOnce.warnOnce)('accessibilityRowCount', \"accessibilityRowCount is deprecated. Use aria-rowcount.\");\n }\n var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount;\n if (_ariaRowCount != null) {\n domProps['aria-rowcount'] = _ariaRowCount;\n }\n if (accessibilityRowIndex != null) {\n (0, _warnOnce.warnOnce)('accessibilityRowIndex', \"accessibilityRowIndex is deprecated. Use aria-rowindex.\");\n }\n var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex;\n if (_ariaRowIndex != null) {\n domProps['aria-rowindex'] = _ariaRowIndex;\n }\n if (accessibilityRowSpan != null) {\n (0, _warnOnce.warnOnce)('accessibilityRowSpan', \"accessibilityRowSpan is deprecated. Use aria-rowspan.\");\n }\n var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan;\n if (_ariaRowSpan != null) {\n domProps['aria-rowspan'] = _ariaRowSpan;\n }\n if (accessibilitySelected != null) {\n (0, _warnOnce.warnOnce)('accessibilitySelected', \"accessibilitySelected is deprecated. Use aria-selected.\");\n }\n var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected;\n if (_ariaSelected != null) {\n domProps['aria-selected'] = _ariaSelected;\n }\n if (accessibilitySetSize != null) {\n (0, _warnOnce.warnOnce)('accessibilitySetSize', \"accessibilitySetSize is deprecated. Use aria-setsize.\");\n }\n var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize;\n if (_ariaSetSize != null) {\n domProps['aria-setsize'] = _ariaSetSize;\n }\n if (accessibilitySort != null) {\n (0, _warnOnce.warnOnce)('accessibilitySort', \"accessibilitySort is deprecated. Use aria-sort.\");\n }\n var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort;\n if (_ariaSort != null) {\n domProps['aria-sort'] = _ariaSort;\n }\n if (accessibilityValueMax != null) {\n (0, _warnOnce.warnOnce)('accessibilityValueMax', \"accessibilityValueMax is deprecated. Use aria-valuemax.\");\n }\n var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax;\n if (_ariaValueMax != null) {\n domProps['aria-valuemax'] = _ariaValueMax;\n }\n if (accessibilityValueMin != null) {\n (0, _warnOnce.warnOnce)('accessibilityValueMin', \"accessibilityValueMin is deprecated. Use aria-valuemin.\");\n }\n var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin;\n if (_ariaValueMin != null) {\n domProps['aria-valuemin'] = _ariaValueMin;\n }\n if (accessibilityValueNow != null) {\n (0, _warnOnce.warnOnce)('accessibilityValueNow', \"accessibilityValueNow is deprecated. Use aria-valuenow.\");\n }\n var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow;\n if (_ariaValueNow != null) {\n domProps['aria-valuenow'] = _ariaValueNow;\n }\n if (accessibilityValueText != null) {\n (0, _warnOnce.warnOnce)('accessibilityValueText', \"accessibilityValueText is deprecated. Use aria-valuetext.\");\n }\n var _ariaValueText = ariaValueText != null ? ariaValueText : accessibilityValueText;\n if (_ariaValueText != null) {\n domProps['aria-valuetext'] = _ariaValueText;\n }\n\n // \"dataSet\" replaced with \"data-*\"\n if (dataSet != null) {\n for (var dataProp in dataSet) {\n if (hasOwnProperty.call(dataSet, dataProp)) {\n var dataName = hyphenateString(dataProp);\n var dataValue = dataSet[dataProp];\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n }\n\n // FOCUS\n if (tabIndex === 0 || tabIndex === '0' || tabIndex === -1 || tabIndex === '-1') {\n domProps.tabIndex = tabIndex;\n } else {\n if (focusable != null) {\n (0, _warnOnce.warnOnce)('focusable', \"focusable is deprecated.\");\n }\n\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n if (focusable === false) {\n domProps.tabIndex = '-1';\n }\n if (\n // These native elements are keyboard focusable by default\n elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if (\n // These roles are made keyboard focusable by default\n role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n // Everything else must explicitly set the prop\n if (focusable === true) {\n domProps.tabIndex = '0';\n }\n }\n }\n\n // Resolve styles\n if (pointerEvents != null) {\n (0, _warnOnce.warnOnce)('pointerEvents', \"props.pointerEvents is deprecated. Use style.pointerEvents\");\n }\n var _StyleSheet = (0, _StyleSheet2.default)([style, pointerEvents && pointerEventsStyles[pointerEvents]], (0, _objectSpread2.default)({\n writingDirection: 'ltr'\n }, options)),\n className = _StyleSheet[0],\n inlineStyle = _StyleSheet[1];\n if (className) {\n domProps.className = className;\n }\n if (inlineStyle) {\n domProps.style = inlineStyle;\n }\n\n // OTHER\n // Native element ID\n if (nativeID != null) {\n (0, _warnOnce.warnOnce)('nativeID', \"nativeID is deprecated. Use id.\");\n }\n var _id = id != null ? id : nativeID;\n if (_id != null) {\n domProps.id = _id;\n }\n // Automated test IDs\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n if (domProps.type == null && elementType === 'button') {\n domProps.type = 'button';\n }\n return domProps;\n};\nvar _default = createDOMProps;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.touchProps = exports.styleProps = exports.mouseProps = exports.keyboardProps = exports.focusProps = exports.defaultProps = exports.clickProps = exports.accessibilityProps = void 0;\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar defaultProps = {\n children: true,\n dataSet: true,\n dir: true,\n id: true,\n ref: true,\n suppressHydrationWarning: true,\n tabIndex: true,\n testID: true,\n // @deprecated\n focusable: true,\n nativeID: true\n};\nexports.defaultProps = defaultProps;\nvar accessibilityProps = {\n 'aria-activedescendant': true,\n 'aria-atomic': true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-colcount': true,\n 'aria-colindex': true,\n 'aria-colspan': true,\n 'aria-controls': true,\n 'aria-current': true,\n 'aria-describedby': true,\n 'aria-details': true,\n 'aria-disabled': true,\n 'aria-errormessage': true,\n 'aria-expanded': true,\n 'aria-flowto': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-keyshortcuts': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-owns': true,\n 'aria-placeholder': true,\n 'aria-posinset': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-required': true,\n role: true,\n 'aria-roledescription': true,\n 'aria-rowcount': true,\n 'aria-rowindex': true,\n 'aria-rowspan': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-sort': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n // @deprecated\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n accessibilityDisabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRole: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true\n};\nexports.accessibilityProps = accessibilityProps;\nvar clickProps = {\n onClick: true,\n onAuxClick: true,\n onContextMenu: true,\n onGotPointerCapture: true,\n onLostPointerCapture: true,\n onPointerCancel: true,\n onPointerDown: true,\n onPointerEnter: true,\n onPointerMove: true,\n onPointerLeave: true,\n onPointerOut: true,\n onPointerOver: true,\n onPointerUp: true\n};\nexports.clickProps = clickProps;\nvar focusProps = {\n onBlur: true,\n onFocus: true\n};\nexports.focusProps = focusProps;\nvar keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nexports.keyboardProps = keyboardProps;\nvar mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nexports.mouseProps = mouseProps;\nvar touchProps = {\n onTouchCancel: true,\n onTouchCancelCapture: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchMoveCapture: true,\n onTouchStart: true,\n onTouchStartCapture: true\n};\nexports.touchProps = touchProps;\nvar styleProps = {\n style: true\n};\nexports.styleProps = styleProps;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar getBoundingClientRect = node => {\n if (node != null) {\n var isElement = node.nodeType === 1; /* Node.ELEMENT_NODE */\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\nvar _default = getBoundingClientRect;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = isSelectionValid;\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction isSelectionValid() {\n var selection = window.getSelection();\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== '\\n' && isTextNode;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\nvar _default = isWebColor;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = mergeRefs;\nvar React = _interopRequireWildcard(require(\"react\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction mergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return function forwardRef(node) {\n args.forEach(ref => {\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addModalityListener = addModalityListener;\nexports.getActiveModality = getActiveModality;\nexports.getModality = getModality;\nexports.testOnly_resetActiveModality = testOnly_resetActiveModality;\nvar _addEventListener = require(\"../addEventListener\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nvar activeModality = 'keyboard';\nvar modality = 'keyboard';\nvar previousModality;\nvar previousActiveModality;\nvar isEmulatingMouseEvents = false;\nvar listeners = new Set();\nvar KEYBOARD = 'keyboard';\nvar MOUSE = 'mouse';\nvar TOUCH = 'touch';\nvar BLUR = 'blur';\nvar CONTEXTMENU = 'contextmenu';\nvar FOCUS = 'focus';\nvar KEYDOWN = 'keydown';\nvar MOUSEDOWN = 'mousedown';\nvar MOUSEMOVE = 'mousemove';\nvar MOUSEUP = 'mouseup';\nvar POINTERDOWN = 'pointerdown';\nvar POINTERMOVE = 'pointermove';\nvar SCROLL = 'scroll';\nvar SELECTIONCHANGE = 'selectionchange';\nvar TOUCHCANCEL = 'touchcancel';\nvar TOUCHMOVE = 'touchmove';\nvar TOUCHSTART = 'touchstart';\nvar VISIBILITYCHANGE = 'visibilitychange';\nvar bubbleOptions = {\n passive: true\n};\nvar captureOptions = {\n capture: true,\n passive: true\n};\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n callListeners();\n }\n}\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners();\n // for fallback events\n isEmulatingMouseEvents = false;\n}\nfunction onFocusWindow() {\n restoreModality();\n}\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\nfunction onPointerish(event) {\n var eventType = event.type;\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n return;\n }\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n return;\n }\n }\n // Fallback for non-PointerEvent environment\n else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n }\n\n // Flag when browser may produce emulated events\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n return;\n }\n\n // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\nif (_canUseDom.default) {\n // Window events\n (0, _addEventListener.addEventListener)(window, BLUR, onBlurWindow, bubbleOptions);\n (0, _addEventListener.addEventListener)(window, FOCUS, onFocusWindow, bubbleOptions);\n // Must be capture phase because 'stopPropagation' might prevent these\n // events bubbling to the document.\n (0, _addEventListener.addEventListener)(document, KEYDOWN, onKeyDown, captureOptions);\n (0, _addEventListener.addEventListener)(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);\n (0, _addEventListener.addEventListener)(document, POINTERDOWN, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, POINTERMOVE, onPointerish, captureOptions);\n // Fallback events\n (0, _addEventListener.addEventListener)(document, CONTEXTMENU, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEDOWN, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEMOVE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEUP, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHCANCEL, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHMOVE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHSTART, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, SELECTIONCHANGE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, SCROLL, onPointerish, captureOptions);\n}\nfunction callListeners() {\n var value = {\n activeModality,\n modality\n };\n listeners.forEach(listener => {\n listener(value);\n });\n}\nfunction getActiveModality() {\n return activeModality;\n}\nfunction getModality() {\n return modality;\n}\nfunction addModalityListener(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\nfunction testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = pick;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction pick(obj, list) {\n var nextObj = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true) {\n nextObj[key] = obj[key];\n }\n }\n }\n return nextObj;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _createPrefixer = _interopRequireDefault(require(\"inline-style-prefixer/lib/createPrefixer\"));\nvar _static = _interopRequireDefault(require(\"./static\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar prefixAll = (0, _createPrefixer.default)(_static.default);\nvar _default = prefixAll;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _backgroundClip = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/backgroundClip\"));\nvar _crossFade = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/crossFade\"));\nvar _cursor = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/cursor\"));\nvar _filter = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/filter\"));\nvar _imageSet = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/imageSet\"));\nvar _logical = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/logical\"));\nvar _position = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/position\"));\nvar _sizing = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/sizing\"));\nvar _transition = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/transition\"));\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nvar _default = {\n plugins: [_backgroundClip.default, _crossFade.default, _cursor.default, _filter.default, _imageSet.default, _logical.default, _position.default, _sizing.default, _transition.default],\n prefixMap: {\n appearance: wmms,\n userSelect: wm,\n textEmphasisPosition: wms,\n textEmphasis: wms,\n textEmphasisStyle: wms,\n textEmphasisColor: wms,\n boxDecorationBreak: wms,\n clipPath: w,\n maskImage: wms,\n maskMode: wms,\n maskRepeat: wms,\n maskPosition: wms,\n maskClip: wms,\n maskOrigin: wms,\n maskSize: wms,\n maskComposite: wms,\n mask: wms,\n maskBorderSource: wms,\n maskBorderMode: wms,\n maskBorderSlice: wms,\n maskBorderWidth: wms,\n maskBorderOutset: wms,\n maskBorderRepeat: wms,\n maskBorder: wms,\n maskType: wms,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n breakAfter: w,\n breakBefore: w,\n breakInside: w,\n columnCount: w,\n columnFill: w,\n columnGap: w,\n columnRule: w,\n columnRuleColor: w,\n columnRuleStyle: w,\n columnRuleWidth: w,\n columns: w,\n columnSpan: w,\n columnWidth: w,\n backdropFilter: w,\n hyphens: w,\n flowInto: w,\n flowFrom: w,\n regionFragment: w,\n textOrientation: w,\n tabSize: m,\n fontKerning: w,\n textSizeAdjust: w\n }\n};\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _unitlessNumbers = _interopRequireDefault(require(\"../unitlessNumbers\"));\n/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.0.0\n * \n */\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(_unitlessNumbers.default.hasOwnProperty(name) && _unitlessNumbers.default[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return ('' + value).trim();\n}\nvar _default = dangerousStyleValue;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _dangerousStyleValue = _interopRequireDefault(require(\"./dangerousStyleValue\"));\n/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.3.0\n * \n */\n\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = (0, _dangerousStyleValue.default)(styleName, styles[styleName], isCustomProperty);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\nvar _default = setValueForStyles;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nvar _default = unitlessNumbers;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useElementLayout;\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\nvar _UIManager = _interopRequireDefault(require(\"../../exports/UIManager\"));\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !_canUseDom.default;\nvar resizeObserver = null;\nfunction getResizeObserver() {\n if (_canUseDom.default && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(entry => {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n if (typeof onLayout === 'function') {\n // We still need to measure the view because browsers don't yet provide\n // border-box dimensions in the entry\n _UIManager.default.measure(node, (x, y, width, height, left, top) => {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x,\n y,\n width,\n height,\n left,\n top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: () => entry.target\n });\n onLayout(event);\n });\n }\n });\n });\n }\n } else if (!didWarn) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n console.warn('onLayout relies on ResizeObserver which is not supported by your browser. ' + 'Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill.');\n didWarn = true;\n }\n }\n return resizeObserver;\n}\nfunction useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n (0, _useLayoutEffect.default)(() => {\n var node = ref.current;\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]);\n\n // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n (0, _useLayoutEffect.default)(() => {\n var node = ref.current;\n if (node != null && observer != null) {\n if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {\n observer.observe(node);\n } else {\n observer.unobserve(node);\n }\n }\n return () => {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useEvent;\nvar _addEventListener = require(\"../addEventListener\");\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\nvar _useStable = _interopRequireDefault(require(\"../useStable\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nfunction useEvent(eventType, options) {\n var targetListeners = (0, _useStable.default)(() => new Map());\n var addListener = (0, _useStable.default)(() => {\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n if (callback == null) {\n targetListeners.delete(target);\n callback = () => {};\n }\n var removeEventListener = (0, _addEventListener.addEventListener)(target, eventType, callback, options);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n (0, _useLayoutEffect.default)(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useHover;\nvar _modality = require(\"../modality\");\nvar _useEvent = _interopRequireDefault(require(\"../useEvent\"));\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * Types\n */\n\n/**\n * Implementation\n */\n\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n var _ref = payload || emptyObject,\n _ref$bubbles = _ref.bubbles,\n bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,\n _ref$cancelable = _ref.cancelable,\n cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,\n detail = _ref.detail;\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n}\n\n// This accounts for the non-PointerEvent fallback events.\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : (0, _modality.getModality)();\n}\nfunction useHover(targetRef, config) {\n var contain = config.contain,\n disabled = config.disabled,\n onHoverStart = config.onHoverStart,\n onHoverChange = config.onHoverChange,\n onHoverUpdate = config.onHoverUpdate,\n onHoverEnd = config.onHoverEnd;\n var canUsePE = supportsPointerEvent();\n var addMoveListener = (0, _useEvent.default)(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = (0, _useEvent.default)(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = (0, _useEvent.default)(canUsePE ? 'pointerleave' : 'mouseleave', opts);\n // These custom events are used to implement the \"contain\" prop.\n var addLockListener = (0, _useEvent.default)(lockEventType, opts);\n var addUnlockListener = (0, _useEvent.default)(unlockEventType, opts);\n (0, _useLayoutEffect.default)(() => {\n var target = targetRef.current;\n if (target !== null) {\n /**\n * End the hover gesture\n */\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n if (onHoverChange != null) {\n onHoverChange(false);\n }\n // Remove the listeners once finished.\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n\n /**\n * Leave element\n */\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n hoverEnd(e);\n }\n };\n\n /**\n * Move within element\n */\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n // Not all browsers have these properties\n if (e.x == null) {\n e.x = e.clientX;\n }\n if (e.y == null) {\n e.y = e.clientY;\n }\n onHoverUpdate(e);\n }\n }\n };\n\n /**\n * Start the hover gesture\n */\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n if (onHoverChange != null) {\n onHoverChange(true);\n }\n // Set the listeners needed for the rest of the hover gesture.\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n\n /**\n * Enter element\n */\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n hoverStart(e);\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _react = require(\"react\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\n\nvar useLayoutEffectImpl = _canUseDom.default ? _react.useLayoutEffect : _react.useEffect;\nvar _default = useLayoutEffectImpl;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.LocaleProvider = LocaleProvider;\nexports.getLocaleDirection = getLocaleDirection;\nexports.useLocaleContext = useLocaleContext;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _isLocaleRTL = require(\"./isLocaleRTL\");\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar defaultLocale = {\n direction: 'ltr',\n locale: 'en-US'\n};\nvar LocaleContext = /*#__PURE__*/(0, _react.createContext)(defaultLocale);\nfunction getLocaleDirection(locale) {\n return (0, _isLocaleRTL.isLocaleRTL)(locale) ? 'rtl' : 'ltr';\n}\nfunction LocaleProvider(props) {\n var direction = props.direction,\n locale = props.locale,\n children = props.children;\n var needsContext = direction || locale;\n return needsContext ? /*#__PURE__*/_react.default.createElement(LocaleContext.Provider, {\n children: children,\n value: {\n direction: locale ? getLocaleDirection(locale) : direction,\n locale\n }\n }) : children;\n}\nfunction useLocaleContext() {\n return (0, _react.useContext)(LocaleContext);\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.isLocaleRTL = isLocaleRTL;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar rtlScripts = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nvar rtlLangs = new Set(['ae',\n// Avestan\n'ar',\n// Arabic\n'arc',\n// Aramaic\n'bcc',\n// Southern Balochi\n'bqi',\n// Bakthiari\n'ckb',\n// Sorani\n'dv',\n// Dhivehi\n'fa', 'far',\n// Persian\n'glk',\n// Gilaki\n'he', 'iw',\n// Hebrew\n'khw',\n// Khowar\n'ks',\n// Kashmiri\n'ku',\n// Kurdish\n'mzn',\n// Mazanderani\n'nqo',\n// N'Ko\n'pnb',\n// Western Punjabi\n'ps',\n// Pashto\n'sd',\n// Sindhi\n'ug',\n// Uyghur\n'ur',\n// Urdu\n'yi' // Yiddish\n]);\n\nvar cache = new Map();\n\n/**\n * Determine the writing direction of a locale\n */\nfunction isLocaleRTL(locale) {\n var cachedRTL = cache.get(locale);\n if (cachedRTL) {\n return cachedRTL;\n }\n var isRTL = false;\n // $FlowFixMe\n if (Intl.Locale) {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } else {\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\n cache.set(locale, isRTL);\n return isRTL;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useMergeRefs;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _mergeRefs = _interopRequireDefault(require(\"../mergeRefs\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction useMergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return React.useMemo(() => (0, _mergeRefs.default)(...args),\n // eslint-disable-next-line\n [...args]);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = usePlatformMethods;\nvar _UIManager = _interopRequireDefault(require(\"../../exports/UIManager\"));\nvar _useStable = _interopRequireDefault(require(\"../useStable\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\nfunction usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n // Avoid creating a new ref on every render.\n var ref = (0, _useStable.default)(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => _UIManager.default.measure(hostNode, callback);\n hostNode.measureLayout = (relativeToNode, success, failure) => _UIManager.default.measureLayout(hostNode, relativeToNode, failure, success);\n hostNode.measureInWindow = callback => _UIManager.default.measureInWindow(hostNode, callback);\n }\n });\n return ref;\n}\nmodule.exports = exports.default;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nexports.__esModule = true;\nexports.default = void 0;\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\nvar getElementRole = element => element.getAttribute('role');\nvar getElementType = element => element.tagName.toLowerCase();\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isButtonRole = element => getElementRole(element) === 'button';\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var isSpacebar = key === ' ' || key === 'Spacebar';\n var isButtonish = getElementType(target) === 'button' || isButtonRole(target);\n return key === 'Enter' || isSpacebar && isButtonish;\n};\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\nvar DEFAULT_PRESS_DELAY_MS = 50;\n\n/**\n * =========================== PressResponder Tutorial ===========================\n *\n * The `PressResponder` class helps you create press interactions by analyzing the\n * geometry of elements and observing when another responder (e.g. ScrollView)\n * has stolen the touch lock. It offers hooks for your component to provide\n * interaction feedback to the user:\n *\n * - When a press has activated (e.g. highlight an element)\n * - When a press has deactivated (e.g. un-highlight an element)\n * - When a press sould trigger an action, meaning it activated and deactivated\n * while within the geometry of the element without the lock being stolen.\n *\n * A high quality interaction isn't as simple as you might think. There should\n * be a slight delay before activation. Moving your finger beyond an element's\n * bounds should trigger deactivation, but moving the same finger back within an\n * element's bounds should trigger reactivation.\n *\n * In order to use `PressResponder`, do the following:\n *\n * const pressResponder = new PressResponder(config);\n *\n * 2. Choose the rendered component who should collect the press events. On that\n * element, spread `pressability.getEventHandlers()` into its props.\n *\n * return (\n * \n * );\n *\n * 3. Reset `PressResponder` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressResponder.reset();\n * }\n *\n * ==================== Implementation Details ====================\n *\n * `PressResponder` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * # Geometry\n *\n * ┌────────────────────────┐\n * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`.\n * │ │ ┌────────────┐ │ │\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates.\n * │ └──────────────────┘ │\n * │ Out Region o │\n * └────────────────────│───┘\n * └────── When the press is released outside the `HitRect`,\n * the responder is NOT eligible for a \"press\".\n *\n * # State Machine\n *\n * ┌───────────────┐ ◀──── RESPONDER_RELEASE\n * │ NOT_RESPONDER │\n * └───┬───────────┘ ◀──── RESPONDER_TERMINATED\n * │\n * │ RESPONDER_GRANT (HitRect)\n * │\n * ▼\n * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │\n * │ PRESS_START ├────────▶ │ PRESS_START ├────────────▶ │ LONG_PRESS_START │\n * └─────────────────────┘ └───────────────────┘ └───────────────────┘\n *\n * T + DELAY => LONG_PRESS_DELAY + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the invocation of `onLongPress`. Only when the browser produces a\n * `click` event is `onPress` invoked.\n */\nclass PressResponder {\n constructor(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this._responderElement = null;\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset() {\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\n\n /**\n * Returns a set of props to spread into the interactive element.\n */\n getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n return this._eventHandlers;\n }\n _createEventHandlers() {\n var start = (event, shouldDelay) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n this._receiveSignal(RESPONDER_GRANT, event);\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n if (shouldDelay !== false && delayPressStart > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n this._receiveSignal(DELAY, event);\n }\n var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\n if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = getElementType(target);\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n var isActiveElement = this._responderElement === target;\n if (onPress != null && !isNativeInteractiveElement && isActiveElement) {\n onPress(event);\n }\n this._responderElement = null;\n }\n };\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false);\n this._responderElement = target;\n // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n document.addEventListener('keyup', keyupHandler);\n }\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n var role = getElementRole(target);\n var isButtonLikeRole = role === 'button' || role === 'menuitem';\n if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== 'button') {\n // Prevent spacebar scrolling the window if using non-native button\n event.preventDefault();\n }\n event.stopPropagation();\n }\n },\n onResponderGrant: event => start(event),\n onResponderMove: event => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n var touch = getTouchFromResponderEvent(event);\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: event => end(event),\n onResponderTerminate: event => {\n if (event.nativeEvent.type === 'selectionchange') {\n this._selectionTerminated = true;\n }\n this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: event => {\n var _this$_config = this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress;\n // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n if (cancelable == null) {\n return true;\n }\n return cancelable;\n },\n // NOTE: this diverges from react-native in 3 significant ways:\n // * The `onPress` callback is not connected to the responder system (the native\n // `click` event must be used but is dispatched in many scenarios where no pointers\n // are on the screen.) Therefore, it's possible for `onPress` to be called without\n // `onPress{Start,End}` being called first.\n // * The `onPress` callback is only be called on the first ancestor of the native\n // `click` target that is using the PressResponder.\n // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.\n onClick: event => {\n var _this$_config2 = this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n if (!disabled) {\n // If long press dispatched, cancel default click behavior.\n // If the responder terminated because text was selected during the gesture,\n // cancel the default click behavior.\n event.stopPropagation();\n if (this._longPressDispatched || this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n // If `onLongPress` is provided and a touch pointer is being used, prevent the\n // default context menu from opening.\n onContextMenu: event => {\n var _this$_config3 = this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n if (!disabled) {\n if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n }\n };\n }\n\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\n }\n\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n // Pressable suppression of contextmenu on windows.\n // On Windows, the contextmenu is displayed after pointerup.\n // https://github.com/necolas/react-native-web/issues/2296\n setTimeout(() => {\n this._isPointerTouch = false;\n }, 0);\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n this._deactivate(event);\n }\n }\n }\n }\n this._cancelPressDelayTimeout();\n }\n _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n if (onPressStart != null) {\n onPressStart(event);\n }\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n }\n _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\n }\n }\n _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n}\nexports.default = PressResponder;\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n if (fallback === void 0) {\n fallback = 0;\n }\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n return event.nativeEvent;\n}\nmodule.exports = exports.default;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = usePressEvents;\nvar _PressResponder = _interopRequireDefault(require(\"./PressResponder\"));\nvar _react = require(\"react\");\nfunction usePressEvents(hostRef, config) {\n var pressResponderRef = (0, _react.useRef)(null);\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new _PressResponder.default(config);\n }\n var pressResponder = pressResponderRef.current;\n\n // Re-configure to use the current node and configuration.\n (0, _react.useEffect)(() => {\n pressResponder.configure(config);\n }, [config, pressResponder]);\n\n // Reset the `pressResponder` when cleanup needs to occur. This is\n // a separate effect because we do not want to rest the responder when `config` changes.\n (0, _react.useEffect)(() => {\n return () => {\n pressResponder.reset();\n };\n }, [pressResponder]);\n (0, _react.useDebugValue)(config);\n return pressResponder.getEventHandlers();\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.TOUCH_START = exports.TOUCH_MOVE = exports.TOUCH_END = exports.TOUCH_CANCEL = exports.SELECTION_CHANGE = exports.SELECT = exports.SCROLL = exports.MOUSE_UP = exports.MOUSE_MOVE = exports.MOUSE_DOWN = exports.MOUSE_CANCEL = exports.FOCUS_OUT = exports.CONTEXT_MENU = exports.BLUR = void 0;\nexports.isCancelish = isCancelish;\nexports.isEndish = isEndish;\nexports.isMoveish = isMoveish;\nexports.isScroll = isScroll;\nexports.isSelectionChange = isSelectionChange;\nexports.isStartish = isStartish;\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar BLUR = 'blur';\nexports.BLUR = BLUR;\nvar CONTEXT_MENU = 'contextmenu';\nexports.CONTEXT_MENU = CONTEXT_MENU;\nvar FOCUS_OUT = 'focusout';\nexports.FOCUS_OUT = FOCUS_OUT;\nvar MOUSE_DOWN = 'mousedown';\nexports.MOUSE_DOWN = MOUSE_DOWN;\nvar MOUSE_MOVE = 'mousemove';\nexports.MOUSE_MOVE = MOUSE_MOVE;\nvar MOUSE_UP = 'mouseup';\nexports.MOUSE_UP = MOUSE_UP;\nvar MOUSE_CANCEL = 'dragstart';\nexports.MOUSE_CANCEL = MOUSE_CANCEL;\nvar TOUCH_START = 'touchstart';\nexports.TOUCH_START = TOUCH_START;\nvar TOUCH_MOVE = 'touchmove';\nexports.TOUCH_MOVE = TOUCH_MOVE;\nvar TOUCH_END = 'touchend';\nexports.TOUCH_END = TOUCH_END;\nvar TOUCH_CANCEL = 'touchcancel';\nexports.TOUCH_CANCEL = TOUCH_CANCEL;\nvar SCROLL = 'scroll';\nexports.SCROLL = SCROLL;\nvar SELECT = 'select';\nexports.SELECT = SELECT;\nvar SELECTION_CHANGE = 'selectionchange';\nexports.SELECTION_CHANGE = SELECTION_CHANGE;\nfunction isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\nfunction isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\nfunction isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\nfunction isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\nfunction isScroll(eventType) {\n return eventType === SCROLL;\n}\nfunction isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addNode = addNode;\nexports.attachListeners = attachListeners;\nexports.getResponderNode = getResponderNode;\nexports.removeNode = removeNode;\nexports.terminateResponder = terminateResponder;\nvar _createResponderEvent = _interopRequireDefault(require(\"./createResponderEvent\"));\nvar _ResponderEventTypes = require(\"./ResponderEventTypes\");\nvar _utils = require(\"./utils\");\nvar _ResponderTouchHistoryStore = require(\"./ResponderTouchHistoryStore\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * RESPONDER EVENT SYSTEM\n *\n * A single, global \"interaction lock\" on views. For a view to be the \"responder\" means\n * that pointer interactions are exclusive to that view and none other. The \"interaction\n * lock\" can be transferred (only) to ancestors of the current \"responder\" as long as\n * pointers continue to be active.\n *\n * Responder being granted:\n *\n * A view can become the \"responder\" after the following events:\n * * \"pointerdown\" (implemented using \"touchstart\", \"mousedown\")\n * * \"pointermove\" (implemented using \"touchmove\", \"mousemove\")\n * * \"scroll\" (while a pointer is down)\n * * \"selectionchange\" (while a pointer is down)\n *\n * If nothing is already the \"responder\", the event propagates to (capture) and from\n * (bubble) the event target until a view returns `true` for\n * `on*ShouldSetResponder(Capture)`.\n *\n * If something is already the responder, the event propagates to (capture) and from\n * (bubble) the lowest common ancestor of the event target and the current \"responder\".\n * Then negotiation happens between the current \"responder\" and a view that wants to\n * become the \"responder\": see the timing diagram below.\n *\n * (NOTE: Scrolled views either automatically become the \"responder\" or release the\n * \"interaction lock\". A native scroll view that isn't built on top of the responder\n * system must result in the current \"responder\" being notified that it no longer has\n * the \"interaction lock\" - the native system has taken over.\n *\n * Responder being released:\n *\n * As soon as there are no more active pointers that *started* inside descendants\n * of the *current* \"responder\", an `onResponderRelease` event is dispatched to the\n * current \"responder\", and the responder lock is released.\n *\n * Typical sequence of events:\n * * startShouldSetResponder\n * * responderGrant/Reject\n * * responderStart\n * * responderMove\n * * responderEnd\n * * responderRelease\n */\n\n/* Negotiation Performed\n +-----------------------+\n / \\\nProcess low level events to + Current Responder + wantsResponderID\ndetermine who to perform negot-| (if any exists at all) |\niation/transition | Otherwise just pass through|\n-------------------------------+----------------------------+------------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +--------------+ | |\n | onTouchStart | | |\n +------+-------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onStartShouldSetResponder|----->| onResponderStart (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest | |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderStart|\n | | +----------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +-------------+ | |\n | onTouchMove | | |\n +------+------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onMoveShouldSetResponder |----->| onResponderMove (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest| |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderMove |\n | | +----------------+\n | |\n | |\n Some active touch started| |\n inside current responder | +------------------------+ |\n +------------------------->| onResponderEnd | |\n | | +------------------------+ |\n +---+---------+ | |\n | onTouchEnd | | |\n +---+---------+ | |\n | | +------------------------+ |\n +------------------------->| onResponderEnd | |\n No active touches started| +-----------+------------+ |\n inside current responder | | |\n | v |\n | +------------------------+ |\n | | onResponderRelease | |\n | +------------------------+ |\n | |\n + + */\n\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\n\n/* ------------ IMPLEMENTATION ------------ */\n\nvar startRegistration = ['onStartShouldSetResponderCapture', 'onStartShouldSetResponder', {\n bubbles: true\n}];\nvar moveRegistration = ['onMoveShouldSetResponderCapture', 'onMoveShouldSetResponder', {\n bubbles: true\n}];\nvar scrollRegistration = ['onScrollShouldSetResponderCapture', 'onScrollShouldSetResponder', {\n bubbles: false\n}];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\nvar responderTouchHistoryStore = new _ResponderTouchHistoryStore.ResponderTouchHistoryStore();\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n\n/**\n * Process native events\n *\n * A single event listener is used to manage the responder system.\n * All pointers are tracked in the ResponderTouchHistoryStore. Native events\n * are interpreted in terms of the Responder System and checked to see if\n * the responder should be transferred. Each host node that is attached to\n * the Responder System has an ID, which is used to look up its associated\n * callbacks.\n */\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n\n /**\n * Manage emulated events and early bailout.\n * Since PointerEvent is not used yet (lack of support in older Safari), it's\n * necessary to manually manage the mess of browser touch/mouse events.\n * And bailout early for termination events when there is no active responder.\n */\n\n // Flag when browser may produce emulated events\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n }\n // Remove flag when browser will not produce emulated events\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n }\n // Ignore various events in particular circumstances\n if (\n // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents ||\n // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n }\n // Remove flag after emulated events are finished\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n return;\n }\n var isStartEvent = (0, _ResponderEventTypes.isStartish)(eventType) && (0, _utils.isPrimaryPointerDown)(domEvent);\n var isMoveEvent = (0, _ResponderEventTypes.isMoveish)(eventType);\n var isEndEvent = (0, _ResponderEventTypes.isEndish)(eventType);\n var isScrollEvent = (0, _ResponderEventTypes.isScroll)(eventType);\n var isSelectionChangeEvent = (0, _ResponderEventTypes.isSelectionChange)(eventType);\n var responderEvent = (0, _createResponderEvent.default)(domEvent, responderTouchHistoryStore);\n\n /**\n * Record the state of active pointers\n */\n\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n\n /**\n * Responder System logic\n */\n\n var eventPaths = (0, _utils.getResponderPaths)(domEvent);\n var wasNegotiated = false;\n var wantsResponder;\n\n // If an event occured that might change the current responder...\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n // If there is already a responder, prune the event paths to the lowest common ancestor\n // of the existing responder and deepest target of the event.\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = (0, _utils.getLowestCommonAncestor)(currentResponderIdPath, eventIdPath);\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);\n // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n if (wantsResponder != null) {\n // Sets responder if none exists, or negotates with existing responder.\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n }\n\n // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n var _getResponderConfig = getResponderConfig(id),\n onResponderStart = _getResponderConfig.onResponderStart,\n onResponderMove = _getResponderConfig.onResponderMove,\n onResponderEnd = _getResponderConfig.onResponderEnd,\n onResponderRelease = _getResponderConfig.onResponderRelease,\n onResponderTerminate = _getResponderConfig.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Start\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n }\n // Move\n else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = (0, _ResponderEventTypes.isCancelish)(eventType) ||\n // native context menu\n eventType === 'contextmenu' ||\n // window blur\n eventType === 'blur' && eventTarget === window ||\n // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node ||\n // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 ||\n // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node ||\n // native select/selectionchange on node\n isSelectionChangeEvent && (0, _utils.hasValidSelection)(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !(0, _utils.hasTargetTouches)(node, domEvent.touches);\n\n // End\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n }\n // Release\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n }\n // Terminate\n if (isTerminateEvent) {\n var shouldTerminate = true;\n\n // Responders can still avoid termination but only for these events.\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n // Only call this function is it wasn't already called during negotiation.\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n\n/**\n * Walk the event path to/from the target node. At each node, stop and call the\n * relevant \"shouldSet\" functions for the given event type. If any of those functions\n * call \"stopPropagation\" on the event, stop searching for a responder.\n */\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; // for Flow\n\n if (shouldSetCallbacks != null) {\n var idPath = eventPaths.idPath,\n nodePath = eventPaths.nodePath;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var bubbles = shouldSetCallbacks[2].bubbles;\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n if (shouldSetCallback(responderEvent) === true) {\n // Start the path from the potential responder\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id,\n node,\n idPath: prunedIdPath\n };\n }\n }\n };\n\n // capture\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n if (result != null) {\n return result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n\n // bubble\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n if (_result != null) {\n return _result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var _id2 = idPath[0];\n var _node2 = nodePath[0];\n var target = domEvent.target;\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n\n/**\n * Attempt to transfer the responder.\n */\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var _currentResponder2 = currentResponder,\n currentId = _currentResponder2.id,\n currentNode = _currentResponder2.node;\n var id = wantsResponder.id,\n node = wantsResponder.node;\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Set responder\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n }\n // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n var allowTransfer = true;\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n if (allowTransfer) {\n // Terminate existing responder\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n // Grant next responder\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n } else {\n // Reject responder request\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n\n/* ------------ PUBLIC API ------------ */\n\n/**\n * Attach Listeners\n *\n * Use native events as ReactDOM doesn't have a non-plugin API to implement\n * this system.\n */\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [\n// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart',\n// touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel',\n// other\n'contextmenu', 'select', 'selectionchange'];\nfunction attachListeners() {\n if (_canUseDom.default && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n\n/**\n * Register a node with the ResponderSystem.\n */\nfunction addNode(id, node, config) {\n (0, _utils.setResponderId)(node, id);\n responderListenersMap.set(id, config);\n}\n\n/**\n * Unregister a node with the ResponderSystem.\n */\nfunction removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\n\n/**\n * Allow the current responder to be terminated from within components to support\n * more complex requirements, such as use with other React libraries for working\n * with scroll views, input views, etc.\n */\nfunction terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n if (onResponderTerminate != null) {\n var event = (0, _createResponderEvent.default)({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n changeCurrentResponder(emptyResponder);\n }\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\nfunction getResponderNode() {\n return currentResponder.node;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.ResponderTouchHistoryStore = void 0;\nvar _ResponderEventTypes = require(\"./ResponderEventTypes\");\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar MAX_TOUCH_BANK = 20;\nfunction timestampForTouch(touch) {\n // The legacy internal implementation provides \"timeStamp\", which has been\n // renamed to \"timestamp\".\n return touch.timeStamp || touch.timestamp;\n}\n\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n };\n}\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\n touchRecord.startPageX = touch.pageX;\n touchRecord.startPageY = touch.pageY;\n touchRecord.startTimeStamp = timestampForTouch(touch);\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchRecord.previousPageX = touch.pageX;\n touchRecord.previousPageY = touch.pageY;\n touchRecord.previousTimeStamp = timestampForTouch(touch);\n}\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\n if (__DEV__) {\n if (identifier > MAX_TOUCH_BANK) {\n console.error('Touch identifier %s is greater than maximum supported %s which causes ' + 'performance issues backfilling array locations for all of the indices.', identifier, MAX_TOUCH_BANK);\n }\n }\n return identifier;\n}\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchHistory.touchBank[identifier];\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = true;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch move without a touch start.\\n', \"Touch Move: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction recordTouchEnd(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = false;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch end without a touch start.\\n', \"Touch End: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\nfunction printTouchBank(touchHistory) {\n var touchBank = touchHistory.touchBank;\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n return printed;\n}\nclass ResponderTouchHistoryStore {\n constructor() {\n this._touchHistory = {\n touchBank: [],\n //Array\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\n }\n recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\n if ((0, _ResponderEventTypes.isMoveish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));\n } else if ((0, _ResponderEventTypes.isStartish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchStart(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if ((0, _ResponderEventTypes.isEndish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchEnd(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n var touchBank = touchHistory.touchBank;\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n }\n get touchHistory() {\n return this._touchHistory;\n }\n}\nexports.ResponderTouchHistoryStore = ResponderTouchHistoryStore;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = createResponderEvent;\nvar _getBoundingClientRect = _interopRequireDefault(require(\"../../modules/getBoundingClientRect\"));\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar emptyFunction = () => {};\nvar emptyObject = {};\nvar emptyArray = [];\n\n/**\n * Safari produces very large identifiers that would cause the `touchBank` array\n * length to be so large as to crash the browser, if not normalized like this.\n * In the future the `touchBank` should use an object/map instead.\n */\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\nfunction createResponderEvent(domEvent, responderTouchHistoryStore) {\n var rect;\n var propagationWasStopped = false;\n var changedTouches;\n var touches;\n var domEventChangedTouches = domEvent.changedTouches;\n var domEventType = domEvent.type;\n var metaKey = domEvent.metaKey === true;\n var shiftKey = domEvent.shiftKey === true;\n var force = domEventChangedTouches && domEventChangedTouches[0].force || 0;\n var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0);\n var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX;\n var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;\n var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;\n var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;\n var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction;\n var timestamp = domEvent.timeStamp;\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(touch => {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n get locationX() {\n return locationX(touch.clientX);\n },\n get locationY() {\n return locationY(touch.clientY);\n },\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp\n };\n });\n }\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n // `currentTarget` is set before dispatch\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey,\n shiftKey,\n changedTouches,\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp,\n touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault,\n stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: responderTouchHistoryStore.touchHistory\n };\n\n // Using getters and functions serves two purposes:\n // 1) The value of `currentTarget` is not initially available.\n // 2) Measuring the clientRect may cause layout jank and should only be done on-demand.\n function locationX(x) {\n rect = rect || (0, _getBoundingClientRect.default)(responderEvent.currentTarget);\n if (rect) {\n return x - rect.left;\n }\n }\n function locationY(y) {\n rect = rect || (0, _getBoundingClientRect.default)(responderEvent.currentTarget);\n if (rect) {\n return y - rect.top;\n }\n }\n return responderEvent;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useResponderEvents;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar ResponderSystem = _interopRequireWildcard(require(\"./ResponderSystem\"));\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * Hook for integrating the Responder System into React\n *\n * function SomeComponent({ onStartShouldSetResponder }) {\n * const ref = useRef(null);\n * useResponderEvents(ref, { onStartShouldSetResponder });\n * return
\n * }\n */\n\nvar emptyObject = {};\nvar idCounter = 0;\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n return ref.current;\n}\nfunction useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n var id = useStable(() => idCounter++);\n var isAttachedRef = React.useRef(false);\n\n // This is a separate effects so it doesn't run when the config changes.\n // On initial mount, attach global listeners if needed.\n // On unmount, remove node potentially attached to the Responder System.\n React.useEffect(() => {\n ResponderSystem.attachListeners();\n return () => {\n ResponderSystem.removeNode(id);\n };\n }, [id]);\n\n // Register and unregister with the Responder System as necessary\n React.useEffect(() => {\n var _config = config,\n onMoveShouldSetResponder = _config.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture,\n onScrollShouldSetResponder = _config.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = _config.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture;\n var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;\n var node = hostRef.current;\n if (requiresResponderSystem) {\n ResponderSystem.addNode(id, node, config);\n isAttachedRef.current = true;\n } else if (isAttachedRef.current) {\n ResponderSystem.removeNode(id);\n isAttachedRef.current = false;\n }\n }, [config, hostRef, id]);\n React.useDebugValue({\n isResponder: hostRef.current === ResponderSystem.getResponderNode()\n });\n React.useDebugValue(config);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.getLowestCommonAncestor = getLowestCommonAncestor;\nexports.getResponderPaths = getResponderPaths;\nexports.hasTargetTouches = hasTargetTouches;\nexports.hasValidSelection = hasValidSelection;\nexports.isPrimaryPointerDown = isPrimaryPointerDown;\nexports.setResponderId = setResponderId;\nvar _isSelectionValid = _interopRequireDefault(require(\"../../modules/isSelectionValid\"));\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar keyName = '__reactResponderId';\nfunction getEventPath(domEvent) {\n // The 'selectionchange' event always has the 'document' as the target.\n // Use the anchor node as the initial target to reconstruct a path.\n // (We actually only need the first \"responder\" node in practice.)\n if (domEvent.type === 'selectionchange') {\n var target = window.getSelection().anchorNode;\n return composedPathFallback(target);\n } else {\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n }\n}\nfunction composedPathFallback(target) {\n var path = [];\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n return path;\n}\n\n/**\n * Retrieve the responderId from a host node\n */\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n return null;\n}\n\n/**\n * Store the responderId on a host node\n */\nfunction setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\nfunction getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n return {\n idPath,\n nodePath\n };\n}\n\n/**\n * Walk the paths and find the first common ancestor\n */\nfunction getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n if (\n // If either path is empty\n pathALength === 0 || pathBLength === 0 ||\n // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0;\n\n // If A is deeper, skip indices that can't match.\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n }\n\n // If B is deeper, skip indices that can't match\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n }\n\n // Walk in lockstep until a match is found\n var depth = pathALength;\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n return null;\n}\n\n/**\n * Determine whether any of the active touches are within the current responder.\n * This cannot rely on W3C `targetTouches`, as neither IE11 nor Safari implement it.\n */\nfunction hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\nfunction hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return (0, _isSelectionValid.default)();\n }\n return domEvent.type === 'select';\n}\n\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\nfunction isPrimaryPointerDown(domEvent) {\n var altKey = domEvent.altKey,\n button = domEvent.button,\n buttons = domEvent.buttons,\n ctrlKey = domEvent.ctrlKey,\n type = domEvent.type;\n var isTouch = type === 'touchstart' || type === 'touchmove';\n var isPrimaryMouseDown = type === 'mousedown' && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === 'mousemove' && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n return false;\n}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useStable;\nvar React = _interopRequireWildcard(require(\"react\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nfunction useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n }\n // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n return ref.current;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.warnOnce = warnOnce;\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar warnedKeys = {};\n\n/**\n * A simple function that prints a warning message once per session.\n *\n * @param {string} key - The key used to ensure the message is printed once.\n * This should be unique to the callsite.\n * @param {string} message - The message to print\n */\nfunction warnOnce(key, message) {\n if (process.env.NODE_ENV !== 'production') {\n if (warnedKeys[key]) {\n return;\n }\n console.warn(message);\n warnedKeys[key] = true;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar I18nManager = {\n allowRTL() {\n return;\n },\n forceRTL() {\n return;\n },\n getConstants() {\n return {\n isRTL: false\n };\n }\n};\nexport default I18nManager;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\nexport default isWebColor;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport isWebColor from '../../../modules/isWebColor';\nimport processColor from '../../../exports/processColor';\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n if (color == null) return;\n if (typeof color === 'string' && isWebColor(color)) {\n return color;\n }\n var colorInt = processColor(color);\n if (colorInt != null) {\n var r = colorInt >> 16 & 255;\n var g = colorInt >> 8 & 255;\n var b = colorInt & 255;\n var a = (colorInt >> 24 & 255) / 255;\n var alpha = (a * opacity).toFixed(2);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + alpha + \")\";\n }\n};\nexport default normalizeColor;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport unitlessNumbers from './unitlessNumbers';\nimport normalizeColor from './normalizeColor';\nvar colorProps = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true\n};\nexport default function normalizeValueWithProperty(value, property) {\n var returnValue = value;\n if ((property == null || !unitlessNumbers[property]) && typeof value === 'number') {\n returnValue = value + \"px\";\n } else if (property != null && colorProps[property]) {\n returnValue = normalizeColor(value);\n }\n return returnValue;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport canUseDOM from '../../../modules/canUseDom';\n\n// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\nexport default function createCSSStyleSheet(id, rootNode, textContent) {\n if (canUseDOM) {\n var root = rootNode != null ? rootNode : document;\n var element = root.getElementById(id);\n if (element == null) {\n element = document.createElement('style');\n element.setAttribute('id', id);\n if (typeof textContent === 'string') {\n element.appendChild(document.createTextNode(textContent));\n }\n if (root instanceof ShadowRoot) {\n root.insertBefore(element, root.firstChild);\n } else {\n var head = root.head;\n if (head) {\n head.insertBefore(element, head.firstChild);\n }\n }\n }\n // $FlowFixMe: HTMLElement is incorrectly typed\n return element.sheet;\n } else {\n return null;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar slice = Array.prototype.slice;\n\n/**\n * Order-based insertion of CSS.\n *\n * Each rule is associated with a numerically defined group.\n * Groups are ordered within the style sheet according to their number, with the\n * lowest first.\n *\n * Groups are implemented using marker rules. The selector of the first rule of\n * each group is used only to encode the group number for hydration. An\n * alternative implementation could rely on CSSMediaRule, allowing groups to be\n * treated as a sub-sheet, but the Edge implementation of CSSMediaRule is\n * broken.\n * https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule\n * https://gist.github.com/necolas/aa0c37846ad6bd3b05b727b959e82674\n */\nexport default function createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach((cssRule, i) => {\n var cssText = cssRule.cssText;\n // Create record of existing selectors and rules\n if (cssText.indexOf('stylesheet-group') > -1) {\n group = decodeGroupRule(cssRule);\n groups[group] = {\n start: i,\n rules: [cssText]\n };\n } else {\n var selectorText = getSelectorText(cssText);\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\n }\n });\n }\n function sheetInsert(sheet, group, text) {\n var orderedGroups = getOrderedGroups(groups);\n var groupIndex = orderedGroups.indexOf(group);\n var nextGroupIndex = groupIndex + 1;\n var nextGroup = orderedGroups[nextGroupIndex];\n // Insert rule before the next group, or at the end of the stylesheet\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n }\n // Increment the starting index of all subsequent groups\n for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) {\n var groupNumber = orderedGroups[i];\n var previousStart = groups[groupNumber].start || 0;\n groups[groupNumber].start = previousStart + 1;\n }\n }\n return isInserted;\n }\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent() {\n return getOrderedGroups(groups).map(group => {\n var rules = groups[group].rules;\n // Sorting provides deterministic order of styles in group for\n // build-time extraction of the style sheet.\n var marker = rules.shift();\n rules.sort();\n rules.unshift(marker);\n return rules.join('\\n');\n }).join('\\n');\n },\n /**\n * Insert a rule into the style sheet\n */\n insert(cssText, groupValue) {\n var group = Number(groupValue);\n\n // Create a new group.\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group);\n // Create the internal record.\n groups[group] = {\n start: null,\n rules: [markerRule]\n };\n // Update CSSOM.\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n }\n\n // selectorText is more reliable than cssText for insertion checks. The\n // browser excludes vendor-prefixed properties and rewrites certain values\n // making cssText more likely to be different from what was inserted.\n var selectorText = getSelectorText(cssText);\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n // Update CSSOM.\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n if (!isInserted) {\n // Revert internal record change if a rule was rejected (e.g.,\n // unrecognized pseudo-selector)\n groups[group].rules.pop();\n }\n }\n }\n }\n };\n return OrderedCSSStyleSheet;\n}\n\n/**\n * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\nvar groupPattern = /[\"']/g;\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(groupPattern)[1]);\n}\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1);\n}\nvar selectorPattern = /\\s*([,])\\s*/g;\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(selectorPattern, '$1') : null;\n}\nfunction insertRuleAt(root, cssText, position) {\n try {\n // $FlowFixMe: Flow is missing CSSOM types needed to type 'root'.\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n // JSDOM doesn't support `CSSSMediaRule#insertRule`.\n // Also ignore errors that occur from attempting to insert vendor-prefixed selectors.\n return false;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport canUseDOM from '../../../modules/canUseDom';\nimport createCSSStyleSheet from './createCSSStyleSheet';\nimport createOrderedCSSStyleSheet from './createOrderedCSSStyleSheet';\nvar defaultId = 'react-native-stylesheet';\nvar roots = new WeakMap();\nvar sheets = [];\nvar initialRules = [\n// minimal top-level reset\n'html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}',\n// minimal form pseudo-element reset\n'button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}', 'input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}'];\nexport function createSheet(root, id) {\n if (id === void 0) {\n id = defaultId;\n }\n var sheet;\n if (canUseDOM) {\n var rootNode = root != null ? root.getRootNode() : document;\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n var index = roots.get(rootNode);\n if (index == null) {\n var initialSheet = sheets[0];\n // If we're creating a new sheet, populate it with existing styles\n var textContent = initialSheet != null ? initialSheet.getTextContent() : '';\n // Cast rootNode to 'any' because Flow types for getRootNode are wrong\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id, rootNode, textContent));\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n sheet = sheets[index];\n }\n }\n } else {\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n sheets.push(sheet);\n } else {\n sheet = sheets[0];\n }\n }\n return {\n getTextContent() {\n return sheet.getTextContent();\n },\n id,\n insert(cssText, groupValue) {\n sheets.forEach(s => {\n s.insert(cssText, groupValue);\n });\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport canUseDOM from '../../../modules/canUseDom';\n/**\n * The browser implements the CSS cascade, where the order of properties is a\n * factor in determining which styles to paint. React Native is different. It\n * gives giving precedence to the more specific style property. For example,\n * the value of `paddingTop` takes precedence over that of `padding`.\n *\n * This module creates mutally exclusive style declarations by expanding all of\n * React Native's supported shortform properties (e.g. `padding`) to their\n * longfrom equivalents.\n */\n\nvar emptyObject = {};\nvar supportsCSS3TextDecoration = !canUseDOM || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));\nvar MONOSPACE_FONT_STACK = 'monospace,monospace';\nvar SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';\nvar STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderInlineColor: ['borderRightColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderInlineStyle: ['borderRightStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderInlineWidth: ['borderRightWidth', 'borderLeftWidth'],\n insetBlock: ['top', 'bottom'],\n insetInline: ['left', 'right'],\n marginBlock: ['marginTop', 'marginBottom'],\n marginInline: ['marginRight', 'marginLeft'],\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingInline: ['paddingRight', 'paddingLeft'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndColor: ['borderBottomColor'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderBlockEndWidth: ['borderBottomWidth'],\n //borderInlineStartColor: ['borderLeftColor'],\n //borderInlineStartStyle: ['borderLeftStyle'],\n //borderInlineStartWidth: ['borderLeftWidth'],\n //borderInlineEndColor: ['borderRightColor'],\n //borderInlineEndStyle: ['borderRightStyle'],\n //borderInlineEndWidth: ['borderRightWidth'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius'],\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n insetBlockEnd: ['bottom'],\n insetBlockStart: ['top'],\n //insetInlineEnd: ['right'],\n //insetInlineStart: ['left'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n //marginInlineStart: ['marginLeft'],\n //marginInlineEnd: ['marginRight'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom']\n //paddingInlineStart: ['marginLeft'],\n //paddingInlineEnd: ['marginRight'],\n};\n\n/**\n * Reducer\n */\n\nvar createReactDOMStyle = (style, isInline) => {\n if (!style) {\n return emptyObject;\n }\n var resolvedStyle = {};\n var _loop = function _loop() {\n var value = style[prop];\n if (\n // Ignore everything with a null value\n value == null) {\n return \"continue\";\n }\n if (prop === 'backgroundClip') {\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n } else if (prop === 'flex') {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n } else if (prop === 'font') {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n } else if (prop === 'fontFamily') {\n if (value.indexOf('System') > -1) {\n var stack = value.split(/,\\s*/);\n stack[stack.indexOf('System')] = SYSTEM_FONT_STACK;\n resolvedStyle[prop] = stack.join(',');\n } else if (value === 'monospace') {\n resolvedStyle[prop] = MONOSPACE_FONT_STACK;\n } else {\n resolvedStyle[prop] = value;\n }\n } else if (prop === 'textDecorationLine') {\n // use 'text-decoration' for browsers that only support CSS2\n // text-decoration (e.g., IE, Edge)\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n } else if (prop === 'writingDirection') {\n resolvedStyle.direction = value;\n } else {\n var _value = normalizeValueWithProperty(style[prop], prop);\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n if (isInline && prop === 'inset') {\n if (style.insetInline == null) {\n resolvedStyle.left = _value;\n resolvedStyle.right = _value;\n }\n if (style.insetBlock == null) {\n resolvedStyle.top = _value;\n resolvedStyle.bottom = _value;\n }\n } else if (isInline && prop === 'margin') {\n if (style.marginInline == null) {\n resolvedStyle.marginLeft = _value;\n resolvedStyle.marginRight = _value;\n }\n if (style.marginBlock == null) {\n resolvedStyle.marginTop = _value;\n resolvedStyle.marginBottom = _value;\n }\n } else if (isInline && prop === 'padding') {\n if (style.paddingInline == null) {\n resolvedStyle.paddingLeft = _value;\n resolvedStyle.paddingRight = _value;\n }\n if (style.paddingBlock == null) {\n resolvedStyle.paddingTop = _value;\n resolvedStyle.paddingBottom = _value;\n }\n } else if (longFormProperties) {\n longFormProperties.forEach((longForm, i) => {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (style[longForm] == null) {\n resolvedStyle[longForm] = _value;\n }\n });\n } else {\n resolvedStyle[prop] = _value;\n }\n }\n };\n for (var prop in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return resolvedStyle;\n};\nexport default createReactDOMStyle;","/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n *\n * \n */\n\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\nvar hash = str => murmurhash2_32_gc(str, 1).toString(36);\nexport default hash;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateStyleName(name) {\n if (name in cache) {\n return cache[name];\n }\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\nexport default hyphenateStyleName;","import backgroundClip from 'inline-style-prefixer/lib/plugins/backgroundClip';\nimport crossFade from 'inline-style-prefixer/lib/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/lib/plugins/cursor';\nimport filter from 'inline-style-prefixer/lib/plugins/filter';\nimport imageSet from 'inline-style-prefixer/lib/plugins/imageSet';\nimport logical from 'inline-style-prefixer/lib/plugins/logical';\nimport position from 'inline-style-prefixer/lib/plugins/position';\nimport sizing from 'inline-style-prefixer/lib/plugins/sizing';\nimport transition from 'inline-style-prefixer/lib/plugins/transition';\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nexport default {\n plugins: [backgroundClip, crossFade, cursor, filter, imageSet, logical, position, sizing, transition],\n prefixMap: {\n appearance: wmms,\n userSelect: wm,\n textEmphasisPosition: wms,\n textEmphasis: wms,\n textEmphasisStyle: wms,\n textEmphasisColor: wms,\n boxDecorationBreak: wms,\n clipPath: w,\n maskImage: wms,\n maskMode: wms,\n maskRepeat: wms,\n maskPosition: wms,\n maskClip: wms,\n maskOrigin: wms,\n maskSize: wms,\n maskComposite: wms,\n mask: wms,\n maskBorderSource: wms,\n maskBorderMode: wms,\n maskBorderSlice: wms,\n maskBorderWidth: wms,\n maskBorderOutset: wms,\n maskBorderRepeat: wms,\n maskBorder: wms,\n maskType: wms,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n breakAfter: w,\n breakBefore: w,\n breakInside: w,\n columnCount: w,\n columnFill: w,\n columnGap: w,\n columnRule: w,\n columnRuleColor: w,\n columnRuleStyle: w,\n columnRuleWidth: w,\n columns: w,\n columnSpan: w,\n columnWidth: w,\n backdropFilter: w,\n hyphens: w,\n flowInto: w,\n flowFrom: w,\n regionFragment: w,\n textOrientation: w,\n tabSize: m,\n fontKerning: w,\n textSizeAdjust: w\n }\n};","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport createPrefixer from 'inline-style-prefixer/lib/createPrefixer';\nimport staticData from './static';\nvar prefixAll = createPrefixer(staticData);\nexport default prefixAll;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationKeyframes\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport createReactDOMStyle from './createReactDOMStyle';\nimport hash from './hash';\nimport hyphenateStyleName from './hyphenateStyleName';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport prefixStyles from '../../../modules/prefixStyles';\nvar cache = new Map();\nvar emptyObject = {};\nvar classicGroup = 1;\nvar atomicGroup = 3;\nvar customGroup = {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n inset: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n insetBlock: 2.1,\n insetInline: 2.1,\n marginInline: 2.1,\n marginBlock: 2.1,\n paddingInline: 2.1,\n paddingBlock: 2.1,\n borderBlockStartColor: 2.2,\n borderBlockStartStyle: 2.2,\n borderBlockStartWidth: 2.2,\n borderBlockEndColor: 2.2,\n borderBlockEndStyle: 2.2,\n borderBlockEndWidth: 2.2,\n borderInlineStartColor: 2.2,\n borderInlineStartStyle: 2.2,\n borderInlineStartWidth: 2.2,\n borderInlineEndColor: 2.2,\n borderInlineEndStyle: 2.2,\n borderInlineEndWidth: 2.2,\n borderEndStartRadius: 2.2,\n borderEndEndRadius: 2.2,\n borderStartStartRadius: 2.2,\n borderStartEndRadius: 2.2,\n insetBlockEnd: 2.2,\n insetBlockStart: 2.2,\n insetInlineEnd: 2.2,\n insetInlineStart: 2.2,\n marginBlockStart: 2.2,\n marginBlockEnd: 2.2,\n marginInlineStart: 2.2,\n marginInlineEnd: 2.2,\n paddingBlockStart: 2.2,\n paddingBlockEnd: 2.2,\n paddingInlineStart: 2.2,\n paddingInlineEnd: 2.2\n};\nvar borderTopLeftRadius = 'borderTopLeftRadius';\nvar borderTopRightRadius = 'borderTopRightRadius';\nvar borderBottomLeftRadius = 'borderBottomLeftRadius';\nvar borderBottomRightRadius = 'borderBottomRightRadius';\nvar borderLeftColor = 'borderLeftColor';\nvar borderLeftStyle = 'borderLeftStyle';\nvar borderLeftWidth = 'borderLeftWidth';\nvar borderRightColor = 'borderRightColor';\nvar borderRightStyle = 'borderRightStyle';\nvar borderRightWidth = 'borderRightWidth';\nvar right = 'right';\nvar marginLeft = 'marginLeft';\nvar marginRight = 'marginRight';\nvar paddingLeft = 'paddingLeft';\nvar paddingRight = 'paddingRight';\nvar left = 'left';\n\n// Map of LTR property names to their BiDi equivalent.\nvar PROPERTIES_FLIP = {\n [borderTopLeftRadius]: borderTopRightRadius,\n [borderTopRightRadius]: borderTopLeftRadius,\n [borderBottomLeftRadius]: borderBottomRightRadius,\n [borderBottomRightRadius]: borderBottomLeftRadius,\n [borderLeftColor]: borderRightColor,\n [borderLeftStyle]: borderRightStyle,\n [borderLeftWidth]: borderRightWidth,\n [borderRightColor]: borderLeftColor,\n [borderRightStyle]: borderLeftStyle,\n [borderRightWidth]: borderLeftWidth,\n [left]: right,\n [marginLeft]: marginRight,\n [marginRight]: marginLeft,\n [paddingLeft]: paddingRight,\n [paddingRight]: paddingLeft,\n [right]: left\n};\n\n// Map of I18N property names to their LTR equivalent.\nvar PROPERTIES_I18N = {\n borderStartStartRadius: borderTopLeftRadius,\n borderStartEndRadius: borderTopRightRadius,\n borderEndStartRadius: borderBottomLeftRadius,\n borderEndEndRadius: borderBottomRightRadius,\n borderInlineStartColor: borderLeftColor,\n borderInlineStartStyle: borderLeftStyle,\n borderInlineStartWidth: borderLeftWidth,\n borderInlineEndColor: borderRightColor,\n borderInlineEndStyle: borderRightStyle,\n borderInlineEndWidth: borderRightWidth,\n insetInlineEnd: right,\n insetInlineStart: left,\n marginInlineStart: marginLeft,\n marginInlineEnd: marginRight,\n paddingInlineStart: paddingLeft,\n paddingInlineEnd: paddingRight\n};\nvar PROPERTIES_VALUE = ['clear', 'float', 'textAlign'];\nexport function atomic(style) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n function atomicCompile(srcProp, prop, value) {\n var valueString = stringifyValueWithProperty(value, prop);\n var cacheKey = prop + valueString;\n var cachedResult = cache.get(cacheKey);\n var identifier;\n if (cachedResult != null) {\n identifier = cachedResult[0];\n compiledRules.push(cachedResult[1]);\n } else {\n var v = srcProp !== prop ? cacheKey : valueString;\n identifier = createIdentifier('r', srcProp, v);\n var order = customGroup[srcProp] || atomicGroup;\n var rules = createAtomicRules(identifier, prop, value);\n var orderedRules = [rules, order];\n compiledRules.push(orderedRules);\n cache.set(cacheKey, [identifier, orderedRules]);\n }\n return identifier;\n }\n Object.keys(style).sort().forEach(srcProp => {\n var value = style[srcProp];\n if (value != null) {\n var localizeableValue;\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(srcProp) > -1) {\n var _left = atomicCompile(srcProp, srcProp, 'left');\n var _right = atomicCompile(srcProp, srcProp, 'right');\n if (value === 'start') {\n localizeableValue = [_left, _right];\n } else if (value === 'end') {\n localizeableValue = [_right, _left];\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[srcProp];\n if (propPolyfill != null) {\n var ltr = atomicCompile(srcProp, propPolyfill, value);\n var rtl = atomicCompile(srcProp, PROPERTIES_FLIP[propPolyfill], value);\n localizeableValue = [ltr, rtl];\n }\n // BiDi flip transitionProperty value\n if (srcProp === 'transitionProperty') {\n var values = Array.isArray(value) ? value : [value];\n var polyfillIndices = [];\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (typeof val === 'string' && PROPERTIES_I18N[val] != null) {\n polyfillIndices.push(i);\n }\n }\n if (polyfillIndices.length > 0) {\n var ltrPolyfillValues = [...values];\n var rtlPolyfillValues = [...values];\n polyfillIndices.forEach(i => {\n var ltrVal = ltrPolyfillValues[i];\n if (typeof ltrVal === 'string') {\n var ltrPolyfill = PROPERTIES_I18N[ltrVal];\n var rtlPolyfill = PROPERTIES_FLIP[ltrPolyfill];\n ltrPolyfillValues[i] = ltrPolyfill;\n rtlPolyfillValues[i] = rtlPolyfill;\n var _ltr = atomicCompile(srcProp, srcProp, ltrPolyfillValues);\n var _rtl = atomicCompile(srcProp, srcProp, rtlPolyfillValues);\n localizeableValue = [_ltr, _rtl];\n }\n });\n }\n }\n if (localizeableValue == null) {\n localizeableValue = atomicCompile(srcProp, srcProp, value);\n } else {\n compiledStyle['$$css$localize'] = true;\n }\n compiledStyle[srcProp] = localizeableValue;\n }\n });\n return [compiledStyle, compiledRules];\n}\n\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n var animationKeyframes = style.animationKeyframes,\n rest = _objectWithoutPropertiesLoose(style, _excluded);\n var identifier = createIdentifier('css', name, JSON.stringify(style));\n var selector = \".\" + identifier;\n var animationName;\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu[0],\n keyframesRules = _processKeyframesValu[1];\n animationName = animationNames.join(',');\n compiledRules.push(...keyframesRules);\n }\n var block = createDeclarationBlock(_objectSpread(_objectSpread({}, rest), {}, {\n animationName\n }));\n compiledRules.push(\"\" + selector + block);\n compiledStyle[identifier] = identifier;\n return [compiledStyle, [[compiledRules, classicGroup]]];\n}\n\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function inline(originalStyle, isRTL) {\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n var _loop = function _loop() {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n return \"continue\";\n }\n\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(originalProp) > -1) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[originalProp];\n if (propPolyfill != null) {\n prop = isRTL ? PROPERTIES_FLIP[propPolyfill] : propPolyfill;\n }\n // BiDi flip transitionProperty value\n if (originalProp === 'transitionProperty') {\n // $FlowFixMe\n var originalValues = Array.isArray(originalValue) ? originalValue : [originalValue];\n originalValues.forEach((val, i) => {\n if (typeof val === 'string') {\n var valuePolyfill = PROPERTIES_I18N[val];\n if (valuePolyfill != null) {\n originalValues[i] = isRTL ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill;\n value = originalValues.join(' ');\n }\n }\n });\n }\n\n // Create finalized style\n if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n if (prop === originalProp) {\n frozenProps[prop] = true;\n }\n\n // if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n // frozenProps[prop] = true;\n //}\n };\n for (var originalProp in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return createReactDOMStyle(nextStyle, true);\n}\n\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\nexport function stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = normalizeValueWithProperty(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n\n/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier;\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2[0],\n keyframesRules = _processKeyframesValu2[1];\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push(\"\" + selector + block, ...keyframesRules);\n break;\n }\n\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\n rules.push(selector + \"::-webkit-input-placeholder\" + _block, selector + \"::-moz-placeholder\" + _block, selector + \":-ms-input-placeholder\" + _block, selector + \"::placeholder\" + _block);\n break;\n }\n\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n case 'pointerEvents':\n {\n var finalValue = value;\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n if (value === 'box-only') {\n var _block2 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n rules.push(selector + \">*\" + _block2);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n if (value === 'box-none') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n rules.push(selector + \">*\" + _block3);\n }\n }\n var _block4 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n rules.push(\"\" + selector + _block4);\n break;\n }\n\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n rules.push(\"\" + selector + _block5);\n break;\n }\n default:\n {\n var _block6 = createDeclarationBlock({\n [property]: value\n });\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n return rules;\n}\n\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\nfunction createDeclarationBlock(style) {\n var domStyle = prefixStyles(createReactDOMStyle(style));\n var declarationsString = Object.keys(domStyle).map(property => {\n var value = domStyle[property];\n var prop = hyphenateStyleName(property);\n // The prefixer may return an array of values:\n // { display: [ '-webkit-flex', 'flex' ] }\n // to represent \"fallback\" declarations\n // { display: -webkit-flex; display: flex; }\n if (Array.isArray(value)) {\n return value.map(v => prop + \":\" + v).join(';');\n } else {\n return prop + \":\" + value;\n }\n })\n // Once properties are hyphenated, this will put the vendor\n // prefixed and short-form properties first in the list.\n .sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n\n/**\n * An identifier is associated with a unique set of styles.\n */\nfunction createIdentifier(prefix, name, key) {\n var hashedString = hash(name + key);\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n\n/**\n * Create individual CSS keyframes rules.\n */\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', JSON.stringify(keyframes));\n var steps = '{' + Object.keys(keyframes).map(stepName => {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(prefix => {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return [identifier, rules];\n}\n\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(keyframes => {\n if (typeof keyframes === 'string') {\n // Support external animation libraries (identifiers only)\n animationNames.push(keyframes);\n } else {\n // Create rules for each of the keyframes\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes[0],\n keyframesRules = _createKeyframes[1];\n animationNames.push(identifier);\n rules.push(...keyframesRules);\n }\n });\n return [animationNames, rules];\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"writingDirection\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { atomic, classic, inline } from './compiler';\nimport { createSheet } from './dom';\nimport { localizeStyle } from 'styleq/transform-localize-style';\nimport { preprocess } from './preprocess';\nimport { styleq } from 'styleq';\nimport { validate } from './validate';\nimport canUseDOM from '../../modules/canUseDom';\nvar staticStyleMap = new WeakMap();\nvar sheet = createSheet();\nvar defaultPreprocessOptions = {\n shadow: true,\n textShadow: true\n};\nfunction customStyleq(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n writingDirection = _options.writingDirection,\n preprocessOptions = _objectWithoutPropertiesLoose(_options, _excluded);\n var isRTL = writingDirection === 'rtl';\n return styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n if (compiledStyle != null) {\n return localizeStyle(compiledStyle, isRTL);\n }\n return preprocess(style, _objectSpread(_objectSpread({}, defaultPreprocessOptions), preprocessOptions));\n }\n })(styles);\n}\nfunction insertRules(compiledOrderedRules) {\n compiledOrderedRules.forEach(_ref => {\n var rules = _ref[0],\n order = _ref[1];\n if (sheet != null) {\n rules.forEach(rule => {\n sheet.insert(rule, order);\n });\n }\n });\n}\nfunction compileAndInsertAtomic(style) {\n var _atomic = atomic(preprocess(style, defaultPreprocessOptions)),\n compiledStyle = _atomic[0],\n compiledOrderedRules = _atomic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\nfunction compileAndInsertReset(style, key) {\n var _classic = classic(style, key),\n compiledStyle = _classic[0],\n compiledOrderedRules = _classic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n\n/* ----- API ----- */\n\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = create({\n x: _objectSpread({}, absoluteFillObject)\n}).x;\n\n/**\n * create\n */\nfunction create(styles) {\n Object.keys(styles).forEach(key => {\n var styleObj = styles[key];\n // Only compile at runtime if the style is not already compiled\n if (styleObj != null && styleObj.$$css !== true) {\n var compiledStyles;\n if (key.indexOf('$raw') > -1) {\n compiledStyles = compileAndInsertReset(styleObj, key.split('$raw')[0]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n validate(styleObj);\n styles[key] = Object.freeze(styleObj);\n }\n compiledStyles = compileAndInsertAtomic(styleObj);\n }\n staticStyleMap.set(styleObj, compiledStyles);\n }\n });\n return styles;\n}\n\n/**\n * compose\n */\nfunction compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n if (len > 2) {\n var readableStyles = [...arguments].map(a => flatten(a));\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n console.warn('StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].');\n }\n return [style1, style2];\n}\n\n/**\n * flatten\n */\nfunction flatten() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n var flatArray = styles.flat(Infinity);\n var result = {};\n for (var i = 0; i < flatArray.length; i++) {\n var style = flatArray[i];\n if (style != null && typeof style === 'object') {\n // $FlowFixMe\n Object.assign(result, style);\n }\n }\n return result;\n}\n\n/**\n * getSheet\n */\nfunction getSheet() {\n return {\n id: sheet.id,\n textContent: sheet.getTextContent()\n };\n}\n\n/**\n * resolve\n */\n\nfunction StyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var isRTL = options.writingDirection === 'rtl';\n var styleProps = customStyleq(styles, options);\n if (Array.isArray(styleProps) && styleProps[1] != null) {\n styleProps[1] = inline(styleProps[1], isRTL);\n }\n return styleProps;\n}\nStyleSheet.absoluteFill = absoluteFill;\nStyleSheet.absoluteFillObject = absoluteFillObject;\nStyleSheet.create = create;\nStyleSheet.compose = compose;\nStyleSheet.flatten = flatten;\nStyleSheet.getSheet = getSheet;\n// `hairlineWidth` is not implemented using screen density as browsers may\n// round sub-pixel values down to `0`, causing the line not to be rendered.\nStyleSheet.hairlineWidth = 1;\nif (canUseDOM && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\nvar stylesheet = StyleSheet;\nexport default stylesheet;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport normalizeColor from './compiler/normalizeColor';\nimport normalizeValueWithProperty from './compiler/normalizeValueWithProperty';\nimport { warnOnce } from '../../modules/warnOnce';\nvar emptyObject = {};\n\n/**\n * Shadows\n */\n\nvar defaultOffset = {\n height: 0,\n width: 0\n};\nexport var createBoxShadowValue = style => {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(shadowRadius || 0);\n var color = normalizeColor(shadowColor || 'black', shadowOpacity);\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\nexport var createTextShadowValue = style => {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n var _ref2 = textShadowOffset || defaultOffset,\n height = _ref2.height,\n width = _ref2.width;\n var radius = textShadowRadius || 0;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(radius);\n var color = normalizeValueWithProperty(textShadowColor, 'textShadowColor');\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\nvar mapTransform = transform => {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n if (type === 'matrix' || type === 'matrix3d') {\n return type + \"(\" + value.join(',') + \")\";\n } else {\n var normalizedValue = normalizeValueWithProperty(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\nexport var createTransformValue = value => {\n return value.map(mapTransform).join(' ');\n};\nvar PROPERTIES_STANDARD = {\n borderBottomEndRadius: 'borderEndEndRadius',\n borderBottomStartRadius: 'borderEndStartRadius',\n borderTopEndRadius: 'borderStartEndRadius',\n borderTopStartRadius: 'borderStartStartRadius',\n borderEndColor: 'borderInlineEndColor',\n borderEndStyle: 'borderInlineEndStyle',\n borderEndWidth: 'borderInlineEndWidth',\n borderStartColor: 'borderInlineStartColor',\n borderStartStyle: 'borderInlineStartStyle',\n borderStartWidth: 'borderInlineStartWidth',\n end: 'insetInlineEnd',\n marginEnd: 'marginInlineEnd',\n marginHorizontal: 'marginInline',\n marginStart: 'marginInlineStart',\n marginVertical: 'marginBlock',\n paddingEnd: 'paddingInlineEnd',\n paddingHorizontal: 'paddingInline',\n paddingStart: 'paddingInlineStart',\n paddingVertical: 'paddingBlock',\n start: 'insetInlineStart'\n};\nvar ignoredProps = {\n elevation: true,\n overlayColor: true,\n resizeMode: true,\n tintColor: true\n};\n\n/**\n * Preprocess styles\n */\nexport var preprocess = function preprocess(originalStyle, options) {\n if (options === void 0) {\n options = {};\n }\n var style = originalStyle || emptyObject;\n var nextStyle = {};\n\n // Convert shadow styles\n if (options.shadow === true, style.shadowColor != null || style.shadowOffset != null || style.shadowOpacity != null || style.shadowRadius != null) {\n warnOnce('shadowStyles', \"\\\"shadow*\\\" style props are deprecated. Use \\\"boxShadow\\\".\");\n var boxShadowValue = createBoxShadowValue(style);\n if (boxShadowValue != null && nextStyle.boxShadow == null) {\n var boxShadow = style.boxShadow;\n var value = boxShadow ? boxShadow + \", \" + boxShadowValue : boxShadowValue;\n nextStyle.boxShadow = value;\n }\n }\n\n // Convert text shadow styles\n if (options.textShadow === true, style.textShadowColor != null || style.textShadowOffset != null || style.textShadowRadius != null) {\n warnOnce('textShadowStyles', \"\\\"textShadow*\\\" style props are deprecated. Use \\\"textShadow\\\".\");\n var textShadowValue = createTextShadowValue(style);\n if (textShadowValue != null && nextStyle.textShadow == null) {\n var textShadow = style.textShadow;\n var _value = textShadow ? textShadow + \", \" + textShadowValue : textShadowValue;\n nextStyle.textShadow = _value;\n }\n }\n for (var originalProp in style) {\n if (\n // Ignore some React Native styles\n ignoredProps[originalProp] != null || originalProp === 'shadowColor' || originalProp === 'shadowOffset' || originalProp === 'shadowOpacity' || originalProp === 'shadowRadius' || originalProp === 'textShadowColor' || originalProp === 'textShadowOffset' || originalProp === 'textShadowRadius') {\n continue;\n }\n var originalValue = style[originalProp];\n var prop = PROPERTIES_STANDARD[originalProp] || originalProp;\n var _value2 = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || prop !== originalProp && style[prop] != null) {\n continue;\n }\n if (prop === 'aspectRatio' && typeof _value2 === 'number') {\n nextStyle[prop] = _value2.toString();\n } else if (prop === 'fontVariant') {\n if (Array.isArray(_value2) && _value2.length > 0) {\n warnOnce('fontVariant', '\"fontVariant\" style array value is deprecated. Use space-separated values.');\n _value2 = _value2.join(' ');\n }\n nextStyle[prop] = _value2;\n } else if (prop === 'textAlignVertical') {\n warnOnce('textAlignVertical', '\"textAlignVertical\" style is deprecated. Use \"verticalAlign\".');\n if (style.verticalAlign == null) {\n nextStyle.verticalAlign = _value2 === 'center' ? 'middle' : _value2;\n }\n } else if (prop === 'transform') {\n if (Array.isArray(_value2)) {\n _value2 = createTransformValue(_value2);\n }\n nextStyle.transform = _value2;\n } else {\n nextStyle[prop] = _value2;\n }\n }\n\n // $FlowIgnore\n return nextStyle;\n};\nexport default preprocess;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { createContext } from 'react';\nvar TextAncestorContext = /*#__PURE__*/createContext(false);\nexport default TextAncestorContext;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"numberOfLines\", \"onClick\", \"onLayout\", \"onPress\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\", \"selectable\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from './TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\nimport { warnOnce } from '../../modules/warnOnce';\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n pointerEvents: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\nvar Text = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n numberOfLines = props.numberOfLines,\n onClick = props.onClick,\n onLayout = props.onLayout,\n onPress = props.onPress,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n selectable = props.selectable,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n if (selectable != null) {\n warnOnce('selectable', 'selectable prop is deprecated. Use styles.userSelect.');\n }\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(e => {\n if (onClick != null) {\n onClick(e);\n } else if (onPress != null) {\n e.stopPropagation();\n onPress(e);\n }\n }, [onClick, onPress]);\n var component = hasTextAncestor ? 'span' : 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n // 'auto' by default allows browsers to infer writing direction (root elements only)\n if (!hasTextAncestor) {\n supportedProps.dir = componentDirection != null ? componentDirection : 'auto';\n }\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n supportedProps.style = [numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, hasTextAncestor === true ? styles.textHasAncestor$raw : styles.text$raw, numberOfLines === 1 && styles.textOneLine, numberOfLines != null && numberOfLines > 1 && styles.textMultiLine, props.style, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = createElement(component, supportedProps, {\n writingDirection\n });\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(TextAncestorContext.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar textStyle = {\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n textAlign: 'start',\n textDecoration: 'none',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n};\nvar styles = StyleSheet.create({\n text$raw: textStyle,\n textHasAncestor$raw: _objectSpread(_objectSpread({}, textStyle), {}, {\n color: 'inherit',\n font: 'inherit',\n textAlign: 'inherit',\n whiteSpace: 'inherit'\n }),\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n },\n // See #13\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n },\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nexport default Text;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.0.0\n * \n */\n\nimport isUnitlessNumber from '../unitlessNumbers';\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return ('' + value).trim();\n}\nexport default dangerousStyleValue;","/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.3.0\n * \n */\n\nimport dangerousStyleValue from './dangerousStyleValue';\n\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\nexport default setValueForStyles;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport setValueForStyles from '../../modules/setValueForStyles';\nvar getRect = node => {\n var height = node.offsetHeight;\n var width = node.offsetWidth;\n var left = node.offsetLeft;\n var top = node.offsetTop;\n node = node.offsetParent;\n while (node && node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n left += node.offsetLeft + node.clientLeft - node.scrollLeft;\n top += node.offsetTop + node.clientTop - node.scrollTop;\n node = node.offsetParent;\n }\n top -= window.scrollY;\n left -= window.scrollX;\n return {\n width,\n height,\n top,\n left\n };\n};\nvar measureLayout = (node, relativeToNativeNode, callback) => {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n if (node && relativeNode) {\n setTimeout(() => {\n if (node.isConnected && relativeNode.isConnected) {\n var relativeRect = getRect(relativeNode);\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }\n }, 0);\n }\n};\nvar elementsToIgnore = {\n A: true,\n BODY: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n focus(node) {\n try {\n var name = node.nodeName;\n // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus. We don't want to set the tabindex value on\n // elements that should not prevent keyboard focus.\n if (node.getAttribute('tabIndex') == null && node.isContentEditable !== true && elementsToIgnore[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n node.focus();\n } catch (err) {}\n },\n measure(node, callback) {\n measureLayout(node, null, callback);\n },\n measureInWindow(node, callback) {\n if (node) {\n setTimeout(() => {\n var _getBoundingClientRec = getBoundingClientRect(node),\n height = _getBoundingClientRec.height,\n left = _getBoundingClientRec.left,\n top = _getBoundingClientRec.top,\n width = _getBoundingClientRec.width;\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n var value = props[prop];\n switch (prop) {\n case 'style':\n {\n setValueForStyles(node, value);\n break;\n }\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n case 'text':\n case 'value':\n // native platforms use `text` prop to replace text input value\n node.value = value;\n break;\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n // mocks\n setLayoutAnimationEnabledExperimental() {}\n};\nexport default UIManager;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"onLayout\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n onScroll: true,\n onWheel: true,\n pointerEvents: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\nvar View = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(item => {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a .\");\n }\n });\n }\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var component = 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n supportedProps.style = [styles.view$raw, hasTextAncestor && styles.inline, props.style];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement(component, supportedProps, {\n writingDirection\n });\n});\nView.displayName = 'View';\nvar styles = StyleSheet.create({\n view$raw: {\n alignItems: 'stretch',\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n listStyle: 'none',\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n textDecoration: 'none',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n }\n});\nexport default View;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-activedescendant\", \"accessibilityActiveDescendant\", \"aria-atomic\", \"accessibilityAtomic\", \"aria-autocomplete\", \"accessibilityAutoComplete\", \"aria-busy\", \"accessibilityBusy\", \"aria-checked\", \"accessibilityChecked\", \"aria-colcount\", \"accessibilityColumnCount\", \"aria-colindex\", \"accessibilityColumnIndex\", \"aria-colspan\", \"accessibilityColumnSpan\", \"aria-controls\", \"accessibilityControls\", \"aria-current\", \"accessibilityCurrent\", \"aria-describedby\", \"accessibilityDescribedBy\", \"aria-details\", \"accessibilityDetails\", \"aria-disabled\", \"accessibilityDisabled\", \"aria-errormessage\", \"accessibilityErrorMessage\", \"aria-expanded\", \"accessibilityExpanded\", \"aria-flowto\", \"accessibilityFlowTo\", \"aria-haspopup\", \"accessibilityHasPopup\", \"aria-hidden\", \"accessibilityHidden\", \"aria-invalid\", \"accessibilityInvalid\", \"aria-keyshortcuts\", \"accessibilityKeyShortcuts\", \"aria-label\", \"accessibilityLabel\", \"aria-labelledby\", \"accessibilityLabelledBy\", \"aria-level\", \"accessibilityLevel\", \"aria-live\", \"accessibilityLiveRegion\", \"aria-modal\", \"accessibilityModal\", \"aria-multiline\", \"accessibilityMultiline\", \"aria-multiselectable\", \"accessibilityMultiSelectable\", \"aria-orientation\", \"accessibilityOrientation\", \"aria-owns\", \"accessibilityOwns\", \"aria-placeholder\", \"accessibilityPlaceholder\", \"aria-posinset\", \"accessibilityPosInSet\", \"aria-pressed\", \"accessibilityPressed\", \"aria-readonly\", \"accessibilityReadOnly\", \"aria-required\", \"accessibilityRequired\", \"role\", \"accessibilityRole\", \"aria-roledescription\", \"accessibilityRoleDescription\", \"aria-rowcount\", \"accessibilityRowCount\", \"aria-rowindex\", \"accessibilityRowIndex\", \"aria-rowspan\", \"accessibilityRowSpan\", \"aria-selected\", \"accessibilitySelected\", \"aria-setsize\", \"accessibilitySetSize\", \"aria-sort\", \"accessibilitySort\", \"aria-valuemax\", \"accessibilityValueMax\", \"aria-valuemin\", \"accessibilityValueMin\", \"aria-valuenow\", \"accessibilityValueNow\", \"aria-valuetext\", \"accessibilityValueText\", \"dataSet\", \"focusable\", \"id\", \"nativeID\", \"pointerEvents\", \"style\", \"tabIndex\", \"testID\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport AccessibilityUtil from '../AccessibilityUtil';\nimport StyleSheet from '../../exports/StyleSheet';\nimport { warnOnce } from '../warnOnce';\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n}\nvar pointerEventsStyles = StyleSheet.create({\n auto: {\n pointerEvents: 'auto'\n },\n 'box-none': {\n pointerEvents: 'box-none'\n },\n 'box-only': {\n pointerEvents: 'box-only'\n },\n none: {\n pointerEvents: 'none'\n }\n});\nvar createDOMProps = (elementType, props, options) => {\n if (!props) {\n props = emptyObject;\n }\n var _props = props,\n ariaActiveDescendant = _props['aria-activedescendant'],\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n ariaAtomic = _props['aria-atomic'],\n accessibilityAtomic = _props.accessibilityAtomic,\n ariaAutoComplete = _props['aria-autocomplete'],\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n ariaBusy = _props['aria-busy'],\n accessibilityBusy = _props.accessibilityBusy,\n ariaChecked = _props['aria-checked'],\n accessibilityChecked = _props.accessibilityChecked,\n ariaColumnCount = _props['aria-colcount'],\n accessibilityColumnCount = _props.accessibilityColumnCount,\n ariaColumnIndex = _props['aria-colindex'],\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n ariaColumnSpan = _props['aria-colspan'],\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n ariaControls = _props['aria-controls'],\n accessibilityControls = _props.accessibilityControls,\n ariaCurrent = _props['aria-current'],\n accessibilityCurrent = _props.accessibilityCurrent,\n ariaDescribedBy = _props['aria-describedby'],\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n ariaDetails = _props['aria-details'],\n accessibilityDetails = _props.accessibilityDetails,\n ariaDisabled = _props['aria-disabled'],\n accessibilityDisabled = _props.accessibilityDisabled,\n ariaErrorMessage = _props['aria-errormessage'],\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n ariaExpanded = _props['aria-expanded'],\n accessibilityExpanded = _props.accessibilityExpanded,\n ariaFlowTo = _props['aria-flowto'],\n accessibilityFlowTo = _props.accessibilityFlowTo,\n ariaHasPopup = _props['aria-haspopup'],\n accessibilityHasPopup = _props.accessibilityHasPopup,\n ariaHidden = _props['aria-hidden'],\n accessibilityHidden = _props.accessibilityHidden,\n ariaInvalid = _props['aria-invalid'],\n accessibilityInvalid = _props.accessibilityInvalid,\n ariaKeyShortcuts = _props['aria-keyshortcuts'],\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n ariaLabel = _props['aria-label'],\n accessibilityLabel = _props.accessibilityLabel,\n ariaLabelledBy = _props['aria-labelledby'],\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n ariaLevel = _props['aria-level'],\n accessibilityLevel = _props.accessibilityLevel,\n ariaLive = _props['aria-live'],\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n ariaModal = _props['aria-modal'],\n accessibilityModal = _props.accessibilityModal,\n ariaMultiline = _props['aria-multiline'],\n accessibilityMultiline = _props.accessibilityMultiline,\n ariaMultiSelectable = _props['aria-multiselectable'],\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n ariaOrientation = _props['aria-orientation'],\n accessibilityOrientation = _props.accessibilityOrientation,\n ariaOwns = _props['aria-owns'],\n accessibilityOwns = _props.accessibilityOwns,\n ariaPlaceholder = _props['aria-placeholder'],\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n ariaPosInSet = _props['aria-posinset'],\n accessibilityPosInSet = _props.accessibilityPosInSet,\n ariaPressed = _props['aria-pressed'],\n accessibilityPressed = _props.accessibilityPressed,\n ariaReadOnly = _props['aria-readonly'],\n accessibilityReadOnly = _props.accessibilityReadOnly,\n ariaRequired = _props['aria-required'],\n accessibilityRequired = _props.accessibilityRequired,\n ariaRole = _props.role,\n accessibilityRole = _props.accessibilityRole,\n ariaRoleDescription = _props['aria-roledescription'],\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n ariaRowCount = _props['aria-rowcount'],\n accessibilityRowCount = _props.accessibilityRowCount,\n ariaRowIndex = _props['aria-rowindex'],\n accessibilityRowIndex = _props.accessibilityRowIndex,\n ariaRowSpan = _props['aria-rowspan'],\n accessibilityRowSpan = _props.accessibilityRowSpan,\n ariaSelected = _props['aria-selected'],\n accessibilitySelected = _props.accessibilitySelected,\n ariaSetSize = _props['aria-setsize'],\n accessibilitySetSize = _props.accessibilitySetSize,\n ariaSort = _props['aria-sort'],\n accessibilitySort = _props.accessibilitySort,\n ariaValueMax = _props['aria-valuemax'],\n accessibilityValueMax = _props.accessibilityValueMax,\n ariaValueMin = _props['aria-valuemin'],\n accessibilityValueMin = _props.accessibilityValueMin,\n ariaValueNow = _props['aria-valuenow'],\n accessibilityValueNow = _props.accessibilityValueNow,\n ariaValueText = _props['aria-valuetext'],\n accessibilityValueText = _props.accessibilityValueText,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n id = _props.id,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n style = _props.style,\n tabIndex = _props.tabIndex,\n testID = _props.testID,\n domProps = _objectWithoutPropertiesLoose(_props, _excluded);\n if (accessibilityDisabled != null) {\n warnOnce('accessibilityDisabled', \"accessibilityDisabled is deprecated.\");\n }\n var disabled = ariaDisabled || accessibilityDisabled;\n var role = AccessibilityUtil.propsToAriaRole(props);\n\n // ACCESSIBILITY\n if (accessibilityActiveDescendant != null) {\n warnOnce('accessibilityActiveDescendant', \"accessibilityActiveDescendant is deprecated. Use aria-activedescendant.\");\n }\n var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant;\n if (_ariaActiveDescendant != null) {\n domProps['aria-activedescendant'] = _ariaActiveDescendant;\n }\n if (accessibilityAtomic != null) {\n warnOnce('accessibilityAtomic', \"accessibilityAtomic is deprecated. Use aria-atomic.\");\n }\n var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic;\n if (_ariaAtomic != null) {\n domProps['aria-atomic'] = _ariaAtomic;\n }\n if (accessibilityAutoComplete != null) {\n warnOnce('accessibilityAutoComplete', \"accessibilityAutoComplete is deprecated. Use aria-autocomplete.\");\n }\n var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete;\n if (_ariaAutoComplete != null) {\n domProps['aria-autocomplete'] = _ariaAutoComplete;\n }\n if (accessibilityBusy != null) {\n warnOnce('accessibilityBusy', \"accessibilityBusy is deprecated. Use aria-busy.\");\n }\n var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy;\n if (_ariaBusy != null) {\n domProps['aria-busy'] = _ariaBusy;\n }\n if (accessibilityChecked != null) {\n warnOnce('accessibilityChecked', \"accessibilityChecked is deprecated. Use aria-checked.\");\n }\n var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked;\n if (_ariaChecked != null) {\n domProps['aria-checked'] = _ariaChecked;\n }\n if (accessibilityColumnCount != null) {\n warnOnce('accessibilityColumnCount', \"accessibilityColumnCount is deprecated. Use aria-colcount.\");\n }\n var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount;\n if (_ariaColumnCount != null) {\n domProps['aria-colcount'] = _ariaColumnCount;\n }\n if (accessibilityColumnIndex != null) {\n warnOnce('accessibilityColumnIndex', \"accessibilityColumnIndex is deprecated. Use aria-colindex.\");\n }\n var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex;\n if (_ariaColumnIndex != null) {\n domProps['aria-colindex'] = _ariaColumnIndex;\n }\n if (accessibilityColumnSpan != null) {\n warnOnce('accessibilityColumnSpan', \"accessibilityColumnSpan is deprecated. Use aria-colspan.\");\n }\n var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan;\n if (_ariaColumnSpan != null) {\n domProps['aria-colspan'] = _ariaColumnSpan;\n }\n if (accessibilityControls != null) {\n warnOnce('accessibilityControls', \"accessibilityControls is deprecated. Use aria-controls.\");\n }\n var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls;\n if (_ariaControls != null) {\n domProps['aria-controls'] = processIDRefList(_ariaControls);\n }\n if (accessibilityCurrent != null) {\n warnOnce('accessibilityCurrent', \"accessibilityCurrent is deprecated. Use aria-current.\");\n }\n var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent;\n if (_ariaCurrent != null) {\n domProps['aria-current'] = _ariaCurrent;\n }\n if (accessibilityDescribedBy != null) {\n warnOnce('accessibilityDescribedBy', \"accessibilityDescribedBy is deprecated. Use aria-describedby.\");\n }\n var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy;\n if (_ariaDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(_ariaDescribedBy);\n }\n if (accessibilityDetails != null) {\n warnOnce('accessibilityDetails', \"accessibilityDetails is deprecated. Use aria-details.\");\n }\n var _ariaDetails = ariaDetails != null ? ariaDetails : accessibilityDetails;\n if (_ariaDetails != null) {\n domProps['aria-details'] = _ariaDetails;\n }\n if (disabled === true) {\n domProps['aria-disabled'] = true;\n // Enhance with native semantics\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n if (accessibilityErrorMessage != null) {\n warnOnce('accessibilityErrorMessage', \"accessibilityErrorMessage is deprecated. Use aria-errormessage.\");\n }\n var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage;\n if (_ariaErrorMessage != null) {\n domProps['aria-errormessage'] = _ariaErrorMessage;\n }\n if (accessibilityExpanded != null) {\n warnOnce('accessibilityExpanded', \"accessibilityExpanded is deprecated. Use aria-expanded.\");\n }\n var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded;\n if (_ariaExpanded != null) {\n domProps['aria-expanded'] = _ariaExpanded;\n }\n if (accessibilityFlowTo != null) {\n warnOnce('accessibilityFlowTo', \"accessibilityFlowTo is deprecated. Use aria-flowto.\");\n }\n var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo;\n if (_ariaFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(_ariaFlowTo);\n }\n if (accessibilityHasPopup != null) {\n warnOnce('accessibilityHasPopup', \"accessibilityHasPopup is deprecated. Use aria-haspopup.\");\n }\n var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup;\n if (_ariaHasPopup != null) {\n domProps['aria-haspopup'] = _ariaHasPopup;\n }\n if (accessibilityHidden != null) {\n warnOnce('accessibilityHidden', \"accessibilityHidden is deprecated. Use aria-hidden.\");\n }\n var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden;\n if (_ariaHidden === true) {\n domProps['aria-hidden'] = _ariaHidden;\n }\n if (accessibilityInvalid != null) {\n warnOnce('accessibilityInvalid', \"accessibilityInvalid is deprecated. Use aria-invalid.\");\n }\n var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid;\n if (_ariaInvalid != null) {\n domProps['aria-invalid'] = _ariaInvalid;\n }\n if (accessibilityKeyShortcuts != null) {\n warnOnce('accessibilityKeyShortcuts', \"accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts.\");\n }\n var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts;\n if (_ariaKeyShortcuts != null) {\n domProps['aria-keyshortcuts'] = processIDRefList(_ariaKeyShortcuts);\n }\n if (accessibilityLabel != null) {\n warnOnce('accessibilityLabel', \"accessibilityLabel is deprecated. Use aria-label.\");\n }\n var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel;\n if (_ariaLabel != null) {\n domProps['aria-label'] = _ariaLabel;\n }\n if (accessibilityLabelledBy != null) {\n warnOnce('accessibilityLabelledBy', \"accessibilityLabelledBy is deprecated. Use aria-labelledby.\");\n }\n var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy;\n if (_ariaLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(_ariaLabelledBy);\n }\n if (accessibilityLevel != null) {\n warnOnce('accessibilityLevel', \"accessibilityLevel is deprecated. Use aria-level.\");\n }\n var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel;\n if (_ariaLevel != null) {\n domProps['aria-level'] = _ariaLevel;\n }\n if (accessibilityLiveRegion != null) {\n warnOnce('accessibilityLiveRegion', \"accessibilityLiveRegion is deprecated. Use aria-live.\");\n }\n var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion;\n if (_ariaLive != null) {\n domProps['aria-live'] = _ariaLive === 'none' ? 'off' : _ariaLive;\n }\n if (accessibilityModal != null) {\n warnOnce('accessibilityModal', \"accessibilityModal is deprecated. Use aria-modal.\");\n }\n var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal;\n if (_ariaModal != null) {\n domProps['aria-modal'] = _ariaModal;\n }\n if (accessibilityMultiline != null) {\n warnOnce('accessibilityMultiline', \"accessibilityMultiline is deprecated. Use aria-multiline.\");\n }\n var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline;\n if (_ariaMultiline != null) {\n domProps['aria-multiline'] = _ariaMultiline;\n }\n if (accessibilityMultiSelectable != null) {\n warnOnce('accessibilityMultiSelectable', \"accessibilityMultiSelectable is deprecated. Use aria-multiselectable.\");\n }\n var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable;\n if (_ariaMultiSelectable != null) {\n domProps['aria-multiselectable'] = _ariaMultiSelectable;\n }\n if (accessibilityOrientation != null) {\n warnOnce('accessibilityOrientation', \"accessibilityOrientation is deprecated. Use aria-orientation.\");\n }\n var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation;\n if (_ariaOrientation != null) {\n domProps['aria-orientation'] = _ariaOrientation;\n }\n if (accessibilityOwns != null) {\n warnOnce('accessibilityOwns', \"accessibilityOwns is deprecated. Use aria-owns.\");\n }\n var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns;\n if (_ariaOwns != null) {\n domProps['aria-owns'] = processIDRefList(_ariaOwns);\n }\n if (accessibilityPlaceholder != null) {\n warnOnce('accessibilityPlaceholder', \"accessibilityPlaceholder is deprecated. Use aria-placeholder.\");\n }\n var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder;\n if (_ariaPlaceholder != null) {\n domProps['aria-placeholder'] = _ariaPlaceholder;\n }\n if (accessibilityPosInSet != null) {\n warnOnce('accessibilityPosInSet', \"accessibilityPosInSet is deprecated. Use aria-posinset.\");\n }\n var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet;\n if (_ariaPosInSet != null) {\n domProps['aria-posinset'] = _ariaPosInSet;\n }\n if (accessibilityPressed != null) {\n warnOnce('accessibilityPressed', \"accessibilityPressed is deprecated. Use aria-pressed.\");\n }\n var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed;\n if (_ariaPressed != null) {\n domProps['aria-pressed'] = _ariaPressed;\n }\n if (accessibilityReadOnly != null) {\n warnOnce('accessibilityReadOnly', \"accessibilityReadOnly is deprecated. Use aria-readonly.\");\n }\n var _ariaReadOnly = ariaReadOnly != null ? ariaReadOnly : accessibilityReadOnly;\n if (_ariaReadOnly != null) {\n domProps['aria-readonly'] = _ariaReadOnly;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n if (accessibilityRequired != null) {\n warnOnce('accessibilityRequired', \"accessibilityRequired is deprecated. Use aria-required.\");\n }\n var _ariaRequired = ariaRequired != null ? ariaRequired : accessibilityRequired;\n if (_ariaRequired != null) {\n domProps['aria-required'] = _ariaRequired;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = accessibilityRequired;\n }\n }\n if (accessibilityRole != null) {\n warnOnce('accessibilityRole', \"accessibilityRole is deprecated. Use role.\");\n }\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n if (accessibilityRoleDescription != null) {\n warnOnce('accessibilityRoleDescription', \"accessibilityRoleDescription is deprecated. Use aria-roledescription.\");\n }\n var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription;\n if (_ariaRoleDescription != null) {\n domProps['aria-roledescription'] = _ariaRoleDescription;\n }\n if (accessibilityRowCount != null) {\n warnOnce('accessibilityRowCount', \"accessibilityRowCount is deprecated. Use aria-rowcount.\");\n }\n var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount;\n if (_ariaRowCount != null) {\n domProps['aria-rowcount'] = _ariaRowCount;\n }\n if (accessibilityRowIndex != null) {\n warnOnce('accessibilityRowIndex', \"accessibilityRowIndex is deprecated. Use aria-rowindex.\");\n }\n var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex;\n if (_ariaRowIndex != null) {\n domProps['aria-rowindex'] = _ariaRowIndex;\n }\n if (accessibilityRowSpan != null) {\n warnOnce('accessibilityRowSpan', \"accessibilityRowSpan is deprecated. Use aria-rowspan.\");\n }\n var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan;\n if (_ariaRowSpan != null) {\n domProps['aria-rowspan'] = _ariaRowSpan;\n }\n if (accessibilitySelected != null) {\n warnOnce('accessibilitySelected', \"accessibilitySelected is deprecated. Use aria-selected.\");\n }\n var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected;\n if (_ariaSelected != null) {\n domProps['aria-selected'] = _ariaSelected;\n }\n if (accessibilitySetSize != null) {\n warnOnce('accessibilitySetSize', \"accessibilitySetSize is deprecated. Use aria-setsize.\");\n }\n var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize;\n if (_ariaSetSize != null) {\n domProps['aria-setsize'] = _ariaSetSize;\n }\n if (accessibilitySort != null) {\n warnOnce('accessibilitySort', \"accessibilitySort is deprecated. Use aria-sort.\");\n }\n var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort;\n if (_ariaSort != null) {\n domProps['aria-sort'] = _ariaSort;\n }\n if (accessibilityValueMax != null) {\n warnOnce('accessibilityValueMax', \"accessibilityValueMax is deprecated. Use aria-valuemax.\");\n }\n var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax;\n if (_ariaValueMax != null) {\n domProps['aria-valuemax'] = _ariaValueMax;\n }\n if (accessibilityValueMin != null) {\n warnOnce('accessibilityValueMin', \"accessibilityValueMin is deprecated. Use aria-valuemin.\");\n }\n var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin;\n if (_ariaValueMin != null) {\n domProps['aria-valuemin'] = _ariaValueMin;\n }\n if (accessibilityValueNow != null) {\n warnOnce('accessibilityValueNow', \"accessibilityValueNow is deprecated. Use aria-valuenow.\");\n }\n var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow;\n if (_ariaValueNow != null) {\n domProps['aria-valuenow'] = _ariaValueNow;\n }\n if (accessibilityValueText != null) {\n warnOnce('accessibilityValueText', \"accessibilityValueText is deprecated. Use aria-valuetext.\");\n }\n var _ariaValueText = ariaValueText != null ? ariaValueText : accessibilityValueText;\n if (_ariaValueText != null) {\n domProps['aria-valuetext'] = _ariaValueText;\n }\n\n // \"dataSet\" replaced with \"data-*\"\n if (dataSet != null) {\n for (var dataProp in dataSet) {\n if (hasOwnProperty.call(dataSet, dataProp)) {\n var dataName = hyphenateString(dataProp);\n var dataValue = dataSet[dataProp];\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n }\n\n // FOCUS\n if (tabIndex === 0 || tabIndex === '0' || tabIndex === -1 || tabIndex === '-1') {\n domProps.tabIndex = tabIndex;\n } else {\n if (focusable != null) {\n warnOnce('focusable', \"focusable is deprecated.\");\n }\n\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n if (focusable === false) {\n domProps.tabIndex = '-1';\n }\n if (\n // These native elements are keyboard focusable by default\n elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if (\n // These roles are made keyboard focusable by default\n role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n // Everything else must explicitly set the prop\n if (focusable === true) {\n domProps.tabIndex = '0';\n }\n }\n }\n\n // Resolve styles\n if (pointerEvents != null) {\n warnOnce('pointerEvents', \"props.pointerEvents is deprecated. Use style.pointerEvents\");\n }\n var _StyleSheet = StyleSheet([style, pointerEvents && pointerEventsStyles[pointerEvents]], _objectSpread({\n writingDirection: 'ltr'\n }, options)),\n className = _StyleSheet[0],\n inlineStyle = _StyleSheet[1];\n if (className) {\n domProps.className = className;\n }\n if (inlineStyle) {\n domProps.style = inlineStyle;\n }\n\n // OTHER\n // Native element ID\n if (nativeID != null) {\n warnOnce('nativeID', \"nativeID is deprecated. Use id.\");\n }\n var _id = id != null ? id : nativeID;\n if (_id != null) {\n domProps.id = _id;\n }\n // Automated test IDs\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n if (domProps.type == null && elementType === 'button') {\n domProps.type = 'button';\n }\n return domProps;\n};\nexport default createDOMProps;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport createDOMProps from '../../modules/createDOMProps';\nimport React from 'react';\nimport { LocaleProvider } from '../../modules/useLocale';\nvar createElement = (component, props, options) => {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n if (component && component.constructor === String) {\n accessibilityComponent = AccessibilityUtil.propsToAccessibilityComponent(props);\n }\n var Component = accessibilityComponent || component;\n var domProps = createDOMProps(Component, props, options);\n var element = /*#__PURE__*/React.createElement(Component, domProps);\n\n // Update locale context if element's writing direction prop changes\n var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/React.createElement(LocaleProvider, {\n children: element,\n direction: domProps.dir,\n locale: domProps.lang\n }) : element;\n return elementWithLocaleProvider;\n};\nexport default createElement;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport normalizeColor from '@react-native/normalize-colors';\nvar processColor = color => {\n if (color === undefined || color === null) {\n return color;\n }\n\n // convert number and hex\n var int32Color = normalizeColor(color);\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\nexport default processColor;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { findDOMNode } from 'react-dom';\n\n/**\n * @deprecated imperatively finding the DOM element of a react component has been deprecated in React 18.\n * You should use ref properties on the component instead.\n */\nvar findNodeHandle = component => {\n var node;\n try {\n node = findDOMNode(component);\n } catch (e) {}\n return node;\n};\nexport default findNodeHandle;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { unmountComponentAtNode } from 'react-dom';\nexport default unmountComponentAtNode;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { hydrate as domLegacyHydrate, render as domLegacyRender } from 'react-dom';\nimport { createRoot as domCreateRoot, hydrateRoot as domHydrateRoot } from 'react-dom/client';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport { createSheet } from '../StyleSheet/dom';\nexport function hydrate(element, root) {\n createSheet(root);\n return domHydrateRoot(root, element);\n}\nexport function render(element, root) {\n createSheet(root);\n var reactRoot = domCreateRoot(root);\n reactRoot.render(element);\n return reactRoot;\n}\nexport function hydrateLegacy(element, root, callback) {\n createSheet(root);\n domLegacyHydrate(element, root, callback);\n return {\n unmount: function unmount() {\n return unmountComponentAtNode(root);\n }\n };\n}\nexport default function renderLegacy(element, root, callback) {\n createSheet(root);\n domLegacyRender(element, root, callback);\n return {\n unmount: function unmount() {\n return unmountComponentAtNode(root);\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport UIManager from '../UIManager';\n\n// NativeModules shim\nvar NativeModules = {\n UIManager\n};\nexport default NativeModules;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport canUseDOM from '../../modules/canUseDom';\nfunction isScreenReaderEnabled() {\n return new Promise((resolve, reject) => {\n resolve(true);\n });\n}\nvar prefersReducedMotionMedia = canUseDOM && typeof window.matchMedia === 'function' ? window.matchMedia('(prefers-reduced-motion: reduce)') : null;\nfunction isReduceMotionEnabled() {\n return new Promise((resolve, reject) => {\n resolve(prefersReducedMotionMedia ? prefersReducedMotionMedia.matches : true);\n });\n}\nfunction addChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.addEventListener != null ? prefersReducedMotionMedia.addEventListener('change', fn) : prefersReducedMotionMedia.addListener(fn);\n }\n}\nfunction removeChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.removeEventListener != null ? prefersReducedMotionMedia.removeEventListener('change', fn) : prefersReducedMotionMedia.removeListener(fn);\n }\n}\nvar handlers = {};\nvar AccessibilityInfo = {\n /**\n * Query whether a screen reader is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a screen reader is enabled and `false` otherwise.\n */\n isScreenReaderEnabled,\n /**\n * Query whether the user prefers reduced motion.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a screen reader is enabled and `false` otherwise.\n */\n isReduceMotionEnabled,\n /**\n * Deprecated\n */\n fetch: isScreenReaderEnabled,\n /**\n * Add an event handler. Supported events: reduceMotionChanged\n */\n addEventListener: function addEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n if (!prefersReducedMotionMedia) {\n return;\n }\n var listener = event => {\n handler(event.matches);\n };\n addChangeListener(listener);\n handlers[handler] = listener;\n }\n return {\n remove: () => AccessibilityInfo.removeEventListener(eventName, handler)\n };\n },\n /**\n * Set accessibility focus to a react component.\n */\n setAccessibilityFocus: function setAccessibilityFocus(reactTag) {},\n /**\n * Post a string to be announced by the screen reader.\n */\n announceForAccessibility: function announceForAccessibility(announcement) {},\n /**\n * Remove an event handler.\n */\n removeEventListener: function removeEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n var listener = handlers[handler];\n if (!listener || !prefersReducedMotionMedia) {\n return;\n }\n removeChangeListener(listener);\n }\n return;\n }\n};\nexport default AccessibilityInfo;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nclass Alert {\n static alert() {}\n}\nexport default Alert;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar Platform = {\n OS: 'web',\n select: obj => 'web' in obj ? obj.web : obj.default,\n get isTesting() {\n if (process.env.NODE_ENV === 'test') {\n return true;\n }\n return false;\n }\n};\nexport default Platform;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\n/*\n * @returns {bool} true if different, false if equal\n */\nvar deepDiffer = function deepDiffer(one, two, maxDepth) {\n if (maxDepth === void 0) {\n maxDepth = -1;\n }\n if (maxDepth === 0) {\n return true;\n }\n if (one === two) {\n // Short circuit on identical object references instead of traversing them.\n return false;\n }\n if (typeof one === 'function' && typeof two === 'function') {\n // We consider all functions equal\n return false;\n }\n if (typeof one !== 'object' || one === null) {\n // Primitives can be directly compared\n return one !== two;\n }\n if (typeof two !== 'object' || two === null) {\n // We know they are different because the previous case would have triggered\n // otherwise.\n return true;\n }\n if (one.constructor !== two.constructor) {\n return true;\n }\n if (Array.isArray(one)) {\n // We know two is also an array because the constructors are equal\n var len = one.length;\n if (two.length !== len) {\n return true;\n }\n for (var ii = 0; ii < len; ii++) {\n if (deepDiffer(one[ii], two[ii], maxDepth - 1)) {\n return true;\n }\n }\n } else {\n for (var key in one) {\n if (deepDiffer(one[key], two[key], maxDepth - 1)) {\n return true;\n }\n }\n for (var twoKey in two) {\n // The only case we haven't checked yet is keys that are in two but aren't\n // in one, which means they are different.\n if (one[twoKey] === undefined && two[twoKey] !== undefined) {\n return true;\n }\n }\n }\n return false;\n};\nexport default deepDiffer;","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nfunction _createForOfIteratorHelperLoose(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (t) return (t = t.call(r)).next.bind(t);\n if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var o = 0;\n return function () {\n return o >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[o++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _createForOfIteratorHelperLoose as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"colors\", \"enabled\", \"onRefresh\", \"progressBackgroundColor\", \"progressViewOffset\", \"refreshing\", \"size\", \"tintColor\", \"title\", \"titleColor\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport View from '../View';\nimport React from 'react';\nfunction RefreshControl(props) {\n var colors = props.colors,\n enabled = props.enabled,\n onRefresh = props.onRefresh,\n progressBackgroundColor = props.progressBackgroundColor,\n progressViewOffset = props.progressViewOffset,\n refreshing = props.refreshing,\n size = props.size,\n tintColor = props.tintColor,\n title = props.title,\n titleColor = props.titleColor,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/React.createElement(View, rest);\n}\nexport default RefreshControl;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar dimensions = {\n window: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n },\n screen: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n }\n};\nvar listeners = {};\nvar shouldInit = canUseDOM;\nfunction update() {\n if (!canUseDOM) {\n return;\n }\n var win = window;\n var height;\n var width;\n\n /**\n * iOS does not update viewport dimensions on keyboard open/close.\n * window.visualViewport(https://developer.mozilla.org/en-US/docs/Web/API/VisualViewport)\n * is used instead of document.documentElement.clientHeight (which remains as a fallback)\n */\n if (win.visualViewport) {\n var visualViewport = win.visualViewport;\n /**\n * We are multiplying by scale because height and width from visual viewport\n * also react to pinch zoom, and become smaller when zoomed. But it is not desired\n * behaviour, since originally documentElement client height and width were used,\n * and they do not react to pinch zoom.\n */\n height = Math.round(visualViewport.height * visualViewport.scale);\n width = Math.round(visualViewport.width * visualViewport.scale);\n } else {\n var docEl = win.document.documentElement;\n height = docEl.clientHeight;\n width = docEl.clientWidth;\n }\n dimensions.window = {\n fontScale: 1,\n height,\n scale: win.devicePixelRatio || 1,\n width\n };\n dimensions.screen = {\n fontScale: 1,\n height: win.screen.height,\n scale: win.devicePixelRatio || 1,\n width: win.screen.width\n };\n}\nfunction handleResize() {\n update();\n if (Array.isArray(listeners['change'])) {\n listeners['change'].forEach(handler => handler(dimensions));\n }\n}\nexport default class Dimensions {\n static get(dimension) {\n if (shouldInit) {\n shouldInit = false;\n update();\n }\n invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\n }\n static set(initialDimensions) {\n if (initialDimensions) {\n if (canUseDOM) {\n invariant(false, 'Dimensions cannot be set in the browser');\n } else {\n if (initialDimensions.screen != null) {\n dimensions.screen = initialDimensions.screen;\n }\n if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\n }\n }\n }\n static addEventListener(type, handler) {\n listeners[type] = listeners[type] || [];\n listeners[type].push(handler);\n return {\n remove: () => {\n this.removeEventListener(type, handler);\n }\n };\n }\n static removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(_handler => _handler !== handler);\n }\n }\n}\nif (canUseDOM) {\n if (window.visualViewport) {\n window.visualViewport.addEventListener('resize', handleResize, false);\n } else {\n window.addEventListener('resize', handleResize, false);\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport UIManager from '../../exports/UIManager';\n\n/**\n * This class is responsible for coordinating the \"focused\"\n * state for TextInputs. All calls relating to the keyboard\n * should be funneled through here\n */\nvar TextInputState = {\n /**\n * Internal state\n */\n _currentlyFocusedNode: null,\n /**\n * Returns the ID of the currently focused text field, if one exists\n * If no text field is focused it returns null\n */\n currentlyFocusedField() {\n if (document.activeElement !== this._currentlyFocusedNode) {\n this._currentlyFocusedNode = null;\n }\n return this._currentlyFocusedNode;\n },\n /**\n * @param {Object} TextInputID id of the text field to focus\n * Focuses the specified text field\n * noop if the text field was already focused\n */\n focusTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = textFieldNode;\n if (document.activeElement !== textFieldNode) {\n UIManager.focus(textFieldNode);\n }\n }\n },\n /**\n * @param {Object} textFieldNode id of the text field to focus\n * Unfocuses the specified text field\n * noop if it wasn't focused\n */\n blurTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = null;\n if (document.activeElement === textFieldNode) {\n UIManager.blur(textFieldNode);\n }\n }\n }\n};\nexport default TextInputState;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport TextInputState from '../TextInputState';\nvar dismissKeyboard = () => {\n TextInputState.blurTextInput(TextInputState.currentlyFocusedField());\n};\nexport default dismissKeyboard;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"onScroll\", \"onTouchMove\", \"onWheel\", \"scrollEnabled\", \"scrollEventThrottle\", \"showsHorizontalScrollIndicator\", \"showsVerticalScrollIndicator\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport useMergeRefs from '../../modules/useMergeRefs';\nfunction normalizeScrollEvent(e) {\n return {\n nativeEvent: {\n contentOffset: {\n get x() {\n return e.target.scrollLeft;\n },\n get y() {\n return e.target.scrollTop;\n }\n },\n contentSize: {\n get height() {\n return e.target.scrollHeight;\n },\n get width() {\n return e.target.scrollWidth;\n }\n },\n layoutMeasurement: {\n get height() {\n return e.target.offsetHeight;\n },\n get width() {\n return e.target.offsetWidth;\n }\n }\n },\n timeStamp: Date.now()\n };\n}\nfunction shouldEmitScrollEvent(lastTick, eventThrottle) {\n var timeSinceLastTick = Date.now() - lastTick;\n return eventThrottle > 0 && timeSinceLastTick >= eventThrottle;\n}\n\n/**\n * Encapsulates the Web-specific scroll throttling and disabling logic\n */\nvar ScrollViewBase = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var onScroll = props.onScroll,\n onTouchMove = props.onTouchMove,\n onWheel = props.onWheel,\n _props$scrollEnabled = props.scrollEnabled,\n scrollEnabled = _props$scrollEnabled === void 0 ? true : _props$scrollEnabled,\n _props$scrollEventThr = props.scrollEventThrottle,\n scrollEventThrottle = _props$scrollEventThr === void 0 ? 0 : _props$scrollEventThr,\n showsHorizontalScrollIndicator = props.showsHorizontalScrollIndicator,\n showsVerticalScrollIndicator = props.showsVerticalScrollIndicator,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var scrollState = React.useRef({\n isScrolling: false,\n scrollLastTick: 0\n });\n var scrollTimeout = React.useRef(null);\n var scrollRef = React.useRef(null);\n function createPreventableScrollHandler(handler) {\n return e => {\n if (scrollEnabled) {\n if (handler) {\n handler(e);\n }\n }\n };\n }\n function handleScroll(e) {\n e.stopPropagation();\n if (e.target === scrollRef.current) {\n e.persist();\n // A scroll happened, so the scroll resets the scrollend timeout.\n if (scrollTimeout.current != null) {\n clearTimeout(scrollTimeout.current);\n }\n scrollTimeout.current = setTimeout(() => {\n handleScrollEnd(e);\n }, 100);\n if (scrollState.current.isScrolling) {\n // Scroll last tick may have changed, check if we need to notify\n if (shouldEmitScrollEvent(scrollState.current.scrollLastTick, scrollEventThrottle)) {\n handleScrollTick(e);\n }\n } else {\n // Weren't scrolling, so we must have just started\n handleScrollStart(e);\n }\n }\n }\n function handleScrollStart(e) {\n scrollState.current.isScrolling = true;\n handleScrollTick(e);\n }\n function handleScrollTick(e) {\n scrollState.current.scrollLastTick = Date.now();\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n function handleScrollEnd(e) {\n scrollState.current.isScrolling = false;\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n var hideScrollbar = showsHorizontalScrollIndicator === false || showsVerticalScrollIndicator === false;\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n onScroll: handleScroll,\n onTouchMove: createPreventableScrollHandler(onTouchMove),\n onWheel: createPreventableScrollHandler(onWheel),\n ref: useMergeRefs(scrollRef, forwardedRef),\n style: [style, !scrollEnabled && styles.scrollDisabled, hideScrollbar && styles.hideScrollbar]\n }));\n});\n\n// Chrome doesn't support e.preventDefault in this case; touch-action must be\n// used to disable scrolling.\n// https://developers.google.com/web/updates/2017/01/scrolling-intervention\nvar styles = StyleSheet.create({\n scrollDisabled: {\n overflowX: 'hidden',\n overflowY: 'hidden',\n touchAction: 'none'\n },\n hideScrollbar: {\n scrollbarWidth: 'none'\n }\n});\nexport default ScrollViewBase;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"contentContainerStyle\", \"horizontal\", \"onContentSizeChange\", \"refreshControl\", \"stickyHeaderIndices\", \"pagingEnabled\", \"forwardedRef\", \"keyboardDismissMode\", \"onScroll\", \"centerContent\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport Dimensions from '../Dimensions';\nimport dismissKeyboard from '../../modules/dismissKeyboard';\nimport invariant from 'fbjs/lib/invariant';\nimport mergeRefs from '../../modules/mergeRefs';\nimport Platform from '../Platform';\nimport ScrollViewBase from './ScrollViewBase';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\nimport UIManager from '../UIManager';\nimport View from '../View';\nimport React from 'react';\nimport warning from 'fbjs/lib/warning';\nvar emptyObject = {};\nvar IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;\nclass ScrollView extends React.Component {\n constructor() {\n super(...arguments);\n this._scrollNodeRef = null;\n this._innerViewRef = null;\n this.isTouching = false;\n this.lastMomentumScrollBeginTime = 0;\n this.lastMomentumScrollEndTime = 0;\n this.observedScrollSinceBecomingResponder = false;\n this.becameResponderWhileAnimating = false;\n this.scrollResponderHandleScrollShouldSetResponder = () => {\n return this.isTouching;\n };\n this.scrollResponderHandleStartShouldSetResponderCapture = e => {\n // First see if we want to eat taps while the keyboard is up\n // var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n // if (!this.props.keyboardShouldPersistTaps &&\n // currentlyFocusedTextInput != null &&\n // e.target !== currentlyFocusedTextInput) {\n // return true;\n // }\n return this.scrollResponderIsAnimating();\n };\n this.scrollResponderHandleTerminationRequest = () => {\n return !this.observedScrollSinceBecomingResponder;\n };\n this.scrollResponderHandleTouchEnd = e => {\n var nativeEvent = e.nativeEvent;\n this.isTouching = nativeEvent.touches.length !== 0;\n this.props.onTouchEnd && this.props.onTouchEnd(e);\n };\n this.scrollResponderHandleResponderRelease = e => {\n this.props.onResponderRelease && this.props.onResponderRelease(e);\n\n // By default scroll views will unfocus a textField\n // if another touch occurs outside of it\n var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n if (!this.props.keyboardShouldPersistTaps && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.observedScrollSinceBecomingResponder && !this.becameResponderWhileAnimating) {\n this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e);\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n };\n this.scrollResponderHandleScroll = e => {\n this.observedScrollSinceBecomingResponder = true;\n this.props.onScroll && this.props.onScroll(e);\n };\n this.scrollResponderHandleResponderGrant = e => {\n this.observedScrollSinceBecomingResponder = false;\n this.props.onResponderGrant && this.props.onResponderGrant(e);\n this.becameResponderWhileAnimating = this.scrollResponderIsAnimating();\n };\n this.scrollResponderHandleScrollBeginDrag = e => {\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n this.scrollResponderHandleScrollEndDrag = e => {\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n this.scrollResponderHandleMomentumScrollBegin = e => {\n this.lastMomentumScrollBeginTime = Date.now();\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n this.scrollResponderHandleMomentumScrollEnd = e => {\n this.lastMomentumScrollEndTime = Date.now();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n this.scrollResponderHandleTouchStart = e => {\n this.isTouching = true;\n this.props.onTouchStart && this.props.onTouchStart(e);\n };\n this.scrollResponderHandleTouchMove = e => {\n this.props.onTouchMove && this.props.onTouchMove(e);\n };\n this.scrollResponderIsAnimating = () => {\n var now = Date.now();\n var timeSinceLastMomentumScrollEnd = now - this.lastMomentumScrollEndTime;\n var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.lastMomentumScrollEndTime < this.lastMomentumScrollBeginTime;\n return isAnimating;\n };\n this.scrollResponderScrollTo = (x, y, animated) => {\n if (typeof x === 'number') {\n console.warn('`scrollResponderScrollTo(x, y, animated)` is deprecated. Use `scrollResponderScrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref = x || emptyObject;\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n var node = this.getScrollableNode();\n var left = x || 0;\n var top = y || 0;\n if (node != null) {\n if (typeof node.scroll === 'function') {\n node.scroll({\n top,\n left,\n behavior: !animated ? 'auto' : 'smooth'\n });\n } else {\n node.scrollLeft = left;\n node.scrollTop = top;\n }\n }\n };\n this.scrollResponderZoomTo = (rect, animated) => {\n if (Platform.OS !== 'ios') {\n invariant('zoomToRect is not implemented');\n }\n };\n this.scrollResponderScrollNativeHandleToKeyboard = (nodeHandle, additionalOffset, preventNegativeScrollOffset) => {\n this.additionalScrollOffset = additionalOffset || 0;\n this.preventNegativeScrollOffset = !!preventNegativeScrollOffset;\n UIManager.measureLayout(nodeHandle, this.getInnerViewNode(), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard);\n };\n this.scrollResponderInputMeasureAndScrollToKeyboard = (left, top, width, height) => {\n var keyboardScreenY = Dimensions.get('window').height;\n if (this.keyboardWillOpenTo) {\n keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY;\n }\n var scrollOffsetY = top - keyboardScreenY + height + this.additionalScrollOffset;\n\n // By default, this can scroll with negative offset, pulling the content\n // down so that the target component's bottom meets the keyboard's top.\n // If requested otherwise, cap the offset at 0 minimum to avoid content\n // shifting down.\n if (this.preventNegativeScrollOffset) {\n scrollOffsetY = Math.max(0, scrollOffsetY);\n }\n this.scrollResponderScrollTo({\n x: 0,\n y: scrollOffsetY,\n animated: true\n });\n this.additionalOffset = 0;\n this.preventNegativeScrollOffset = false;\n };\n this.scrollResponderKeyboardWillShow = e => {\n this.keyboardWillOpenTo = e;\n this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);\n };\n this.scrollResponderKeyboardWillHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);\n };\n this.scrollResponderKeyboardDidShow = e => {\n // TODO(7693961): The event for DidShow is not available on iOS yet.\n // Use the one from WillShow and do not assign.\n if (e) {\n this.keyboardWillOpenTo = e;\n }\n this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);\n };\n this.scrollResponderKeyboardDidHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);\n };\n this.flashScrollIndicators = () => {\n this.scrollResponderFlashScrollIndicators();\n };\n this.getScrollResponder = () => {\n return this;\n };\n this.getScrollableNode = () => {\n return this._scrollNodeRef;\n };\n this.getInnerViewRef = () => {\n return this._innerViewRef;\n };\n this.getInnerViewNode = () => {\n return this._innerViewRef;\n };\n this.getNativeScrollRef = () => {\n return this._scrollNodeRef;\n };\n this.scrollTo = (y, x, animated) => {\n if (typeof y === 'number') {\n console.warn('`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref2 = y || emptyObject;\n x = _ref2.x;\n y = _ref2.y;\n animated = _ref2.animated;\n }\n this.scrollResponderScrollTo({\n x: x || 0,\n y: y || 0,\n animated: animated !== false\n });\n };\n this.scrollToEnd = options => {\n // Default to true\n var animated = (options && options.animated) !== false;\n var horizontal = this.props.horizontal;\n var scrollResponderNode = this.getScrollableNode();\n var x = horizontal ? scrollResponderNode.scrollWidth : 0;\n var y = horizontal ? 0 : scrollResponderNode.scrollHeight;\n this.scrollResponderScrollTo({\n x,\n y,\n animated\n });\n };\n this._handleContentOnLayout = e => {\n var _e$nativeEvent$layout = e.nativeEvent.layout,\n width = _e$nativeEvent$layout.width,\n height = _e$nativeEvent$layout.height;\n this.props.onContentSizeChange(width, height);\n };\n this._handleScroll = e => {\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.onScroll && this.props.scrollEventThrottle == null) {\n console.log('You specified `onScroll` on a but not ' + '`scrollEventThrottle`. You will only receive one event. ' + 'Using `16` you get all the events but be aware that it may ' + \"cause frame drops, use a bigger number if you don't need as \" + 'much precision.');\n }\n }\n if (this.props.keyboardDismissMode === 'on-drag') {\n dismissKeyboard();\n }\n this.scrollResponderHandleScroll(e);\n };\n this._setInnerViewRef = node => {\n this._innerViewRef = node;\n };\n this._setScrollNodeRef = node => {\n this._scrollNodeRef = node;\n // ScrollView needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `ScrollView.scrollTo(hostNode, { x, y })` is added to React Native.\n if (node != null) {\n node.getScrollResponder = this.getScrollResponder;\n node.getInnerViewNode = this.getInnerViewNode;\n node.getInnerViewRef = this.getInnerViewRef;\n node.getNativeScrollRef = this.getNativeScrollRef;\n node.getScrollableNode = this.getScrollableNode;\n node.scrollTo = this.scrollTo;\n node.scrollToEnd = this.scrollToEnd;\n node.flashScrollIndicators = this.flashScrollIndicators;\n node.scrollResponderZoomTo = this.scrollResponderZoomTo;\n node.scrollResponderScrollNativeHandleToKeyboard = this.scrollResponderScrollNativeHandleToKeyboard;\n }\n var ref = mergeRefs(this.props.forwardedRef);\n ref(node);\n };\n }\n /**\n * ------------------------------------------------------\n * START SCROLLRESPONDER\n * ------------------------------------------------------\n */\n // Reset to false every time becomes responder. This is used to:\n // - Determine if the scroll view has been scrolled and therefore should\n // refuse to give up its responder lock.\n // - Determine if releasing should dismiss the keyboard when we are in\n // tap-to-dismiss mode (!this.props.keyboardShouldPersistTaps).\n /**\n * Invoke this from an `onScroll` event.\n */\n /**\n * Merely touch starting is not sufficient for a scroll view to become the\n * responder. Being the \"responder\" means that the very next touch move/end\n * event will result in an action/movement.\n *\n * Invoke this from an `onStartShouldSetResponder` event.\n *\n * `onStartShouldSetResponder` is used when the next move/end will trigger\n * some UI movement/action, but when you want to yield priority to views\n * nested inside of the view.\n *\n * There may be some cases where scroll views actually should return `true`\n * from `onStartShouldSetResponder`: Any time we are detecting a standard tap\n * that gives priority to nested views.\n *\n * - If a single tap on the scroll view triggers an action such as\n * recentering a map style view yet wants to give priority to interaction\n * views inside (such as dropped pins or labels), then we would return true\n * from this method when there is a single touch.\n *\n * - Similar to the previous case, if a two finger \"tap\" should trigger a\n * zoom, we would check the `touches` count, and if `>= 2`, we would return\n * true.\n *\n */\n scrollResponderHandleStartShouldSetResponder() {\n return false;\n }\n\n /**\n * There are times when the scroll view wants to become the responder\n * (meaning respond to the next immediate `touchStart/touchEnd`), in a way\n * that *doesn't* give priority to nested views (hence the capture phase):\n *\n * - Currently animating.\n * - Tapping anywhere that is not the focused input, while the keyboard is\n * up (which should dismiss the keyboard).\n *\n * Invoke this from an `onStartShouldSetResponderCapture` event.\n */\n\n /**\n * Invoke this from an `onResponderReject` event.\n *\n * Some other element is not yielding its role as responder. Normally, we'd\n * just disable the `UIScrollView`, but a touch has already began on it, the\n * `UIScrollView` will not accept being disabled after that. The easiest\n * solution for now is to accept the limitation of disallowing this\n * altogether. To improve this, find a way to disable the `UIScrollView` after\n * a touch has already started.\n */\n scrollResponderHandleResponderReject() {\n warning(false, \"ScrollView doesn't take rejection well - scrolls anyway\");\n }\n\n /**\n * We will allow the scroll view to give up its lock iff it acquired the lock\n * during an animation. This is a very useful default that happens to satisfy\n * many common user experiences.\n *\n * - Stop a scroll on the left edge, then turn that into an outer view's\n * backswipe.\n * - Stop a scroll mid-bounce at the top, continue pulling to have the outer\n * view dismiss.\n * - However, without catching the scroll view mid-bounce (while it is\n * motionless), if you drag far enough for the scroll view to become\n * responder (and therefore drag the scroll view a bit), any backswipe\n * navigation of a swipe gesture higher in the view hierarchy, should be\n * rejected.\n */\n\n /**\n * Invoke this from an `onTouchEnd` event.\n *\n * @param {SyntheticEvent} e Event.\n */\n\n /**\n * Invoke this from an `onResponderRelease` event.\n */\n\n /**\n * Invoke this from an `onResponderGrant` event.\n */\n\n /**\n * Unfortunately, `onScrollBeginDrag` also fires when *stopping* the scroll\n * animation, and there's not an easy way to distinguish a drag vs. stopping\n * momentum.\n *\n * Invoke this from an `onScrollBeginDrag` event.\n */\n\n /**\n * Invoke this from an `onScrollEndDrag` event.\n */\n\n /**\n * Invoke this from an `onMomentumScrollBegin` event.\n */\n\n /**\n * Invoke this from an `onMomentumScrollEnd` event.\n */\n\n /**\n * Invoke this from an `onTouchStart` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n\n /**\n * Invoke this from an `onTouchMove` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n\n /**\n * A helper function for this class that lets us quickly determine if the\n * view is currently animating. This is particularly useful to know when\n * a touch has just started or ended.\n */\n\n /**\n * A helper function to scroll to a specific point in the scrollview.\n * This is currently used to help focus on child textviews, but can also\n * be used to quickly scroll to any element we want to focus. Syntax:\n *\n * scrollResponderScrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\n */\n\n /**\n * A helper function to zoom to a specific rect in the scrollview. The argument has the shape\n * {x: number; y: number; width: number; height: number; animated: boolean = true}\n *\n * @platform ios\n */\n\n /**\n * Displays the scroll indicators momentarily.\n */\n scrollResponderFlashScrollIndicators() {}\n\n /**\n * This method should be used as the callback to onFocus in a TextInputs'\n * parent view. Note that any module using this mixin needs to return\n * the parent view's ref in getScrollViewRef() in order to use this method.\n * @param {any} nodeHandle The TextInput node handle\n * @param {number} additionalOffset The scroll view's top \"contentInset\".\n * Default is 0.\n * @param {bool} preventNegativeScrolling Whether to allow pulling the content\n * down to make it meet the keyboard's top. Default is false.\n */\n\n /**\n * The calculations performed here assume the scroll view takes up the entire\n * screen - even if has some content inset. We then measure the offsets of the\n * keyboard, and compensate both for the scroll view's \"contentInset\".\n *\n * @param {number} left Position of input w.r.t. table view.\n * @param {number} top Position of input w.r.t. table view.\n * @param {number} width Width of the text input.\n * @param {number} height Height of the text input.\n */\n\n scrollResponderTextInputFocusError(e) {\n console.error('Error measuring text field: ', e);\n }\n\n /**\n * Warning, this may be called several times for a single keyboard opening.\n * It's best to store the information in this method and then take any action\n * at a later point (either in `keyboardDidShow` or other).\n *\n * Here's the order that events occur in:\n * - focus\n * - willShow {startCoordinates, endCoordinates} several times\n * - didShow several times\n * - blur\n * - willHide {startCoordinates, endCoordinates} several times\n * - didHide several times\n *\n * The `ScrollResponder` providesModule callbacks for each of these events.\n * Even though any user could have easily listened to keyboard events\n * themselves, using these `props` callbacks ensures that ordering of events\n * is consistent - and not dependent on the order that the keyboard events are\n * subscribed to. This matters when telling the scroll view to scroll to where\n * the keyboard is headed - the scroll responder better have been notified of\n * the keyboard destination before being instructed to scroll to where the\n * keyboard will be. Stick to the `ScrollResponder` callbacks, and everything\n * will work.\n *\n * WARNING: These callbacks will fire even if a keyboard is displayed in a\n * different navigation pane. Filter out the events to determine if they are\n * relevant to you. (For example, only if you receive these callbacks after\n * you had explicitly focused a node etc).\n */\n\n /**\n * ------------------------------------------------------\n * END SCROLLRESPONDER\n * ------------------------------------------------------\n */\n\n /**\n * Returns a reference to the underlying scroll responder, which supports\n * operations like `scrollTo`. All ScrollView-like components should\n * implement this method so that they can be composed while providing access\n * to the underlying scroll responder's methods.\n */\n\n /**\n * Scrolls to a given x, y offset, either immediately or with a smooth animation.\n * Syntax:\n *\n * scrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\n */\n\n /**\n * If this is a vertical ScrollView scrolls to the bottom.\n * If this is a horizontal ScrollView scrolls to the right.\n *\n * Use `scrollToEnd({ animated: true })` for smooth animated scrolling,\n * `scrollToEnd({ animated: false })` for immediate scrolling.\n * If no options are passed, `animated` defaults to true.\n */\n\n render() {\n var _this$props = this.props,\n contentContainerStyle = _this$props.contentContainerStyle,\n horizontal = _this$props.horizontal,\n onContentSizeChange = _this$props.onContentSizeChange,\n refreshControl = _this$props.refreshControl,\n stickyHeaderIndices = _this$props.stickyHeaderIndices,\n pagingEnabled = _this$props.pagingEnabled,\n forwardedRef = _this$props.forwardedRef,\n keyboardDismissMode = _this$props.keyboardDismissMode,\n onScroll = _this$props.onScroll,\n centerContent = _this$props.centerContent,\n other = _objectWithoutPropertiesLoose(_this$props, _excluded);\n if (process.env.NODE_ENV !== 'production' && this.props.style) {\n var style = StyleSheet.flatten(this.props.style);\n var childLayoutProps = ['alignItems', 'justifyContent'].filter(prop => style && style[prop] !== undefined);\n invariant(childLayoutProps.length === 0, \"ScrollView child layout (\" + JSON.stringify(childLayoutProps) + \") \" + 'must be applied through the contentContainerStyle prop.');\n }\n var contentSizeChangeProps = {};\n if (onContentSizeChange) {\n contentSizeChangeProps = {\n onLayout: this._handleContentOnLayout\n };\n }\n var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices);\n var children = hasStickyHeaderIndices || pagingEnabled ? React.Children.map(this.props.children, (child, i) => {\n var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;\n if (child != null && (isSticky || pagingEnabled)) {\n return /*#__PURE__*/React.createElement(View, {\n style: [isSticky && styles.stickyHeader, pagingEnabled && styles.pagingEnabledChild]\n }, child);\n } else {\n return child;\n }\n }) : this.props.children;\n var contentContainer = /*#__PURE__*/React.createElement(View, _extends({}, contentSizeChangeProps, {\n children: children,\n collapsable: false,\n ref: this._setInnerViewRef,\n style: [horizontal && styles.contentContainerHorizontal, centerContent && styles.contentContainerCenterContent, contentContainerStyle]\n }));\n var baseStyle = horizontal ? styles.baseHorizontal : styles.baseVertical;\n var pagingEnabledStyle = horizontal ? styles.pagingEnabledHorizontal : styles.pagingEnabledVertical;\n var props = _objectSpread(_objectSpread({}, other), {}, {\n style: [baseStyle, pagingEnabled && pagingEnabledStyle, this.props.style],\n onTouchStart: this.scrollResponderHandleTouchStart,\n onTouchMove: this.scrollResponderHandleTouchMove,\n onTouchEnd: this.scrollResponderHandleTouchEnd,\n onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag,\n onScrollEndDrag: this.scrollResponderHandleScrollEndDrag,\n onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin,\n onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd,\n onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder,\n onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture,\n onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder,\n onScroll: this._handleScroll,\n onResponderGrant: this.scrollResponderHandleResponderGrant,\n onResponderTerminationRequest: this.scrollResponderHandleTerminationRequest,\n onResponderTerminate: this.scrollResponderHandleTerminate,\n onResponderRelease: this.scrollResponderHandleResponderRelease,\n onResponderReject: this.scrollResponderHandleResponderReject\n });\n var ScrollViewClass = ScrollViewBase;\n invariant(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined');\n var scrollView = /*#__PURE__*/React.createElement(ScrollViewClass, _extends({}, props, {\n ref: this._setScrollNodeRef\n }), contentContainer);\n if (refreshControl) {\n return /*#__PURE__*/React.cloneElement(refreshControl, {\n style: props.style\n }, scrollView);\n }\n return scrollView;\n }\n}\nvar commonStyle = {\n flexGrow: 1,\n flexShrink: 1,\n // Enable hardware compositing in modern browsers.\n // Creates a new layer with its own backing surface that can significantly\n // improve scroll performance.\n transform: 'translateZ(0)',\n // iOS native scrolling\n WebkitOverflowScrolling: 'touch'\n};\nvar styles = StyleSheet.create({\n baseVertical: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'column',\n overflowX: 'hidden',\n overflowY: 'auto'\n }),\n baseHorizontal: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'row',\n overflowX: 'auto',\n overflowY: 'hidden'\n }),\n contentContainerHorizontal: {\n flexDirection: 'row'\n },\n contentContainerCenterContent: {\n justifyContent: 'center',\n flexGrow: 1\n },\n stickyHeader: {\n position: 'sticky',\n top: 0,\n zIndex: 10\n },\n pagingEnabledHorizontal: {\n scrollSnapType: 'x mandatory'\n },\n pagingEnabledVertical: {\n scrollSnapType: 'y mandatory'\n },\n pagingEnabledChild: {\n scrollSnapAlign: 'start'\n }\n});\nvar ForwardedScrollView = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n return /*#__PURE__*/React.createElement(ScrollView, _extends({}, props, {\n forwardedRef: forwardedRef\n }));\n});\nForwardedScrollView.displayName = 'ScrollView';\nexport default ForwardedScrollView;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport invariant from 'fbjs/lib/invariant';\nclass TaskQueue {\n constructor(_ref) {\n var onMoreTasks = _ref.onMoreTasks;\n this._onMoreTasks = onMoreTasks;\n this._queueStack = [{\n tasks: [],\n popable: true\n }];\n }\n enqueue(task) {\n this._getCurrentQueue().push(task);\n }\n enqueueTasks(tasks) {\n tasks.forEach(task => this.enqueue(task));\n }\n cancelTasks(tasksToCancel) {\n this._queueStack = this._queueStack.map(queue => _objectSpread(_objectSpread({}, queue), {}, {\n tasks: queue.tasks.filter(task => tasksToCancel.indexOf(task) === -1)\n })).filter((queue, idx) => queue.tasks.length > 0 || idx === 0);\n }\n hasTasksToProcess() {\n return this._getCurrentQueue().length > 0;\n }\n\n /**\n * Executes the next task in the queue.\n */\n processNext() {\n var queue = this._getCurrentQueue();\n if (queue.length) {\n var task = queue.shift();\n try {\n if (typeof task === 'object' && task.gen) {\n this._genPromise(task);\n } else if (typeof task === 'object' && task.run) {\n task.run();\n } else {\n invariant(typeof task === 'function', 'Expected Function, SimpleTask, or PromiseTask, but got:\\n' + JSON.stringify(task, null, 2));\n task();\n }\n } catch (e) {\n e.message = 'TaskQueue: Error with task ' + (task.name || '') + ': ' + e.message;\n throw e;\n }\n }\n }\n _getCurrentQueue() {\n var stackIdx = this._queueStack.length - 1;\n var queue = this._queueStack[stackIdx];\n if (queue.popable && queue.tasks.length === 0 && stackIdx > 0) {\n this._queueStack.pop();\n return this._getCurrentQueue();\n } else {\n return queue.tasks;\n }\n }\n _genPromise(task) {\n var length = this._queueStack.push({\n tasks: [],\n popable: false\n });\n var stackIdx = length - 1;\n var stackItem = this._queueStack[stackIdx];\n task.gen().then(() => {\n stackItem.popable = true;\n this.hasTasksToProcess() && this._onMoreTasks();\n }).catch(ex => {\n setTimeout(() => {\n ex.message = \"TaskQueue: Error resolving Promise in task \" + task.name + \": \" + ex.message;\n throw ex;\n }, 0);\n });\n }\n}\nexport default TaskQueue;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n/**\n * EventEmitter manages listeners and publishes events to them.\n *\n * EventEmitter accepts a single type parameter that defines the valid events\n * and associated listener argument(s).\n *\n * @example\n *\n * const emitter = new EventEmitter<{\n * success: [number, string],\n * error: [Error],\n * }>();\n *\n * emitter.on('success', (statusCode, responseText) => {...});\n * emitter.emit('success', 200, '...');\n *\n * emitter.on('error', error => {...});\n * emitter.emit('error', new Error('Resource not found'));\n *\n */\nexport default class EventEmitter {\n constructor() {\n this._registry = {};\n }\n /**\n * Registers a listener that is called when the supplied event is emitted.\n * Returns a subscription that has a `remove` method to undo registration.\n */\n addListener(eventType, listener, context) {\n var registrations = allocate(this._registry, eventType);\n var registration = {\n context,\n listener,\n remove() {\n registrations.delete(registration);\n }\n };\n registrations.add(registration);\n return registration;\n }\n\n /**\n * Emits the supplied event. Additional arguments supplied to `emit` will be\n * passed through to each of the registered listeners.\n *\n * If a listener modifies the listeners registered for the same event, those\n * changes will not be reflected in the current invocation of `emit`.\n */\n emit(eventType) {\n var registrations = this._registry[eventType];\n if (registrations != null) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n for (var _i = 0, _arr = [...registrations]; _i < _arr.length; _i++) {\n var registration = _arr[_i];\n registration.listener.apply(registration.context, args);\n }\n }\n }\n\n /**\n * Removes all registered listeners.\n */\n removeAllListeners(eventType) {\n if (eventType == null) {\n this._registry = {};\n } else {\n delete this._registry[eventType];\n }\n }\n\n /**\n * Returns the number of registered listeners for the supplied event.\n */\n listenerCount(eventType) {\n var registrations = this._registry[eventType];\n return registrations == null ? 0 : registrations.size;\n }\n}\nfunction allocate(registry, eventType) {\n var registrations = registry[eventType];\n if (registrations == null) {\n registrations = new Set();\n registry[eventType] = registrations;\n }\n return registrations;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport canUseDOM from '../canUseDom';\nvar _requestIdleCallback = function _requestIdleCallback(cb, options) {\n return setTimeout(() => {\n var start = Date.now();\n cb({\n didTimeout: false,\n timeRemaining() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nvar _cancelIdleCallback = function _cancelIdleCallback(id) {\n clearTimeout(id);\n};\nvar isSupported = canUseDOM && typeof window.requestIdleCallback !== 'undefined';\nvar requestIdleCallback = isSupported ? window.requestIdleCallback : _requestIdleCallback;\nvar cancelIdleCallback = isSupported ? window.cancelIdleCallback : _cancelIdleCallback;\nexport default requestIdleCallback;\nexport { cancelIdleCallback };","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport invariant from 'fbjs/lib/invariant';\nimport TaskQueue from './TaskQueue';\nimport EventEmitter from '../../vendor/react-native/vendor/emitter/EventEmitter';\nimport requestIdleCallback from '../../modules/requestIdleCallback';\nvar _emitter = new EventEmitter();\nvar InteractionManager = {\n Events: {\n interactionStart: 'interactionStart',\n interactionComplete: 'interactionComplete'\n },\n /**\n * Schedule a function to run after all interactions have completed.\n */\n runAfterInteractions(task) {\n var tasks = [];\n var promise = new Promise(resolve => {\n _scheduleUpdate();\n if (task) {\n tasks.push(task);\n }\n tasks.push({\n run: resolve,\n name: 'resolve ' + (task && task.name || '?')\n });\n _taskQueue.enqueueTasks(tasks);\n });\n return {\n then: promise.then.bind(promise),\n done: promise.then.bind(promise),\n cancel: () => {\n _taskQueue.cancelTasks(tasks);\n }\n };\n },\n /**\n * Notify manager that an interaction has started.\n */\n createInteractionHandle() {\n _scheduleUpdate();\n var handle = ++_inc;\n _addInteractionSet.add(handle);\n return handle;\n },\n /**\n * Notify manager that an interaction has completed.\n */\n clearInteractionHandle(handle) {\n invariant(!!handle, 'Must provide a handle to clear.');\n _scheduleUpdate();\n _addInteractionSet.delete(handle);\n _deleteInteractionSet.add(handle);\n },\n addListener: _emitter.addListener.bind(_emitter),\n /**\n *\n * @param deadline\n */\n setDeadline(deadline) {\n _deadline = deadline;\n }\n};\nvar _interactionSet = new Set();\nvar _addInteractionSet = new Set();\nvar _deleteInteractionSet = new Set();\nvar _taskQueue = new TaskQueue({\n onMoreTasks: _scheduleUpdate\n});\nvar _nextUpdateHandle = 0;\nvar _inc = 0;\nvar _deadline = -1;\n\n/**\n * Schedule an asynchronous update to the interaction state.\n */\nfunction _scheduleUpdate() {\n if (!_nextUpdateHandle) {\n if (_deadline > 0) {\n _nextUpdateHandle = setTimeout(_processUpdate);\n } else {\n _nextUpdateHandle = requestIdleCallback(_processUpdate);\n }\n }\n}\n\n/**\n * Notify listeners, process queue, etc\n */\nfunction _processUpdate() {\n _nextUpdateHandle = 0;\n var interactionCount = _interactionSet.size;\n _addInteractionSet.forEach(handle => _interactionSet.add(handle));\n _deleteInteractionSet.forEach(handle => _interactionSet.delete(handle));\n var nextInteractionCount = _interactionSet.size;\n if (interactionCount !== 0 && nextInteractionCount === 0) {\n _emitter.emit(InteractionManager.Events.interactionComplete);\n } else if (interactionCount === 0 && nextInteractionCount !== 0) {\n _emitter.emit(InteractionManager.Events.interactionStart);\n }\n if (nextInteractionCount === 0) {\n // It seems that we can't know the running time of the current event loop,\n // we can only calculate the running time of the current task queue.\n var begin = Date.now();\n while (_taskQueue.hasTasksToProcess()) {\n _taskQueue.processNext();\n if (_deadline > 0 && Date.now() - begin >= _deadline) {\n _scheduleUpdate();\n break;\n }\n }\n }\n _addInteractionSet.clear();\n _deleteInteractionSet.clear();\n}\nexport default InteractionManager;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\n\n/**\n * A simple class for batching up invocations of a low-pri callback. A timeout is set to run the\n * callback once after a delay, no matter how many times it's scheduled. Once the delay is reached,\n * InteractionManager.runAfterInteractions is used to invoke the callback after any hi-pri\n * interactions are done running.\n *\n * Make sure to cleanup with dispose(). Example:\n *\n * class Widget extends React.Component {\n * _batchedSave: new Batchinator(() => this._saveState, 1000);\n * _saveSate() {\n * // save this.state to disk\n * }\n * componentDidUpdate() {\n * this._batchedSave.schedule();\n * }\n * componentWillUnmount() {\n * this._batchedSave.dispose();\n * }\n * ...\n * }\n */\nclass Batchinator {\n constructor(callback, delayMS) {\n this._delay = delayMS;\n this._callback = callback;\n }\n /*\n * Cleanup any pending tasks.\n *\n * By default, if there is a pending task the callback is run immediately. Set the option abort to\n * true to not call the callback if it was pending.\n */\n dispose(options) {\n if (options === void 0) {\n options = {\n abort: false\n };\n }\n if (this._taskHandle) {\n this._taskHandle.cancel();\n if (!options.abort) {\n this._callback();\n }\n this._taskHandle = null;\n }\n }\n schedule() {\n if (this._taskHandle) {\n return;\n }\n var timeoutHandle = setTimeout(() => {\n this._taskHandle = InteractionManager.runAfterInteractions(() => {\n // Note that we clear the handle before invoking the callback so that if the callback calls\n // schedule again, it will actually schedule another task.\n this._taskHandle = null;\n this._callback();\n });\n }, this._delay);\n this._taskHandle = {\n cancel: () => clearTimeout(timeoutHandle)\n };\n }\n}\nexport default Batchinator;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\nfunction clamp(min, value, max) {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n}\nexport default clamp;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\n/**\n * Intentional info-level logging for clear separation from ad-hoc console debug logging.\n */\nfunction infoLog() {\n return console.log(...arguments);\n}\nexport default infoLog;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport invariant from 'fbjs/lib/invariant';\nexport class CellRenderMask {\n constructor(numCells) {\n invariant(numCells >= 0, 'CellRenderMask must contain a non-negative number os cells');\n this._numCells = numCells;\n if (numCells === 0) {\n this._regions = [];\n } else {\n this._regions = [{\n first: 0,\n last: numCells - 1,\n isSpacer: true\n }];\n }\n }\n enumerateRegions() {\n return this._regions;\n }\n addCells(cells) {\n invariant(cells.first >= 0 && cells.first < this._numCells && cells.last >= -1 && cells.last < this._numCells && cells.last >= cells.first - 1, 'CellRenderMask.addCells called with invalid cell range');\n\n // VirtualizedList uses inclusive ranges, where zero-count states are\n // possible. E.g. [0, -1] for no cells, starting at 0.\n if (cells.last < cells.first) {\n return;\n }\n var _this$_findRegion = this._findRegion(cells.first),\n firstIntersect = _this$_findRegion[0],\n firstIntersectIdx = _this$_findRegion[1];\n var _this$_findRegion2 = this._findRegion(cells.last),\n lastIntersect = _this$_findRegion2[0],\n lastIntersectIdx = _this$_findRegion2[1];\n\n // Fast-path if the cells to add are already all present in the mask. We\n // will otherwise need to do some mutation.\n if (firstIntersectIdx === lastIntersectIdx && !firstIntersect.isSpacer) {\n return;\n }\n\n // We need to replace the existing covered regions with 1-3 new regions\n // depending whether we need to split spacers out of overlapping regions.\n var newLeadRegion = [];\n var newTailRegion = [];\n var newMainRegion = _objectSpread(_objectSpread({}, cells), {}, {\n isSpacer: false\n });\n if (firstIntersect.first < newMainRegion.first) {\n if (firstIntersect.isSpacer) {\n newLeadRegion.push({\n first: firstIntersect.first,\n last: newMainRegion.first - 1,\n isSpacer: true\n });\n } else {\n newMainRegion.first = firstIntersect.first;\n }\n }\n if (lastIntersect.last > newMainRegion.last) {\n if (lastIntersect.isSpacer) {\n newTailRegion.push({\n first: newMainRegion.last + 1,\n last: lastIntersect.last,\n isSpacer: true\n });\n } else {\n newMainRegion.last = lastIntersect.last;\n }\n }\n var replacementRegions = [...newLeadRegion, newMainRegion, ...newTailRegion];\n var numRegionsToDelete = lastIntersectIdx - firstIntersectIdx + 1;\n this._regions.splice(firstIntersectIdx, numRegionsToDelete, ...replacementRegions);\n }\n numCells() {\n return this._numCells;\n }\n equals(other) {\n return this._numCells === other._numCells && this._regions.length === other._regions.length && this._regions.every((region, i) => region.first === other._regions[i].first && region.last === other._regions[i].last && region.isSpacer === other._regions[i].isSpacer);\n }\n _findRegion(cellIdx) {\n var firstIdx = 0;\n var lastIdx = this._regions.length - 1;\n while (firstIdx <= lastIdx) {\n var middleIdx = Math.floor((firstIdx + lastIdx) / 2);\n var middleRegion = this._regions[middleIdx];\n if (cellIdx >= middleRegion.first && cellIdx <= middleRegion.last) {\n return [middleRegion, middleIdx];\n } else if (cellIdx < middleRegion.first) {\n lastIdx = middleIdx - 1;\n } else if (cellIdx > middleRegion.last) {\n firstIdx = middleIdx + 1;\n }\n }\n invariant(false, \"A region was not found containing cellIdx \" + cellIdx);\n }\n}","import _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport invariant from 'fbjs/lib/invariant';\nexport default class ChildListCollection {\n constructor() {\n this._cellKeyToChildren = new Map();\n this._childrenToCellKey = new Map();\n }\n add(list, cellKey) {\n var _this$_cellKeyToChild;\n invariant(!this._childrenToCellKey.has(list), 'Trying to add already present child list');\n var cellLists = (_this$_cellKeyToChild = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild !== void 0 ? _this$_cellKeyToChild : new Set();\n cellLists.add(list);\n this._cellKeyToChildren.set(cellKey, cellLists);\n this._childrenToCellKey.set(list, cellKey);\n }\n remove(list) {\n var cellKey = this._childrenToCellKey.get(list);\n invariant(cellKey != null, 'Trying to remove non-present child list');\n this._childrenToCellKey.delete(list);\n var cellLists = this._cellKeyToChildren.get(cellKey);\n invariant(cellLists, '_cellKeyToChildren should contain cellKey');\n cellLists.delete(list);\n if (cellLists.size === 0) {\n this._cellKeyToChildren.delete(cellKey);\n }\n }\n forEach(fn) {\n for (var _iterator = _createForOfIteratorHelperLoose(this._cellKeyToChildren.values()), _step; !(_step = _iterator()).done;) {\n var listSet = _step.value;\n for (var _iterator2 = _createForOfIteratorHelperLoose(listSet), _step2; !(_step2 = _iterator2()).done;) {\n var list = _step2.value;\n fn(list);\n }\n }\n }\n forEachInCell(cellKey, fn) {\n var _this$_cellKeyToChild2;\n var listSet = (_this$_cellKeyToChild2 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild2 !== void 0 ? _this$_cellKeyToChild2 : [];\n for (var _iterator3 = _createForOfIteratorHelperLoose(listSet), _step3; !(_step3 = _iterator3()).done;) {\n var list = _step3.value;\n fn(list);\n }\n }\n anyInCell(cellKey, fn) {\n var _this$_cellKeyToChild3;\n var listSet = (_this$_cellKeyToChild3 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild3 !== void 0 ? _this$_cellKeyToChild3 : [];\n for (var _iterator4 = _createForOfIteratorHelperLoose(listSet), _step4; !(_step4 = _iterator4()).done;) {\n var list = _step4.value;\n if (fn(list)) {\n return true;\n }\n }\n return false;\n }\n size() {\n return this._childrenToCellKey.size;\n }\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nclass Info {\n constructor() {\n this.any_blank_count = 0;\n this.any_blank_ms = 0;\n this.any_blank_speed_sum = 0;\n this.mostly_blank_count = 0;\n this.mostly_blank_ms = 0;\n this.pixels_blank = 0;\n this.pixels_sampled = 0;\n this.pixels_scrolled = 0;\n this.total_time_spent = 0;\n this.sample_count = 0;\n }\n}\nvar DEBUG = false;\nvar _listeners = [];\nvar _minSampleCount = 10;\nvar _sampleRate = DEBUG ? 1 : null;\n\n/**\n * A helper class for detecting when the maximem fill rate of `VirtualizedList` is exceeded.\n * By default the sampling rate is set to zero and this will do nothing. If you want to collect\n * samples (e.g. to log them), make sure to call `FillRateHelper.setSampleRate(0.0-1.0)`.\n *\n * Listeners and sample rate are global for all `VirtualizedList`s - typical usage will combine with\n * `SceneTracker.getActiveScene` to determine the context of the events.\n */\nclass FillRateHelper {\n static addListener(callback) {\n if (_sampleRate === null) {\n console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');\n }\n _listeners.push(callback);\n return {\n remove: () => {\n _listeners = _listeners.filter(listener => callback !== listener);\n }\n };\n }\n static setSampleRate(sampleRate) {\n _sampleRate = sampleRate;\n }\n static setMinSampleCount(minSampleCount) {\n _minSampleCount = minSampleCount;\n }\n constructor(getFrameMetrics) {\n this._anyBlankStartTime = null;\n this._enabled = false;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n this._getFrameMetrics = getFrameMetrics;\n this._enabled = (_sampleRate || 0) > Math.random();\n this._resetData();\n }\n activate() {\n if (this._enabled && this._samplesStartTime == null) {\n DEBUG && console.debug('FillRateHelper: activate');\n this._samplesStartTime = global.performance.now();\n }\n }\n deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n var start = this._samplesStartTime; // const for flow\n if (start == null) {\n DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time');\n return;\n }\n if (this._info.sample_count < _minSampleCount) {\n // Don't bother with under-sampled events.\n this._resetData();\n return;\n }\n var total_time_spent = global.performance.now() - start;\n var info = _objectSpread(_objectSpread({}, this._info), {}, {\n total_time_spent\n });\n if (DEBUG) {\n var derived = {\n avg_blankness: this._info.pixels_blank / this._info.pixels_sampled,\n avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000),\n avg_speed_when_any_blank: this._info.any_blank_speed_sum / this._info.any_blank_count,\n any_blank_per_min: this._info.any_blank_count / (total_time_spent / 1000 / 60),\n any_blank_time_frac: this._info.any_blank_ms / total_time_spent,\n mostly_blank_per_min: this._info.mostly_blank_count / (total_time_spent / 1000 / 60),\n mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent\n };\n for (var key in derived) {\n // $FlowFixMe[prop-missing]\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n console.debug('FillRateHelper deactivateAndFlush: ', {\n derived,\n info\n });\n }\n _listeners.forEach(listener => listener(info));\n this._resetData();\n }\n computeBlankness(props, cellsAroundViewport, scrollMetrics) {\n if (!this._enabled || props.getItemCount(props.data) === 0 || cellsAroundViewport.last < cellsAroundViewport.first || this._samplesStartTime == null) {\n return 0;\n }\n var dOffset = scrollMetrics.dOffset,\n offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength;\n\n // Denominator metrics that we track for all events - most of the time there is no blankness and\n // we want to capture that.\n this._info.sample_count++;\n this._info.pixels_sampled += Math.round(visibleLength);\n this._info.pixels_scrolled += Math.round(Math.abs(dOffset));\n var scrollSpeed = Math.round(Math.abs(velocity) * 1000); // px / sec\n\n // Whether blank now or not, record the elapsed time blank if we were blank last time.\n var now = global.performance.now();\n if (this._anyBlankStartTime != null) {\n this._info.any_blank_ms += now - this._anyBlankStartTime;\n }\n this._anyBlankStartTime = null;\n if (this._mostlyBlankStartTime != null) {\n this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;\n }\n this._mostlyBlankStartTime = null;\n var blankTop = 0;\n var first = cellsAroundViewport.first;\n var firstFrame = this._getFrameMetrics(first, props);\n while (first <= cellsAroundViewport.last && (!firstFrame || !firstFrame.inLayout)) {\n firstFrame = this._getFrameMetrics(first, props);\n first++;\n }\n // Only count blankTop if we aren't rendering the first item, otherwise we will count the header\n // as blank.\n if (firstFrame && first > 0) {\n blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset));\n }\n var blankBottom = 0;\n var last = cellsAroundViewport.last;\n var lastFrame = this._getFrameMetrics(last, props);\n while (last >= cellsAroundViewport.first && (!lastFrame || !lastFrame.inLayout)) {\n lastFrame = this._getFrameMetrics(last, props);\n last--;\n }\n // Only count blankBottom if we aren't rendering the last item, otherwise we will count the\n // footer as blank.\n if (lastFrame && last < props.getItemCount(props.data) - 1) {\n var bottomEdge = lastFrame.offset + lastFrame.length;\n blankBottom = Math.min(visibleLength, Math.max(0, offset + visibleLength - bottomEdge));\n }\n var pixels_blank = Math.round(blankTop + blankBottom);\n var blankness = pixels_blank / visibleLength;\n if (blankness > 0) {\n this._anyBlankStartTime = now;\n this._info.any_blank_speed_sum += scrollSpeed;\n this._info.any_blank_count++;\n this._info.pixels_blank += pixels_blank;\n if (blankness > 0.5) {\n this._mostlyBlankStartTime = now;\n this._info.mostly_blank_count++;\n }\n } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {\n this.deactivateAndFlush();\n }\n return blankness;\n }\n enabled() {\n return this._enabled;\n }\n _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n }\n}\nexport default FillRateHelper;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\n\n/**\n * `setState` is called asynchronously, and should not rely on the value of\n * `this.props` or `this.state`:\n * https://reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous\n *\n * SafePureComponent adds runtime enforcement, to catch cases where these\n * variables are read in a state updater function, instead of the ones passed\n * in.\n */\nexport default class StateSafePureComponent extends React.PureComponent {\n constructor(props) {\n super(props);\n this._inAsyncStateUpdate = false;\n this._installSetStateHooks();\n }\n setState(partialState, callback) {\n if (typeof partialState === 'function') {\n super.setState((state, props) => {\n this._inAsyncStateUpdate = true;\n var ret;\n try {\n ret = partialState(state, props);\n } catch (err) {\n throw err;\n } finally {\n this._inAsyncStateUpdate = false;\n }\n return ret;\n }, callback);\n } else {\n super.setState(partialState, callback);\n }\n }\n _installSetStateHooks() {\n var that = this;\n var props = this.props,\n state = this.state;\n Object.defineProperty(this, 'props', {\n get() {\n invariant(!that._inAsyncStateUpdate, '\"this.props\" should not be accessed during state updates');\n return props;\n },\n set(newProps) {\n props = newProps;\n }\n });\n Object.defineProperty(this, 'state', {\n get() {\n invariant(!that._inAsyncStateUpdate, '\"this.state\" should not be acceessed during state updates');\n return state;\n },\n set(newState) {\n state = newState;\n }\n });\n }\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport invariant from 'fbjs/lib/invariant';\n/**\n * A Utility class for calculating viewable items based on current metrics like scroll position and\n * layout.\n *\n * An item is said to be in a \"viewable\" state when any of the following\n * is true for longer than `minimumViewTime` milliseconds (after an interaction if `waitForInteraction`\n * is true):\n *\n * - Occupying >= `viewAreaCoveragePercentThreshold` of the view area XOR fraction of the item\n * visible in the view area >= `itemVisiblePercentThreshold`.\n * - Entirely visible on screen\n */\nclass ViewabilityHelper {\n constructor(config) {\n if (config === void 0) {\n config = {\n viewAreaCoveragePercentThreshold: 0\n };\n }\n this._hasInteracted = false;\n this._timers = new Set();\n this._viewableIndices = [];\n this._viewableItems = new Map();\n this._config = config;\n }\n\n /**\n * Cleanup, e.g. on unmount. Clears any pending timers.\n */\n dispose() {\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To see\n * the error delete this comment and run Flow. */\n this._timers.forEach(clearTimeout);\n }\n\n /**\n * Determines which items are viewable based on the current metrics and config.\n */\n computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\n var _this$_config = this._config,\n itemVisiblePercentThreshold = _this$_config.itemVisiblePercentThreshold,\n viewAreaCoveragePercentThreshold = _this$_config.viewAreaCoveragePercentThreshold;\n var viewAreaMode = viewAreaCoveragePercentThreshold != null;\n var viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;\n invariant(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold');\n var viewableIndices = [];\n if (itemCount === 0) {\n return viewableIndices;\n }\n var firstVisible = -1;\n var _ref = renderRange || {\n first: 0,\n last: itemCount - 1\n },\n first = _ref.first,\n last = _ref.last;\n if (last >= itemCount) {\n console.warn('Invalid render range computing viewability ' + JSON.stringify({\n renderRange,\n itemCount\n }));\n return [];\n }\n for (var idx = first; idx <= last; idx++) {\n var metrics = getFrameMetrics(idx, props);\n if (!metrics) {\n continue;\n }\n var top = metrics.offset - scrollOffset;\n var bottom = top + metrics.length;\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {\n viewableIndices.push(idx);\n }\n } else if (firstVisible >= 0) {\n break;\n }\n }\n return viewableIndices;\n }\n\n /**\n * Figures out which items are viewable and how that has changed from before and calls\n * `onViewableItemsChanged` as appropriate.\n */\n onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {\n return;\n }\n var viewableIndices = [];\n if (itemCount) {\n viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);\n }\n if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {\n // We might get a lot of scroll events where visibility doesn't change and we don't want to do\n // extra work in those cases.\n return;\n }\n this._viewableIndices = viewableIndices;\n if (this._config.minimumViewTime) {\n var handle = setTimeout(() => {\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To\n * see the error delete this comment and run Flow. */\n this._timers.delete(handle);\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }, this._config.minimumViewTime);\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To see\n * the error delete this comment and run Flow. */\n this._timers.add(handle);\n } else {\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }\n }\n\n /**\n * clean-up cached _viewableIndices to evaluate changed items on next update\n */\n resetViewableIndices() {\n this._viewableIndices = [];\n }\n\n /**\n * Records that an interaction has happened even if there has been no scroll.\n */\n recordInteraction() {\n this._hasInteracted = true;\n }\n _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {\n // Filter out indices that have gone out of view since this call was scheduled.\n viewableIndicesToCheck = viewableIndicesToCheck.filter(ii => this._viewableIndices.includes(ii));\n var prevItems = this._viewableItems;\n var nextItems = new Map(viewableIndicesToCheck.map(ii => {\n var viewable = createViewToken(ii, true, props);\n return [viewable.key, viewable];\n }));\n var changed = [];\n for (var _iterator = _createForOfIteratorHelperLoose(nextItems), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n viewable = _step$value[1];\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\n }\n for (var _iterator2 = _createForOfIteratorHelperLoose(prevItems), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n _key = _step2$value[0],\n _viewable = _step2$value[1];\n if (!nextItems.has(_key)) {\n changed.push(_objectSpread(_objectSpread({}, _viewable), {}, {\n isViewable: false\n }));\n }\n }\n if (changed.length > 0) {\n this._viewableItems = nextItems;\n onViewableItemsChanged({\n viewableItems: Array.from(nextItems.values()),\n changed,\n viewabilityConfig: this._config\n });\n }\n }\n}\nfunction _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {\n if (_isEntirelyVisible(top, bottom, viewportHeight)) {\n return true;\n } else {\n var pixels = _getPixelsVisible(top, bottom, viewportHeight);\n var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\n}\nfunction _getPixelsVisible(top, bottom, viewportHeight) {\n var visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);\n return Math.max(0, visibleHeight);\n}\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\nexport default ViewabilityHelper;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nexport var VirtualizedListContext = /*#__PURE__*/React.createContext(null);\nif (__DEV__) {\n VirtualizedListContext.displayName = 'VirtualizedListContext';\n}\n\n/**\n * Resets the context. Intended for use by portal-like components (e.g. Modal).\n */\nexport function VirtualizedListContextResetter(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: null\n }, children);\n}\n\n/**\n * Sets the context with memoization. Intended to be used by `VirtualizedList`.\n */\nexport function VirtualizedListContextProvider(_ref2) {\n var children = _ref2.children,\n value = _ref2.value;\n // Avoid setting a newly created context object if the values are identical.\n var context = useMemo(() => ({\n cellKey: null,\n getScrollMetrics: value.getScrollMetrics,\n horizontal: value.horizontal,\n getOutermostParentListRef: value.getOutermostParentListRef,\n registerAsNestedChild: value.registerAsNestedChild,\n unregisterAsNestedChild: value.unregisterAsNestedChild\n }), [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.registerAsNestedChild, value.unregisterAsNestedChild]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}\n\n/**\n * Sets the `cellKey`. Intended to be used by `VirtualizedList` for each cell.\n */\nexport function VirtualizedListCellContextProvider(_ref3) {\n var cellKey = _ref3.cellKey,\n children = _ref3.children;\n // Avoid setting a newly created context object if the values are identical.\n var currContext = useContext(VirtualizedListContext);\n var context = useMemo(() => currContext == null ? null : _objectSpread(_objectSpread({}, currContext), {}, {\n cellKey\n }), [currContext, cellKey]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport { VirtualizedListCellContextProvider } from './VirtualizedListContext.js';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\nexport default class CellRenderer extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n separatorProps: {\n highlighted: false,\n leadingItem: this.props.item\n }\n };\n this._separators = {\n highlight: () => {\n var _this$props = this.props,\n cellKey = _this$props.cellKey,\n prevCellKey = _this$props.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: true\n });\n },\n unhighlight: () => {\n var _this$props2 = this.props,\n cellKey = _this$props2.cellKey,\n prevCellKey = _this$props2.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: false\n });\n },\n updateProps: (select, newProps) => {\n var _this$props3 = this.props,\n cellKey = _this$props3.cellKey,\n prevCellKey = _this$props3.prevCellKey;\n this.props.onUpdateSeparators([select === 'leading' ? prevCellKey : cellKey], newProps);\n }\n };\n this._onLayout = nativeEvent => {\n this.props.onCellLayout && this.props.onCellLayout(nativeEvent, this.props.cellKey, this.props.index);\n };\n }\n static getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item\n })\n };\n }\n\n // TODO: consider factoring separator stuff out of VirtualizedList into FlatList since it's not\n // reused by SectionList and we can keep VirtualizedList simpler.\n // $FlowFixMe[missing-local-annot]\n updateSeparatorProps(newProps) {\n this.setState(state => ({\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n }));\n }\n componentWillUnmount() {\n this.props.onUnmount(this.props.cellKey);\n }\n _renderElement(renderItem, ListItemComponent, item, index) {\n if (renderItem && ListItemComponent) {\n console.warn('VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take' + ' precedence over renderItem.');\n }\n if (ListItemComponent) {\n /* $FlowFixMe[not-a-component] (>=0.108.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.108 was deployed. To\n * see the error, delete this comment and run Flow. */\n /* $FlowFixMe[incompatible-type-arg] (>=0.108.0 site=react_native_fb)\n * This comment suppresses an error found when Flow v0.108 was deployed.\n * To see the error, delete this comment and run Flow. */\n return /*#__PURE__*/React.createElement(ListItemComponent, {\n item,\n index,\n separators: this._separators\n });\n }\n if (renderItem) {\n return renderItem({\n item,\n index,\n separators: this._separators\n });\n }\n invariant(false, 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.');\n }\n render() {\n var _this$props4 = this.props,\n CellRendererComponent = _this$props4.CellRendererComponent,\n ItemSeparatorComponent = _this$props4.ItemSeparatorComponent,\n ListItemComponent = _this$props4.ListItemComponent,\n cellKey = _this$props4.cellKey,\n horizontal = _this$props4.horizontal,\n item = _this$props4.item,\n index = _this$props4.index,\n inversionStyle = _this$props4.inversionStyle,\n onCellFocusCapture = _this$props4.onCellFocusCapture,\n onCellLayout = _this$props4.onCellLayout,\n renderItem = _this$props4.renderItem;\n var element = this._renderElement(renderItem, ListItemComponent, item, index);\n\n // NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and\n // called explicitly by `ScrollViewStickyHeader`.\n var itemSeparator = /*#__PURE__*/React.isValidElement(ItemSeparatorComponent) ?\n // $FlowFixMe[incompatible-type]\n ItemSeparatorComponent :\n // $FlowFixMe[incompatible-type]\n ItemSeparatorComponent && /*#__PURE__*/React.createElement(ItemSeparatorComponent, this.state.separatorProps);\n var cellStyle = inversionStyle ? horizontal ? [styles.rowReverse, inversionStyle] : [styles.columnReverse, inversionStyle] : horizontal ? [styles.row, inversionStyle] : inversionStyle;\n var result = !CellRendererComponent ? /*#__PURE__*/React.createElement(View, _extends({\n style: cellStyle,\n onFocusCapture: onCellFocusCapture\n }, onCellLayout && {\n onLayout: this._onLayout\n }), element, itemSeparator) : /*#__PURE__*/React.createElement(CellRendererComponent, _extends({\n cellKey: cellKey,\n index: index,\n item: item,\n style: cellStyle,\n onFocusCapture: onCellFocusCapture\n }, onCellLayout && {\n onLayout: this._onLayout\n }), element, itemSeparator);\n return /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this.props.cellKey\n }, result);\n }\n}\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n },\n rowReverse: {\n flexDirection: 'row-reverse'\n },\n columnReverse: {\n flexDirection: 'column-reverse'\n }\n});","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\n/**\n * Used to find the indices of the frames that overlap the given offsets. Useful for finding the\n * items that bound different windows of content, such as the visible area or the buffered overscan\n * area.\n */\nexport function elementsThatOverlapOffsets(offsets, props, getFrameMetrics, zoomScale) {\n if (zoomScale === void 0) {\n zoomScale = 1;\n }\n var itemCount = props.getItemCount(props.data);\n var result = [];\n for (var offsetIndex = 0; offsetIndex < offsets.length; offsetIndex++) {\n var currentOffset = offsets[offsetIndex];\n var left = 0;\n var right = itemCount - 1;\n while (left <= right) {\n // eslint-disable-next-line no-bitwise\n var mid = left + (right - left >>> 1);\n var frame = getFrameMetrics(mid, props);\n var scaledOffsetStart = frame.offset * zoomScale;\n var scaledOffsetEnd = (frame.offset + frame.length) * zoomScale;\n\n // We want the first frame that contains the offset, with inclusive bounds. Thus, for the\n // first frame the scaledOffsetStart is inclusive, while for other frames it is exclusive.\n if (mid === 0 && currentOffset < scaledOffsetStart || mid !== 0 && currentOffset <= scaledOffsetStart) {\n right = mid - 1;\n } else if (currentOffset > scaledOffsetEnd) {\n left = mid + 1;\n } else {\n result[offsetIndex] = mid;\n break;\n }\n }\n }\n return result;\n}\n\n/**\n * Computes the number of elements in the `next` range that are new compared to the `prev` range.\n * Handy for calculating how many new items will be rendered when the render window changes so we\n * can restrict the number of new items render at once so that content can appear on the screen\n * faster.\n */\nexport function newRangeCount(prev, next) {\n return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first));\n}\n\n/**\n * Custom logic for determining which items should be rendered given the current frame and scroll\n * metrics, as well as the previous render state. The algorithm may evolve over time, but generally\n * prioritizes the visible area first, then expands that with overscan regions ahead and behind,\n * biased in the direction of scroll.\n */\nexport function computeWindowedRenderLimits(props, maxToRenderPerBatch, windowSize, prev, getFrameMetricsApprox, scrollMetrics) {\n var itemCount = props.getItemCount(props.data);\n if (itemCount === 0) {\n return {\n first: 0,\n last: -1\n };\n }\n var offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength,\n _scrollMetrics$zoomSc = scrollMetrics.zoomScale,\n zoomScale = _scrollMetrics$zoomSc === void 0 ? 1 : _scrollMetrics$zoomSc;\n\n // Start with visible area, then compute maximum overscan region by expanding from there, biased\n // in the direction of scroll. Total overscan area is capped, which should cap memory consumption\n // too.\n var visibleBegin = Math.max(0, offset);\n var visibleEnd = visibleBegin + visibleLength;\n var overscanLength = (windowSize - 1) * visibleLength;\n\n // Considering velocity seems to introduce more churn than it's worth.\n var leadFactor = 0.5; // Math.max(0, Math.min(1, velocity / 25 + 0.5));\n\n var fillPreference = velocity > 1 ? 'after' : velocity < -1 ? 'before' : 'none';\n var overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength);\n var overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength);\n var lastItemOffset = getFrameMetricsApprox(itemCount - 1, props).offset * zoomScale;\n if (lastItemOffset < overscanBegin) {\n // Entire list is before our overscan window\n return {\n first: Math.max(0, itemCount - 1 - maxToRenderPerBatch),\n last: itemCount - 1\n };\n }\n\n // Find the indices that correspond to the items at the render boundaries we're targeting.\n var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], props, getFrameMetricsApprox, zoomScale),\n overscanFirst = _elementsThatOverlapO[0],\n first = _elementsThatOverlapO[1],\n last = _elementsThatOverlapO[2],\n overscanLast = _elementsThatOverlapO[3];\n overscanFirst = overscanFirst == null ? 0 : overscanFirst;\n first = first == null ? Math.max(0, overscanFirst) : first;\n overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;\n last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;\n var visible = {\n first,\n last\n };\n\n // We want to limit the number of new cells we're rendering per batch so that we can fill the\n // content on the screen quickly. If we rendered the entire overscan window at once, the user\n // could be staring at white space for a long time waiting for a bunch of offscreen content to\n // render.\n var newCellCount = newRangeCount(prev, visible);\n while (true) {\n if (first <= overscanFirst && last >= overscanLast) {\n // If we fill the entire overscan range, we're done.\n break;\n }\n var maxNewCells = newCellCount >= maxToRenderPerBatch;\n var firstWillAddMore = first <= prev.first || first > prev.last;\n var firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore);\n var lastWillAddMore = last >= prev.last || last < prev.first;\n var lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore);\n if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) {\n // We only want to stop if we've hit maxNewCells AND we cannot increment first or last\n // without rendering new items. This let's us preserve as many already rendered items as\n // possible, reducing render churn and keeping the rendered overscan range as large as\n // possible.\n break;\n }\n if (firstShouldIncrement && !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)) {\n if (firstWillAddMore) {\n newCellCount++;\n }\n first--;\n }\n if (lastShouldIncrement && !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)) {\n if (lastWillAddMore) {\n newCellCount++;\n }\n last++;\n }\n }\n if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) {\n throw new Error('Bad window calculation ' + JSON.stringify({\n first,\n last,\n itemCount,\n overscanFirst,\n overscanLast,\n visible\n }));\n }\n return {\n first,\n last\n };\n}\nexport function keyExtractor(item, index) {\n if (typeof item === 'object' && (item == null ? void 0 : item.key) != null) {\n return item.key;\n }\n if (typeof item === 'object' && (item == null ? void 0 : item.id) != null) {\n return item.id;\n }\n return String(index);\n}","import _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport RefreshControl from '../../../exports/RefreshControl';\nimport ScrollView from '../../../exports/ScrollView';\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport findNodeHandle from '../../../exports/findNodeHandle';\nimport Batchinator from '../Batchinator';\nimport clamp from '../Utilities/clamp';\nimport infoLog from '../infoLog';\nimport { CellRenderMask } from './CellRenderMask';\nimport ChildListCollection from './ChildListCollection';\nimport FillRateHelper from '../FillRateHelper';\nimport StateSafePureComponent from './StateSafePureComponent';\nimport ViewabilityHelper from '../ViewabilityHelper';\nimport CellRenderer from './VirtualizedListCellRenderer';\nimport { VirtualizedListCellContextProvider, VirtualizedListContext, VirtualizedListContextProvider } from './VirtualizedListContext.js';\nimport { computeWindowedRenderLimits, keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport invariant from 'fbjs/lib/invariant';\nimport nullthrows from 'nullthrows';\nimport * as React from 'react';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar ON_EDGE_REACHED_EPSILON = 0.001;\nvar _usedIndexForKey = false;\nvar _keylessItemComponentName = '';\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */ // horizontalOrDefault(this.props.horizontal)\nfunction horizontalOrDefault(horizontal) {\n return horizontal !== null && horizontal !== void 0 ? horizontal : false;\n}\n\n// initialNumToRenderOrDefault(this.props.initialNumToRender)\nfunction initialNumToRenderOrDefault(initialNumToRender) {\n return initialNumToRender !== null && initialNumToRender !== void 0 ? initialNumToRender : 10;\n}\n\n// maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch)\nfunction maxToRenderPerBatchOrDefault(maxToRenderPerBatch) {\n return maxToRenderPerBatch !== null && maxToRenderPerBatch !== void 0 ? maxToRenderPerBatch : 10;\n}\n\n// onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold)\nfunction onStartReachedThresholdOrDefault(onStartReachedThreshold) {\n return onStartReachedThreshold !== null && onStartReachedThreshold !== void 0 ? onStartReachedThreshold : 2;\n}\n\n// onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold)\nfunction onEndReachedThresholdOrDefault(onEndReachedThreshold) {\n return onEndReachedThreshold !== null && onEndReachedThreshold !== void 0 ? onEndReachedThreshold : 2;\n}\n\n// getScrollingThreshold(visibleLength, onEndReachedThreshold)\nfunction getScrollingThreshold(threshold, visibleLength) {\n return threshold * visibleLength / 2;\n}\n\n// scrollEventThrottleOrDefault(this.props.scrollEventThrottle)\nfunction scrollEventThrottleOrDefault(scrollEventThrottle) {\n return scrollEventThrottle !== null && scrollEventThrottle !== void 0 ? scrollEventThrottle : 50;\n}\n\n// windowSizeOrDefault(this.props.windowSize)\nfunction windowSizeOrDefault(windowSize) {\n return windowSize !== null && windowSize !== void 0 ? windowSize : 21;\n}\nfunction findLastWhere(arr, predicate) {\n for (var i = arr.length - 1; i >= 0; i--) {\n if (predicate(arr[i])) {\n return arr[i];\n }\n }\n return null;\n}\n\n/**\n * Base implementation for the more convenient [``](https://reactnative.dev/docs/flatlist)\n * and [``](https://reactnative.dev/docs/sectionlist) components, which are also better\n * documented. In general, this should only really be used if you need more flexibility than\n * `FlatList` provides, e.g. for use with immutable data instead of plain arrays.\n *\n * Virtualization massively improves memory consumption and performance of large lists by\n * maintaining a finite render window of active items and replacing all items outside of the render\n * window with appropriately sized blank space. The window adapts to scrolling behavior, and items\n * are rendered incrementally with low-pri (after any running interactions) if they are far from the\n * visible area, or with hi-pri otherwise to minimize the potential of seeing blank space.\n *\n * Some caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` or `id` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n * - As an effort to remove defaultProps, use helper functions when referencing certain props\n *\n */\nclass VirtualizedList extends StateSafePureComponent {\n // scrollToEnd may be janky without getItemLayout prop\n scrollToEnd(params) {\n var animated = params ? params.animated : true;\n var veryLast = this.props.getItemCount(this.props.data) - 1;\n if (veryLast < 0) {\n return;\n }\n var frame = this.__getFrameMetricsApprox(veryLast, this.props);\n var offset = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength);\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n\n // scrollToIndex may be janky without getItemLayout prop\n scrollToIndex(params) {\n var _this$props = this.props,\n data = _this$props.data,\n horizontal = _this$props.horizontal,\n getItemCount = _this$props.getItemCount,\n getItemLayout = _this$props.getItemLayout,\n onScrollToIndexFailed = _this$props.onScrollToIndexFailed;\n var animated = params.animated,\n index = params.index,\n viewOffset = params.viewOffset,\n viewPosition = params.viewPosition;\n invariant(index >= 0, \"scrollToIndex out of range: requested index \" + index + \" but minimum is 0\");\n invariant(getItemCount(data) >= 1, \"scrollToIndex out of range: item length \" + getItemCount(data) + \" but minimum is 1\");\n invariant(index < getItemCount(data), \"scrollToIndex out of range: requested index \" + index + \" is out of 0 to \" + (getItemCount(data) - 1));\n if (!getItemLayout && index > this._highestMeasuredFrameIndex) {\n invariant(!!onScrollToIndexFailed, 'scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, ' + 'otherwise there is no way to know the location of offscreen indices or handle failures.');\n onScrollToIndexFailed({\n averageItemLength: this._averageCellLength,\n highestMeasuredFrameIndex: this._highestMeasuredFrameIndex,\n index\n });\n return;\n }\n var frame = this.__getFrameMetricsApprox(Math.floor(index), this.props);\n var offset = Math.max(0, this._getOffsetApprox(index, this.props) - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0);\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontal ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n\n // scrollToItem may be janky without getItemLayout prop. Required linear scan through items -\n // use scrollToIndex instead if possible.\n scrollToItem(params) {\n var item = params.item;\n var _this$props2 = this.props,\n data = _this$props2.data,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount;\n var itemCount = getItemCount(data);\n for (var _index = 0; _index < itemCount; _index++) {\n if (getItem(data, _index) === item) {\n this.scrollToIndex(_objectSpread(_objectSpread({}, params), {}, {\n index: _index\n }));\n break;\n }\n }\n }\n\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Param `offset` expects the offset to scroll to.\n * In case of `horizontal` is true, the offset is the x-value,\n * in any other case the offset is the y-value.\n *\n * Param `animated` (`true` by default) defines whether the list\n * should do an animation while scrolling.\n */\n scrollToOffset(params) {\n var animated = params.animated,\n offset = params.offset;\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n recordInteraction() {\n this._nestedChildLists.forEach(childList => {\n childList.recordInteraction();\n });\n this._viewabilityTuples.forEach(t => {\n t.viewabilityHelper.recordInteraction();\n });\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n }\n flashScrollIndicators() {\n if (this._scrollRef == null) {\n return;\n }\n this._scrollRef.flashScrollIndicators();\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n * Note that `this._scrollRef` might not be a `ScrollView`, so we\n * need to check that it responds to `getScrollResponder` before calling it.\n */\n getScrollResponder() {\n if (this._scrollRef && this._scrollRef.getScrollResponder) {\n return this._scrollRef.getScrollResponder();\n }\n }\n getScrollableNode() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n return this._scrollRef.getScrollableNode();\n } else {\n return this._scrollRef;\n }\n }\n getScrollRef() {\n if (this._scrollRef && this._scrollRef.getScrollRef) {\n return this._scrollRef.getScrollRef();\n } else {\n return this._scrollRef;\n }\n }\n _getCellKey() {\n var _this$context;\n return ((_this$context = this.context) == null ? void 0 : _this$context.cellKey) || 'rootList';\n }\n\n // $FlowFixMe[missing-local-annot]\n\n hasMore() {\n return this._hasMore;\n }\n\n // $FlowFixMe[missing-local-annot]\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n\n constructor(_props) {\n var _this$props$updateCel;\n super(_props);\n this._getScrollMetrics = () => {\n return this._scrollMetrics;\n };\n this._getOutermostParentListRef = () => {\n if (this._isNestedWithSameOrientation()) {\n return this.context.getOutermostParentListRef();\n } else {\n return this;\n }\n };\n this._registerAsNestedChild = childList => {\n this._nestedChildLists.add(childList.ref, childList.cellKey);\n if (this._hasInteracted) {\n childList.ref.recordInteraction();\n }\n };\n this._unregisterAsNestedChild = childList => {\n this._nestedChildLists.remove(childList.ref);\n };\n this._onUpdateSeparators = (keys, newProps) => {\n keys.forEach(key => {\n var ref = key != null && this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n });\n };\n this._getSpacerKey = isVertical => isVertical ? 'height' : 'width';\n this._averageCellLength = 0;\n this._cellRefs = {};\n this._frames = {};\n this._footerLength = 0;\n this._hasTriggeredInitialScrollToIndex = false;\n this._hasInteracted = false;\n this._hasMore = false;\n this._hasWarned = {};\n this._headerLength = 0;\n this._hiPriInProgress = false;\n this._highestMeasuredFrameIndex = 0;\n this._indicesToKeys = new Map();\n this._lastFocusedCellKey = null;\n this._nestedChildLists = new ChildListCollection();\n this._offsetFromParentVirtualizedList = 0;\n this._prevParentOffset = 0;\n this._scrollMetrics = {\n contentLength: 0,\n dOffset: 0,\n dt: 10,\n offset: 0,\n timestamp: 0,\n velocity: 0,\n visibleLength: 0,\n zoomScale: 1\n };\n this._scrollRef = null;\n this._sentStartForContentLength = 0;\n this._sentEndForContentLength = 0;\n this._totalCellLength = 0;\n this._totalCellsMeasured = 0;\n this._viewabilityTuples = [];\n this._captureScrollRef = ref => {\n this._scrollRef = ref;\n };\n this._defaultRenderScrollComponent = props => {\n var onRefresh = props.onRefresh;\n if (this._isNestedWithSameOrientation()) {\n // $FlowFixMe[prop-missing] - Typing ReactNativeComponent revealed errors\n return /*#__PURE__*/React.createElement(View, props);\n } else if (onRefresh) {\n var _props$refreshing;\n invariant(typeof props.refreshing === 'boolean', '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' + JSON.stringify((_props$refreshing = props.refreshing) !== null && _props$refreshing !== void 0 ? _props$refreshing : 'undefined') + '`');\n return (\n /*#__PURE__*/\n // $FlowFixMe[prop-missing] Invalid prop usage\n // $FlowFixMe[incompatible-use]\n React.createElement(ScrollView, _extends({}, props, {\n refreshControl: props.refreshControl == null ? /*#__PURE__*/React.createElement(RefreshControl\n // $FlowFixMe[incompatible-type]\n , {\n refreshing: props.refreshing,\n onRefresh: onRefresh,\n progressViewOffset: props.progressViewOffset\n }) : props.refreshControl\n }))\n );\n } else {\n // $FlowFixMe[prop-missing] Invalid prop usage\n // $FlowFixMe[incompatible-use]\n return /*#__PURE__*/React.createElement(ScrollView, props);\n }\n };\n this._onCellLayout = (e, cellKey, index) => {\n var layout = e.nativeEvent.layout;\n var next = {\n offset: this._selectOffset(layout),\n length: this._selectLength(layout),\n index,\n inLayout: true\n };\n var curr = this._frames[cellKey];\n if (!curr || next.offset !== curr.offset || next.length !== curr.length || index !== curr.index) {\n this._totalCellLength += next.length - (curr ? curr.length : 0);\n this._totalCellsMeasured += curr ? 0 : 1;\n this._averageCellLength = this._totalCellLength / this._totalCellsMeasured;\n this._frames[cellKey] = next;\n this._highestMeasuredFrameIndex = Math.max(this._highestMeasuredFrameIndex, index);\n this._scheduleCellsToRenderUpdate();\n } else {\n this._frames[cellKey].inLayout = true;\n }\n this._triggerRemeasureForChildListsInCell(cellKey);\n this._computeBlankness();\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n };\n this._onCellUnmount = cellKey => {\n delete this._cellRefs[cellKey];\n var curr = this._frames[cellKey];\n if (curr) {\n this._frames[cellKey] = _objectSpread(_objectSpread({}, curr), {}, {\n inLayout: false\n });\n }\n };\n this._onLayout = e => {\n if (this._isNestedWithSameOrientation()) {\n // Need to adjust our scroll metrics to be relative to our containing\n // VirtualizedList before we can make claims about list item viewability\n this.measureLayoutRelativeToContainingList();\n } else {\n this._scrollMetrics.visibleLength = this._selectLength(e.nativeEvent.layout);\n }\n this.props.onLayout && this.props.onLayout(e);\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\n };\n this._onLayoutEmpty = e => {\n this.props.onLayout && this.props.onLayout(e);\n };\n this._onLayoutFooter = e => {\n this._triggerRemeasureForChildListsInCell(this._getFooterCellKey());\n this._footerLength = this._selectLength(e.nativeEvent.layout);\n };\n this._onLayoutHeader = e => {\n this._headerLength = this._selectLength(e.nativeEvent.layout);\n };\n this._onContentSizeChange = (width, height) => {\n if (width > 0 && height > 0 && this.props.initialScrollIndex != null && this.props.initialScrollIndex > 0 && !this._hasTriggeredInitialScrollToIndex) {\n if (this.props.contentOffset == null) {\n if (this.props.initialScrollIndex < this.props.getItemCount(this.props.data)) {\n this.scrollToIndex({\n animated: false,\n index: nullthrows(this.props.initialScrollIndex)\n });\n } else {\n this.scrollToEnd({\n animated: false\n });\n }\n }\n this._hasTriggeredInitialScrollToIndex = true;\n }\n if (this.props.onContentSizeChange) {\n this.props.onContentSizeChange(width, height);\n }\n this._scrollMetrics.contentLength = this._selectLength({\n height,\n width\n });\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\n };\n this._convertParentScrollMetrics = metrics => {\n // Offset of the top of the nested list relative to the top of its parent's viewport\n var offset = metrics.offset - this._offsetFromParentVirtualizedList;\n // Child's visible length is the same as its parent's\n var visibleLength = metrics.visibleLength;\n var dOffset = offset - this._scrollMetrics.offset;\n var contentLength = this._scrollMetrics.contentLength;\n return {\n visibleLength,\n contentLength,\n offset,\n dOffset\n };\n };\n this._onScroll = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScroll(e);\n });\n if (this.props.onScroll) {\n this.props.onScroll(e);\n }\n var timestamp = e.timeStamp;\n var visibleLength = this._selectLength(e.nativeEvent.layoutMeasurement);\n var contentLength = this._selectLength(e.nativeEvent.contentSize);\n var offset = this._selectOffset(e.nativeEvent.contentOffset);\n var dOffset = offset - this._scrollMetrics.offset;\n if (this._isNestedWithSameOrientation()) {\n if (this._scrollMetrics.contentLength === 0) {\n // Ignore scroll events until onLayout has been called and we\n // know our offset from our offset from our parent\n return;\n }\n var _this$_convertParentS = this._convertParentScrollMetrics({\n visibleLength,\n offset\n });\n visibleLength = _this$_convertParentS.visibleLength;\n contentLength = _this$_convertParentS.contentLength;\n offset = _this$_convertParentS.offset;\n dOffset = _this$_convertParentS.dOffset;\n }\n var dt = this._scrollMetrics.timestamp ? Math.max(1, timestamp - this._scrollMetrics.timestamp) : 1;\n var velocity = dOffset / dt;\n if (dt > 500 && this._scrollMetrics.dt > 500 && contentLength > 5 * visibleLength && !this._hasWarned.perf) {\n infoLog('VirtualizedList: You have a large list that is slow to update - make sure your ' + 'renderItem function renders components that follow React performance best practices ' + 'like PureComponent, shouldComponentUpdate, etc.', {\n dt,\n prevDt: this._scrollMetrics.dt,\n contentLength\n });\n this._hasWarned.perf = true;\n }\n\n // For invalid negative values (w/ RTL), set this to 1.\n var zoomScale = e.nativeEvent.zoomScale < 0 ? 1 : e.nativeEvent.zoomScale;\n this._scrollMetrics = {\n contentLength,\n dt,\n dOffset,\n offset,\n timestamp,\n velocity,\n visibleLength,\n zoomScale\n };\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n if (!this.props) {\n return;\n }\n this._maybeCallOnEdgeReached();\n if (velocity !== 0) {\n this._fillRateHelper.activate();\n }\n this._computeBlankness();\n this._scheduleCellsToRenderUpdate();\n };\n this._onScrollBeginDrag = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScrollBeginDrag(e);\n });\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.recordInteraction();\n });\n this._hasInteracted = true;\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n this._onScrollEndDrag = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScrollEndDrag(e);\n });\n var velocity = e.nativeEvent.velocity;\n if (velocity) {\n this._scrollMetrics.velocity = this._selectOffset(velocity);\n }\n this._computeBlankness();\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n this._onMomentumScrollBegin = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onMomentumScrollBegin(e);\n });\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n this._onMomentumScrollEnd = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onMomentumScrollEnd(e);\n });\n this._scrollMetrics.velocity = 0;\n this._computeBlankness();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n this._updateCellsToRender = () => {\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n this.setState((state, props) => {\n var cellsAroundViewport = this._adjustCellsAroundViewport(props, state.cellsAroundViewport);\n var renderMask = VirtualizedList._createRenderMask(props, cellsAroundViewport, this._getNonViewportRenderRegions(props));\n if (cellsAroundViewport.first === state.cellsAroundViewport.first && cellsAroundViewport.last === state.cellsAroundViewport.last && renderMask.equals(state.renderMask)) {\n return null;\n }\n return {\n cellsAroundViewport,\n renderMask\n };\n });\n };\n this._createViewToken = (index, isViewable, props\n // $FlowFixMe[missing-local-annot]\n ) => {\n var data = props.data,\n getItem = props.getItem;\n var item = getItem(data, index);\n return {\n index,\n item,\n key: this._keyExtractor(item, index, props),\n isViewable\n };\n };\n this._getOffsetApprox = (index, props) => {\n if (Number.isInteger(index)) {\n return this.__getFrameMetricsApprox(index, props).offset;\n } else {\n var frameMetrics = this.__getFrameMetricsApprox(Math.floor(index), props);\n var remainder = index - Math.floor(index);\n return frameMetrics.offset + remainder * frameMetrics.length;\n }\n };\n this.__getFrameMetricsApprox = (index, props) => {\n var frame = this._getFrameMetrics(index, props);\n if (frame && frame.index === index) {\n // check for invalid frames due to row re-ordering\n return frame;\n } else {\n var data = props.data,\n getItemCount = props.getItemCount,\n getItemLayout = props.getItemLayout;\n invariant(index >= 0 && index < getItemCount(data), 'Tried to get frame for out of range index ' + index);\n invariant(!getItemLayout, 'Should not have to estimate frames when a measurement metrics function is provided');\n return {\n length: this._averageCellLength,\n offset: this._averageCellLength * index\n };\n }\n };\n this._getFrameMetrics = (index, props) => {\n var data = props.data,\n getItem = props.getItem,\n getItemCount = props.getItemCount,\n getItemLayout = props.getItemLayout;\n invariant(index >= 0 && index < getItemCount(data), 'Tried to get frame for out of range index ' + index);\n var item = getItem(data, index);\n var frame = this._frames[this._keyExtractor(item, index, props)];\n if (!frame || frame.index !== index) {\n if (getItemLayout) {\n /* $FlowFixMe[prop-missing] (>=0.63.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.63 was deployed. To see the error\n * delete this comment and run Flow. */\n return getItemLayout(data, index);\n }\n }\n return frame;\n };\n this._getNonViewportRenderRegions = props => {\n // Keep a viewport's worth of content around the last focused cell to allow\n // random navigation around it without any blanking. E.g. tabbing from one\n // focused item out of viewport to another.\n if (!(this._lastFocusedCellKey && this._cellRefs[this._lastFocusedCellKey])) {\n return [];\n }\n var lastFocusedCellRenderer = this._cellRefs[this._lastFocusedCellKey];\n var focusedCellIndex = lastFocusedCellRenderer.props.index;\n var itemCount = props.getItemCount(props.data);\n\n // The last cell we rendered may be at a new index. Bail if we don't know\n // where it is.\n if (focusedCellIndex >= itemCount || this._keyExtractor(props.getItem(props.data, focusedCellIndex), focusedCellIndex, props) !== this._lastFocusedCellKey) {\n return [];\n }\n var first = focusedCellIndex;\n var heightOfCellsBeforeFocused = 0;\n for (var i = first - 1; i >= 0 && heightOfCellsBeforeFocused < this._scrollMetrics.visibleLength; i--) {\n first--;\n heightOfCellsBeforeFocused += this.__getFrameMetricsApprox(i, props).length;\n }\n var last = focusedCellIndex;\n var heightOfCellsAfterFocused = 0;\n for (var _i = last + 1; _i < itemCount && heightOfCellsAfterFocused < this._scrollMetrics.visibleLength; _i++) {\n last++;\n heightOfCellsAfterFocused += this.__getFrameMetricsApprox(_i, props).length;\n }\n return [{\n first,\n last\n }];\n };\n this._checkProps(_props);\n this._fillRateHelper = new FillRateHelper(this._getFrameMetrics);\n this._updateCellsToRenderBatcher = new Batchinator(this._updateCellsToRender, (_this$props$updateCel = this.props.updateCellsBatchingPeriod) !== null && _this$props$updateCel !== void 0 ? _this$props$updateCel : 50);\n if (this.props.viewabilityConfigCallbackPairs) {\n this._viewabilityTuples = this.props.viewabilityConfigCallbackPairs.map(pair => ({\n viewabilityHelper: new ViewabilityHelper(pair.viewabilityConfig),\n onViewableItemsChanged: pair.onViewableItemsChanged\n }));\n } else {\n var _this$props3 = this.props,\n onViewableItemsChanged = _this$props3.onViewableItemsChanged,\n viewabilityConfig = _this$props3.viewabilityConfig;\n if (onViewableItemsChanged) {\n this._viewabilityTuples.push({\n viewabilityHelper: new ViewabilityHelper(viewabilityConfig),\n onViewableItemsChanged: onViewableItemsChanged\n });\n }\n }\n var initialRenderRegion = VirtualizedList._initialRenderRegion(_props);\n this.state = {\n cellsAroundViewport: initialRenderRegion,\n renderMask: VirtualizedList._createRenderMask(_props, initialRenderRegion)\n };\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n // For issue https://github.com/necolas/react-native-web/issues/995\n this.invertedWheelEventHandler = ev => {\n var scrollOffset = this.props.horizontal ? ev.target.scrollLeft : ev.target.scrollTop;\n var scrollLength = this.props.horizontal ? ev.target.scrollWidth : ev.target.scrollHeight;\n var clientLength = this.props.horizontal ? ev.target.clientWidth : ev.target.clientHeight;\n var isEventTargetScrollable = scrollLength > clientLength;\n var delta = this.props.horizontal ? ev.deltaX || ev.wheelDeltaX : ev.deltaY || ev.wheelDeltaY;\n var leftoverDelta = delta;\n if (isEventTargetScrollable) {\n leftoverDelta = delta < 0 ? Math.min(delta + scrollOffset, 0) : Math.max(delta - (scrollLength - clientLength - scrollOffset), 0);\n }\n var targetDelta = delta - leftoverDelta;\n if (this.props.inverted && this._scrollRef && this._scrollRef.getScrollableNode) {\n var node = this._scrollRef.getScrollableNode();\n if (this.props.horizontal) {\n ev.target.scrollLeft += targetDelta;\n var nextScrollLeft = node.scrollLeft - leftoverDelta;\n node.scrollLeft = !this.props.getItemLayout ? Math.min(nextScrollLeft, this._totalCellLength) : nextScrollLeft;\n } else {\n ev.target.scrollTop += targetDelta;\n var nextScrollTop = node.scrollTop - leftoverDelta;\n node.scrollTop = !this.props.getItemLayout ? Math.min(nextScrollTop, this._totalCellLength) : nextScrollTop;\n }\n ev.preventDefault();\n }\n };\n }\n _checkProps(props) {\n var onScroll = props.onScroll,\n windowSize = props.windowSize,\n getItemCount = props.getItemCount,\n data = props.data,\n initialScrollIndex = props.initialScrollIndex;\n invariant(\n // $FlowFixMe[prop-missing]\n !onScroll || !onScroll.__isNative, 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' + 'to support native onScroll events with useNativeDriver');\n invariant(windowSizeOrDefault(windowSize) > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.');\n invariant(getItemCount, 'VirtualizedList: The \"getItemCount\" prop must be provided');\n var itemCount = getItemCount(data);\n if (initialScrollIndex != null && !this._hasTriggeredInitialScrollToIndex && (initialScrollIndex < 0 || itemCount > 0 && initialScrollIndex >= itemCount) && !this._hasWarned.initialScrollIndex) {\n console.warn(\"initialScrollIndex \\\"\" + initialScrollIndex + \"\\\" is not valid (list has \" + itemCount + \" items)\");\n this._hasWarned.initialScrollIndex = true;\n }\n if (__DEV__ && !this._hasWarned.flexWrap) {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n var flatStyles = StyleSheet.flatten(this.props.contentContainerStyle);\n if (flatStyles != null && flatStyles.flexWrap === 'wrap') {\n console.warn('`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.' + 'Consider using `numColumns` with `FlatList` instead.');\n this._hasWarned.flexWrap = true;\n }\n }\n }\n static _createRenderMask(props, cellsAroundViewport, additionalRegions) {\n var itemCount = props.getItemCount(props.data);\n invariant(cellsAroundViewport.first >= 0 && cellsAroundViewport.last >= cellsAroundViewport.first - 1 && cellsAroundViewport.last < itemCount, \"Invalid cells around viewport \\\"[\" + cellsAroundViewport.first + \", \" + cellsAroundViewport.last + \"]\\\" was passed to VirtualizedList._createRenderMask\");\n var renderMask = new CellRenderMask(itemCount);\n if (itemCount > 0) {\n var allRegions = [cellsAroundViewport, ...(additionalRegions !== null && additionalRegions !== void 0 ? additionalRegions : [])];\n for (var _i2 = 0, _allRegions = allRegions; _i2 < _allRegions.length; _i2++) {\n var region = _allRegions[_i2];\n renderMask.addCells(region);\n }\n\n // The initially rendered cells are retained as part of the\n // \"scroll-to-top\" optimization\n if (props.initialScrollIndex == null || props.initialScrollIndex <= 0) {\n var initialRegion = VirtualizedList._initialRenderRegion(props);\n renderMask.addCells(initialRegion);\n }\n\n // The layout coordinates of sticker headers may be off-screen while the\n // actual header is on-screen. Keep the most recent before the viewport\n // rendered, even if its layout coordinates are not in viewport.\n var stickyIndicesSet = new Set(props.stickyHeaderIndices);\n VirtualizedList._ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellsAroundViewport.first);\n }\n return renderMask;\n }\n static _initialRenderRegion(props) {\n var _props$initialScrollI;\n var itemCount = props.getItemCount(props.data);\n var firstCellIndex = Math.max(0, Math.min(itemCount - 1, Math.floor((_props$initialScrollI = props.initialScrollIndex) !== null && _props$initialScrollI !== void 0 ? _props$initialScrollI : 0)));\n var lastCellIndex = Math.min(itemCount, firstCellIndex + initialNumToRenderOrDefault(props.initialNumToRender)) - 1;\n return {\n first: firstCellIndex,\n last: lastCellIndex\n };\n }\n static _ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellIdx) {\n var stickyOffset = props.ListHeaderComponent ? 1 : 0;\n for (var itemIdx = cellIdx - 1; itemIdx >= 0; itemIdx--) {\n if (stickyIndicesSet.has(itemIdx + stickyOffset)) {\n renderMask.addCells({\n first: itemIdx,\n last: itemIdx\n });\n break;\n }\n }\n }\n _adjustCellsAroundViewport(props, cellsAroundViewport) {\n var data = props.data,\n getItemCount = props.getItemCount;\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(props.onEndReachedThreshold);\n var _this$_scrollMetrics = this._scrollMetrics,\n contentLength = _this$_scrollMetrics.contentLength,\n offset = _this$_scrollMetrics.offset,\n visibleLength = _this$_scrollMetrics.visibleLength;\n var distanceFromEnd = contentLength - visibleLength - offset;\n\n // Wait until the scroll view metrics have been set up. And until then,\n // we will trust the initialNumToRender suggestion\n if (visibleLength <= 0 || contentLength <= 0) {\n return cellsAroundViewport.last >= getItemCount(data) ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport;\n }\n var newCellsAroundViewport;\n if (props.disableVirtualization) {\n var renderAhead = distanceFromEnd < onEndReachedThreshold * visibleLength ? maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch) : 0;\n newCellsAroundViewport = {\n first: 0,\n last: Math.min(cellsAroundViewport.last + renderAhead, getItemCount(data) - 1)\n };\n } else {\n // If we have a non-zero initialScrollIndex and run this before we've scrolled,\n // we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex.\n // So let's wait until we've scrolled the view to the right place. And until then,\n // we will trust the initialScrollIndex suggestion.\n\n // Thus, we want to recalculate the windowed render limits if any of the following hold:\n // - initialScrollIndex is undefined or is 0\n // - initialScrollIndex > 0 AND scrolling is complete\n // - initialScrollIndex > 0 AND the end of the list is visible (this handles the case\n // where the list is shorter than the visible area)\n if (props.initialScrollIndex && !this._scrollMetrics.offset && Math.abs(distanceFromEnd) >= Number.EPSILON) {\n return cellsAroundViewport.last >= getItemCount(data) ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport;\n }\n newCellsAroundViewport = computeWindowedRenderLimits(props, maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch), windowSizeOrDefault(props.windowSize), cellsAroundViewport, this.__getFrameMetricsApprox, this._scrollMetrics);\n invariant(newCellsAroundViewport.last < getItemCount(data), 'computeWindowedRenderLimits() should return range in-bounds');\n }\n if (this._nestedChildLists.size() > 0) {\n // If some cell in the new state has a child list in it, we should only render\n // up through that item, so that we give that list a chance to render.\n // Otherwise there's churn from multiple child lists mounting and un-mounting\n // their items.\n\n // Will this prevent rendering if the nested list doesn't realize the end?\n var childIdx = this._findFirstChildWithMore(newCellsAroundViewport.first, newCellsAroundViewport.last);\n newCellsAroundViewport.last = childIdx !== null && childIdx !== void 0 ? childIdx : newCellsAroundViewport.last;\n }\n return newCellsAroundViewport;\n }\n _findFirstChildWithMore(first, last) {\n for (var ii = first; ii <= last; ii++) {\n var cellKeyForIndex = this._indicesToKeys.get(ii);\n if (cellKeyForIndex != null && this._nestedChildLists.anyInCell(cellKeyForIndex, childList => childList.hasMore())) {\n return ii;\n }\n }\n return null;\n }\n componentDidMount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.registerAsNestedChild({\n ref: this,\n cellKey: this.context.cellKey\n });\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n this.setupWebWheelHandler();\n }\n componentWillUnmount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.unregisterAsNestedChild({\n ref: this\n });\n }\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.dispose();\n });\n this._fillRateHelper.deactivateAndFlush();\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n this.teardownWebWheelHandler();\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n setupWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().addEventListener('wheel', this.invertedWheelEventHandler);\n } else {\n setTimeout(() => this.setupWebWheelHandler(), 50);\n return;\n }\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n teardownWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().removeEventListener('wheel', this.invertedWheelEventHandler);\n }\n }\n static getDerivedStateFromProps(newProps, prevState) {\n // first and last could be stale (e.g. if a new, shorter items props is passed in), so we make\n // sure we're rendering a reasonable range here.\n var itemCount = newProps.getItemCount(newProps.data);\n if (itemCount === prevState.renderMask.numCells()) {\n return prevState;\n }\n var constrainedCells = VirtualizedList._constrainToItemCount(prevState.cellsAroundViewport, newProps);\n return {\n cellsAroundViewport: constrainedCells,\n renderMask: VirtualizedList._createRenderMask(newProps, constrainedCells)\n };\n }\n _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) {\n var _this = this;\n var _this$props4 = this.props,\n CellRendererComponent = _this$props4.CellRendererComponent,\n ItemSeparatorComponent = _this$props4.ItemSeparatorComponent,\n ListHeaderComponent = _this$props4.ListHeaderComponent,\n ListItemComponent = _this$props4.ListItemComponent,\n data = _this$props4.data,\n debug = _this$props4.debug,\n getItem = _this$props4.getItem,\n getItemCount = _this$props4.getItemCount,\n getItemLayout = _this$props4.getItemLayout,\n horizontal = _this$props4.horizontal,\n renderItem = _this$props4.renderItem;\n var stickyOffset = ListHeaderComponent ? 1 : 0;\n var end = getItemCount(data) - 1;\n var prevCellKey;\n last = Math.min(end, last);\n var _loop = function _loop() {\n var item = getItem(data, ii);\n var key = _this._keyExtractor(item, ii, _this.props);\n _this._indicesToKeys.set(ii, key);\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n stickyHeaderIndices.push(cells.length);\n }\n var shouldListenForLayout = getItemLayout == null || debug || _this._fillRateHelper.enabled();\n cells.push( /*#__PURE__*/React.createElement(CellRenderer, _extends({\n CellRendererComponent: CellRendererComponent,\n ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined,\n ListItemComponent: ListItemComponent,\n cellKey: key,\n horizontal: horizontal,\n index: ii,\n inversionStyle: inversionStyle,\n item: item,\n key: key,\n prevCellKey: prevCellKey,\n onUpdateSeparators: _this._onUpdateSeparators,\n onCellFocusCapture: e => _this._onCellFocusCapture(key),\n onUnmount: _this._onCellUnmount,\n ref: _ref => {\n _this._cellRefs[key] = _ref;\n },\n renderItem: renderItem\n }, shouldListenForLayout && {\n onCellLayout: _this._onCellLayout\n })));\n prevCellKey = key;\n };\n for (var ii = first; ii <= last; ii++) {\n _loop();\n }\n }\n static _constrainToItemCount(cells, props) {\n var itemCount = props.getItemCount(props.data);\n var last = Math.min(itemCount - 1, cells.last);\n var maxToRenderPerBatch = maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch);\n return {\n first: clamp(0, itemCount - 1 - maxToRenderPerBatch, cells.first),\n last\n };\n }\n _isNestedWithSameOrientation() {\n var nestedContext = this.context;\n return !!(nestedContext && !!nestedContext.horizontal === horizontalOrDefault(this.props.horizontal));\n }\n _keyExtractor(item, index, props\n // $FlowFixMe[missing-local-annot]\n ) {\n if (props.keyExtractor != null) {\n return props.keyExtractor(item, index);\n }\n var key = defaultKeyExtractor(item, index);\n if (key === String(index)) {\n _usedIndexForKey = true;\n if (item.type && item.type.displayName) {\n _keylessItemComponentName = item.type.displayName;\n }\n }\n return key;\n }\n render() {\n this._checkProps(this.props);\n var _this$props5 = this.props,\n ListEmptyComponent = _this$props5.ListEmptyComponent,\n ListFooterComponent = _this$props5.ListFooterComponent,\n ListHeaderComponent = _this$props5.ListHeaderComponent;\n var _this$props6 = this.props,\n data = _this$props6.data,\n horizontal = _this$props6.horizontal;\n var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles.horizontallyInverted : styles.verticallyInverted : null;\n var cells = [];\n var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);\n var stickyHeaderIndices = [];\n\n // 1. Add cell for ListHeaderComponent\n if (ListHeaderComponent) {\n if (stickyIndicesFromProps.has(0)) {\n stickyHeaderIndices.push(0);\n }\n var _element = /*#__PURE__*/React.isValidElement(ListHeaderComponent) ? ListHeaderComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListHeaderComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-header',\n key: \"$header\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutHeader,\n style: [inversionStyle, this.props.ListHeaderComponentStyle]\n },\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n _element)));\n }\n\n // 2a. Add a cell for ListEmptyComponent if applicable\n var itemCount = this.props.getItemCount(data);\n if (itemCount === 0 && ListEmptyComponent) {\n var _element2 = /*#__PURE__*/React.isValidElement(ListEmptyComponent) ? ListEmptyComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListEmptyComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-empty',\n key: \"$empty\"\n }, /*#__PURE__*/React.cloneElement(_element2, {\n onLayout: event => {\n this._onLayoutEmpty(event);\n if (_element2.props.onLayout) {\n _element2.props.onLayout(event);\n }\n },\n style: [inversionStyle, _element2.props.style]\n })));\n }\n\n // 2b. Add cells and spacers for each item\n if (itemCount > 0) {\n _usedIndexForKey = false;\n _keylessItemComponentName = '';\n var spacerKey = this._getSpacerKey(!horizontal);\n var renderRegions = this.state.renderMask.enumerateRegions();\n var lastSpacer = findLastWhere(renderRegions, r => r.isSpacer);\n for (var _iterator = _createForOfIteratorHelperLoose(renderRegions), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n if (section.isSpacer) {\n // Legacy behavior is to avoid spacers when virtualization is\n // disabled (including head spacers on initial render).\n if (this.props.disableVirtualization) {\n continue;\n }\n\n // Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to\n // prevent the user for hyperscrolling into un-measured area because otherwise content will\n // likely jump around as it renders in above the viewport.\n var isLastSpacer = section === lastSpacer;\n var constrainToMeasured = isLastSpacer && !this.props.getItemLayout;\n var last = constrainToMeasured ? clamp(section.first - 1, section.last, this._highestMeasuredFrameIndex) : section.last;\n var firstMetrics = this.__getFrameMetricsApprox(section.first, this.props);\n var lastMetrics = this.__getFrameMetricsApprox(last, this.props);\n var spacerSize = lastMetrics.offset + lastMetrics.length - firstMetrics.offset;\n cells.push( /*#__PURE__*/React.createElement(View, {\n key: \"$spacer-\" + section.first,\n style: {\n [spacerKey]: spacerSize\n }\n }));\n } else {\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, section.first, section.last, inversionStyle);\n }\n }\n if (!this._hasWarned.keys && _usedIndexForKey) {\n console.warn('VirtualizedList: missing keys for items, make sure to specify a key or id property on each ' + 'item or provide a custom keyExtractor.', _keylessItemComponentName);\n this._hasWarned.keys = true;\n }\n }\n\n // 3. Add cell for ListFooterComponent\n if (ListFooterComponent) {\n var _element3 = /*#__PURE__*/React.isValidElement(ListFooterComponent) ? ListFooterComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListFooterComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getFooterCellKey(),\n key: \"$footer\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutFooter,\n style: [inversionStyle, this.props.ListFooterComponentStyle]\n },\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n _element3)));\n }\n\n // 4. Render the ScrollView\n var scrollProps = _objectSpread(_objectSpread({}, this.props), {}, {\n onContentSizeChange: this._onContentSizeChange,\n onLayout: this._onLayout,\n onScroll: this._onScroll,\n onScrollBeginDrag: this._onScrollBeginDrag,\n onScrollEndDrag: this._onScrollEndDrag,\n onMomentumScrollBegin: this._onMomentumScrollBegin,\n onMomentumScrollEnd: this._onMomentumScrollEnd,\n scrollEventThrottle: scrollEventThrottleOrDefault(this.props.scrollEventThrottle),\n // TODO: Android support\n invertStickyHeaders: this.props.invertStickyHeaders !== undefined ? this.props.invertStickyHeaders : this.props.inverted,\n stickyHeaderIndices,\n style: inversionStyle ? [inversionStyle, this.props.style] : this.props.style\n });\n this._hasMore = this.state.cellsAroundViewport.last < itemCount - 1;\n var innerRet = /*#__PURE__*/React.createElement(VirtualizedListContextProvider, {\n value: {\n cellKey: null,\n getScrollMetrics: this._getScrollMetrics,\n horizontal: horizontalOrDefault(this.props.horizontal),\n getOutermostParentListRef: this._getOutermostParentListRef,\n registerAsNestedChild: this._registerAsNestedChild,\n unregisterAsNestedChild: this._unregisterAsNestedChild\n }\n }, /*#__PURE__*/React.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), {\n ref: this._captureScrollRef\n }, cells));\n var ret = innerRet;\n /* https://github.com/necolas/react-native-web/issues/2239: Re-enable when ScrollView.Context.Consumer is available.\n if (__DEV__) {\n ret = (\n \n {scrollContext => {\n if (\n scrollContext != null &&\n !scrollContext.horizontal ===\n !horizontalOrDefault(this.props.horizontal) &&\n !this._hasWarned.nesting &&\n this.context == null &&\n this.props.scrollEnabled !== false\n ) {\n // TODO (T46547044): use React.warn once 16.9 is sync'd: https://github.com/facebook/react/pull/15170\n console.error(\n 'VirtualizedLists should never be nested inside plain ScrollViews with the same ' +\n 'orientation because it can break windowing and other functionality - use another ' +\n 'VirtualizedList-backed container instead.',\n );\n this._hasWarned.nesting = true;\n }\n return innerRet;\n }}\n \n );\n }*/\n if (this.props.debug) {\n return /*#__PURE__*/React.createElement(View, {\n style: styles.debug\n }, ret, this._renderDebugOverlay());\n } else {\n return ret;\n }\n }\n componentDidUpdate(prevProps) {\n var _this$props7 = this.props,\n data = _this$props7.data,\n extraData = _this$props7.extraData;\n if (data !== prevProps.data || extraData !== prevProps.extraData) {\n // clear the viewableIndices cache to also trigger\n // the onViewableItemsChanged callback with the new data\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.resetViewableIndices();\n });\n }\n // The `this._hiPriInProgress` is guaranteeing a hiPri cell update will only happen\n // once per fiber update. The `_scheduleCellsToRenderUpdate` will set it to true\n // if a hiPri update needs to perform. If `componentDidUpdate` is triggered with\n // `this._hiPriInProgress=true`, means it's triggered by the hiPri update. The\n // `_scheduleCellsToRenderUpdate` will check this condition and not perform\n // another hiPri update.\n var hiPriInProgress = this._hiPriInProgress;\n this._scheduleCellsToRenderUpdate();\n // Make sure setting `this._hiPriInProgress` back to false after `componentDidUpdate`\n // is triggered with `this._hiPriInProgress = true`\n if (hiPriInProgress) {\n this._hiPriInProgress = false;\n }\n }\n\n // Used for preventing scrollToIndex from being called multiple times for initialScrollIndex\n\n // flag to prevent infinite hiPri cell limit update\n\n // $FlowFixMe[missing-local-annot]\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n\n _computeBlankness() {\n this._fillRateHelper.computeBlankness(this.props, this.state.cellsAroundViewport, this._scrollMetrics);\n }\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n\n _onCellFocusCapture(cellKey) {\n this._lastFocusedCellKey = cellKey;\n this._updateCellsToRender();\n }\n _triggerRemeasureForChildListsInCell(cellKey) {\n this._nestedChildLists.forEachInCell(cellKey, childList => {\n childList.measureLayoutRelativeToContainingList();\n });\n }\n measureLayoutRelativeToContainingList() {\n // TODO (T35574538): findNodeHandle sometimes crashes with \"Unable to find\n // node on an unmounted component\" during scrolling\n try {\n if (!this._scrollRef) {\n return;\n }\n // We are assuming that getOutermostParentListRef().getScrollRef()\n // is a non-null reference to a ScrollView\n this._scrollRef.measureLayout(this.context.getOutermostParentListRef().getScrollRef(), (x, y, width, height) => {\n this._offsetFromParentVirtualizedList = this._selectOffset({\n x,\n y\n });\n this._scrollMetrics.contentLength = this._selectLength({\n width,\n height\n });\n var scrollMetrics = this._convertParentScrollMetrics(this.context.getScrollMetrics());\n var metricsChanged = this._scrollMetrics.visibleLength !== scrollMetrics.visibleLength || this._scrollMetrics.offset !== scrollMetrics.offset;\n if (metricsChanged) {\n this._scrollMetrics.visibleLength = scrollMetrics.visibleLength;\n this._scrollMetrics.offset = scrollMetrics.offset;\n\n // If metrics of the scrollView changed, then we triggered remeasure for child list\n // to ensure VirtualizedList has the right information.\n this._nestedChildLists.forEach(childList => {\n childList.measureLayoutRelativeToContainingList();\n });\n }\n }, error => {\n console.warn(\"VirtualizedList: Encountered an error while measuring a list's\" + ' offset from its containing VirtualizedList.');\n });\n } catch (error) {\n console.warn('measureLayoutRelativeToContainingList threw an error', error.stack);\n }\n }\n _getFooterCellKey() {\n return this._getCellKey() + '-footer';\n }\n // $FlowFixMe[missing-local-annot]\n _renderDebugOverlay() {\n var normalize = this._scrollMetrics.visibleLength / (this._scrollMetrics.contentLength || 1);\n var framesInLayout = [];\n var itemCount = this.props.getItemCount(this.props.data);\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = this.__getFrameMetricsApprox(ii, this.props);\n /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.68 was deployed. To see the\n * error delete this comment and run Flow. */\n if (frame.inLayout) {\n framesInLayout.push(frame);\n }\n }\n var windowTop = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.first, this.props).offset;\n var frameLast = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.last, this.props);\n var windowLen = frameLast.offset + frameLast.length - windowTop;\n var visTop = this._scrollMetrics.offset;\n var visLen = this._scrollMetrics.visibleLength;\n return /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlay]\n }, framesInLayout.map((f, ii) => /*#__PURE__*/React.createElement(View, {\n key: 'f' + ii,\n style: [styles.debugOverlayBase, styles.debugOverlayFrame, {\n top: f.offset * normalize,\n height: f.length * normalize\n }]\n })), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameLast, {\n top: windowTop * normalize,\n height: windowLen * normalize\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameVis, {\n top: visTop * normalize,\n height: visLen * normalize\n }]\n }));\n }\n _selectLength(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.height : metrics.width;\n }\n _selectOffset(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.y : metrics.x;\n }\n _maybeCallOnEdgeReached() {\n var _this$props8 = this.props,\n data = _this$props8.data,\n getItemCount = _this$props8.getItemCount,\n onStartReached = _this$props8.onStartReached,\n onStartReachedThreshold = _this$props8.onStartReachedThreshold,\n onEndReached = _this$props8.onEndReached,\n onEndReachedThreshold = _this$props8.onEndReachedThreshold,\n initialScrollIndex = _this$props8.initialScrollIndex;\n var _this$_scrollMetrics2 = this._scrollMetrics,\n contentLength = _this$_scrollMetrics2.contentLength,\n visibleLength = _this$_scrollMetrics2.visibleLength,\n offset = _this$_scrollMetrics2.offset;\n var distanceFromStart = offset;\n var distanceFromEnd = contentLength - visibleLength - offset;\n\n // Especially when oERT is zero it's necessary to 'floor' very small distance values to be 0\n // since debouncing causes us to not fire this event for every single \"pixel\" we scroll and can thus\n // be at the edge of the list with a distance approximating 0 but not quite there.\n if (distanceFromStart < ON_EDGE_REACHED_EPSILON) {\n distanceFromStart = 0;\n }\n if (distanceFromEnd < ON_EDGE_REACHED_EPSILON) {\n distanceFromEnd = 0;\n }\n\n // TODO: T121172172 Look into why we're \"defaulting\" to a threshold of 2px\n // when oERT is not present (different from 2 viewports used elsewhere)\n var DEFAULT_THRESHOLD_PX = 2;\n var startThreshold = onStartReachedThreshold != null ? onStartReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX;\n var endThreshold = onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX;\n var isWithinStartThreshold = distanceFromStart <= startThreshold;\n var isWithinEndThreshold = distanceFromEnd <= endThreshold;\n\n // First check if the user just scrolled within the end threshold\n // and call onEndReached only once for a given content length,\n // and only if onStartReached is not being executed\n if (onEndReached && this.state.cellsAroundViewport.last === getItemCount(data) - 1 && isWithinEndThreshold && this._scrollMetrics.contentLength !== this._sentEndForContentLength) {\n this._sentEndForContentLength = this._scrollMetrics.contentLength;\n onEndReached({\n distanceFromEnd\n });\n }\n\n // Next check if the user just scrolled within the start threshold\n // and call onStartReached only once for a given content length,\n // and only if onEndReached is not being executed\n else if (onStartReached != null && this.state.cellsAroundViewport.first === 0 && isWithinStartThreshold && this._scrollMetrics.contentLength !== this._sentStartForContentLength) {\n // On initial mount when using initialScrollIndex the offset will be 0 initially\n // and will trigger an unexpected onStartReached. To avoid this we can use\n // timestamp to differentiate between the initial scroll metrics and when we actually\n // received the first scroll event.\n if (!initialScrollIndex || this._scrollMetrics.timestamp !== 0) {\n this._sentStartForContentLength = this._scrollMetrics.contentLength;\n onStartReached({\n distanceFromStart\n });\n }\n }\n\n // If the user scrolls away from the start or end and back again,\n // cause onStartReached or onEndReached to be triggered again\n else {\n this._sentStartForContentLength = isWithinStartThreshold ? this._sentStartForContentLength : 0;\n this._sentEndForContentLength = isWithinEndThreshold ? this._sentEndForContentLength : 0;\n }\n }\n\n /* Translates metrics from a scroll event in a parent VirtualizedList into\n * coordinates relative to the child list.\n */\n\n _scheduleCellsToRenderUpdate() {\n var _this$state$cellsArou = this.state.cellsAroundViewport,\n first = _this$state$cellsArou.first,\n last = _this$state$cellsArou.last;\n var _this$_scrollMetrics3 = this._scrollMetrics,\n offset = _this$_scrollMetrics3.offset,\n visibleLength = _this$_scrollMetrics3.visibleLength,\n velocity = _this$_scrollMetrics3.velocity;\n var itemCount = this.props.getItemCount(this.props.data);\n var hiPri = false;\n var onStartReachedThreshold = onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold);\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold);\n // Mark as high priority if we're close to the start of the first item\n // But only if there are items before the first rendered item\n if (first > 0) {\n var distTop = offset - this.__getFrameMetricsApprox(first, this.props).offset;\n hiPri = distTop < 0 || velocity < -2 && distTop < getScrollingThreshold(onStartReachedThreshold, visibleLength);\n }\n // Mark as high priority if we're close to the end of the last item\n // But only if there are items after the last rendered item\n if (!hiPri && last >= 0 && last < itemCount - 1) {\n var distBottom = this.__getFrameMetricsApprox(last, this.props).offset - (offset + visibleLength);\n hiPri = distBottom < 0 || velocity > 2 && distBottom < getScrollingThreshold(onEndReachedThreshold, visibleLength);\n }\n // Only trigger high-priority updates if we've actually rendered cells,\n // and with that size estimate, accurately compute how many cells we should render.\n // Otherwise, it would just render as many cells as it can (of zero dimension),\n // each time through attempting to render more (limited by maxToRenderPerBatch),\n // starving the renderer from actually laying out the objects and computing _averageCellLength.\n // If this is triggered in an `componentDidUpdate` followed by a hiPri cellToRenderUpdate\n // We shouldn't do another hipri cellToRenderUpdate\n if (hiPri && (this._averageCellLength || this.props.getItemLayout) && !this._hiPriInProgress) {\n this._hiPriInProgress = true;\n // Don't worry about interactions when scrolling quickly; focus on filling content as fast\n // as possible.\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n this._updateCellsToRender();\n return;\n } else {\n this._updateCellsToRenderBatcher.schedule();\n }\n }\n\n /**\n * Gets an approximate offset to an item at a given index. Supports\n * fractional indices.\n */\n\n _updateViewableItems(props, cellsAroundViewport) {\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.onUpdate(props, this._scrollMetrics.offset, this._scrollMetrics.visibleLength, this._getFrameMetrics, this._createViewToken, tuple.onViewableItemsChanged, cellsAroundViewport);\n });\n }\n}\nVirtualizedList.contextType = VirtualizedListContext;\nvar styles = StyleSheet.create({\n verticallyInverted: {\n transform: 'scaleY(-1)'\n },\n horizontallyInverted: {\n transform: 'scaleX(-1)'\n },\n debug: {\n flex: 1\n },\n debugOverlayBase: {\n position: 'absolute',\n top: 0,\n right: 0\n },\n debugOverlay: {\n bottom: 0,\n width: 20,\n borderColor: 'blue',\n borderWidth: 1\n },\n debugOverlayFrame: {\n left: 0,\n backgroundColor: 'orange'\n },\n debugOverlayFrameLast: {\n left: 0,\n borderColor: 'green',\n borderWidth: 2\n },\n debugOverlayFrameVis: {\n left: 0,\n borderColor: 'red',\n borderWidth: 2\n }\n});\nexport default VirtualizedList;","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\nexport { memoizeOne as default };\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"numColumns\", \"columnWrapperStyle\", \"removeClippedSubviews\", \"strictMode\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport deepDiffer from '../deepDiffer';\nimport Platform from '../../../exports/Platform';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\nimport VirtualizedList from '../VirtualizedList';\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport memoizeOne from 'memoize-one';\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */ // removeClippedSubviewsOrDefault(this.props.removeClippedSubviews)\nfunction removeClippedSubviewsOrDefault(removeClippedSubviews) {\n return removeClippedSubviews !== null && removeClippedSubviews !== void 0 ? removeClippedSubviews : Platform.OS === 'android';\n}\n\n// numColumnsOrDefault(this.props.numColumns)\nfunction numColumnsOrDefault(numColumns) {\n return numColumns !== null && numColumns !== void 0 ? numColumns : 1;\n}\nfunction isArrayLike(data) {\n // $FlowExpectedError[incompatible-use]\n return typeof Object(data).length === 'number';\n}\n/**\n * A performant interface for rendering simple, flat lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Optional horizontal mode.\n * - Configurable viewability callbacks.\n * - Header support.\n * - Footer support.\n * - Separator support.\n * - Pull to Refresh.\n * - Scroll loading.\n * - ScrollToIndex support.\n *\n * If you need section support, use [``](docs/sectionlist.html).\n *\n * Minimal Example:\n *\n * {item.key}}\n * />\n *\n * More complex, multi-select example demonstrating `PureComponent` usage for perf optimization and avoiding bugs.\n *\n * - By binding the `onPressItem` handler, the props will remain `===` and `PureComponent` will\n * prevent wasteful re-renders unless the actual `id`, `selected`, or `title` props change, even\n * if the components rendered in `MyListItem` did not have such optimizations.\n * - By passing `extraData={this.state}` to `FlatList` we make sure `FlatList` itself will re-render\n * when the `state.selected` changes. Without setting this prop, `FlatList` would not know it\n * needs to re-render any items because it is also a `PureComponent` and the prop comparison will\n * not show any changes.\n * - `keyExtractor` tells the list to use the `id`s for the react keys instead of the default `key` property.\n *\n *\n * class MyListItem extends React.PureComponent {\n * _onPress = () => {\n * this.props.onPressItem(this.props.id);\n * };\n *\n * render() {\n * const textColor = this.props.selected ? \"red\" : \"black\";\n * return (\n * \n * \n * \n * {this.props.title}\n * \n * \n * \n * );\n * }\n * }\n *\n * class MultiSelectList extends React.PureComponent {\n * state = {selected: (new Map(): Map)};\n *\n * _keyExtractor = (item, index) => item.id;\n *\n * _onPressItem = (id: string) => {\n * // updater functions are preferred for transactional updates\n * this.setState((state) => {\n * // copy the map rather than modifying state.\n * const selected = new Map(state.selected);\n * selected.set(id, !selected.get(id)); // toggle\n * return {selected};\n * });\n * };\n *\n * _renderItem = ({item}) => (\n * \n * );\n *\n * render() {\n * return (\n * \n * );\n * }\n * }\n *\n * This is a convenience wrapper around [``](docs/virtualizedlist.html),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n * Also inherits [ScrollView Props](docs/scrollview.html#props), unless it is nested in another FlatList of same orientation.\n */\nclass FlatList extends React.PureComponent {\n /**\n * Scrolls to the end of the content. May be janky without `getItemLayout` prop.\n */\n scrollToEnd(params) {\n if (this._listRef) {\n this._listRef.scrollToEnd(params);\n }\n }\n\n /**\n * Scrolls to the item at the specified index such that it is positioned in the viewable area\n * such that `viewPosition` 0 places it at the top, 1 at the bottom, and 0.5 centered in the\n * middle. `viewOffset` is a fixed number of pixels to offset the final target position.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToIndex(params) {\n if (this._listRef) {\n this._listRef.scrollToIndex(params);\n }\n }\n\n /**\n * Requires linear scan through data - use `scrollToIndex` instead if possible.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToItem(params) {\n if (this._listRef) {\n this._listRef.scrollToItem(params);\n }\n }\n\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Check out [scrollToOffset](docs/virtualizedlist.html#scrolltooffset) of VirtualizedList\n */\n scrollToOffset(params) {\n if (this._listRef) {\n this._listRef.scrollToOffset(params);\n }\n }\n\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n recordInteraction() {\n if (this._listRef) {\n this._listRef.recordInteraction();\n }\n }\n\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n flashScrollIndicators() {\n if (this._listRef) {\n this._listRef.flashScrollIndicators();\n }\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n */\n getScrollResponder() {\n if (this._listRef) {\n return this._listRef.getScrollResponder();\n }\n }\n\n /**\n * Provides a reference to the underlying host component\n */\n getNativeScrollRef() {\n if (this._listRef) {\n /* $FlowFixMe[incompatible-return] Suppresses errors found when fixing\n * TextInput typing */\n return this._listRef.getScrollRef();\n }\n }\n getScrollableNode() {\n if (this._listRef) {\n return this._listRef.getScrollableNode();\n }\n }\n constructor(_props) {\n super(_props);\n this._virtualizedListPairs = [];\n this._captureRef = ref => {\n this._listRef = ref;\n };\n this._getItem = (data, index) => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n if (numColumns > 1) {\n var ret = [];\n for (var kk = 0; kk < numColumns; kk++) {\n var itemIndex = index * numColumns + kk;\n if (itemIndex < data.length) {\n var _item = data[itemIndex];\n ret.push(_item);\n }\n }\n return ret;\n } else {\n return data[index];\n }\n };\n this._getItemCount = data => {\n // Legacy behavior of FlatList was to forward \"undefined\" length if invalid\n // data like a non-arraylike object is passed. VirtualizedList would then\n // coerce this, and the math would work out to no-op. For compatibility, if\n // invalid data is passed, we tell VirtualizedList there are zero items\n // available to prevent it from trying to read from the invalid data\n // (without propagating invalidly typed data).\n if (data != null && isArrayLike(data)) {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length;\n } else {\n return 0;\n }\n };\n this._keyExtractor = (items, index) => {\n var _this$props$keyExtrac;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n var keyExtractor = (_this$props$keyExtrac = this.props.keyExtractor) !== null && _this$props$keyExtrac !== void 0 ? _this$props$keyExtrac : defaultKeyExtractor;\n if (numColumns > 1) {\n invariant(Array.isArray(items), 'FlatList: Encountered internal consistency error, expected each item to consist of an ' + 'array with 1-%s columns; instead, received a single item.', numColumns);\n return items.map((item, kk) => keyExtractor(item, index * numColumns + kk)).join(':');\n }\n\n // $FlowFixMe[incompatible-call] Can't call keyExtractor with an array\n return keyExtractor(items, index);\n };\n this._renderer = (ListItemComponent, renderItem, columnWrapperStyle, numColumns, extraData\n // $FlowFixMe[missing-local-annot]\n ) => {\n var cols = numColumnsOrDefault(numColumns);\n var render = props => {\n if (ListItemComponent) {\n // $FlowFixMe[not-a-component] Component isn't valid\n // $FlowFixMe[incompatible-type-arg] Component isn't valid\n // $FlowFixMe[incompatible-return] Component isn't valid\n return /*#__PURE__*/React.createElement(ListItemComponent, props);\n } else if (renderItem) {\n // $FlowFixMe[incompatible-call]\n return renderItem(props);\n } else {\n return null;\n }\n };\n var renderProp = info => {\n if (cols > 1) {\n var _item2 = info.item,\n _index = info.index;\n invariant(Array.isArray(_item2), 'Expected array of items with numColumns > 1');\n return /*#__PURE__*/React.createElement(View, {\n style: [styles.row, columnWrapperStyle]\n }, _item2.map((it, kk) => {\n var element = render({\n // $FlowFixMe[incompatible-call]\n item: it,\n index: _index * cols + kk,\n separators: info.separators\n });\n return element != null ? /*#__PURE__*/React.createElement(React.Fragment, {\n key: kk\n }, element) : null;\n }));\n } else {\n return render(info);\n }\n };\n return ListItemComponent ? {\n ListItemComponent: renderProp\n } : {\n renderItem: renderProp\n };\n };\n this._memoizedRenderer = memoizeOne(this._renderer);\n this._checkProps(this.props);\n if (this.props.viewabilityConfigCallbackPairs) {\n this._virtualizedListPairs = this.props.viewabilityConfigCallbackPairs.map(pair => ({\n viewabilityConfig: pair.viewabilityConfig,\n onViewableItemsChanged: this._createOnViewableItemsChanged(pair.onViewableItemsChanged)\n }));\n } else if (this.props.onViewableItemsChanged) {\n this._virtualizedListPairs.push({\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To\n * see the error delete this comment and run Flow. */\n viewabilityConfig: this.props.viewabilityConfig,\n onViewableItemsChanged: this._createOnViewableItemsChanged(this.props.onViewableItemsChanged)\n });\n }\n }\n\n // $FlowFixMe[missing-local-annot]\n componentDidUpdate(prevProps) {\n invariant(prevProps.numColumns === this.props.numColumns, 'Changing numColumns on the fly is not supported. Change the key prop on FlatList when ' + 'changing the number of columns to force a fresh render of the component.');\n invariant(prevProps.onViewableItemsChanged === this.props.onViewableItemsChanged, 'Changing onViewableItemsChanged on the fly is not supported');\n invariant(!deepDiffer(prevProps.viewabilityConfig, this.props.viewabilityConfig), 'Changing viewabilityConfig on the fly is not supported');\n invariant(prevProps.viewabilityConfigCallbackPairs === this.props.viewabilityConfigCallbackPairs, 'Changing viewabilityConfigCallbackPairs on the fly is not supported');\n this._checkProps(this.props);\n }\n // $FlowFixMe[missing-local-annot]\n _checkProps(props) {\n var getItem = props.getItem,\n getItemCount = props.getItemCount,\n horizontal = props.horizontal,\n columnWrapperStyle = props.columnWrapperStyle,\n onViewableItemsChanged = props.onViewableItemsChanged,\n viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n invariant(!getItem && !getItemCount, 'FlatList does not support custom data formats.');\n if (numColumns > 1) {\n invariant(!horizontal, 'numColumns does not support horizontal.');\n } else {\n invariant(!columnWrapperStyle, 'columnWrapperStyle not supported for single column lists');\n }\n invariant(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), 'FlatList does not support setting both onViewableItemsChanged and ' + 'viewabilityConfigCallbackPairs.');\n }\n _pushMultiColumnViewable(arr, v) {\n var _this$props$keyExtrac2;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n var keyExtractor = (_this$props$keyExtrac2 = this.props.keyExtractor) !== null && _this$props$keyExtrac2 !== void 0 ? _this$props$keyExtrac2 : defaultKeyExtractor;\n v.item.forEach((item, ii) => {\n invariant(v.index != null, 'Missing index!');\n var index = v.index * numColumns + ii;\n arr.push(_objectSpread(_objectSpread({}, v), {}, {\n item,\n key: keyExtractor(item, index),\n index\n }));\n });\n }\n _createOnViewableItemsChanged(onViewableItemsChanged\n // $FlowFixMe[missing-local-annot]\n ) {\n return info => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n if (onViewableItemsChanged) {\n if (numColumns > 1) {\n var changed = [];\n var viewableItems = [];\n info.viewableItems.forEach(v => this._pushMultiColumnViewable(viewableItems, v));\n info.changed.forEach(v => this._pushMultiColumnViewable(changed, v));\n onViewableItemsChanged({\n viewableItems,\n changed\n });\n } else {\n onViewableItemsChanged(info);\n }\n }\n };\n }\n\n // $FlowFixMe[missing-local-annot]\n\n render() {\n var _this$props = this.props,\n numColumns = _this$props.numColumns,\n columnWrapperStyle = _this$props.columnWrapperStyle,\n _removeClippedSubviews = _this$props.removeClippedSubviews,\n _this$props$strictMod = _this$props.strictMode,\n strictMode = _this$props$strictMod === void 0 ? false : _this$props$strictMod,\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var renderer = strictMode ? this._memoizedRenderer : this._renderer;\n return (\n /*#__PURE__*/\n // $FlowFixMe[incompatible-exact] - `restProps` (`Props`) is inexact.\n React.createElement(VirtualizedList, _extends({}, restProps, {\n getItem: this._getItem,\n getItemCount: this._getItemCount,\n keyExtractor: this._keyExtractor,\n ref: this._captureRef,\n viewabilityConfigCallbackPairs: this._virtualizedListPairs,\n removeClippedSubviews: removeClippedSubviewsOrDefault(_removeClippedSubviews)\n }, renderer(this.props.ListItemComponent, this.props.renderItem, columnWrapperStyle, numColumns, this.props.extraData)))\n );\n }\n}\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n }\n});\nexport default FlatList;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport FlatList from '../../vendor/react-native/FlatList';\nexport default FlatList;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\n// The config has different keys depending on the type of the Node\n// TODO(T54896888): Make these types strict\nexport default TurboModuleRegistry.get('NativeAnimatedModule');","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport EventEmitter from '../vendor/emitter/EventEmitter';\n\n// FIXME: use typed events\n\n/**\n * Global EventEmitter used by the native platform to emit events to JavaScript.\n * Events are identified by globally unique event names.\n *\n * NativeModules that emit events should instead subclass `NativeEventEmitter`.\n */\nexport default new EventEmitter();","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\nimport invariant from 'fbjs/lib/invariant';\n/**\n * `NativeEventEmitter` is intended for use by Native Modules to emit events to\n * JavaScript listeners. If a `NativeModule` is supplied to the constructor, it\n * will be notified (via `addListener` and `removeListeners`) when the listener\n * count changes to manage \"native memory\".\n *\n * Currently, all native events are fired via a global `RCTDeviceEventEmitter`.\n * This means event names must be globally unique, and it means that call sites\n * can theoretically listen to `RCTDeviceEventEmitter` (although discouraged).\n */\nexport default class NativeEventEmitter {\n constructor(nativeModule) {\n if (Platform.OS === 'ios') {\n invariant(nativeModule != null, '`new NativeEventEmitter()` requires a non-null argument.');\n this._nativeModule = nativeModule;\n }\n }\n addListener(eventType, listener, context) {\n var _this$_nativeModule;\n (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType);\n var subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context);\n return {\n remove: () => {\n if (subscription != null) {\n var _this$_nativeModule2;\n (_this$_nativeModule2 = this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1);\n // $FlowFixMe[incompatible-use]\n subscription.remove();\n subscription = null;\n }\n }\n };\n }\n\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n removeListener(eventType, listener) {\n var _this$_nativeModule3;\n (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1);\n // NOTE: This will report a deprecation notice via `console.error`.\n // $FlowFixMe[prop-missing] - `removeListener` exists but is deprecated.\n RCTDeviceEventEmitter.removeListener(eventType, listener);\n }\n emit(eventType) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is\n // included for completeness.\n RCTDeviceEventEmitter.emit(eventType, ...args);\n }\n removeAllListeners(eventType) {\n var _this$_nativeModule4;\n invariant(eventType != null, '`NativeEventEmitter.removeAllListener()` requires a non-null argument.');\n (_this$_nativeModule4 = this._nativeModule) == null ? void 0 : _this$_nativeModule4.removeListeners(this.listenerCount(eventType));\n RCTDeviceEventEmitter.removeAllListeners(eventType);\n }\n listenerCount(eventType) {\n return RCTDeviceEventEmitter.listenerCount(eventType);\n }\n}","import Platform from '../../../exports/Platform';\nexport default Platform;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport NativeAnimatedNonTurboModule from './NativeAnimatedModule';\nimport NativeAnimatedTurboModule from './NativeAnimatedTurboModule';\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport Platform from '../Utilities/Platform';\nimport ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';\nimport invariant from 'fbjs/lib/invariant';\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\n// TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.\nvar NativeAnimatedModule = Platform.OS === 'ios' && global.RN$Bridgeless === true ? NativeAnimatedTurboModule : NativeAnimatedNonTurboModule;\nvar __nativeAnimatedNodeTagCount = 1; /* used for animated nodes */\nvar __nativeAnimationIdCount = 1; /* used for started animations */\n\nvar nativeEventEmitter;\nvar waitingForQueuedOperations = new Set();\nvar queueOperations = false;\nvar queue = [];\n// $FlowFixMe\nvar singleOpQueue = [];\nvar useSingleOpBatching = false;\nPlatform.OS === 'android' && !!(NativeAnimatedModule != null && NativeAnimatedModule.queueAndExecuteBatchedOperations) && ReactNativeFeatureFlags.animatedShouldUseSingleOp();\nvar flushQueueTimeout = null;\nvar eventListenerGetValueCallbacks = {};\nvar eventListenerAnimationFinishedCallbacks = {};\nvar globalEventEmitterGetValueListener = null;\nvar globalEventEmitterAnimationFinishedListener = null;\nvar nativeOps = useSingleOpBatching ? function () {\n var apis = ['createAnimatedNode',\n // 1\n 'updateAnimatedNodeConfig',\n // 2\n 'getValue',\n // 3\n 'startListeningToAnimatedNodeValue',\n // 4\n 'stopListeningToAnimatedNodeValue',\n // 5\n 'connectAnimatedNodes',\n // 6\n 'disconnectAnimatedNodes',\n // 7\n 'startAnimatingNode',\n // 8\n 'stopAnimation',\n // 9\n 'setAnimatedNodeValue',\n // 10\n 'setAnimatedNodeOffset',\n // 11\n 'flattenAnimatedNodeOffset',\n // 12\n 'extractAnimatedNodeOffset',\n // 13\n 'connectAnimatedNodeToView',\n // 14\n 'disconnectAnimatedNodeFromView',\n // 15\n 'restoreDefaultValues',\n // 16\n 'dropAnimatedNode',\n // 17\n 'addAnimatedEventToView',\n // 18\n 'removeAnimatedEventFromView',\n // 19\n 'addListener',\n // 20\n 'removeListener' // 21\n ];\n\n return apis.reduce((acc, functionName, i) => {\n // These indices need to be kept in sync with the indices in native (see NativeAnimatedModule in Java, or the equivalent for any other native platform).\n // $FlowFixMe[prop-missing]\n acc[functionName] = i + 1;\n return acc;\n }, {});\n}() : NativeAnimatedModule;\n\n/**\n * Wrappers around NativeAnimatedModule to provide flow and autocomplete support for\n * the native module methods, and automatic queue management on Android\n */\nvar API = {\n getValue: function getValue(tag, saveValueCallback) {\n invariant(nativeOps, 'Native animated module is not available');\n if (useSingleOpBatching) {\n if (saveValueCallback) {\n eventListenerGetValueCallbacks[tag] = saveValueCallback;\n }\n // $FlowFixMe\n API.queueOperation(nativeOps.getValue, tag);\n } else {\n API.queueOperation(nativeOps.getValue, tag, saveValueCallback);\n }\n },\n setWaitingForIdentifier: function setWaitingForIdentifier(id) {\n waitingForQueuedOperations.add(id);\n queueOperations = true;\n if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush() && flushQueueTimeout) {\n clearTimeout(flushQueueTimeout);\n }\n },\n unsetWaitingForIdentifier: function unsetWaitingForIdentifier(id) {\n waitingForQueuedOperations.delete(id);\n if (waitingForQueuedOperations.size === 0) {\n queueOperations = false;\n API.disableQueue();\n }\n },\n disableQueue: function disableQueue() {\n invariant(nativeOps, 'Native animated module is not available');\n if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush()) {\n var prevTimeout = flushQueueTimeout;\n clearImmediate(prevTimeout);\n flushQueueTimeout = setImmediate(API.flushQueue);\n } else {\n API.flushQueue();\n }\n },\n flushQueue: function flushQueue() {\n /*\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n flushQueueTimeout = null;\n // Early returns before calling any APIs\n if (useSingleOpBatching && singleOpQueue.length === 0) {\n return;\n }\n if (!useSingleOpBatching && queue.length === 0) {\n return;\n }\n if (useSingleOpBatching) {\n // Set up event listener for callbacks if it's not set up\n if (\n !globalEventEmitterGetValueListener ||\n !globalEventEmitterAnimationFinishedListener\n ) {\n setupGlobalEventEmitterListeners();\n }\n // Single op batching doesn't use callback functions, instead we\n // use RCTDeviceEventEmitter. This reduces overhead of sending lots of\n // JSI functions across to native code; but also, TM infrastructure currently\n // does not support packing a function into native arrays.\n NativeAnimatedModule.queueAndExecuteBatchedOperations?.(singleOpQueue);\n singleOpQueue.length = 0;\n } else {\n Platform.OS === 'android' && NativeAnimatedModule.startOperationBatch?.();\n for (let q = 0, l = queue.length; q < l; q++) {\n queue[q]();\n }\n queue.length = 0;\n Platform.OS === 'android' &&\n NativeAnimatedModule.finishOperationBatch?.();\n }\n */\n },\n queueOperation: function queueOperation(fn) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (useSingleOpBatching) {\n // Get the command ID from the queued function, and push that ID and any arguments needed to execute the operation\n // $FlowFixMe: surprise, fn is actually a number\n singleOpQueue.push(fn, ...args);\n return;\n }\n\n // If queueing is explicitly on, *or* the queue has not yet\n // been flushed, use the queue. This is to prevent operations\n // from being executed out of order.\n if (queueOperations || queue.length !== 0) {\n queue.push(() => fn(...args));\n } else {\n fn(...args);\n }\n },\n createAnimatedNode: function createAnimatedNode(tag, config) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.createAnimatedNode, tag, config);\n },\n updateAnimatedNodeConfig: function updateAnimatedNodeConfig(tag, config) {\n invariant(nativeOps, 'Native animated module is not available');\n //if (nativeOps.updateAnimatedNodeConfig) {\n // API.queueOperation(nativeOps.updateAnimatedNodeConfig, tag, config);\n //}\n },\n\n startListeningToAnimatedNodeValue: function startListeningToAnimatedNodeValue(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.startListeningToAnimatedNodeValue, tag);\n },\n stopListeningToAnimatedNodeValue: function stopListeningToAnimatedNodeValue(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.stopListeningToAnimatedNodeValue, tag);\n },\n connectAnimatedNodes: function connectAnimatedNodes(parentTag, childTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.connectAnimatedNodes, parentTag, childTag);\n },\n disconnectAnimatedNodes: function disconnectAnimatedNodes(parentTag, childTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.disconnectAnimatedNodes, parentTag, childTag);\n },\n startAnimatingNode: function startAnimatingNode(animationId, nodeTag, config, endCallback) {\n invariant(nativeOps, 'Native animated module is not available');\n if (useSingleOpBatching) {\n if (endCallback) {\n eventListenerAnimationFinishedCallbacks[animationId] = endCallback;\n }\n // $FlowFixMe\n API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config);\n } else {\n API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config, endCallback);\n }\n },\n stopAnimation: function stopAnimation(animationId) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.stopAnimation, animationId);\n },\n setAnimatedNodeValue: function setAnimatedNodeValue(nodeTag, value) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.setAnimatedNodeValue, nodeTag, value);\n },\n setAnimatedNodeOffset: function setAnimatedNodeOffset(nodeTag, offset) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.setAnimatedNodeOffset, nodeTag, offset);\n },\n flattenAnimatedNodeOffset: function flattenAnimatedNodeOffset(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.flattenAnimatedNodeOffset, nodeTag);\n },\n extractAnimatedNodeOffset: function extractAnimatedNodeOffset(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.extractAnimatedNodeOffset, nodeTag);\n },\n connectAnimatedNodeToView: function connectAnimatedNodeToView(nodeTag, viewTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.connectAnimatedNodeToView, nodeTag, viewTag);\n },\n disconnectAnimatedNodeFromView: function disconnectAnimatedNodeFromView(nodeTag, viewTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.disconnectAnimatedNodeFromView, nodeTag, viewTag);\n },\n restoreDefaultValues: function restoreDefaultValues(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n // Backwards compat with older native runtimes, can be removed later.\n if (nativeOps.restoreDefaultValues != null) {\n API.queueOperation(nativeOps.restoreDefaultValues, nodeTag);\n }\n },\n dropAnimatedNode: function dropAnimatedNode(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.dropAnimatedNode, tag);\n },\n addAnimatedEventToView: function addAnimatedEventToView(viewTag, eventName, eventMapping) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.addAnimatedEventToView, viewTag, eventName, eventMapping);\n },\n removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.removeAnimatedEventFromView, viewTag, eventName, animatedNodeTag);\n }\n};\nfunction setupGlobalEventEmitterListeners() {\n globalEventEmitterGetValueListener = RCTDeviceEventEmitter.addListener('onNativeAnimatedModuleGetValue', function (params) {\n var tag = params.tag;\n var callback = eventListenerGetValueCallbacks[tag];\n if (!callback) {\n return;\n }\n callback(params.value);\n delete eventListenerGetValueCallbacks[tag];\n });\n globalEventEmitterAnimationFinishedListener = RCTDeviceEventEmitter.addListener('onNativeAnimatedModuleAnimationFinished', function (params) {\n var animationId = params.animationId;\n var callback = eventListenerAnimationFinishedCallbacks[animationId];\n if (!callback) {\n return;\n }\n callback(params);\n delete eventListenerAnimationFinishedCallbacks[animationId];\n });\n}\n\n/**\n * Styles allowed by the native animated implementation.\n *\n * In general native animated implementation should support any numeric or color property that\n * doesn't need to be updated through the shadow view hierarchy (all non-layout properties).\n */\nvar SUPPORTED_COLOR_STYLES = {\n backgroundColor: true,\n borderBottomColor: true,\n borderColor: true,\n borderEndColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n borderStartColor: true,\n borderTopColor: true,\n color: true,\n tintColor: true\n};\nvar SUPPORTED_STYLES = _objectSpread(_objectSpread({}, SUPPORTED_COLOR_STYLES), {}, {\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderRadius: true,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n elevation: true,\n opacity: true,\n transform: true,\n zIndex: true,\n /* ios styles */\n shadowOpacity: true,\n shadowRadius: true,\n /* legacy android transform properties */\n scaleX: true,\n scaleY: true,\n translateX: true,\n translateY: true\n});\nvar SUPPORTED_TRANSFORMS = {\n translateX: true,\n translateY: true,\n scale: true,\n scaleX: true,\n scaleY: true,\n rotate: true,\n rotateX: true,\n rotateY: true,\n rotateZ: true,\n perspective: true\n};\nvar SUPPORTED_INTERPOLATION_PARAMS = {\n inputRange: true,\n outputRange: true,\n extrapolate: true,\n extrapolateRight: true,\n extrapolateLeft: true\n};\nfunction addWhitelistedStyleProp(prop) {\n SUPPORTED_STYLES[prop] = true;\n}\nfunction addWhitelistedTransformProp(prop) {\n SUPPORTED_TRANSFORMS[prop] = true;\n}\nfunction addWhitelistedInterpolationParam(param) {\n SUPPORTED_INTERPOLATION_PARAMS[param] = true;\n}\nfunction isSupportedColorStyleProp(prop) {\n return SUPPORTED_COLOR_STYLES.hasOwnProperty(prop);\n}\nfunction isSupportedStyleProp(prop) {\n return SUPPORTED_STYLES.hasOwnProperty(prop);\n}\nfunction isSupportedTransformProp(prop) {\n return SUPPORTED_TRANSFORMS.hasOwnProperty(prop);\n}\nfunction isSupportedInterpolationParam(param) {\n return SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(param);\n}\nfunction validateTransform(configs) {\n configs.forEach(config => {\n if (!isSupportedTransformProp(config.property)) {\n throw new Error(\"Property '\" + config.property + \"' is not supported by native animated module\");\n }\n });\n}\nfunction validateStyles(styles) {\n for (var _key2 in styles) {\n if (!isSupportedStyleProp(_key2)) {\n throw new Error(\"Style property '\" + _key2 + \"' is not supported by native animated module\");\n }\n }\n}\nfunction validateInterpolation(config) {\n for (var _key3 in config) {\n if (!isSupportedInterpolationParam(_key3)) {\n throw new Error(\"Interpolation property '\" + _key3 + \"' is not supported by native animated module\");\n }\n }\n}\nfunction generateNewNodeTag() {\n return __nativeAnimatedNodeTagCount++;\n}\nfunction generateNewAnimationId() {\n return __nativeAnimationIdCount++;\n}\nfunction assertNativeAnimatedModule() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n}\nvar _warnedMissingNativeAnimated = false;\nfunction shouldUseNativeDriver(config) {\n if (config.useNativeDriver == null) {\n console.warn('Animated: `useNativeDriver` was not specified. This is a required ' + 'option and must be explicitly set to `true` or `false`');\n }\n if (config.useNativeDriver === true && !NativeAnimatedModule) {\n if (!_warnedMissingNativeAnimated) {\n console.warn('Animated: `useNativeDriver` is not supported because the native ' + 'animated module is missing. Falling back to JS-based animation. To ' + 'resolve this, add `RCTAnimation` module to this app, or remove ' + '`useNativeDriver`. ' + 'Make sure to run `bundle exec pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md');\n _warnedMissingNativeAnimated = true;\n }\n return false;\n }\n return config.useNativeDriver || false;\n}\nfunction transformDataType(value) {\n // Change the string type to number type so we can reuse the same logic in\n // iOS and Android platform\n if (typeof value !== 'string') {\n return value;\n }\n if (/deg$/.test(value)) {\n var degrees = parseFloat(value) || 0;\n var radians = degrees * Math.PI / 180.0;\n return radians;\n } else {\n return value;\n }\n}\nexport { API, isSupportedColorStyleProp, isSupportedStyleProp, isSupportedTransformProp, isSupportedInterpolationParam, addWhitelistedStyleProp, addWhitelistedTransformProp, addWhitelistedInterpolationParam, validateStyles, validateTransform, validateInterpolation, generateNewNodeTag, generateNewAnimationId, assertNativeAnimatedModule, shouldUseNativeDriver, transformDataType };\nexport default {\n API,\n isSupportedColorStyleProp,\n isSupportedStyleProp,\n isSupportedTransformProp,\n isSupportedInterpolationParam,\n addWhitelistedStyleProp,\n addWhitelistedTransformProp,\n addWhitelistedInterpolationParam,\n validateStyles,\n validateTransform,\n validateInterpolation,\n generateNewNodeTag,\n generateNewAnimationId,\n assertNativeAnimatedModule,\n shouldUseNativeDriver,\n transformDataType,\n // $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppresion\n // $FlowExpectedError[missing-type-arg] - unsafe getter lint suppresion\n get nativeEventEmitter() {\n if (!nativeEventEmitter) {\n nativeEventEmitter = new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' ? null : NativeAnimatedModule);\n }\n return nativeEventEmitter;\n }\n};","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nvar ReactNativeFeatureFlags = {\n isLayoutAnimationEnabled: () => true,\n shouldEmitW3CPointerEvents: () => false,\n shouldPressibilityUseW3CPointerEventsForHover: () => false,\n animatedShouldDebounceQueueFlush: () => false,\n animatedShouldUseSingleOp: () => false\n};\nexport default ReactNativeFeatureFlags;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\nexport function get(name) {\n return null;\n}\nexport function getEnforcing(name) {\n var module = get(name);\n invariant(module != null, \"TurboModuleRegistry.getEnforcing(...): '\" + name + \"' could not be found. \" + 'Verify that a module by this name is registered in the native binary.');\n return module;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n\n// Note(vjeux): this would be better as an interface but flow doesn't\n// support them yet\nclass AnimatedNode {\n __attach() {}\n __detach() {\n if (this.__isNative && this.__nativeTag != null) {\n NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag);\n this.__nativeTag = undefined;\n }\n }\n __getValue() {}\n __getAnimatedValue() {\n return this.__getValue();\n }\n __addChild(child) {}\n __removeChild(child) {}\n __getChildren() {\n return [];\n }\n\n /* Methods and props used by native Animated impl */\n\n constructor() {\n this._listeners = {};\n }\n __makeNative(platformConfig) {\n if (!this.__isNative) {\n throw new Error('This node cannot be made a \"native\" animated node');\n }\n this._platformConfig = platformConfig;\n if (this.hasListeners()) {\n this._startListeningToNativeValueUpdates();\n }\n }\n\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to\n * synchronously read the value because it might be driven natively.\n *\n * See https://reactnative.dev/docs/animatedvalue#addlistener\n */\n addListener(callback) {\n var id = String(_uniqueId++);\n this._listeners[id] = callback;\n if (this.__isNative) {\n this._startListeningToNativeValueUpdates();\n }\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvalue#removelistener\n */\n removeListener(id) {\n delete this._listeners[id];\n if (this.__isNative && !this.hasListeners()) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvalue#removealllisteners\n */\n removeAllListeners() {\n this._listeners = {};\n if (this.__isNative) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n hasListeners() {\n return !!Object.keys(this._listeners).length;\n }\n _startListeningToNativeValueUpdates() {\n if (this.__nativeAnimatedValueListener && !this.__shouldUpdateListenersForNewNativeTag) {\n return;\n }\n if (this.__shouldUpdateListenersForNewNativeTag) {\n this.__shouldUpdateListenersForNewNativeTag = false;\n this._stopListeningForNativeValueUpdates();\n }\n NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag());\n this.__nativeAnimatedValueListener = NativeAnimatedHelper.nativeEventEmitter.addListener('onAnimatedValueUpdate', data => {\n if (data.tag !== this.__getNativeTag()) {\n return;\n }\n this.__onAnimatedValueUpdateReceived(data.value);\n });\n }\n __onAnimatedValueUpdateReceived(value) {\n this.__callListeners(value);\n }\n __callListeners(value) {\n for (var _key in this._listeners) {\n this._listeners[_key]({\n value\n });\n }\n }\n _stopListeningForNativeValueUpdates() {\n if (!this.__nativeAnimatedValueListener) {\n return;\n }\n this.__nativeAnimatedValueListener.remove();\n this.__nativeAnimatedValueListener = null;\n NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag());\n }\n __getNativeTag() {\n var _this$__nativeTag;\n NativeAnimatedHelper.assertNativeAnimatedModule();\n invariant(this.__isNative, 'Attempt to get native tag from node not marked as \"native\"');\n var nativeTag = (_this$__nativeTag = this.__nativeTag) !== null && _this$__nativeTag !== void 0 ? _this$__nativeTag : NativeAnimatedHelper.generateNewNodeTag();\n if (this.__nativeTag == null) {\n this.__nativeTag = nativeTag;\n var config = this.__getNativeConfig();\n if (this._platformConfig) {\n config.platformConfig = this._platformConfig;\n }\n NativeAnimatedHelper.API.createAnimatedNode(nativeTag, config);\n this.__shouldUpdateListenersForNewNativeTag = true;\n }\n return nativeTag;\n }\n __getNativeConfig() {\n throw new Error('This JS animated node type cannot be used as native animated node');\n }\n toJSON() {\n return this.__getValue();\n }\n __getPlatformConfig() {\n return this._platformConfig;\n }\n __setPlatformConfig(platformConfig) {\n this._platformConfig = platformConfig;\n }\n}\nexport default AnimatedNode;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport AnimatedNode from './AnimatedNode';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nclass AnimatedWithChildren extends AnimatedNode {\n constructor() {\n super();\n this._children = [];\n }\n __makeNative(platformConfig) {\n if (!this.__isNative) {\n this.__isNative = true;\n for (var _iterator = _createForOfIteratorHelperLoose(this._children), _step; !(_step = _iterator()).done;) {\n var child = _step.value;\n child.__makeNative(platformConfig);\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n super.__makeNative(platformConfig);\n }\n __addChild(child) {\n if (this._children.length === 0) {\n this.__attach();\n }\n this._children.push(child);\n if (this.__isNative) {\n // Only accept \"native\" animated nodes as children\n child.__makeNative(this.__getPlatformConfig());\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n __removeChild(child) {\n var index = this._children.indexOf(child);\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n if (this.__isNative && child.__isNative) {\n NativeAnimatedHelper.API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n this._children.splice(index, 1);\n if (this._children.length === 0) {\n this.__detach();\n }\n }\n __getChildren() {\n return this._children;\n }\n __callListeners(value) {\n super.__callListeners(value);\n if (!this.__isNative) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this._children), _step2; !(_step2 = _iterator2()).done;) {\n var child = _step2.value;\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n if (child.__getValue) {\n child.__callListeners(child.__getValue());\n }\n }\n }\n }\n}\nexport default AnimatedWithChildren;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport normalizeColor from '@react-native/normalize-colors';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar linear = t => t;\n\n/**\n * Very handy helper to map input ranges to output ranges with an easing\n * function and custom behavior outside of the ranges.\n */\nfunction createInterpolation(config) {\n if (config.outputRange && typeof config.outputRange[0] === 'string') {\n return createInterpolationFromStringOutputRange(config);\n }\n var outputRange = config.outputRange;\n var inputRange = config.inputRange;\n if (__DEV__) {\n checkInfiniteRange('outputRange', outputRange);\n checkInfiniteRange('inputRange', inputRange);\n checkValidInputRange(inputRange);\n invariant(inputRange.length === outputRange.length, 'inputRange (' + inputRange.length + ') and outputRange (' + outputRange.length + ') must have the same length');\n }\n var easing = config.easing || linear;\n var extrapolateLeft = 'extend';\n if (config.extrapolateLeft !== undefined) {\n extrapolateLeft = config.extrapolateLeft;\n } else if (config.extrapolate !== undefined) {\n extrapolateLeft = config.extrapolate;\n }\n var extrapolateRight = 'extend';\n if (config.extrapolateRight !== undefined) {\n extrapolateRight = config.extrapolateRight;\n } else if (config.extrapolate !== undefined) {\n extrapolateRight = config.extrapolate;\n }\n return input => {\n invariant(typeof input === 'number', 'Cannot interpolation an input which is not a number');\n var range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight);\n };\n}\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) {\n var result = input;\n\n // Extrapolate\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') {\n return result;\n } else if (extrapolateLeft === 'clamp') {\n result = inputMin;\n } else if (extrapolateLeft === 'extend') {\n // noop\n }\n }\n if (result > inputMax) {\n if (extrapolateRight === 'identity') {\n return result;\n } else if (extrapolateRight === 'clamp') {\n result = inputMax;\n } else if (extrapolateRight === 'extend') {\n // noop\n }\n }\n if (outputMin === outputMax) {\n return outputMin;\n }\n if (inputMin === inputMax) {\n if (input <= inputMin) {\n return outputMin;\n }\n return outputMax;\n }\n\n // Input Range\n if (inputMin === -Infinity) {\n result = -result;\n } else if (inputMax === Infinity) {\n result = result - inputMin;\n } else {\n result = (result - inputMin) / (inputMax - inputMin);\n }\n\n // Easing\n result = easing(result);\n\n // Output Range\n if (outputMin === -Infinity) {\n result = -result;\n } else if (outputMax === Infinity) {\n result = result + outputMin;\n } else {\n result = result * (outputMax - outputMin) + outputMin;\n }\n return result;\n}\nfunction colorToRgba(input) {\n var normalizedColor = normalizeColor(input);\n if (normalizedColor === null || typeof normalizedColor !== 'number') {\n return input;\n }\n normalizedColor = normalizedColor || 0;\n var r = (normalizedColor & 0xff000000) >>> 24;\n var g = (normalizedColor & 0x00ff0000) >>> 16;\n var b = (normalizedColor & 0x0000ff00) >>> 8;\n var a = (normalizedColor & 0x000000ff) / 255;\n return \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + a + \")\";\n}\nvar stringShapeRegex = /[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/g;\n\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n */\nfunction createInterpolationFromStringOutputRange(config) {\n var outputRange = config.outputRange;\n invariant(outputRange.length >= 2, 'Bad output range');\n outputRange = outputRange.map(colorToRgba);\n checkPattern(outputRange);\n\n // ['rgba(0, 100, 200, 0)', 'rgba(50, 150, 250, 0.5)']\n // ->\n // [\n // [0, 50],\n // [100, 150],\n // [200, 250],\n // [0, 0.5],\n // ]\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */\n var outputRanges = outputRange[0].match(stringShapeRegex).map(() => []);\n outputRange.forEach(value => {\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `value.match()` can return\n * `null`. Need to guard against this possibility. */\n value.match(stringShapeRegex).forEach((number, i) => {\n outputRanges[i].push(+number);\n });\n });\n var interpolations = outputRange[0].match(stringShapeRegex)\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */\n /* $FlowFixMe[incompatible-call] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */.map((value, i) => {\n return createInterpolation(_objectSpread(_objectSpread({}, config), {}, {\n outputRange: outputRanges[i]\n }));\n });\n\n // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n var shouldRound = isRgbOrRgba(outputRange[0]);\n return input => {\n var i = 0;\n // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n return outputRange[0].replace(stringShapeRegex, () => {\n var val = +interpolations[i++](input);\n if (shouldRound) {\n val = i < 4 ? Math.round(val) : Math.round(val * 1000) / 1000;\n }\n return String(val);\n });\n };\n}\nfunction isRgbOrRgba(range) {\n return typeof range === 'string' && range.startsWith('rgb');\n}\nfunction checkPattern(arr) {\n var pattern = arr[0].replace(stringShapeRegex, '');\n for (var i = 1; i < arr.length; ++i) {\n invariant(pattern === arr[i].replace(stringShapeRegex, ''), 'invalid pattern ' + arr[0] + ' and ' + arr[i]);\n }\n}\nfunction findRange(input, inputRange) {\n var i;\n for (i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) {\n break;\n }\n }\n return i - 1;\n}\nfunction checkValidInputRange(arr) {\n invariant(arr.length >= 2, 'inputRange must have at least 2 elements');\n var message = 'inputRange must be monotonically non-decreasing ' + String(arr);\n for (var i = 1; i < arr.length; ++i) {\n invariant(arr[i] >= arr[i - 1], message);\n }\n}\nfunction checkInfiniteRange(name, arr) {\n invariant(arr.length >= 2, name + ' must have at least 2 elements');\n invariant(arr.length !== 2 || arr[0] !== -Infinity || arr[1] !== Infinity,\n /* $FlowFixMe[incompatible-type] (>=0.13.0) - In the addition expression\n * below this comment, one or both of the operands may be something that\n * doesn't cleanly convert to a string, like undefined, null, and object,\n * etc. If you really mean this implicit string conversion, you can do\n * something like String(myThing) */\n name + 'cannot be ]-infinity;+infinity[ ' + arr);\n}\nclass AnimatedInterpolation extends AnimatedWithChildren {\n // Export for testing.\n\n constructor(parent, config) {\n super();\n this._parent = parent;\n this._config = config;\n this._interpolation = createInterpolation(config);\n }\n __makeNative(platformConfig) {\n this._parent.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n var parentValue = this._parent.__getValue();\n invariant(typeof parentValue === 'number', 'Cannot interpolate an input which is not a number.');\n return this._interpolation(parentValue);\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._parent.__addChild(this);\n }\n __detach() {\n this._parent.__removeChild(this);\n super.__detach();\n }\n __transformDataType(range) {\n return range.map(NativeAnimatedHelper.transformDataType);\n }\n __getNativeConfig() {\n if (__DEV__) {\n NativeAnimatedHelper.validateInterpolation(this._config);\n }\n return {\n inputRange: this._config.inputRange,\n // Only the `outputRange` can contain strings so we don't need to transform `inputRange` here\n outputRange: this.__transformDataType(this._config.outputRange),\n extrapolateLeft: this._config.extrapolateLeft || this._config.extrapolate || 'extend',\n extrapolateRight: this._config.extrapolateRight || this._config.extrapolate || 'extend',\n type: 'interpolation'\n };\n }\n}\nAnimatedInterpolation.__createInterpolation = createInterpolation;\nexport default AnimatedInterpolation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport InteractionManager from '../../../../exports/InteractionManager';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\n\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an Animated.Value is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\nfunction _flush(rootNode) {\n var animatedStyles = new Set();\n function findAnimatedStyles(node) {\n /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.68 was deployed. To see the error\n * delete this comment and run Flow. */\n if (typeof node.update === 'function') {\n animatedStyles.add(node);\n } else {\n node.__getChildren().forEach(findAnimatedStyles);\n }\n }\n findAnimatedStyles(rootNode);\n // $FlowFixMe[prop-missing]\n animatedStyles.forEach(animatedStyle => animatedStyle.update());\n}\n\n/**\n * Some operations are executed only on batch end, which is _mostly_ scheduled when\n * Animated component props change. For some of the changes which require immediate execution\n * (e.g. setValue), we create a separate batch in case none is scheduled.\n */\nfunction _executeAsAnimatedBatch(id, operation) {\n NativeAnimatedAPI.setWaitingForIdentifier(id);\n operation();\n NativeAnimatedAPI.unsetWaitingForIdentifier(id);\n}\n\n/**\n * Standard value for driving animations. One `Animated.Value` can drive\n * multiple properties in a synchronized fashion, but can only be driven by one\n * mechanism at a time. Using a new mechanism (e.g. starting a new animation,\n * or calling `setValue`) will stop any previous ones.\n *\n * See https://reactnative.dev/docs/animatedvalue\n */\nclass AnimatedValue extends AnimatedWithChildren {\n constructor(value, config) {\n super();\n if (typeof value !== 'number') {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n this._startingValue = this._value = value;\n this._offset = 0;\n this._animation = null;\n if (config && config.useNativeDriver) {\n this.__makeNative();\n }\n }\n __detach() {\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), value => {\n this._value = value - this._offset;\n });\n }\n this.stopAnimation();\n super.__detach();\n }\n __getValue() {\n return this._value + this._offset;\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvalue#setvalue\n */\n setValue(value) {\n if (this._animation) {\n this._animation.stop();\n this._animation = null;\n }\n this._updateValue(value, !this.__isNative /* don't perform a flush for natively driven values */);\n\n if (this.__isNative) {\n _executeAsAnimatedBatch(this.__getNativeTag().toString(), () => NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value));\n }\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether via\n * `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvalue#setoffset\n */\n setOffset(offset) {\n this._offset = offset;\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(), offset);\n }\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue#flattenoffset\n */\n flattenOffset() {\n this._value += this._offset;\n this._offset = 0;\n if (this.__isNative) {\n NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue#extractoffset\n */\n extractOffset() {\n this._offset += this._value;\n this._value = 0;\n if (this.__isNative) {\n NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvalue#stopanimation\n */\n stopAnimation(callback) {\n this.stopTracking();\n this._animation && this._animation.stop();\n this._animation = null;\n if (callback) {\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), callback);\n } else {\n callback(this.__getValue());\n }\n }\n }\n\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvalue#resetanimation\n */\n resetAnimation(callback) {\n this.stopAnimation(callback);\n this._value = this._startingValue;\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), this._startingValue);\n }\n }\n __onAnimatedValueUpdateReceived(value) {\n this._updateValue(value, false /*flush*/);\n }\n\n /**\n * Interpolates the value before updating the property, e.g. mapping 0-1 to\n * 0-10.\n */\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n\n /**\n * Typically only used internally, but could be used by a custom Animation\n * class.\n *\n * See https://reactnative.dev/docs/animatedvalue#animate\n */\n animate(animation, callback) {\n var handle = null;\n if (animation.__isInteraction) {\n handle = InteractionManager.createInteractionHandle();\n }\n var previousAnimation = this._animation;\n this._animation && this._animation.stop();\n this._animation = animation;\n animation.start(this._value, value => {\n // Natively driven animations will never call into that callback\n this._updateValue(value, true /* flush */);\n }, result => {\n this._animation = null;\n if (handle !== null) {\n InteractionManager.clearInteractionHandle(handle);\n }\n callback && callback(result);\n }, previousAnimation, this);\n }\n\n /**\n * Typically only used internally.\n */\n stopTracking() {\n this._tracking && this._tracking.__detach();\n this._tracking = null;\n }\n\n /**\n * Typically only used internally.\n */\n track(tracking) {\n this.stopTracking();\n this._tracking = tracking;\n // Make sure that the tracking animation starts executing\n this._tracking && this._tracking.update();\n }\n _updateValue(value, flush) {\n if (value === undefined) {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n this._value = value;\n if (flush) {\n _flush(this);\n }\n super.__callListeners(this.__getValue());\n }\n __getNativeConfig() {\n return {\n type: 'value',\n value: this._value,\n offset: this._offset\n };\n }\n}\nexport default AnimatedValue;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './nodes/AnimatedValue';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from './NativeAnimatedHelper';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nexport function attachNativeEvent(viewRef, eventName, argMapping) {\n // Find animated values in `argMapping` and create an array representing their\n // key path inside the `nativeEvent` object. Ex.: ['contentOffset', 'x'].\n var eventMappings = [];\n var traverse = (value, path) => {\n if (value instanceof AnimatedValue) {\n value.__makeNative();\n eventMappings.push({\n nativeEventPath: path,\n animatedValueTag: value.__getNativeTag()\n });\n } else if (typeof value === 'object') {\n for (var _key in value) {\n traverse(value[_key], path.concat(_key));\n }\n }\n };\n invariant(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.');\n\n // Assume that the event containing `nativeEvent` is always the first argument.\n traverse(argMapping[0].nativeEvent, []);\n if (viewRef != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.addAnimatedEventToView(viewRef, eventName, mapping);\n });\n }\n return {\n detach() {\n if (viewRef != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.removeAnimatedEventFromView(viewRef, eventName,\n // $FlowFixMe[incompatible-call]\n mapping.animatedValueTag);\n });\n }\n }\n };\n}\nfunction validateMapping(argMapping, args) {\n var validate = (recMapping, recEvt, key) => {\n if (recMapping instanceof AnimatedValue) {\n invariant(typeof recEvt === 'number', 'Bad mapping of event key ' + key + ', should be number but got ' + typeof recEvt);\n return;\n }\n if (typeof recEvt === 'number') {\n invariant(recMapping instanceof AnimatedValue, 'Bad mapping of type ' + typeof recMapping + ' for key ' + key + ', event value must map to AnimatedValue');\n return;\n }\n invariant(typeof recMapping === 'object', 'Bad mapping of type ' + typeof recMapping + ' for key ' + key);\n invariant(typeof recEvt === 'object', 'Bad event of type ' + typeof recEvt + ' for key ' + key);\n for (var mappingKey in recMapping) {\n validate(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n };\n invariant(args.length >= argMapping.length, 'Event has less arguments than mapping');\n argMapping.forEach((mapping, idx) => {\n validate(mapping, args[idx], 'arg' + idx);\n });\n}\nexport class AnimatedEvent {\n constructor(argMapping, config) {\n this._listeners = [];\n this._argMapping = argMapping;\n if (config == null) {\n console.warn('Animated.event now requires a second argument for options');\n config = {\n useNativeDriver: false\n };\n }\n if (config.listener) {\n this.__addListener(config.listener);\n }\n this._callListeners = this._callListeners.bind(this);\n this._attachedEvent = null;\n this.__isNative = shouldUseNativeDriver(config);\n }\n __addListener(callback) {\n this._listeners.push(callback);\n }\n __removeListener(callback) {\n this._listeners = this._listeners.filter(listener => listener !== callback);\n }\n __attach(viewRef, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be attached.');\n this._attachedEvent = attachNativeEvent(viewRef, eventName, this._argMapping);\n }\n __detach(viewTag, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be detached.');\n this._attachedEvent && this._attachedEvent.detach();\n }\n __getHandler() {\n var _this = this;\n if (this.__isNative) {\n if (__DEV__) {\n var _validatedMapping = false;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (!_validatedMapping) {\n validateMapping(_this._argMapping, args);\n _validatedMapping = true;\n }\n _this._callListeners(...args);\n };\n } else {\n return this._callListeners;\n }\n }\n var validatedMapping = false;\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n args[_key3] = arguments[_key3];\n }\n if (__DEV__ && !validatedMapping) {\n validateMapping(_this._argMapping, args);\n validatedMapping = true;\n }\n var traverse = (recMapping, recEvt, key) => {\n if (recMapping instanceof AnimatedValue) {\n if (typeof recEvt === 'number') {\n recMapping.setValue(recEvt);\n }\n } else if (typeof recMapping === 'object') {\n for (var mappingKey in recMapping) {\n /* $FlowFixMe(>=0.120.0) This comment suppresses an error found\n * when Flow v0.120 was deployed. To see the error, delete this\n * comment and run Flow. */\n traverse(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n }\n };\n _this._argMapping.forEach((mapping, idx) => {\n traverse(mapping, args[idx], 'arg' + idx);\n });\n _this._callListeners(...args);\n };\n }\n _callListeners() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {\n args[_key4] = arguments[_key4];\n }\n this._listeners.forEach(listener => listener(...args));\n }\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nclass AnimatedTransform extends AnimatedWithChildren {\n constructor(transforms) {\n super();\n this._transforms = transforms;\n }\n __makeNative() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n });\n super.__makeNative();\n }\n __getValue() {\n return this._transforms.map(transform => {\n var result = {};\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n result[key] = value.__getValue();\n } else {\n result[key] = value;\n }\n }\n return result;\n });\n }\n __getAnimatedValue() {\n return this._transforms.map(transform => {\n var result = {};\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n result[key] = value.__getAnimatedValue();\n } else {\n // All transform components needed to recompose matrix\n result[key] = value;\n }\n }\n return result;\n });\n }\n __attach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n });\n }\n __detach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n });\n super.__detach();\n }\n __getNativeConfig() {\n var transConfigs = [];\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n transConfigs.push({\n type: 'animated',\n property: key,\n nodeTag: value.__getNativeTag()\n });\n } else {\n transConfigs.push({\n type: 'static',\n property: key,\n value: NativeAnimatedHelper.transformDataType(value)\n });\n }\n }\n });\n NativeAnimatedHelper.validateTransform(transConfigs);\n return {\n type: 'transform',\n transforms: transConfigs\n };\n }\n}\nexport default AnimatedTransform;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedTransform from './AnimatedTransform';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport StyleSheet from '../../../../exports/StyleSheet';\nvar flattenStyle = StyleSheet.flatten;\nfunction createAnimatedStyle(inputStyle) {\n var style = flattenStyle(inputStyle);\n var animatedStyles = {};\n for (var key in style) {\n var value = style[key];\n if (key === 'transform' && Array.isArray(value)) {\n animatedStyles[key] = new AnimatedTransform(value);\n } else if (value instanceof AnimatedNode) {\n animatedStyles[key] = value;\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n animatedStyles[key] = createAnimatedStyle(value);\n }\n }\n return animatedStyles;\n}\nclass AnimatedStyle extends AnimatedWithChildren {\n constructor(style) {\n super();\n this._inputStyle = style;\n this._style = createAnimatedStyle(style);\n }\n\n // Recursively get values for nested styles (like iOS's shadowOffset)\n _walkStyleAndGetValues(style) {\n var updatedStyle = {};\n for (var key in style) {\n var value = style[key];\n if (value instanceof AnimatedNode) {\n if (!value.__isNative) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n updatedStyle[key] = value.__getValue();\n }\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetValues(value);\n } else {\n updatedStyle[key] = value;\n }\n }\n return updatedStyle;\n }\n __getValue() {\n return [this._inputStyle, this._walkStyleAndGetValues(this._style)];\n }\n\n // Recursively get animated values for nested styles (like iOS's shadowOffset)\n _walkStyleAndGetAnimatedValues(style) {\n var updatedStyle = {};\n for (var key in style) {\n var value = style[key];\n if (value instanceof AnimatedNode) {\n updatedStyle[key] = value.__getAnimatedValue();\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value);\n }\n }\n return updatedStyle;\n }\n __getAnimatedValue() {\n return this._walkStyleAndGetAnimatedValues(this._style);\n }\n __attach() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n __detach() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n super.__detach();\n }\n __makeNative() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n super.__makeNative();\n }\n __getNativeConfig() {\n var styleConfig = {};\n for (var styleKey in this._style) {\n if (this._style[styleKey] instanceof AnimatedNode) {\n var style = this._style[styleKey];\n style.__makeNative();\n styleConfig[styleKey] = style.__getNativeTag();\n }\n }\n NativeAnimatedHelper.validateStyles(styleConfig);\n return {\n type: 'style',\n style: styleConfig\n };\n }\n}\nexport default AnimatedStyle;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent } from '../AnimatedEvent';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedStyle from './AnimatedStyle';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nclass AnimatedProps extends AnimatedNode {\n constructor(props, callback) {\n super();\n if (props.style) {\n props = _objectSpread(_objectSpread({}, props), {}, {\n style: new AnimatedStyle(props.style)\n });\n }\n this._props = props;\n this._callback = callback;\n this.__attach();\n }\n __getValue() {\n var props = {};\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n if (!value.__isNative || value instanceof AnimatedStyle) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n props[key] = value.__getValue();\n }\n } else if (value instanceof AnimatedEvent) {\n props[key] = value.__getHandler();\n } else {\n props[key] = value;\n }\n }\n return props;\n }\n __getAnimatedValue() {\n var props = {};\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n props[key] = value.__getAnimatedValue();\n }\n }\n return props;\n }\n __attach() {\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n __detach() {\n if (this.__isNative && this._animatedView) {\n this.__disconnectAnimatedView();\n }\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n super.__detach();\n }\n update() {\n this._callback();\n }\n __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n if (this._animatedView) {\n this.__connectAnimatedView();\n }\n }\n }\n setNativeView(animatedView) {\n if (this._animatedView === animatedView) {\n return;\n }\n this._animatedView = animatedView;\n if (this.__isNative) {\n this.__connectAnimatedView();\n }\n }\n __connectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = this._animatedView;\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);\n }\n __disconnectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = this._animatedView;\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);\n }\n __restoreDefaultValues() {\n // When using the native driver, view properties need to be restored to\n // their default values manually since react no longer tracks them. This\n // is needed to handle cases where a prop driven by native animated is removed\n // after having been changed natively by an animation.\n if (this.__isNative) {\n NativeAnimatedHelper.API.restoreDefaultValues(this.__getNativeTag());\n }\n }\n __getNativeConfig() {\n var propsConfig = {};\n for (var propKey in this._props) {\n var value = this._props[propKey];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n propsConfig[propKey] = value.__getNativeTag();\n }\n }\n return {\n type: 'props',\n props: propsConfig\n };\n }\n}\nexport default AnimatedProps;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedProps from './nodes/AnimatedProps';\nimport { AnimatedEvent } from './AnimatedEvent';\nimport useRefEffect from '../Utilities/useRefEffect';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport { useCallback, useEffect, useMemo, useReducer, useRef } from 'react';\nimport useLayoutEffect from '../../../modules/useLayoutEffect';\nexport default function useAnimatedProps(props) {\n var _useReducer = useReducer(count => count + 1, 0),\n scheduleUpdate = _useReducer[1];\n var onUpdateRef = useRef(null);\n\n // TODO: Only invalidate `node` if animated props or `style` change. In the\n // previous implementation, we permitted `style` to override props with the\n // same name property name as styles, so we can probably continue doing that.\n // The ordering of other props *should* not matter.\n var node = useMemo(() => new AnimatedProps(props, () => onUpdateRef.current == null ? void 0 : onUpdateRef.current()), [props]);\n useAnimatedPropsLifecycle(node);\n\n // TODO: This \"effect\" does three things:\n //\n // 1) Call `setNativeView`.\n // 2) Update `onUpdateRef`.\n // 3) Update listeners for `AnimatedEvent` props.\n //\n // Ideally, each of these would be separat \"effects\" so that they are not\n // unnecessarily re-run when irrelevant dependencies change. For example, we\n // should be able to hoist all `AnimatedEvent` props and only do #3 if either\n // the `AnimatedEvent` props change or `instance` changes.\n //\n // But there is no way to transparently compose three separate callback refs,\n // so we just combine them all into one for now.\n var refEffect = useCallback(instance => {\n // NOTE: This may be called more often than necessary (e.g. when `props`\n // changes), but `setNativeView` already optimizes for that.\n node.setNativeView(instance);\n\n // NOTE: This callback is only used by the JavaScript animation driver.\n onUpdateRef.current = () => {\n // Schedule an update for this component to update `reducedProps`,\n // but do not compute it immediately. If a parent also updated, we\n // need to merge those new props in before updating.\n scheduleUpdate();\n };\n var target = getEventTarget(instance);\n var events = [];\n for (var propName in props) {\n var propValue = props[propName];\n if (propValue instanceof AnimatedEvent && propValue.__isNative) {\n propValue.__attach(target, propName);\n events.push([propName, propValue]);\n }\n }\n return () => {\n onUpdateRef.current = null;\n for (var _i = 0, _events = events; _i < _events.length; _i++) {\n var _events$_i = _events[_i],\n _propName = _events$_i[0],\n _propValue = _events$_i[1];\n _propValue.__detach(target, _propName);\n }\n };\n }, [props, node]);\n var callbackRef = useRefEffect(refEffect);\n return [reduceAnimatedProps(node), callbackRef];\n}\nfunction reduceAnimatedProps(node) {\n // Force `collapsable` to be false so that the native view is not flattened.\n // Flattened views cannot be accurately referenced by the native driver.\n return _objectSpread(_objectSpread({}, node.__getValue()), {}, {\n collapsable: false\n });\n}\n\n/**\n * Manages the lifecycle of the supplied `AnimatedProps` by invoking `__attach`\n * and `__detach`. However, this is more complicated because `AnimatedProps`\n * uses reference counting to determine when to recursively detach its children\n * nodes. So in order to optimize this, we avoid detaching until the next attach\n * unless we are unmounting.\n */\nfunction useAnimatedPropsLifecycle(node) {\n var prevNodeRef = useRef(null);\n var isUnmountingRef = useRef(false);\n useEffect(() => {\n // It is ok for multiple components to call `flushQueue` because it noops\n // if the queue is empty. When multiple animated components are mounted at\n // the same time. Only first component flushes the queue and the others will noop.\n NativeAnimatedHelper.API.flushQueue();\n });\n useLayoutEffect(() => {\n isUnmountingRef.current = false;\n return () => {\n isUnmountingRef.current = true;\n };\n }, []);\n useLayoutEffect(() => {\n node.__attach();\n if (prevNodeRef.current != null) {\n var prevNode = prevNodeRef.current;\n // TODO: Stop restoring default values (unless `reset` is called).\n prevNode.__restoreDefaultValues();\n prevNode.__detach();\n prevNodeRef.current = null;\n }\n return () => {\n if (isUnmountingRef.current) {\n // NOTE: Do not restore default values on unmount, see D18197735.\n node.__detach();\n } else {\n prevNodeRef.current = node;\n }\n };\n }, [node]);\n}\nfunction getEventTarget(instance) {\n return typeof instance === 'object' && typeof (instance == null ? void 0 : instance.getScrollableNode) === 'function' ?\n // $FlowFixMe[incompatible-use] - Legacy instance assumptions.\n instance.getScrollableNode() : instance;\n}\n\n// $FlowFixMe[unclear-type] - Legacy instance assumptions.\nfunction isFabricInstance(instance) {\n var _instance$getScrollRe;\n return hasFabricHandle(instance) ||\n // Some components have a setNativeProps function but aren't a host component\n // such as lists like FlatList and SectionList. These should also use\n // forceUpdate in Fabric since setNativeProps doesn't exist on the underlying\n // host component. This crazy hack is essentially special casing those lists and\n // ScrollView itself to use forceUpdate in Fabric.\n // If these components end up using forwardRef then these hacks can go away\n // as instance would actually be the underlying host component and the above check\n // would be sufficient.\n hasFabricHandle(instance == null ? void 0 : instance.getNativeScrollRef == null ? void 0 : instance.getNativeScrollRef()) || hasFabricHandle(instance == null ? void 0 : instance.getScrollResponder == null ? void 0 : (_instance$getScrollRe = instance.getScrollResponder()) == null ? void 0 : _instance$getScrollRe.getNativeScrollRef == null ? void 0 : _instance$getScrollRe.getNativeScrollRef());\n}\n\n// $FlowFixMe[unclear-type] - Legacy instance assumptions.\nfunction hasFabricHandle(instance) {\n var _instance$_internalIn, _instance$_internalIn2;\n // eslint-disable-next-line dot-notation\n return (instance == null ? void 0 : (_instance$_internalIn = instance['_internalInstanceHandle']) == null ? void 0 : (_instance$_internalIn2 = _instance$_internalIn.stateNode) == null ? void 0 : _instance$_internalIn2.canonical) != null;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport { useCallback, useRef } from 'react';\n/**\n * Constructs a callback ref that provides similar semantics as `useEffect`. The\n * supplied `effect` callback will be called with non-null component instances.\n * The `effect` callback can also optionally return a cleanup function.\n *\n * When a component is updated or unmounted, the cleanup function is called. The\n * `effect` callback will then be called again, if applicable.\n *\n * When a new `effect` callback is supplied, the previously returned cleanup\n * function will be called before the new `effect` callback is called with the\n * same instance.\n *\n * WARNING: The `effect` callback should be stable (e.g. using `useCallback`).\n */\nexport default function useRefEffect(effect) {\n var cleanupRef = useRef(undefined);\n return useCallback(instance => {\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (instance != null) {\n cleanupRef.current = effect(instance);\n }\n }, [effect]);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport useAnimatedProps from './useAnimatedProps';\nimport useMergeRefs from '../Utilities/useMergeRefs';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport View from '../../../exports/View';\nimport * as React from 'react';\n/**\n * Experimental implementation of `createAnimatedComponent` that is intended to\n * be compatible with concurrent rendering.\n */\nexport default function createAnimatedComponent(Component) {\n return /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _useAnimatedProps = useAnimatedProps(props),\n reducedProps = _useAnimatedProps[0],\n callbackRef = _useAnimatedProps[1];\n var ref = useMergeRefs(callbackRef, forwardedRef);\n\n // Some components require explicit passthrough values for animation\n // to work properly. For example, if an animated component is\n // transformed and Pressable, onPress will not work after transform\n // without these passthrough values.\n // $FlowFixMe[prop-missing]\n var passthroughAnimatedPropExplicitValues = reducedProps.passthroughAnimatedPropExplicitValues,\n style = reducedProps.style;\n var _ref = passthroughAnimatedPropExplicitValues !== null && passthroughAnimatedPropExplicitValues !== void 0 ? passthroughAnimatedPropExplicitValues : {},\n passthroughStyle = _ref.style,\n passthroughProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var mergedStyle = [style, passthroughStyle];\n return /*#__PURE__*/React.createElement(Component, _extends({}, reducedProps, passthroughProps, {\n style: mergedStyle,\n ref: ref\n }));\n });\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport { useCallback } from 'react';\n/**\n * Constructs a new ref that forwards new values to each of the given refs. The\n * given refs will always be invoked in the order that they are supplied.\n *\n * WARNING: A known problem of merging refs using this approach is that if any\n * of the given refs change, the returned callback ref will also be changed. If\n * the returned callback ref is supplied as a `ref` to a React element, this may\n * lead to problems with the given refs being invoked more times than desired.\n */\nexport default function useMergeRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n return useCallback(current => {\n for (var _i = 0, _refs = refs; _i < _refs.length; _i++) {\n var ref = _refs[_i];\n if (ref != null) {\n if (typeof ref === 'function') {\n ref(current);\n } else {\n ref.current = current;\n }\n }\n }\n }, [...refs] // eslint-disable-line react-hooks/exhaustive-deps\n );\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport FlatList from '../../../../exports/FlatList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar FlatListWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(FlatList, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(FlatListWithEventThrottle);","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar assets = [];\nexport function registerAsset(asset) {\n // `push` returns new array length, so the first asset will\n // get id 1 (not 0) to make the value truthy\n return assets.push(asset);\n}\nexport function getAssetByID(assetId) {\n return assets[assetId - 1];\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar dataUriPattern = /^data:/;\nexport class ImageUriCache {\n static has(uri) {\n var entries = ImageUriCache._entries;\n var isDataUri = dataUriPattern.test(uri);\n return isDataUri || Boolean(entries[uri]);\n }\n static add(uri) {\n var entries = ImageUriCache._entries;\n var lastUsedTimestamp = Date.now();\n if (entries[uri]) {\n entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n entries[uri].refCount += 1;\n } else {\n entries[uri] = {\n lastUsedTimestamp,\n refCount: 1\n };\n }\n }\n static remove(uri) {\n var entries = ImageUriCache._entries;\n if (entries[uri]) {\n entries[uri].refCount -= 1;\n }\n // Free up entries when the cache is \"full\"\n ImageUriCache._cleanUpIfNeeded();\n }\n static _cleanUpIfNeeded() {\n var entries = ImageUriCache._entries;\n var imageUris = Object.keys(entries);\n if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n var leastRecentlyUsedKey;\n var leastRecentlyUsedEntry;\n imageUris.forEach(uri => {\n var entry = entries[uri];\n if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n leastRecentlyUsedKey = uri;\n leastRecentlyUsedEntry = entry;\n }\n });\n if (leastRecentlyUsedKey) {\n delete entries[leastRecentlyUsedKey];\n }\n }\n }\n}\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n abort(requestId) {\n var image = requests[\"\" + requestId];\n if (image) {\n image.onerror = null;\n image.onload = null;\n image = null;\n delete requests[\"\" + requestId];\n }\n },\n getSize(uri, success, failure) {\n var complete = false;\n var interval = setInterval(callback, 16);\n var requestId = ImageLoader.load(uri, callback, errorCallback);\n function callback() {\n var image = requests[\"\" + requestId];\n if (image) {\n var naturalHeight = image.naturalHeight,\n naturalWidth = image.naturalWidth;\n if (naturalHeight && naturalWidth) {\n success(naturalWidth, naturalHeight);\n complete = true;\n }\n }\n if (complete) {\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n }\n function errorCallback() {\n if (typeof failure === 'function') {\n failure();\n }\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n },\n has(uri) {\n return ImageUriCache.has(uri);\n },\n load(uri, onLoad, onError) {\n id += 1;\n var image = new window.Image();\n image.onerror = onError;\n image.onload = e => {\n // avoid blocking the main thread\n var onDecode = () => onLoad({\n nativeEvent: e\n });\n if (typeof image.decode === 'function') {\n // Safari currently throws exceptions when decoding svgs.\n // We want to catch that error and allow the load handler\n // to be forwarded to the onLoad handler in this case\n image.decode().then(onDecode, onDecode);\n } else {\n setTimeout(onDecode, 0);\n }\n };\n image.src = uri;\n requests[\"\" + id] = image;\n return id;\n },\n prefetch(uri) {\n return new Promise((resolve, reject) => {\n ImageLoader.load(uri, () => {\n // Add the uri to the cache so it can be immediately displayed when used\n // but also immediately remove it to correctly reflect that it has no active references\n ImageUriCache.add(uri);\n ImageUriCache.remove(uri);\n resolve();\n }, reject);\n });\n },\n queryCache(uris) {\n var result = {};\n uris.forEach(u => {\n if (ImageUriCache.has(u)) {\n result[u] = 'disk/memory';\n }\n });\n return Promise.resolve(result);\n }\n};\nexport default ImageLoader;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport Dimensions from '../Dimensions';\n\n/**\n * PixelRatio gives access to the device pixel density.\n */\nexport default class PixelRatio {\n /**\n * Returns the device pixel density.\n */\n static get() {\n return Dimensions.get('window').scale;\n }\n\n /**\n * No equivalent for Web\n */\n static getFontScale() {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n }\n\n /**\n * Converts a layout size (dp) to pixel size (px).\n * Guaranteed to return an integer number.\n */\n static getPixelSizeForLayoutSize(layoutSize) {\n return Math.round(layoutSize * PixelRatio.get());\n }\n\n /**\n * Rounds a layout size (dp) to the nearest layout size that corresponds to\n * an integer number of pixels. For example, on a device with a PixelRatio\n * of 3, `PixelRatio.roundToNearestPixel(8.4) = 8.33`, which corresponds to\n * exactly (8.33 * 3) = 25 pixels.\n */\n static roundToNearestPixel(layoutSize) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n }\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-label\", \"accessibilityLabel\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport { getAssetByID } from '../../modules/AssetRegistry';\nimport { createBoxShadowValue } from '../StyleSheet/preprocess';\nimport ImageLoader from '../../modules/ImageLoader';\nimport PixelRatio from '../PixelRatio';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\nfunction createTintColorSVG(tintColor, id) {\n return tintColor && id != null ? /*#__PURE__*/React.createElement(\"svg\", {\n style: {\n position: 'absolute',\n height: 0,\n visibility: 'hidden',\n width: 0\n }\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"tint-\" + id,\n suppressHydrationWarning: true\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodColor: \"\" + tintColor,\n key: tintColor\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"SourceAlpha\",\n operator: \"atop\"\n })))) : null;\n}\nfunction extractNonStandardStyleProps(style, blurRadius, filterId, tintColorProp) {\n var flatStyle = StyleSheet.flatten(style);\n var filter = flatStyle.filter,\n resizeMode = flatStyle.resizeMode,\n shadowOffset = flatStyle.shadowOffset,\n tintColor = flatStyle.tintColor;\n if (flatStyle.resizeMode) {\n warnOnce('Image.style.resizeMode', 'Image: style.resizeMode is deprecated. Please use props.resizeMode.');\n }\n if (flatStyle.tintColor) {\n warnOnce('Image.style.tintColor', 'Image: style.tintColor is deprecated. Please use props.tintColor.');\n }\n\n // Add CSS filters\n // React Native exposes these features as props and proprietary styles\n var filters = [];\n var _filter = null;\n if (filter) {\n filters.push(filter);\n }\n if (blurRadius) {\n filters.push(\"blur(\" + blurRadius + \"px)\");\n }\n if (shadowOffset) {\n var shadowString = createBoxShadowValue(flatStyle);\n if (shadowString) {\n filters.push(\"drop-shadow(\" + shadowString + \")\");\n }\n }\n if ((tintColorProp || tintColor) && filterId != null) {\n filters.push(\"url(#tint-\" + filterId + \")\");\n }\n if (filters.length > 0) {\n _filter = filters.join(' ');\n }\n return [resizeMode, _filter, tintColor];\n}\nfunction resolveAssetDimensions(source) {\n if (typeof source === 'number') {\n var _getAssetByID = getAssetByID(source),\n _height = _getAssetByID.height,\n _width = _getAssetByID.width;\n return {\n height: _height,\n width: _width\n };\n } else if (source != null && !Array.isArray(source) && typeof source === 'object') {\n var _height2 = source.height,\n _width2 = source.width;\n return {\n height: _height2,\n width: _width2\n };\n }\n}\nfunction resolveAssetUri(source) {\n var uri = null;\n if (typeof source === 'number') {\n // get the URI from the packager\n var asset = getAssetByID(source);\n if (asset == null) {\n throw new Error(\"Image: asset with ID \\\"\" + source + \"\\\" could not be found. Please check the image source or packager.\");\n }\n var scale = asset.scales[0];\n if (asset.scales.length > 1) {\n var preferredScale = PixelRatio.get();\n // Get the scale which is closest to the preferred scale\n scale = asset.scales.reduce((prev, curr) => Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev);\n }\n var scaleSuffix = scale !== 1 ? \"@\" + scale + \"x\" : '';\n uri = asset ? asset.httpServerLocation + \"/\" + asset.name + scaleSuffix + \".\" + asset.type : '';\n } else if (typeof source === 'string') {\n uri = source;\n } else if (source && typeof source.uri === 'string') {\n uri = source.uri;\n }\n if (uri) {\n var match = uri.match(svgDataUriPattern);\n // inline SVG markup may contain characters (e.g., #, \") that need to be escaped\n if (match) {\n var prefix = match[1],\n svg = match[2];\n var encodedSvg = encodeURIComponent(svg);\n return \"\" + prefix + encodedSvg;\n }\n }\n return uri;\n}\nvar Image = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _ariaLabel = props['aria-label'],\n accessibilityLabel = props.accessibilityLabel,\n blurRadius = props.blurRadius,\n defaultSource = props.defaultSource,\n draggable = props.draggable,\n onError = props.onError,\n onLayout = props.onLayout,\n onLoad = props.onLoad,\n onLoadEnd = props.onLoadEnd,\n onLoadStart = props.onLoadStart,\n pointerEvents = props.pointerEvents,\n source = props.source,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var ariaLabel = _ariaLabel || accessibilityLabel;\n if (process.env.NODE_ENV !== 'production') {\n if (props.children) {\n throw new Error('The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning.');\n }\n }\n var _React$useState = React.useState(() => {\n var uri = resolveAssetUri(source);\n if (uri != null) {\n var isLoaded = ImageLoader.has(uri);\n if (isLoaded) {\n return LOADED;\n }\n }\n return IDLE;\n }),\n state = _React$useState[0],\n updateState = _React$useState[1];\n var _React$useState2 = React.useState({}),\n layout = _React$useState2[0],\n updateLayout = _React$useState2[1];\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hiddenImageRef = React.useRef(null);\n var filterRef = React.useRef(_filterId++);\n var requestRef = React.useRef(null);\n var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null;\n var _extractNonStandardSt = extractNonStandardStyleProps(style, blurRadius, filterRef.current, props.tintColor),\n _resizeMode = _extractNonStandardSt[0],\n filter = _extractNonStandardSt[1],\n _tintColor = _extractNonStandardSt[2];\n var resizeMode = props.resizeMode || _resizeMode || 'cover';\n var tintColor = props.tintColor || _tintColor;\n var selectedSource = shouldDisplaySource ? source : defaultSource;\n var displayImageUri = resolveAssetUri(selectedSource);\n var imageSizeStyle = resolveAssetDimensions(selectedSource);\n var backgroundImage = displayImageUri ? \"url(\\\"\" + displayImageUri + \"\\\")\" : null;\n var backgroundSize = getBackgroundSize();\n\n // Accessibility image allows users to trigger the browser's image context menu\n var hiddenImage = displayImageUri ? createElement('img', {\n alt: ariaLabel || '',\n style: styles.accessibilityImage$raw,\n draggable: draggable || false,\n ref: hiddenImageRef,\n src: displayImageUri\n }) : null;\n function getBackgroundSize() {\n if (hiddenImageRef.current != null && (resizeMode === 'center' || resizeMode === 'repeat')) {\n var _hiddenImageRef$curre = hiddenImageRef.current,\n naturalHeight = _hiddenImageRef$curre.naturalHeight,\n naturalWidth = _hiddenImageRef$curre.naturalWidth;\n var _height3 = layout.height,\n _width3 = layout.width;\n if (naturalHeight && naturalWidth && _height3 && _width3) {\n var scaleFactor = Math.min(1, _width3 / naturalWidth, _height3 / naturalHeight);\n var x = Math.ceil(scaleFactor * naturalWidth);\n var y = Math.ceil(scaleFactor * naturalHeight);\n return x + \"px \" + y + \"px\";\n }\n }\n }\n function handleLayout(e) {\n if (resizeMode === 'center' || resizeMode === 'repeat' || onLayout) {\n var _layout = e.nativeEvent.layout;\n onLayout && onLayout(e);\n updateLayout(_layout);\n }\n }\n\n // Image loading\n var uri = resolveAssetUri(source);\n React.useEffect(() => {\n abortPendingRequest();\n if (uri != null) {\n updateState(LOADING);\n if (onLoadStart) {\n onLoadStart();\n }\n requestRef.current = ImageLoader.load(uri, function load(e) {\n updateState(LOADED);\n if (onLoad) {\n onLoad(e);\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n }, function error() {\n updateState(ERRORED);\n if (onError) {\n onError({\n nativeEvent: {\n error: \"Failed to load resource \" + uri + \" (404)\"\n }\n });\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n });\n }\n function abortPendingRequest() {\n if (requestRef.current != null) {\n ImageLoader.abort(requestRef.current);\n requestRef.current = null;\n }\n }\n return abortPendingRequest;\n }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n \"aria-label\": ariaLabel,\n onLayout: handleLayout,\n pointerEvents: pointerEvents,\n ref: ref,\n style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, style, styles.undo,\n // TEMP: avoid deprecated shadow props regression\n // until Image refactored to use createElement.\n {\n boxShadow: null\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.image, resizeModeStyles[resizeMode], {\n backgroundImage,\n filter\n }, backgroundSize != null && {\n backgroundSize\n }],\n suppressHydrationWarning: true\n }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = 'Image';\n\n// $FlowIgnore: This is the correct type, but casting makes it unhappy since the variables aren't defined yet\nvar ImageWithStatics = Image;\nImageWithStatics.getSize = function (uri, success, failure) {\n ImageLoader.getSize(uri, success, failure);\n};\nImageWithStatics.prefetch = function (uri) {\n return ImageLoader.prefetch(uri);\n};\nImageWithStatics.queryCache = function (uris) {\n return ImageLoader.queryCache(uris);\n};\nvar styles = StyleSheet.create({\n root: {\n flexBasis: 'auto',\n overflow: 'hidden',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n },\n undo: {\n // These styles are converted to CSS filters applied to the\n // element displaying the background image.\n blurRadius: null,\n shadowColor: null,\n shadowOpacity: null,\n shadowOffset: null,\n shadowRadius: null,\n tintColor: null,\n // These styles are not supported\n overlayColor: null,\n resizeMode: null\n },\n image: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n backgroundColor: 'transparent',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n height: '100%',\n width: '100%',\n zIndex: -1\n }),\n accessibilityImage$raw: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n opacity: 0,\n width: '100%',\n zIndex: -1\n })\n});\nvar resizeModeStyles = StyleSheet.create({\n center: {\n backgroundSize: 'auto'\n },\n contain: {\n backgroundSize: 'contain'\n },\n cover: {\n backgroundSize: 'cover'\n },\n none: {\n backgroundPosition: '0',\n backgroundSize: 'auto'\n },\n repeat: {\n backgroundPosition: '0',\n backgroundRepeat: 'repeat',\n backgroundSize: 'auto'\n },\n stretch: {\n backgroundSize: '100% 100%'\n }\n});\nexport default ImageWithStatics;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport Image from '../../../../exports/Image';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Image);","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport ScrollView from '../../../../exports/ScrollView';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar ScrollViewWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(ScrollView, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(ScrollViewWithEventThrottle);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"ItemSeparatorComponent\", \"SectionSeparatorComponent\", \"renderItem\", \"renderSectionFooter\", \"renderSectionHeader\", \"sections\", \"stickySectionHeadersEnabled\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport View from '../../../exports/View';\nimport VirtualizedList from '../VirtualizedList';\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\n/**\n * Right now this just flattens everything into one list and uses VirtualizedList under the\n * hood. The only operation that might not scale well is concatting the data arrays of all the\n * sections when new props are received, which should be plenty fast for up to ~10,000 items.\n */\nclass VirtualizedSectionList extends React.PureComponent {\n constructor() {\n super(...arguments);\n this._keyExtractor = (item, index) => {\n var info = this._subExtractor(index);\n return info && info.key || String(index);\n };\n this._convertViewable = viewable => {\n var _info$index;\n invariant(viewable.index != null, 'Received a broken ViewToken');\n var info = this._subExtractor(viewable.index);\n if (!info) {\n return null;\n }\n var keyExtractorWithNullableIndex = info.section.keyExtractor;\n var keyExtractorWithNonNullableIndex = this.props.keyExtractor || defaultKeyExtractor;\n var key = keyExtractorWithNullableIndex != null ? keyExtractorWithNullableIndex(viewable.item, info.index) : keyExtractorWithNonNullableIndex(viewable.item, (_info$index = info.index) !== null && _info$index !== void 0 ? _info$index : 0);\n return _objectSpread(_objectSpread({}, viewable), {}, {\n index: info.index,\n key,\n section: info.section\n });\n };\n this._onViewableItemsChanged = _ref => {\n var viewableItems = _ref.viewableItems,\n changed = _ref.changed;\n var onViewableItemsChanged = this.props.onViewableItemsChanged;\n if (onViewableItemsChanged != null) {\n onViewableItemsChanged({\n viewableItems: viewableItems.map(this._convertViewable, this).filter(Boolean),\n changed: changed.map(this._convertViewable, this).filter(Boolean)\n });\n }\n };\n this._renderItem = listItemCount =>\n // eslint-disable-next-line react/no-unstable-nested-components\n _ref2 => {\n var item = _ref2.item,\n index = _ref2.index;\n var info = this._subExtractor(index);\n if (!info) {\n return null;\n }\n var infoIndex = info.index;\n if (infoIndex == null) {\n var section = info.section;\n if (info.header === true) {\n var renderSectionHeader = this.props.renderSectionHeader;\n return renderSectionHeader ? renderSectionHeader({\n section\n }) : null;\n } else {\n var renderSectionFooter = this.props.renderSectionFooter;\n return renderSectionFooter ? renderSectionFooter({\n section\n }) : null;\n }\n } else {\n var renderItem = info.section.renderItem || this.props.renderItem;\n var SeparatorComponent = this._getSeparatorComponent(index, info, listItemCount);\n invariant(renderItem, 'no renderItem!');\n return /*#__PURE__*/React.createElement(ItemWithSeparator, {\n SeparatorComponent: SeparatorComponent,\n LeadingSeparatorComponent: infoIndex === 0 ? this.props.SectionSeparatorComponent : undefined,\n cellKey: info.key,\n index: infoIndex,\n item: item,\n leadingItem: info.leadingItem,\n leadingSection: info.leadingSection,\n prevCellKey: (this._subExtractor(index - 1) || {}).key\n // Callback to provide updateHighlight for this item\n ,\n setSelfHighlightCallback: this._setUpdateHighlightFor,\n setSelfUpdatePropsCallback: this._setUpdatePropsFor\n // Provide child ability to set highlight/updateProps for previous item using prevCellKey\n ,\n updateHighlightFor: this._updateHighlightFor,\n updatePropsFor: this._updatePropsFor,\n renderItem: renderItem,\n section: info.section,\n trailingItem: info.trailingItem,\n trailingSection: info.trailingSection,\n inverted: !!this.props.inverted\n });\n }\n };\n this._updatePropsFor = (cellKey, value) => {\n var updateProps = this._updatePropsMap[cellKey];\n if (updateProps != null) {\n updateProps(value);\n }\n };\n this._updateHighlightFor = (cellKey, value) => {\n var updateHighlight = this._updateHighlightMap[cellKey];\n if (updateHighlight != null) {\n updateHighlight(value);\n }\n };\n this._setUpdateHighlightFor = (cellKey, updateHighlightFn) => {\n if (updateHighlightFn != null) {\n this._updateHighlightMap[cellKey] = updateHighlightFn;\n } else {\n // $FlowFixMe[prop-missing]\n delete this._updateHighlightFor[cellKey];\n }\n };\n this._setUpdatePropsFor = (cellKey, updatePropsFn) => {\n if (updatePropsFn != null) {\n this._updatePropsMap[cellKey] = updatePropsFn;\n } else {\n delete this._updatePropsMap[cellKey];\n }\n };\n this._updateHighlightMap = {};\n this._updatePropsMap = {};\n this._captureRef = ref => {\n this._listRef = ref;\n };\n }\n scrollToLocation(params) {\n var index = params.itemIndex;\n for (var i = 0; i < params.sectionIndex; i++) {\n index += this.props.getItemCount(this.props.sections[i].data) + 2;\n }\n var viewOffset = params.viewOffset || 0;\n if (this._listRef == null) {\n return;\n }\n if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) {\n var frame = this._listRef.__getFrameMetricsApprox(index - params.itemIndex, this._listRef.props);\n viewOffset += frame.length;\n }\n var toIndexParams = _objectSpread(_objectSpread({}, params), {}, {\n viewOffset,\n index\n });\n // $FlowFixMe[incompatible-use]\n this._listRef.scrollToIndex(toIndexParams);\n }\n getListRef() {\n return this._listRef;\n }\n render() {\n var _this$props = this.props,\n ItemSeparatorComponent = _this$props.ItemSeparatorComponent,\n SectionSeparatorComponent = _this$props.SectionSeparatorComponent,\n _renderItem = _this$props.renderItem,\n renderSectionFooter = _this$props.renderSectionFooter,\n renderSectionHeader = _this$props.renderSectionHeader,\n _sections = _this$props.sections,\n stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n passThroughProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;\n var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : undefined;\n var itemCount = 0;\n for (var _iterator = _createForOfIteratorHelperLoose(this.props.sections), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n // Track the section header indices\n if (stickyHeaderIndices != null) {\n stickyHeaderIndices.push(itemCount + listHeaderOffset);\n }\n\n // Add two for the section header and footer.\n itemCount += 2;\n itemCount += this.props.getItemCount(section.data);\n }\n var renderItem = this._renderItem(itemCount);\n return /*#__PURE__*/React.createElement(VirtualizedList, _extends({}, passThroughProps, {\n keyExtractor: this._keyExtractor,\n stickyHeaderIndices: stickyHeaderIndices,\n renderItem: renderItem,\n data: this.props.sections,\n getItem: (sections, index) => this._getItem(this.props, sections, index),\n getItemCount: () => itemCount,\n onViewableItemsChanged: this.props.onViewableItemsChanged ? this._onViewableItemsChanged : undefined,\n ref: this._captureRef\n }));\n }\n _getItem(props, sections, index) {\n if (!sections) {\n return null;\n }\n var itemIdx = index - 1;\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var itemCount = props.getItemCount(sectionData);\n if (itemIdx === -1 || itemIdx === itemCount) {\n // We intend for there to be overflow by one on both ends of the list.\n // This will be for headers and footers. When returning a header or footer\n // item the section itself is the item.\n return section;\n } else if (itemIdx < itemCount) {\n // If we are in the bounds of the list's data then return the item.\n return props.getItem(sectionData, itemIdx);\n } else {\n itemIdx -= itemCount + 2; // Add two for the header and footer\n }\n }\n\n return null;\n }\n\n // $FlowFixMe[missing-local-annot]\n\n _subExtractor(index) {\n var itemIndex = index;\n var _this$props2 = this.props,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount,\n keyExtractor = _this$props2.keyExtractor,\n sections = _this$props2.sections;\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var key = section.key || String(i);\n itemIndex -= 1; // The section adds an item for the header\n if (itemIndex >= getItemCount(sectionData) + 1) {\n itemIndex -= getItemCount(sectionData) + 1; // The section adds an item for the footer.\n } else if (itemIndex === -1) {\n return {\n section,\n key: key + ':header',\n index: null,\n header: true,\n trailingSection: sections[i + 1]\n };\n } else if (itemIndex === getItemCount(sectionData)) {\n return {\n section,\n key: key + ':footer',\n index: null,\n header: false,\n trailingSection: sections[i + 1]\n };\n } else {\n var extractor = section.keyExtractor || keyExtractor || defaultKeyExtractor;\n return {\n section,\n key: key + ':' + extractor(getItem(sectionData, itemIndex), itemIndex),\n index: itemIndex,\n leadingItem: getItem(sectionData, itemIndex - 1),\n leadingSection: sections[i - 1],\n trailingItem: getItem(sectionData, itemIndex + 1),\n trailingSection: sections[i + 1]\n };\n }\n }\n }\n _getSeparatorComponent(index, info, listItemCount) {\n info = info || this._subExtractor(index);\n if (!info) {\n return null;\n }\n var ItemSeparatorComponent = info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent;\n var SectionSeparatorComponent = this.props.SectionSeparatorComponent;\n var isLastItemInList = index === listItemCount - 1;\n var isLastItemInSection = info.index === this.props.getItemCount(info.section.data) - 1;\n if (SectionSeparatorComponent && isLastItemInSection) {\n return SectionSeparatorComponent;\n }\n if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) {\n return ItemSeparatorComponent;\n }\n return null;\n }\n}\nfunction ItemWithSeparator(props) {\n var LeadingSeparatorComponent = props.LeadingSeparatorComponent,\n SeparatorComponent = props.SeparatorComponent,\n cellKey = props.cellKey,\n prevCellKey = props.prevCellKey,\n setSelfHighlightCallback = props.setSelfHighlightCallback,\n updateHighlightFor = props.updateHighlightFor,\n setSelfUpdatePropsCallback = props.setSelfUpdatePropsCallback,\n updatePropsFor = props.updatePropsFor,\n item = props.item,\n index = props.index,\n section = props.section,\n inverted = props.inverted;\n var _React$useState = React.useState(false),\n leadingSeparatorHiglighted = _React$useState[0],\n setLeadingSeparatorHighlighted = _React$useState[1];\n var _React$useState2 = React.useState(false),\n separatorHighlighted = _React$useState2[0],\n setSeparatorHighlighted = _React$useState2[1];\n var _React$useState3 = React.useState({\n leadingItem: props.leadingItem,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.item,\n trailingSection: props.trailingSection\n }),\n leadingSeparatorProps = _React$useState3[0],\n setLeadingSeparatorProps = _React$useState3[1];\n var _React$useState4 = React.useState({\n leadingItem: props.item,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.trailingItem,\n trailingSection: props.trailingSection\n }),\n separatorProps = _React$useState4[0],\n setSeparatorProps = _React$useState4[1];\n React.useEffect(() => {\n setSelfHighlightCallback(cellKey, setSeparatorHighlighted);\n // $FlowFixMe[incompatible-call]\n setSelfUpdatePropsCallback(cellKey, setSeparatorProps);\n return () => {\n setSelfUpdatePropsCallback(cellKey, null);\n setSelfHighlightCallback(cellKey, null);\n };\n }, [cellKey, setSelfHighlightCallback, setSeparatorProps, setSelfUpdatePropsCallback]);\n var separators = {\n highlight: () => {\n setLeadingSeparatorHighlighted(true);\n setSeparatorHighlighted(true);\n if (prevCellKey != null) {\n updateHighlightFor(prevCellKey, true);\n }\n },\n unhighlight: () => {\n setLeadingSeparatorHighlighted(false);\n setSeparatorHighlighted(false);\n if (prevCellKey != null) {\n updateHighlightFor(prevCellKey, false);\n }\n },\n updateProps: (select, newProps) => {\n if (select === 'leading') {\n if (LeadingSeparatorComponent != null) {\n setLeadingSeparatorProps(_objectSpread(_objectSpread({}, leadingSeparatorProps), newProps));\n } else if (prevCellKey != null) {\n // update the previous item's separator\n updatePropsFor(prevCellKey, _objectSpread(_objectSpread({}, leadingSeparatorProps), newProps));\n }\n } else if (select === 'trailing' && SeparatorComponent != null) {\n setSeparatorProps(_objectSpread(_objectSpread({}, separatorProps), newProps));\n }\n }\n };\n var element = props.renderItem({\n item,\n index,\n section,\n separators\n });\n var leadingSeparator = LeadingSeparatorComponent != null && /*#__PURE__*/React.createElement(LeadingSeparatorComponent, _extends({\n highlighted: leadingSeparatorHiglighted\n }, leadingSeparatorProps));\n var separator = SeparatorComponent != null && /*#__PURE__*/React.createElement(SeparatorComponent, _extends({\n highlighted: separatorHighlighted\n }, separatorProps));\n return leadingSeparator || separator ? /*#__PURE__*/React.createElement(View, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element;\n}\n\n/* $FlowFixMe[class-object-subtyping] added when improving typing for this\n * parameters */\n// $FlowFixMe[method-unbinding]\nexport default VirtualizedSectionList;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"stickySectionHeadersEnabled\"];\nimport Platform from '../../../exports/Platform';\nimport * as React from 'react';\nimport VirtualizedSectionList from '../VirtualizedSectionList';\n/**\n * A performant interface for rendering sectioned lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Configurable viewability callbacks.\n * - List header support.\n * - List footer support.\n * - Item separator support.\n * - Section header support.\n * - Section separator support.\n * - Heterogeneous data and item rendering support.\n * - Pull to Refresh.\n * - Scroll loading.\n *\n * If you don't need section support and want a simpler interface, use\n * [``](https://reactnative.dev/docs/flatlist).\n *\n * Simple Examples:\n *\n * }\n * renderSectionHeader={({section}) =>
}\n * sections={[ // homogeneous rendering between sections\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * ]}\n * />\n *\n * \n *\n * This is a convenience wrapper around [``](docs/virtualizedlist),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate and momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n */\nexport default class SectionList extends React.PureComponent {\n constructor() {\n super(...arguments);\n this._captureRef = ref => {\n this._wrapperListRef = ref;\n };\n }\n /**\n * Scrolls to the item at the specified `sectionIndex` and `itemIndex` (within the section)\n * positioned in the viewable area such that `viewPosition` 0 places it at the top (and may be\n * covered by a sticky header), 1 at the bottom, and 0.5 centered in the middle. `viewOffset` is a\n * fixed number of pixels to offset the final target position, e.g. to compensate for sticky\n * headers.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToLocation(params) {\n if (this._wrapperListRef != null) {\n this._wrapperListRef.scrollToLocation(params);\n }\n }\n\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n recordInteraction() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n listRef && listRef.recordInteraction();\n }\n\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n flashScrollIndicators() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n listRef && listRef.flashScrollIndicators();\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n */\n getScrollResponder() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollResponder();\n }\n }\n getScrollableNode() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollableNode();\n }\n }\n render() {\n var _this$props = this.props,\n _stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var stickySectionHeadersEnabled = _stickySectionHeadersEnabled !== null && _stickySectionHeadersEnabled !== void 0 ? _stickySectionHeadersEnabled : Platform.OS === 'ios';\n return /*#__PURE__*/React.createElement(VirtualizedSectionList, _extends({}, restProps, {\n stickySectionHeadersEnabled: stickySectionHeadersEnabled,\n ref: this._captureRef,\n getItemCount: items => items.length,\n getItem: (items, index) => items[index]\n }));\n }\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport SectionList from '../../vendor/react-native/SectionList';\nexport default SectionList;","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport SectionList from '../../../../exports/SectionList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar SectionListWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SectionList, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(SectionListWithEventThrottle);","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport Text from '../../../../exports/Text';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Text);","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport View from '../../../../exports/View';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(View);","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedAddition extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() + this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'addition',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedAddition;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedDiffClamp extends AnimatedWithChildren {\n constructor(a, min, max) {\n super();\n this._a = a;\n this._min = min;\n this._max = max;\n this._value = this._lastValue = this._a.__getValue();\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __getValue() {\n var value = this._a.__getValue();\n var diff = value - this._lastValue;\n this._lastValue = value;\n this._value = Math.min(Math.max(this._value + diff, this._min), this._max);\n return this._value;\n }\n __attach() {\n this._a.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'diffclamp',\n input: this._a.__getNativeTag(),\n min: this._min,\n max: this._max\n };\n }\n}\nexport default AnimatedDiffClamp;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedDivision extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._warnedAboutDivideByZero = false;\n if (b === 0 || b instanceof AnimatedNode && b.__getValue() === 0) {\n console.error('Detected potential division by zero in AnimatedDivision');\n }\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n var a = this._a.__getValue();\n var b = this._b.__getValue();\n if (b === 0) {\n // Prevent spamming the console/LogBox\n if (!this._warnedAboutDivideByZero) {\n console.error('Detected division by zero in AnimatedDivision');\n this._warnedAboutDivideByZero = true;\n }\n // Passing infinity/NaN to Fabric will cause a native crash\n return 0;\n }\n this._warnedAboutDivideByZero = false;\n return a / b;\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'division',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedDivision;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedModulo extends AnimatedWithChildren {\n constructor(a, modulus) {\n super();\n this._a = a;\n this._modulus = modulus;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus;\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'modulus',\n input: this._a.__getNativeTag(),\n modulus: this._modulus\n };\n }\n}\nexport default AnimatedModulo;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedMultiplication extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() * this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'multiplication',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedMultiplication;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedSubtraction extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() - this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'subtraction',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedSubtraction;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedNode from './AnimatedNode';\nimport { generateNewAnimationId, shouldUseNativeDriver } from '../NativeAnimatedHelper';\nclass AnimatedTracking extends AnimatedNode {\n constructor(value, parent, animationClass, animationConfig, callback) {\n super();\n this._value = value;\n this._parent = parent;\n this._animationClass = animationClass;\n this._animationConfig = animationConfig;\n this._useNativeDriver = shouldUseNativeDriver(animationConfig);\n this._callback = callback;\n this.__attach();\n }\n __makeNative() {\n this.__isNative = true;\n this._parent.__makeNative();\n super.__makeNative();\n this._value.__makeNative();\n }\n __getValue() {\n return this._parent.__getValue();\n }\n __attach() {\n this._parent.__addChild(this);\n if (this._useNativeDriver) {\n // when the tracking starts we need to convert this node to a \"native node\"\n // so that the parent node will be made \"native\" too. This is necessary as\n // if we don't do this `update` method will get called. At that point it\n // may be too late as it would mean the JS driver has already started\n // updating node values\n this.__makeNative();\n }\n }\n __detach() {\n this._parent.__removeChild(this);\n super.__detach();\n }\n update() {\n this._value.animate(new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n toValue: this._animationConfig.toValue.__getValue()\n })), this._callback);\n }\n __getNativeConfig() {\n var animation = new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n // remove toValue from the config as it's a ref to Animated.Value\n toValue: undefined\n }));\n var animationConfig = animation.__getNativeAnimationConfig();\n return {\n type: 'tracking',\n animationId: generateNewAnimationId(),\n animationConfig,\n toValue: this._parent.__getNativeTag(),\n value: this._value.__getNativeTag()\n };\n }\n}\nexport default AnimatedTracking;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n\n/**\n * 2D Value for driving 2D animations, such as pan gestures. Almost identical\n * API to normal `Animated.Value`, but multiplexed.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html\n */\nclass AnimatedValueXY extends AnimatedWithChildren {\n constructor(valueIn) {\n super();\n var value = valueIn || {\n x: 0,\n y: 0\n }; // fixme: shouldn't need `: any`\n if (typeof value.x === 'number' && typeof value.y === 'number') {\n this.x = new AnimatedValue(value.x);\n this.y = new AnimatedValue(value.y);\n } else {\n invariant(value.x instanceof AnimatedValue && value.y instanceof AnimatedValue, 'AnimatedValueXY must be initialized with an object of numbers or ' + 'AnimatedValues.');\n this.x = value.x;\n this.y = value.y;\n }\n this._listeners = {};\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#setvalue\n */\n setValue(value) {\n this.x.setValue(value.x);\n this.y.setValue(value.y);\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether\n * via `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#setoffset\n */\n setOffset(offset) {\n this.x.setOffset(offset.x);\n this.y.setOffset(offset.y);\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#flattenoffset\n */\n flattenOffset() {\n this.x.flattenOffset();\n this.y.flattenOffset();\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to\n * zero. The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#extractoffset\n */\n extractOffset() {\n this.x.extractOffset();\n this.y.extractOffset();\n }\n __getValue() {\n return {\n x: this.x.__getValue(),\n y: this.y.__getValue()\n };\n }\n\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#resetanimation\n */\n resetAnimation(callback) {\n this.x.resetAnimation();\n this.y.resetAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#stopanimation\n */\n stopAnimation(callback) {\n this.x.stopAnimation();\n this.y.stopAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to synchronously read\n * the value because it might be driven natively.\n *\n * Returns a string that serves as an identifier for the listener.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#addlistener\n */\n addListener(callback) {\n var id = String(_uniqueId++);\n var jointCallback = _ref => {\n var number = _ref.value;\n callback(this.__getValue());\n };\n this._listeners[id] = {\n x: this.x.addListener(jointCallback),\n y: this.y.addListener(jointCallback)\n };\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removelistener\n */\n removeListener(id) {\n this.x.removeListener(this._listeners[id].x);\n this.y.removeListener(this._listeners[id].y);\n delete this._listeners[id];\n }\n\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removealllisteners\n */\n removeAllListeners() {\n this.x.removeAllListeners();\n this.y.removeAllListeners();\n this._listeners = {};\n }\n\n /**\n * Converts `{x, y}` into `{left, top}` for use in style.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#getlayout\n */\n getLayout() {\n return {\n left: this.x,\n top: this.y\n };\n }\n\n /**\n * Converts `{x, y}` into a useable translation transform.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#gettranslatetransform\n */\n getTranslateTransform() {\n return [{\n translateX: this.x\n }, {\n translateY: this.y\n }];\n }\n}\nexport default AnimatedValueXY;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar startNativeAnimationNextId = 1;\n\n// Important note: start() and stop() will only be called at most once.\n// Once an animation has been stopped or finished its course, it will\n// not be reused.\nclass Animation {\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {}\n stop() {\n if (this.__nativeId) {\n NativeAnimatedHelper.API.stopAnimation(this.__nativeId);\n }\n }\n __getNativeAnimationConfig() {\n // Subclasses that have corresponding animation implementation done in native\n // should override this method\n throw new Error('This animation type cannot be offloaded to native');\n }\n // Helper function for subclasses to make sure onEnd is only called once.\n __debouncedOnEnd(result) {\n var onEnd = this.__onEnd;\n this.__onEnd = null;\n onEnd && onEnd(result);\n }\n __startNativeAnimation(animatedValue) {\n var startNativeAnimationWaitId = startNativeAnimationNextId + \":startAnimation\";\n startNativeAnimationNextId += 1;\n NativeAnimatedHelper.API.setWaitingForIdentifier(startNativeAnimationWaitId);\n try {\n var config = this.__getNativeAnimationConfig();\n animatedValue.__makeNative(config.platformConfig);\n this.__nativeId = NativeAnimatedHelper.generateNewAnimationId();\n NativeAnimatedHelper.API.startAnimatingNode(this.__nativeId, animatedValue.__getNativeTag(), config,\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.__debouncedOnEnd.bind(this));\n } catch (e) {\n throw e;\n } finally {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(startNativeAnimationWaitId);\n }\n }\n}\nexport default Animation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nclass DecayAnimation extends Animation {\n constructor(config) {\n var _config$deceleration, _config$isInteraction, _config$iterations;\n super();\n this._deceleration = (_config$deceleration = config.deceleration) !== null && _config$deceleration !== void 0 ? _config$deceleration : 0.998;\n this._velocity = config.velocity;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n }\n __getNativeAnimationConfig() {\n return {\n type: 'decay',\n deceleration: this._deceleration,\n velocity: this._velocity,\n iterations: this.__iterations\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._lastValue = fromValue;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._startTime = Date.now();\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n onUpdate() {\n var now = Date.now();\n var value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime)));\n this._onUpdate(value);\n if (Math.abs(this._lastValue - value) < 0.1) {\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n this._lastValue = value;\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n stop() {\n super.stop();\n this.__active = false;\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default DecayAnimation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\nfunction stiffnessFromOrigamiValue(oValue) {\n return (oValue - 30) * 3.62 + 194;\n}\nfunction dampingFromOrigamiValue(oValue) {\n return (oValue - 8) * 3 + 25;\n}\nfunction fromOrigamiTensionAndFriction(tension, friction) {\n return {\n stiffness: stiffnessFromOrigamiValue(tension),\n damping: dampingFromOrigamiValue(friction)\n };\n}\nfunction fromBouncinessAndSpeed(bounciness, speed) {\n function normalize(value, startValue, endValue) {\n return (value - startValue) / (endValue - startValue);\n }\n function projectNormal(n, start, end) {\n return start + n * (end - start);\n }\n function linearInterpolation(t, start, end) {\n return t * end + (1 - t) * start;\n }\n function quadraticOutInterpolation(t, start, end) {\n return linearInterpolation(2 * t - t * t, start, end);\n }\n function b3Friction1(x) {\n return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;\n }\n function b3Friction2(x) {\n return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;\n }\n function b3Friction3(x) {\n return 0.00000045 * Math.pow(x, 3) - 0.000332 * Math.pow(x, 2) + 0.1078 * x + 5.84;\n }\n function b3Nobounce(tension) {\n if (tension <= 18) {\n return b3Friction1(tension);\n } else if (tension > 18 && tension <= 44) {\n return b3Friction2(tension);\n } else {\n return b3Friction3(tension);\n }\n }\n var b = normalize(bounciness / 1.7, 0, 20);\n b = projectNormal(b, 0, 0.8);\n var s = normalize(speed / 1.7, 0, 20);\n var bouncyTension = projectNormal(s, 0.5, 200);\n var bouncyFriction = quadraticOutInterpolation(b, b3Nobounce(bouncyTension), 0.01);\n return {\n stiffness: stiffnessFromOrigamiValue(bouncyTension),\n damping: dampingFromOrigamiValue(bouncyFriction)\n };\n}\nexport default {\n fromOrigamiTensionAndFriction,\n fromBouncinessAndSpeed\n};","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport Animation from './Animation';\nimport SpringConfig from '../SpringConfig';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport AnimatedColor from '../nodes/AnimatedColor';\nclass SpringAnimation extends Animation {\n constructor(config) {\n var _config$overshootClam, _config$restDisplacem, _config$restSpeedThre, _config$velocity, _config$velocity2, _config$delay, _config$isInteraction, _config$iterations;\n super();\n this._overshootClamping = (_config$overshootClam = config.overshootClamping) !== null && _config$overshootClam !== void 0 ? _config$overshootClam : false;\n this._restDisplacementThreshold = (_config$restDisplacem = config.restDisplacementThreshold) !== null && _config$restDisplacem !== void 0 ? _config$restDisplacem : 0.001;\n this._restSpeedThreshold = (_config$restSpeedThre = config.restSpeedThreshold) !== null && _config$restSpeedThre !== void 0 ? _config$restSpeedThre : 0.001;\n this._initialVelocity = (_config$velocity = config.velocity) !== null && _config$velocity !== void 0 ? _config$velocity : 0;\n this._lastVelocity = (_config$velocity2 = config.velocity) !== null && _config$velocity2 !== void 0 ? _config$velocity2 : 0;\n this._toValue = config.toValue;\n this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this._platformConfig = config.platformConfig;\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n if (config.stiffness !== undefined || config.damping !== undefined || config.mass !== undefined) {\n var _config$stiffness, _config$damping, _config$mass;\n invariant(config.bounciness === undefined && config.speed === undefined && config.tension === undefined && config.friction === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n this._stiffness = (_config$stiffness = config.stiffness) !== null && _config$stiffness !== void 0 ? _config$stiffness : 100;\n this._damping = (_config$damping = config.damping) !== null && _config$damping !== void 0 ? _config$damping : 10;\n this._mass = (_config$mass = config.mass) !== null && _config$mass !== void 0 ? _config$mass : 1;\n } else if (config.bounciness !== undefined || config.speed !== undefined) {\n var _config$bounciness, _config$speed;\n // Convert the origami bounciness/speed values to stiffness/damping\n // We assume mass is 1.\n invariant(config.tension === undefined && config.friction === undefined && config.stiffness === undefined && config.damping === undefined && config.mass === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n var springConfig = SpringConfig.fromBouncinessAndSpeed((_config$bounciness = config.bounciness) !== null && _config$bounciness !== void 0 ? _config$bounciness : 8, (_config$speed = config.speed) !== null && _config$speed !== void 0 ? _config$speed : 12);\n this._stiffness = springConfig.stiffness;\n this._damping = springConfig.damping;\n this._mass = 1;\n } else {\n var _config$tension, _config$friction;\n // Convert the origami tension/friction values to stiffness/damping\n // We assume mass is 1.\n var _springConfig = SpringConfig.fromOrigamiTensionAndFriction((_config$tension = config.tension) !== null && _config$tension !== void 0 ? _config$tension : 40, (_config$friction = config.friction) !== null && _config$friction !== void 0 ? _config$friction : 7);\n this._stiffness = _springConfig.stiffness;\n this._damping = _springConfig.damping;\n this._mass = 1;\n }\n invariant(this._stiffness > 0, 'Stiffness value must be greater than 0');\n invariant(this._damping > 0, 'Damping value must be greater than 0');\n invariant(this._mass > 0, 'Mass value must be greater than 0');\n }\n __getNativeAnimationConfig() {\n var _this$_initialVelocit;\n return {\n type: 'spring',\n overshootClamping: this._overshootClamping,\n restDisplacementThreshold: this._restDisplacementThreshold,\n restSpeedThreshold: this._restSpeedThreshold,\n stiffness: this._stiffness,\n damping: this._damping,\n mass: this._mass,\n initialVelocity: (_this$_initialVelocit = this._initialVelocity) !== null && _this$_initialVelocit !== void 0 ? _this$_initialVelocit : this._lastVelocity,\n toValue: this._toValue,\n iterations: this.__iterations,\n platformConfig: this._platformConfig\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._startPosition = fromValue;\n this._lastPosition = this._startPosition;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._lastTime = Date.now();\n this._frameTime = 0.0;\n if (previousAnimation instanceof SpringAnimation) {\n var internalState = previousAnimation.getInternalState();\n this._lastPosition = internalState.lastPosition;\n this._lastVelocity = internalState.lastVelocity;\n // Set the initial velocity to the last velocity\n this._initialVelocity = this._lastVelocity;\n this._lastTime = internalState.lastTime;\n }\n var start = () => {\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this.onUpdate();\n }\n };\n\n // If this._delay is more than 0, we start after the timeout.\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n getInternalState() {\n return {\n lastPosition: this._lastPosition,\n lastVelocity: this._lastVelocity,\n lastTime: this._lastTime\n };\n }\n\n /**\n * This spring model is based off of a damped harmonic oscillator\n * (https://en.wikipedia.org/wiki/Harmonic_oscillator#Damped_harmonic_oscillator).\n *\n * We use the closed form of the second order differential equation:\n *\n * x'' + (2ζ⍵_0)x' + ⍵^2x = 0\n *\n * where\n * ⍵_0 = √(k / m) (undamped angular frequency of the oscillator),\n * ζ = c / 2√mk (damping ratio),\n * c = damping constant\n * k = stiffness\n * m = mass\n *\n * The derivation of the closed form is described in detail here:\n * http://planetmath.org/sites/default/files/texpdf/39745.pdf\n *\n * This algorithm happens to match the algorithm used by CASpringAnimation,\n * a QuartzCore (iOS) API that creates spring animations.\n */\n onUpdate() {\n // If for some reason we lost a lot of frames (e.g. process large payload or\n // stopped in the debugger), we only advance by 4 frames worth of\n // computation and will continue on the next frame. It's better to have it\n // running at faster speed than jumping to the end.\n var MAX_STEPS = 64;\n var now = Date.now();\n if (now > this._lastTime + MAX_STEPS) {\n now = this._lastTime + MAX_STEPS;\n }\n var deltaTime = (now - this._lastTime) / 1000;\n this._frameTime += deltaTime;\n var c = this._damping;\n var m = this._mass;\n var k = this._stiffness;\n var v0 = -this._initialVelocity;\n var zeta = c / (2 * Math.sqrt(k * m)); // damping ratio\n var omega0 = Math.sqrt(k / m); // undamped angular frequency of the oscillator (rad/ms)\n var omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta); // exponential decay\n var x0 = this._toValue - this._startPosition; // calculate the oscillation from x0 = 1 to x = 0\n\n var position = 0.0;\n var velocity = 0.0;\n var t = this._frameTime;\n if (zeta < 1) {\n // Under damped\n var envelope = Math.exp(-zeta * omega0 * t);\n position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t));\n // This looks crazy -- it's actually just the derivative of the\n // oscillation function\n velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t));\n } else {\n // Critically damped\n var _envelope = Math.exp(-omega0 * t);\n position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t);\n velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));\n }\n this._lastTime = now;\n this._lastPosition = position;\n this._lastVelocity = velocity;\n this._onUpdate(position);\n if (!this.__active) {\n // a listener might have stopped us in _onUpdate\n return;\n }\n\n // Conditions for stopping the spring animation\n var isOvershooting = false;\n if (this._overshootClamping && this._stiffness !== 0) {\n if (this._startPosition < this._toValue) {\n isOvershooting = position > this._toValue;\n } else {\n isOvershooting = position < this._toValue;\n }\n }\n var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;\n var isDisplacement = true;\n if (this._stiffness !== 0) {\n isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;\n }\n if (isOvershooting || isVelocity && isDisplacement) {\n if (this._stiffness !== 0) {\n // Ensure that we end up with a round value\n this._lastPosition = this._toValue;\n this._lastVelocity = 0;\n this._onUpdate(this._toValue);\n }\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default SpringAnimation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\nimport _bezier from './bezier';\nvar ease;\n\n/**\n * The `Easing` module implements common easing functions. This module is used\n * by [Animate.timing()](docs/animate.html#timing) to convey physically\n * believable motion in animations.\n *\n * You can find a visualization of some common easing functions at\n * http://easings.net/\n *\n * ### Predefined animations\n *\n * The `Easing` module provides several predefined animations through the\n * following methods:\n *\n * - [`back`](docs/easing.html#back) provides a simple animation where the\n * object goes slightly back before moving forward\n * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation\n * - [`ease`](docs/easing.html#ease) provides a simple inertial animation\n * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction\n *\n * ### Standard functions\n *\n * Three standard easing functions are provided:\n *\n * - [`linear`](docs/easing.html#linear)\n * - [`quad`](docs/easing.html#quad)\n * - [`cubic`](docs/easing.html#cubic)\n *\n * The [`poly`](docs/easing.html#poly) function can be used to implement\n * quartic, quintic, and other higher power functions.\n *\n * ### Additional functions\n *\n * Additional mathematical functions are provided by the following methods:\n *\n * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve\n * - [`circle`](docs/easing.html#circle) provides a circular function\n * - [`sin`](docs/easing.html#sin) provides a sinusoidal function\n * - [`exp`](docs/easing.html#exp) provides an exponential function\n *\n * The following helpers are used to modify other easing functions.\n *\n * - [`in`](docs/easing.html#in) runs an easing function forwards\n * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical\n * - [`out`](docs/easing.html#out) runs an easing function backwards\n */\nclass Easing {\n /**\n * A stepping function, returns 1 for any positive value of `n`.\n */\n static step0(n) {\n return n > 0 ? 1 : 0;\n }\n\n /**\n * A stepping function, returns 1 if `n` is greater than or equal to 1.\n */\n static step1(n) {\n return n >= 1 ? 1 : 0;\n }\n\n /**\n * A linear function, `f(t) = t`. Position correlates to elapsed time one to\n * one.\n *\n * http://cubic-bezier.com/#0,0,1,1\n */\n static linear(t) {\n return t;\n }\n\n /**\n * A simple inertial interaction, similar to an object slowly accelerating to\n * speed.\n *\n * http://cubic-bezier.com/#.42,0,1,1\n */\n static ease(t) {\n if (!ease) {\n ease = Easing.bezier(0.42, 0, 1, 1);\n }\n return ease(t);\n }\n\n /**\n * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed\n * time.\n *\n * http://easings.net/#easeInQuad\n */\n static quad(t) {\n return t * t;\n }\n\n /**\n * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed\n * time.\n *\n * http://easings.net/#easeInCubic\n */\n static cubic(t) {\n return t * t * t;\n }\n\n /**\n * A power function. Position is equal to the Nth power of elapsed time.\n *\n * n = 4: http://easings.net/#easeInQuart\n * n = 5: http://easings.net/#easeInQuint\n */\n static poly(n) {\n return t => Math.pow(t, n);\n }\n\n /**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\n static sin(t) {\n return 1 - Math.cos(t * Math.PI / 2);\n }\n\n /**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\n static circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n\n /**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\n static exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\n\n /**\n * A simple elastic interaction, similar to a spring oscillating back and\n * forth.\n *\n * Default bounciness is 1, which overshoots a little bit once. 0 bounciness\n * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N\n * times.\n *\n * http://easings.net/#easeInElastic\n */\n static elastic(bounciness) {\n if (bounciness === void 0) {\n bounciness = 1;\n }\n var p = bounciness * Math.PI;\n return t => 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p);\n }\n\n /**\n * Use with `Animated.parallel()` to create a simple effect where the object\n * animates back slightly as the animation starts.\n *\n * Wolfram Plot:\n *\n * - http://tiny.cc/back_default (s = 1.70158, default)\n */\n static back(s) {\n if (s === void 0) {\n s = 1.70158;\n }\n return t => t * t * ((s + 1) * t - s);\n }\n\n /**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\n static bounce(t) {\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n if (t < 2 / 2.75) {\n var _t = t - 1.5 / 2.75;\n return 7.5625 * _t * _t + 0.75;\n }\n if (t < 2.5 / 2.75) {\n var _t2 = t - 2.25 / 2.75;\n return 7.5625 * _t2 * _t2 + 0.9375;\n }\n var t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n }\n\n /**\n * Provides a cubic bezier curve, equivalent to CSS Transitions'\n * `transition-timing-function`.\n *\n * A useful tool to visualize cubic bezier curves can be found at\n * http://cubic-bezier.com/\n */\n static bezier(x1, y1, x2, y2) {\n return _bezier(x1, y1, x2, y2);\n }\n\n /**\n * Runs an easing function forwards.\n */\n static in(easing) {\n return easing;\n }\n\n /**\n * Runs an easing function backwards.\n */\n static out(easing) {\n return t => 1 - easing(1 - t);\n }\n\n /**\n * Makes any easing function symmetrical. The easing function will run\n * forwards for half of the duration, then backwards for the rest of the\n * duration.\n */\n static inOut(easing) {\n return t => {\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n return 1 - easing((1 - t) * 2) / 2;\n };\n }\n}\nexport default Easing;","/**\n * Portions Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n/**\n * BezierEasing - use bezier curve for transition easing function\n * https://github.com/gre/bezier-easing\n * @copyright 2014-2015 Gaëtan Renaudeau. MIT License.\n */\n\n'use strict';\n\n// These values are established by empiricism with tests (tradeoff: performance VS precision)\nvar NEWTON_ITERATIONS = 4;\nvar NEWTON_MIN_SLOPE = 0.001;\nvar SUBDIVISION_PRECISION = 0.0000001;\nvar SUBDIVISION_MAX_ITERATIONS = 10;\nvar kSplineTableSize = 11;\nvar kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\nvar float32ArraySupported = typeof Float32Array === 'function';\nfunction A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n}\nfunction B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n}\nfunction C(aA1) {\n return 3.0 * aA1;\n}\n\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nfunction calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n}\n\n// Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\nfunction getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n}\nfunction binarySubdivide(aX, _aA, _aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0,\n aA = _aA,\n aB = _aB;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n return currentT;\n}\nfunction newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {\n var aGuessT = _aGuessT;\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n}\nexport default function bezier(mX1, mY1, mX2, mY2) {\n if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {\n throw new Error('bezier x values must be in [0, 1] range');\n }\n\n // Precompute samples table\n var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n\n // Interpolate to provide an initial guess for t\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n return function BezierEasing(x) {\n if (mX1 === mY1 && mX2 === mY2) {\n return x; // linear\n }\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n if (x === 0) {\n return 0;\n }\n if (x === 1) {\n return 1;\n }\n return calcBezier(getTForX(x), mY1, mY2);\n };\n}\n;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedValue from '../nodes/AnimatedValue';\nimport AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport Easing from '../../../../exports/Easing';\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport AnimatedColor from '../nodes/AnimatedColor';\nvar _easeInOut;\nfunction easeInOut() {\n if (!_easeInOut) {\n _easeInOut = Easing.inOut(Easing.ease);\n }\n return _easeInOut;\n}\nclass TimingAnimation extends Animation {\n constructor(config) {\n var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction;\n super();\n this._toValue = config.toValue;\n this._easing = (_config$easing = config.easing) !== null && _config$easing !== void 0 ? _config$easing : easeInOut();\n this._duration = (_config$duration = config.duration) !== null && _config$duration !== void 0 ? _config$duration : 500;\n this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this._platformConfig = config.platformConfig;\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n }\n __getNativeAnimationConfig() {\n var frameDuration = 1000.0 / 60.0;\n var frames = [];\n var numFrames = Math.round(this._duration / frameDuration);\n for (var frame = 0; frame < numFrames; frame++) {\n frames.push(this._easing(frame / numFrames));\n }\n frames.push(this._easing(1));\n return {\n type: 'frames',\n frames,\n toValue: this._toValue,\n iterations: this.__iterations,\n platformConfig: this._platformConfig\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n var start = () => {\n // Animations that sometimes have 0 duration and sometimes do not\n // still need to use the native driver when duration is 0 so as to\n // not cause intermixed JS and native animations.\n if (this._duration === 0 && !this._useNativeDriver) {\n this._onUpdate(this._toValue);\n this.__debouncedOnEnd({\n finished: true\n });\n } else {\n this._startTime = Date.now();\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.onUpdate.bind(this));\n }\n }\n };\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n onUpdate() {\n var now = Date.now();\n if (now >= this._startTime + this._duration) {\n if (this._duration === 0) {\n this._onUpdate(this._toValue);\n } else {\n this._onUpdate(this._fromValue + this._easing(1) * (this._toValue - this._fromValue));\n }\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue));\n if (this.__active) {\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default TimingAnimation;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport Easing from '../../vendor/react-native/Animated/Easing';\nexport default Easing;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport normalizeColor from '@react-native/normalize-colors';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nvar defaultColor = {\n r: 0,\n g: 0,\n b: 0,\n a: 1.0\n};\nvar _uniqueId = 1;\nvar processColorObject = color => {\n return color;\n};\n\n/* eslint no-bitwise: 0 */\nfunction processColor(color) {\n if (color === undefined || color === null) {\n return null;\n }\n if (isRgbaValue(color)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n return color;\n }\n var normalizedColor = normalizeColor(\n // $FlowIgnore[incompatible-cast] - Type is verified above\n color);\n if (normalizedColor === undefined || normalizedColor === null) {\n return null;\n }\n if (typeof normalizedColor === 'object') {\n var processedColorObj = processColorObject(normalizedColor);\n if (processedColorObj != null) {\n return processedColorObj;\n }\n } else if (typeof normalizedColor === 'number') {\n var r = (normalizedColor & 0xff000000) >>> 24;\n var g = (normalizedColor & 0x00ff0000) >>> 16;\n var b = (normalizedColor & 0x0000ff00) >>> 8;\n var a = (normalizedColor & 0x000000ff) / 255;\n return {\n r,\n g,\n b,\n a\n };\n }\n return null;\n}\nfunction isRgbaValue(value) {\n return value && typeof value.r === 'number' && typeof value.g === 'number' && typeof value.b === 'number' && typeof value.a === 'number';\n}\nfunction isRgbaAnimatedValue(value) {\n return value && value.r instanceof AnimatedValue && value.g instanceof AnimatedValue && value.b instanceof AnimatedValue && value.a instanceof AnimatedValue;\n}\nexport default class AnimatedColor extends AnimatedWithChildren {\n constructor(valueIn, config) {\n super();\n this._listeners = {};\n var value = valueIn !== null && valueIn !== void 0 ? valueIn : defaultColor;\n if (isRgbaAnimatedValue(value)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n var rgbaAnimatedValue = value;\n this.r = rgbaAnimatedValue.r;\n this.g = rgbaAnimatedValue.g;\n this.b = rgbaAnimatedValue.b;\n this.a = rgbaAnimatedValue.a;\n } else {\n var _processColor;\n var processedColor = // $FlowIgnore[incompatible-cast] - Type is verified above\n (_processColor = processColor(value)) !== null && _processColor !== void 0 ? _processColor : defaultColor;\n var initColor = defaultColor;\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n initColor = processedColor;\n } else {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n this.nativeColor = processedColor;\n }\n this.r = new AnimatedValue(initColor.r);\n this.g = new AnimatedValue(initColor.g);\n this.b = new AnimatedValue(initColor.b);\n this.a = new AnimatedValue(initColor.a);\n }\n if (this.nativeColor || config && config.useNativeDriver) {\n this.__makeNative();\n }\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n */\n setValue(value) {\n var _processColor2;\n var shouldUpdateNodeConfig = false;\n if (this.__isNative) {\n var nativeTag = this.__getNativeTag();\n NativeAnimatedAPI.setWaitingForIdentifier(nativeTag.toString());\n }\n var processedColor = (_processColor2 = processColor(value)) !== null && _processColor2 !== void 0 ? _processColor2 : defaultColor;\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-type] - Type is verified above\n var rgbaValue = processedColor;\n this.r.setValue(rgbaValue.r);\n this.g.setValue(rgbaValue.g);\n this.b.setValue(rgbaValue.b);\n this.a.setValue(rgbaValue.a);\n if (this.nativeColor != null) {\n this.nativeColor = null;\n shouldUpdateNodeConfig = true;\n }\n } else {\n // $FlowIgnore[incompatible-type] - Type is verified above\n var nativeColor = processedColor;\n if (this.nativeColor !== nativeColor) {\n this.nativeColor = nativeColor;\n shouldUpdateNodeConfig = true;\n }\n }\n if (this.__isNative) {\n var _nativeTag = this.__getNativeTag();\n if (shouldUpdateNodeConfig) {\n NativeAnimatedAPI.updateAnimatedNodeConfig(_nativeTag, this.__getNativeConfig());\n }\n NativeAnimatedAPI.unsetWaitingForIdentifier(_nativeTag.toString());\n }\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether\n * via `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n */\n setOffset(offset) {\n this.r.setOffset(offset.r);\n this.g.setOffset(offset.g);\n this.b.setOffset(offset.b);\n this.a.setOffset(offset.a);\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n */\n flattenOffset() {\n this.r.flattenOffset();\n this.g.flattenOffset();\n this.b.flattenOffset();\n this.a.flattenOffset();\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to\n * zero. The final output of the value is unchanged.\n */\n extractOffset() {\n this.r.extractOffset();\n this.g.extractOffset();\n this.b.extractOffset();\n this.a.extractOffset();\n }\n\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to synchronously read\n * the value because it might be driven natively.\n *\n * Returns a string that serves as an identifier for the listener.\n */\n addListener(callback) {\n var id = String(_uniqueId++);\n var jointCallback = _ref => {\n var number = _ref.value;\n callback(this.__getValue());\n };\n this._listeners[id] = {\n r: this.r.addListener(jointCallback),\n g: this.g.addListener(jointCallback),\n b: this.b.addListener(jointCallback),\n a: this.a.addListener(jointCallback)\n };\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n */\n removeListener(id) {\n this.r.removeListener(this._listeners[id].r);\n this.g.removeListener(this._listeners[id].g);\n this.b.removeListener(this._listeners[id].b);\n this.a.removeListener(this._listeners[id].a);\n delete this._listeners[id];\n }\n\n /**\n * Remove all registered listeners.\n */\n removeAllListeners() {\n this.r.removeAllListeners();\n this.g.removeAllListeners();\n this.b.removeAllListeners();\n this.a.removeAllListeners();\n this._listeners = {};\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n */\n stopAnimation(callback) {\n this.r.stopAnimation();\n this.g.stopAnimation();\n this.b.stopAnimation();\n this.a.stopAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Stops any animation and resets the value to its original.\n */\n resetAnimation(callback) {\n this.r.resetAnimation();\n this.g.resetAnimation();\n this.b.resetAnimation();\n this.a.resetAnimation();\n callback && callback(this.__getValue());\n }\n __getValue() {\n if (this.nativeColor != null) {\n return this.nativeColor;\n } else {\n return \"rgba(\" + this.r.__getValue() + \", \" + this.g.__getValue() + \", \" + this.b.__getValue() + \", \" + this.a.__getValue() + \")\";\n }\n }\n __attach() {\n this.r.__addChild(this);\n this.g.__addChild(this);\n this.b.__addChild(this);\n this.a.__addChild(this);\n super.__attach();\n }\n __detach() {\n this.r.__removeChild(this);\n this.g.__removeChild(this);\n this.b.__removeChild(this);\n this.a.__removeChild(this);\n super.__detach();\n }\n __makeNative(platformConfig) {\n this.r.__makeNative(platformConfig);\n this.g.__makeNative(platformConfig);\n this.b.__makeNative(platformConfig);\n this.a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getNativeConfig() {\n return {\n type: 'color',\n r: this.r.__getNativeTag(),\n g: this.g.__getNativeTag(),\n b: this.b.__getNativeTag(),\n a: this.a.__getNativeTag(),\n nativeColor: this.nativeColor\n };\n }\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedAddition from './nodes/AnimatedAddition';\nimport AnimatedDiffClamp from './nodes/AnimatedDiffClamp';\nimport AnimatedDivision from './nodes/AnimatedDivision';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedModulo from './nodes/AnimatedModulo';\nimport AnimatedMultiplication from './nodes/AnimatedMultiplication';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedProps from './nodes/AnimatedProps';\nimport AnimatedSubtraction from './nodes/AnimatedSubtraction';\nimport AnimatedTracking from './nodes/AnimatedTracking';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport DecayAnimation from './animations/DecayAnimation';\nimport SpringAnimation from './animations/SpringAnimation';\nimport TimingAnimation from './animations/TimingAnimation';\nimport createAnimatedComponent from './createAnimatedComponent';\nimport AnimatedColor from './nodes/AnimatedColor';\nvar add = function add(a, b) {\n return new AnimatedAddition(a, b);\n};\nvar subtract = function subtract(a, b) {\n return new AnimatedSubtraction(a, b);\n};\nvar divide = function divide(a, b) {\n return new AnimatedDivision(a, b);\n};\nvar multiply = function multiply(a, b) {\n return new AnimatedMultiplication(a, b);\n};\nvar modulo = function modulo(a, modulus) {\n return new AnimatedModulo(a, modulus);\n};\nvar diffClamp = function diffClamp(a, min, max) {\n return new AnimatedDiffClamp(a, min, max);\n};\nvar _combineCallbacks = function _combineCallbacks(callback, config) {\n if (callback && config.onComplete) {\n return function () {\n config.onComplete && config.onComplete(...arguments);\n callback && callback(...arguments);\n };\n } else {\n return callback || config.onComplete;\n }\n};\nvar maybeVectorAnim = function maybeVectorAnim(value, config, anim) {\n if (value instanceof AnimatedValueXY) {\n var configX = _objectSpread({}, config);\n var configY = _objectSpread({}, config);\n for (var key in config) {\n var _config$key = config[key],\n x = _config$key.x,\n y = _config$key.y;\n if (x !== undefined && y !== undefined) {\n configX[key] = x;\n configY[key] = y;\n }\n }\n var aX = anim(value.x, configX);\n var aY = anim(value.y, configY);\n // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n return parallel([aX, aY], {\n stopTogether: false\n });\n } else if (value instanceof AnimatedColor) {\n var configR = _objectSpread({}, config);\n var configG = _objectSpread({}, config);\n var configB = _objectSpread({}, config);\n var configA = _objectSpread({}, config);\n for (var _key in config) {\n var _config$_key = config[_key],\n r = _config$_key.r,\n g = _config$_key.g,\n b = _config$_key.b,\n a = _config$_key.a;\n if (r !== undefined && g !== undefined && b !== undefined && a !== undefined) {\n configR[_key] = r;\n configG[_key] = g;\n configB[_key] = b;\n configA[_key] = a;\n }\n }\n var aR = anim(value.r, configR);\n var aG = anim(value.g, configG);\n var aB = anim(value.b, configB);\n var aA = anim(value.a, configA);\n // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n return parallel([aR, aG, aB, aA], {\n stopTogether: false\n });\n }\n return null;\n};\nvar spring = function spring(value, config) {\n var _start = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, SpringAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new SpringAnimation(singleConfig), callback);\n }\n };\n return maybeVectorAnim(value, config, spring) || {\n start: function start(callback) {\n _start(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar timing = function timing(value, config) {\n var _start2 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, TimingAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new TimingAnimation(singleConfig), callback);\n }\n };\n return maybeVectorAnim(value, config, timing) || {\n start: function start(callback) {\n _start2(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start2(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar decay = function decay(value, config) {\n var _start3 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n singleValue.animate(new DecayAnimation(singleConfig), callback);\n };\n return maybeVectorAnim(value, config, decay) || {\n start: function start(callback) {\n _start3(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start3(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar sequence = function sequence(animations) {\n var current = 0;\n return {\n start: function start(callback) {\n var onComplete = function onComplete(result) {\n if (!result.finished) {\n callback && callback(result);\n return;\n }\n current++;\n if (current === animations.length) {\n callback && callback(result);\n return;\n }\n animations[current].start(onComplete);\n };\n if (animations.length === 0) {\n callback && callback({\n finished: true\n });\n } else {\n animations[current].start(onComplete);\n }\n },\n stop: function stop() {\n if (current < animations.length) {\n animations[current].stop();\n }\n },\n reset: function reset() {\n animations.forEach((animation, idx) => {\n if (idx <= current) {\n animation.reset();\n }\n });\n current = 0;\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.sequence animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n};\nvar parallel = function parallel(animations, config) {\n var doneCount = 0;\n // Make sure we only call stop() at most once for each animation\n var hasEnded = {};\n var stopTogether = !(config && config.stopTogether === false);\n var result = {\n start: function start(callback) {\n if (doneCount === animations.length) {\n callback && callback({\n finished: true\n });\n return;\n }\n animations.forEach((animation, idx) => {\n var cb = function cb(endResult) {\n hasEnded[idx] = true;\n doneCount++;\n if (doneCount === animations.length) {\n doneCount = 0;\n callback && callback(endResult);\n return;\n }\n if (!endResult.finished && stopTogether) {\n result.stop();\n }\n };\n if (!animation) {\n cb({\n finished: true\n });\n } else {\n animation.start(cb);\n }\n });\n },\n stop: function stop() {\n animations.forEach((animation, idx) => {\n !hasEnded[idx] && animation.stop();\n hasEnded[idx] = true;\n });\n },\n reset: function reset() {\n animations.forEach((animation, idx) => {\n animation.reset();\n hasEnded[idx] = false;\n doneCount = 0;\n });\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.parallel animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n return result;\n};\nvar delay = function delay(time) {\n // Would be nice to make a specialized implementation\n return timing(new AnimatedValue(0), {\n toValue: 0,\n delay: time,\n duration: 0,\n useNativeDriver: false\n });\n};\nvar stagger = function stagger(time, animations) {\n return parallel(animations.map((animation, i) => {\n return sequence([delay(time * i), animation]);\n }));\n};\nvar loop = function loop(animation, // $FlowFixMe[prop-missing]\n_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations,\n _ref$resetBeforeItera = _ref.resetBeforeIteration,\n resetBeforeIteration = _ref$resetBeforeItera === void 0 ? true : _ref$resetBeforeItera;\n var isFinished = false;\n var iterationsSoFar = 0;\n return {\n start: function start(callback) {\n var restart = function restart(result) {\n if (result === void 0) {\n result = {\n finished: true\n };\n }\n if (isFinished || iterationsSoFar === iterations || result.finished === false) {\n callback && callback(result);\n } else {\n iterationsSoFar++;\n resetBeforeIteration && animation.reset();\n animation.start(restart);\n }\n };\n if (!animation || iterations === 0) {\n callback && callback({\n finished: true\n });\n } else {\n if (animation._isUsingNativeDriver()) {\n animation._startNativeLoop(iterations);\n } else {\n restart(); // Start looping recursively on the js thread\n }\n }\n },\n\n stop: function stop() {\n isFinished = true;\n animation.stop();\n },\n reset: function reset() {\n iterationsSoFar = 0;\n isFinished = false;\n animation.reset();\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.loop animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return animation._isUsingNativeDriver();\n }\n };\n};\nfunction forkEvent(event, listener) {\n if (!event) {\n return listener;\n } else if (event instanceof AnimatedEvent) {\n event.__addListener(listener);\n return event;\n } else {\n return function () {\n typeof event === 'function' && event(...arguments);\n listener(...arguments);\n };\n }\n}\nfunction unforkEvent(event, listener) {\n if (event && event instanceof AnimatedEvent) {\n event.__removeListener(listener);\n }\n}\nvar event = function event(argMapping, config) {\n var animatedEvent = new AnimatedEvent(argMapping, config);\n if (animatedEvent.__isNative) {\n return animatedEvent;\n } else {\n return animatedEvent.__getHandler();\n }\n};\n\n// All types of animated nodes that represent scalar numbers and can be interpolated (etc)\n\n/**\n * The `Animated` library is designed to make animations fluid, powerful, and\n * easy to build and maintain. `Animated` focuses on declarative relationships\n * between inputs and outputs, with configurable transforms in between, and\n * simple `start`/`stop` methods to control time-based animation execution.\n * If additional transforms are added, be sure to include them in\n * AnimatedMock.js as well.\n *\n * See https://reactnative.dev/docs/animated\n */\nexport default {\n /**\n * Standard value class for driving animations. Typically initialized with\n * `new Animated.Value(0);`\n *\n * See https://reactnative.dev/docs/animated#value\n */\n Value: AnimatedValue,\n /**\n * 2D value class for driving 2D animations, such as pan gestures.\n *\n * See https://reactnative.dev/docs/animatedvaluexy\n */\n ValueXY: AnimatedValueXY,\n /**\n * Value class for driving color animations.\n */\n Color: AnimatedColor,\n /**\n * Exported to use the Interpolation type in flow.\n *\n * See https://reactnative.dev/docs/animated#interpolation\n */\n Interpolation: AnimatedInterpolation,\n /**\n * Exported for ease of type checking. All animated values derive from this\n * class.\n *\n * See https://reactnative.dev/docs/animated#node\n */\n Node: AnimatedNode,\n /**\n * Animates a value from an initial velocity to zero based on a decay\n * coefficient.\n *\n * See https://reactnative.dev/docs/animated#decay\n */\n decay,\n /**\n * Animates a value along a timed easing curve. The Easing module has tons of\n * predefined curves, or you can use your own function.\n *\n * See https://reactnative.dev/docs/animated#timing\n */\n timing,\n /**\n * Animates a value according to an analytical spring model based on\n * damped harmonic oscillation.\n *\n * See https://reactnative.dev/docs/animated#spring\n */\n spring,\n /**\n * Creates a new Animated value composed from two Animated values added\n * together.\n *\n * See https://reactnative.dev/docs/animated#add\n */\n add,\n /**\n * Creates a new Animated value composed by subtracting the second Animated\n * value from the first Animated value.\n *\n * See https://reactnative.dev/docs/animated#subtract\n */\n subtract,\n /**\n * Creates a new Animated value composed by dividing the first Animated value\n * by the second Animated value.\n *\n * See https://reactnative.dev/docs/animated#divide\n */\n divide,\n /**\n * Creates a new Animated value composed from two Animated values multiplied\n * together.\n *\n * See https://reactnative.dev/docs/animated#multiply\n */\n multiply,\n /**\n * Creates a new Animated value that is the (non-negative) modulo of the\n * provided Animated value.\n *\n * See https://reactnative.dev/docs/animated#modulo\n */\n modulo,\n /**\n * Create a new Animated value that is limited between 2 values. It uses the\n * difference between the last value so even if the value is far from the\n * bounds it will start changing when the value starts getting closer again.\n *\n * See https://reactnative.dev/docs/animated#diffclamp\n */\n diffClamp,\n /**\n * Starts an animation after the given delay.\n *\n * See https://reactnative.dev/docs/animated#delay\n */\n delay,\n /**\n * Starts an array of animations in order, waiting for each to complete\n * before starting the next. If the current running animation is stopped, no\n * following animations will be started.\n *\n * See https://reactnative.dev/docs/animated#sequence\n */\n sequence,\n /**\n * Starts an array of animations all at the same time. By default, if one\n * of the animations is stopped, they will all be stopped. You can override\n * this with the `stopTogether` flag.\n *\n * See https://reactnative.dev/docs/animated#parallel\n */\n parallel,\n /**\n * Array of animations may run in parallel (overlap), but are started in\n * sequence with successive delays. Nice for doing trailing effects.\n *\n * See https://reactnative.dev/docs/animated#stagger\n */\n stagger,\n /**\n * Loops a given animation continuously, so that each time it reaches the\n * end, it resets and begins again from the start.\n *\n * See https://reactnative.dev/docs/animated#loop\n */\n loop,\n /**\n * Takes an array of mappings and extracts values from each arg accordingly,\n * then calls `setValue` on the mapped outputs.\n *\n * See https://reactnative.dev/docs/animated#event\n */\n event,\n /**\n * Make any React component Animatable. Used to create `Animated.View`, etc.\n *\n * See https://reactnative.dev/docs/animated#createanimatedcomponent\n */\n createAnimatedComponent,\n /**\n * Imperative API to attach an animated value to an event on a view. Prefer\n * using `Animated.event` with `useNativeDrive: true` if possible.\n *\n * See https://reactnative.dev/docs/animated#attachnativeevent\n */\n attachNativeEvent,\n /**\n * Advanced imperative API for snooping on animated events that are passed in\n * through props. Use values directly where possible.\n *\n * See https://reactnative.dev/docs/animated#forkevent\n */\n forkEvent,\n unforkEvent,\n /**\n * Expose Event class, so it can be used as a type for type checkers.\n */\n Event: AnimatedEvent\n};","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedImplementation from './AnimatedImplementation';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport createAnimatedComponent from './createAnimatedComponent';\nimport AnimatedColor from './nodes/AnimatedColor';\n\n/**\n * Animations are a source of flakiness in snapshot testing. This mock replaces\n * animation functions from AnimatedImplementation with empty animations for\n * predictability in tests. When possible the animation will run immediately\n * to the final state.\n */\n\n// Prevent any callback invocation from recursively triggering another\n// callback, which may trigger another animation\nvar inAnimationCallback = false;\nfunction mockAnimationStart(start) {\n return callback => {\n var guardedCallback = callback == null ? callback : function () {\n if (inAnimationCallback) {\n console.warn('Ignoring recursive animation callback when running mock animations');\n return;\n }\n inAnimationCallback = true;\n try {\n callback(...arguments);\n } finally {\n inAnimationCallback = false;\n }\n };\n start(guardedCallback);\n };\n}\nvar emptyAnimation = {\n start: () => {},\n stop: () => {},\n reset: () => {},\n _startNativeLoop: () => {},\n _isUsingNativeDriver: () => {\n return false;\n }\n};\nvar mockCompositeAnimation = animations => _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n animations.forEach(animation => animation.start());\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n});\nvar spring = function spring(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n anyValue.setValue(config.toValue);\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n });\n};\nvar timing = function timing(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n anyValue.setValue(config.toValue);\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n });\n};\nvar decay = function decay(value, config) {\n return emptyAnimation;\n};\nvar sequence = function sequence(animations) {\n return mockCompositeAnimation(animations);\n};\nvar parallel = function parallel(animations, config) {\n return mockCompositeAnimation(animations);\n};\nvar delay = function delay(time) {\n return emptyAnimation;\n};\nvar stagger = function stagger(time, animations) {\n return mockCompositeAnimation(animations);\n};\nvar loop = function loop(animation, // $FlowFixMe[prop-missing]\n_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations;\n return emptyAnimation;\n};\nexport default {\n Value: AnimatedValue,\n ValueXY: AnimatedValueXY,\n Color: AnimatedColor,\n Interpolation: AnimatedInterpolation,\n Node: AnimatedNode,\n decay,\n timing,\n spring,\n add: AnimatedImplementation.add,\n subtract: AnimatedImplementation.subtract,\n divide: AnimatedImplementation.divide,\n multiply: AnimatedImplementation.multiply,\n modulo: AnimatedImplementation.modulo,\n diffClamp: AnimatedImplementation.diffClamp,\n delay,\n sequence,\n parallel,\n stagger,\n loop,\n event: AnimatedImplementation.event,\n createAnimatedComponent,\n attachNativeEvent,\n forkEvent: AnimatedImplementation.forkEvent,\n unforkEvent: AnimatedImplementation.unforkEvent,\n Event: AnimatedEvent\n};","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport Platform from '../../../exports/Platform';\nimport FlatList from './components/AnimatedFlatList';\nimport Image from './components/AnimatedImage';\nimport ScrollView from './components/AnimatedScrollView';\nimport SectionList from './components/AnimatedSectionList';\nimport Text from './components/AnimatedText';\nimport View from './components/AnimatedView';\nimport AnimatedMock from './AnimatedMock';\nimport AnimatedImplementation from './AnimatedImplementation';\nvar Animated = Platform.isTesting ? AnimatedMock : AnimatedImplementation;\nexport default _objectSpread({\n FlatList,\n Image,\n ScrollView,\n SectionList,\n Text,\n View\n}, Animated);","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport Animated from '../../vendor/react-native/Animated/Animated';\nexport default Animated;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport canUseDOM from '../../modules/canUseDom';\nfunction getQuery() {\n return canUseDOM && window.matchMedia != null ? window.matchMedia('(prefers-color-scheme: dark)') : null;\n}\nvar query = getQuery();\nvar listenerMapping = new WeakMap();\nvar Appearance = {\n getColorScheme() {\n return query && query.matches ? 'dark' : 'light';\n },\n addChangeListener(listener) {\n var mappedListener = listenerMapping.get(listener);\n if (!mappedListener) {\n mappedListener = _ref => {\n var matches = _ref.matches;\n listener({\n colorScheme: matches ? 'dark' : 'light'\n });\n };\n listenerMapping.set(listener, mappedListener);\n }\n if (query) {\n query.addListener(mappedListener);\n }\n function remove() {\n var mappedListener = listenerMapping.get(listener);\n if (query && mappedListener) {\n query.removeListener(mappedListener);\n }\n listenerMapping.delete(listener);\n }\n return {\n remove\n };\n }\n};\nexport default Appearance;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar RootTagContext = /*#__PURE__*/React.createContext(null);\nvar AppContainer = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var children = props.children,\n WrapperComponent = props.WrapperComponent;\n var innerView = /*#__PURE__*/React.createElement(View, {\n children: children,\n key: 1,\n style: styles.appContainer\n });\n if (WrapperComponent) {\n innerView = /*#__PURE__*/React.createElement(WrapperComponent, null, innerView);\n }\n return /*#__PURE__*/React.createElement(RootTagContext.Provider, {\n value: props.rootTag\n }, /*#__PURE__*/React.createElement(View, {\n ref: forwardedRef,\n style: styles.appContainer\n }, innerView));\n});\nAppContainer.displayName = 'AppContainer';\nexport default AppContainer;\nvar styles = StyleSheet.create({\n appContainer: {\n flex: 1,\n pointerEvents: 'box-none'\n }\n});","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport invariant from 'fbjs/lib/invariant';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport renderApplication, { getApplication as _getApplication } from './renderApplication';\nvar emptyObject = {};\nvar runnables = {};\nvar componentProviderInstrumentationHook = component => component();\nvar wrapperComponentProvider;\n\n/**\n * `AppRegistry` is the JS entry point to running all React Native apps.\n */\nexport default class AppRegistry {\n static getAppKeys() {\n return Object.keys(runnables);\n }\n static getApplication(appKey, appParameters) {\n invariant(runnables[appKey] && runnables[appKey].getApplication, \"Application \" + appKey + \" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n return runnables[appKey].getApplication(appParameters);\n }\n static registerComponent(appKey, componentProvider) {\n runnables[appKey] = {\n getApplication: appParameters => _getApplication(componentProviderInstrumentationHook(componentProvider), appParameters ? appParameters.initialProps : emptyObject, wrapperComponentProvider && wrapperComponentProvider(appParameters)),\n run: appParameters => renderApplication(componentProviderInstrumentationHook(componentProvider), wrapperComponentProvider && wrapperComponentProvider(appParameters), appParameters.callback, {\n hydrate: appParameters.hydrate || false,\n initialProps: appParameters.initialProps || emptyObject,\n mode: appParameters.mode || 'concurrent',\n rootTag: appParameters.rootTag\n })\n };\n return appKey;\n }\n static registerConfig(config) {\n config.forEach(_ref => {\n var appKey = _ref.appKey,\n component = _ref.component,\n run = _ref.run;\n if (run) {\n AppRegistry.registerRunnable(appKey, run);\n } else {\n invariant(component, 'No component provider passed in');\n AppRegistry.registerComponent(appKey, component);\n }\n });\n }\n\n // TODO: fix style sheet creation when using this method\n static registerRunnable(appKey, run) {\n runnables[appKey] = {\n run\n };\n return appKey;\n }\n static runApplication(appKey, appParameters) {\n var isDevelopment = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';\n if (isDevelopment) {\n var params = _objectSpread({}, appParameters);\n params.rootTag = \"#\" + params.rootTag.id;\n console.log(\"Running application \\\"\" + appKey + \"\\\" with appParams:\\n\", params, \"\\nDevelopment-level warnings: \" + (isDevelopment ? 'ON' : 'OFF') + \".\" + (\"\\nPerformance optimizations: \" + (isDevelopment ? 'OFF' : 'ON') + \".\"));\n }\n invariant(runnables[appKey] && runnables[appKey].run, \"Application \\\"\" + appKey + \"\\\" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n return runnables[appKey].run(appParameters);\n }\n static setComponentProviderInstrumentationHook(hook) {\n componentProviderInstrumentationHook = hook;\n }\n static setWrapperComponentProvider(provider) {\n wrapperComponentProvider = provider;\n }\n static unmountApplicationComponentAtRootTag(rootTag) {\n unmountComponentAtNode(rootTag);\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport AppContainer from './AppContainer';\nimport invariant from 'fbjs/lib/invariant';\nimport renderLegacy, { hydrateLegacy, render, hydrate } from '../render';\nimport StyleSheet from '../StyleSheet';\nimport React from 'react';\nexport default function renderApplication(RootComponent, WrapperComponent, callback, options) {\n var shouldHydrate = options.hydrate,\n initialProps = options.initialProps,\n mode = options.mode,\n rootTag = options.rootTag;\n var renderFn = shouldHydrate ? mode === 'concurrent' ? hydrate : hydrateLegacy : mode === 'concurrent' ? render : renderLegacy;\n invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);\n return renderFn( /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n ref: callback,\n rootTag: rootTag\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps)), rootTag);\n}\nexport function getApplication(RootComponent, initialProps, WrapperComponent) {\n var element = /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n rootTag: {}\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps));\n // Don't escape CSS text\n var getStyleElement = props => {\n var sheet = StyleSheet.getSheet();\n return /*#__PURE__*/React.createElement(\"style\", _extends({}, props, {\n dangerouslySetInnerHTML: {\n __html: sheet.textContent\n },\n id: sheet.id\n }));\n };\n return {\n element,\n getStyleElement\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport invariant from 'fbjs/lib/invariant';\nimport EventEmitter from '../../vendor/react-native/vendor/emitter/EventEmitter';\nimport canUseDOM from '../../modules/canUseDom';\n\n// Android 4.4 browser\nvar isPrefixed = canUseDOM && !document.hasOwnProperty('hidden') && document.hasOwnProperty('webkitHidden');\nvar EVENT_TYPES = ['change', 'memoryWarning'];\nvar VISIBILITY_CHANGE_EVENT = isPrefixed ? 'webkitvisibilitychange' : 'visibilitychange';\nvar VISIBILITY_STATE_PROPERTY = isPrefixed ? 'webkitVisibilityState' : 'visibilityState';\nvar AppStates = {\n BACKGROUND: 'background',\n ACTIVE: 'active'\n};\nvar changeEmitter = null;\nexport default class AppState {\n static get currentState() {\n if (!AppState.isAvailable) {\n return AppStates.ACTIVE;\n }\n switch (document[VISIBILITY_STATE_PROPERTY]) {\n case 'hidden':\n case 'prerender':\n case 'unloaded':\n return AppStates.BACKGROUND;\n default:\n return AppStates.ACTIVE;\n }\n }\n static addEventListener(type, handler) {\n if (AppState.isAvailable) {\n invariant(EVENT_TYPES.indexOf(type) !== -1, 'Trying to subscribe to unknown event: \"%s\"', type);\n if (type === 'change') {\n if (!changeEmitter) {\n changeEmitter = new EventEmitter();\n document.addEventListener(VISIBILITY_CHANGE_EVENT, () => {\n if (changeEmitter) {\n changeEmitter.emit('change', AppState.currentState);\n }\n }, false);\n }\n return changeEmitter.addListener(type, handler);\n }\n }\n }\n}\nAppState.isAvailable = canUseDOM && document[VISIBILITY_STATE_PROPERTY];","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction emptyFunction() {}\nvar BackHandler = {\n exitApp: emptyFunction,\n addEventListener() {\n console.error('BackHandler is not supported on web and should not be used.');\n return {\n remove: emptyFunction\n };\n },\n removeEventListener: emptyFunction\n};\nexport default BackHandler;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar clipboardAvailable;\nexport default class Clipboard {\n static isAvailable() {\n if (clipboardAvailable === undefined) {\n clipboardAvailable = typeof document.queryCommandSupported === 'function' && document.queryCommandSupported('copy');\n }\n return clipboardAvailable;\n }\n static getString() {\n return Promise.resolve('');\n }\n static setString(text) {\n var success = false;\n var body = document.body;\n if (body) {\n // add the text to a hidden node\n var node = document.createElement('span');\n node.textContent = text;\n node.style.opacity = '0';\n node.style.position = 'absolute';\n node.style.whiteSpace = 'pre-wrap';\n node.style.userSelect = 'auto';\n body.appendChild(node);\n\n // select the text\n var selection = window.getSelection();\n selection.removeAllRanges();\n var range = document.createRange();\n range.selectNodeContents(node);\n selection.addRange(range);\n\n // attempt to copy\n try {\n document.execCommand('copy');\n success = true;\n } catch (e) {}\n\n // remove selection and node\n selection.removeAllRanges();\n body.removeChild(node);\n }\n return success;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport dismissKeyboard from '../../modules/dismissKeyboard';\n\n// in the future we can use https://github.com/w3c/virtual-keyboard\nvar Keyboard = {\n isVisible() {\n return false;\n },\n addListener() {\n return {\n remove: () => {}\n };\n },\n dismiss() {\n dismissKeyboard();\n },\n removeAllListeners() {},\n removeListener() {}\n};\nexport default Keyboard;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport UIManager from '../../../exports/UIManager';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nfunction configureNext(config, onAnimationDidEnd) {\n if (!Platform.isTesting) {\n UIManager.configureNextLayoutAnimation(config, onAnimationDidEnd !== null && onAnimationDidEnd !== void 0 ? onAnimationDidEnd : function () {}, function () {} /* unused onError */);\n }\n}\n\nfunction create(duration, type, property) {\n return {\n duration,\n create: {\n type,\n property\n },\n update: {\n type\n },\n delete: {\n type,\n property\n }\n };\n}\nvar Presets = {\n easeInEaseOut: create(300, 'easeInEaseOut', 'opacity'),\n linear: create(500, 'linear', 'opacity'),\n spring: {\n duration: 700,\n create: {\n type: 'linear',\n property: 'opacity'\n },\n update: {\n type: 'spring',\n springDamping: 0.4\n },\n delete: {\n type: 'linear',\n property: 'opacity'\n }\n }\n};\n\n/**\n * Automatically animates views to their new positions when the\n * next layout happens.\n *\n * A common way to use this API is to call it before calling `setState`.\n *\n * Note that in order to get this to work on **Android** you need to set the following flags via `UIManager`:\n *\n * UIManager.setLayoutAnimationEnabledExperimental && UIManager.setLayoutAnimationEnabledExperimental(true);\n */\nvar LayoutAnimation = {\n /**\n * Schedules an animation to happen on the next layout.\n *\n * @param config Specifies animation properties:\n *\n * - `duration` in milliseconds\n * - `create`, `AnimationConfig` for animating in new views\n * - `update`, `AnimationConfig` for animating views that have been updated\n *\n * @param onAnimationDidEnd Called when the animation finished.\n * Only supported on iOS.\n * @param onError Called on error. Only supported on iOS.\n */\n configureNext,\n /**\n * Helper for creating a config for `configureNext`.\n */\n create,\n Types: Object.freeze({\n spring: 'spring',\n linear: 'linear',\n easeInEaseOut: 'easeInEaseOut',\n easeIn: 'easeIn',\n easeOut: 'easeOut',\n keyboard: 'keyboard'\n }),\n Properties: Object.freeze({\n opacity: 'opacity',\n scaleX: 'scaleX',\n scaleY: 'scaleY',\n scaleXY: 'scaleXY'\n }),\n checkConfig() {\n console.error('LayoutAnimation.checkConfig(...) has been disabled.');\n },\n Presets,\n easeInEaseOut: configureNext.bind(null, Presets.easeInEaseOut),\n linear: configureNext.bind(null, Presets.linear),\n spring: configureNext.bind(null, Presets.spring)\n};\nexport default LayoutAnimation;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport LayoutAnimation from '../../vendor/react-native/LayoutAnimation';\nexport default LayoutAnimation;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar initialURL = canUseDOM ? window.location.href : '';\nclass Linking {\n constructor() {\n this._eventCallbacks = {};\n }\n /**\n * An object mapping of event name\n * and all the callbacks subscribing to it\n */\n _dispatchEvent(event) {\n for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n data[_key - 1] = arguments[_key];\n }\n var listeners = this._eventCallbacks[event];\n if (listeners != null && Array.isArray(listeners)) {\n listeners.map(listener => {\n listener(...data);\n });\n }\n }\n\n /**\n * Adds a event listener for the specified event. The callback will be called when the\n * said event is dispatched.\n */\n addEventListener(eventType, callback) {\n var _this = this;\n if (!_this._eventCallbacks[eventType]) {\n _this._eventCallbacks[eventType] = [callback];\n }\n _this._eventCallbacks[eventType].push(callback);\n return {\n remove() {\n var callbacks = _this._eventCallbacks[eventType];\n var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());\n _this._eventCallbacks[eventType] = filteredCallbacks;\n }\n };\n }\n\n /**\n * Removes a previously added event listener for the specified event. The callback must\n * be the same object as the one passed to `addEventListener`.\n */\n removeEventListener(eventType, callback) {\n console.error(\"Linking.removeEventListener('\" + eventType + \"', ...): Method has been \" + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `Linking.addEventListener`.');\n var callbacks = this._eventCallbacks[eventType];\n var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());\n this._eventCallbacks[eventType] = filteredCallbacks;\n }\n canOpenURL() {\n return Promise.resolve(true);\n }\n getInitialURL() {\n return Promise.resolve(initialURL);\n }\n\n /**\n * Try to open the given url in a secure fashion. The method returns a Promise object.\n * If a target is passed (including undefined) that target will be used, otherwise '_blank'.\n * If the url opens, the promise is resolved. If not, the promise is rejected.\n * Dispatches the `onOpen` event if `url` is opened successfully.\n */\n openURL(url, target) {\n if (arguments.length === 1) {\n target = '_blank';\n }\n try {\n open(url, target);\n this._dispatchEvent('onOpen', url);\n return Promise.resolve();\n } catch (e) {\n return Promise.reject(e);\n }\n }\n _validateURL(url) {\n invariant(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);\n invariant(url, 'Invalid URL: cannot be empty');\n }\n}\nvar open = (url, target) => {\n if (canUseDOM) {\n var urlToOpen = new URL(url, window.location).toString();\n if (urlToOpen.indexOf('tel:') === 0) {\n window.location = urlToOpen;\n } else {\n window.open(urlToOpen, target, 'noopener');\n }\n }\n};\nexport default new Linking();","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport NativeEventEmitter from '../../vendor/react-native/EventEmitter/NativeEventEmitter';\nexport default NativeEventEmitter;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n */\n\nvar TouchHistoryMath = {\n /**\n * This code is optimized and not intended to look beautiful. This allows\n * computing of touch centroids that have moved after `touchesChangedAfter`\n * timeStamp. You can compute the current centroid involving all touches\n * moves after `touchesChangedAfter`, or you can compute the previous\n * centroid of all touches that were moved after `touchesChangedAfter`.\n *\n * @param {TouchHistoryMath} touchHistory Standard Responder touch track\n * data.\n * @param {number} touchesChangedAfter timeStamp after which moved touches\n * are considered \"actively moving\" - not just \"active\".\n * @param {boolean} isXAxis Consider `x` dimension vs. `y` dimension.\n * @param {boolean} ofCurrent Compute current centroid for actively moving\n * touches vs. previous centroid of now actively moving touches.\n * @return {number} value of centroid in specified dimension.\n */\n centroidDimension: function centroidDimension(touchHistory, touchesChangedAfter, isXAxis, ofCurrent) {\n var touchBank = touchHistory.touchBank;\n var total = 0;\n var count = 0;\n var oneTouchData = touchHistory.numberActiveTouches === 1 ? touchHistory.touchBank[touchHistory.indexOfSingleActiveTouch] : null;\n if (oneTouchData !== null) {\n if (oneTouchData.touchActive && oneTouchData.currentTimeStamp > touchesChangedAfter) {\n total += ofCurrent && isXAxis ? oneTouchData.currentPageX : ofCurrent && !isXAxis ? oneTouchData.currentPageY : !ofCurrent && isXAxis ? oneTouchData.previousPageX : oneTouchData.previousPageY;\n count = 1;\n }\n } else {\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrack = touchBank[i];\n if (touchTrack !== null && touchTrack !== undefined && touchTrack.touchActive && touchTrack.currentTimeStamp >= touchesChangedAfter) {\n var toAdd = void 0; // Yuck, program temporarily in invalid state.\n if (ofCurrent && isXAxis) {\n toAdd = touchTrack.currentPageX;\n } else if (ofCurrent && !isXAxis) {\n toAdd = touchTrack.currentPageY;\n } else if (!ofCurrent && isXAxis) {\n toAdd = touchTrack.previousPageX;\n } else {\n toAdd = touchTrack.previousPageY;\n }\n total += toAdd;\n count++;\n }\n }\n }\n return count > 0 ? total / count : TouchHistoryMath.noCentroid;\n },\n currentCentroidXOfTouchesChangedAfter: function currentCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true,\n // isXAxis\n true // ofCurrent\n );\n },\n\n currentCentroidYOfTouchesChangedAfter: function currentCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false,\n // isXAxis\n true // ofCurrent\n );\n },\n\n previousCentroidXOfTouchesChangedAfter: function previousCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true,\n // isXAxis\n false // ofCurrent\n );\n },\n\n previousCentroidYOfTouchesChangedAfter: function previousCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false,\n // isXAxis\n false // ofCurrent\n );\n },\n\n currentCentroidX: function currentCentroidX(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0,\n // touchesChangedAfter\n true,\n // isXAxis\n true // ofCurrent\n );\n },\n\n currentCentroidY: function currentCentroidY(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0,\n // touchesChangedAfter\n false,\n // isXAxis\n true // ofCurrent\n );\n },\n\n noCentroid: -1\n};\nexport default TouchHistoryMath;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\nimport TouchHistoryMath from '../TouchHistoryMath';\nvar currentCentroidXOfTouchesChangedAfter = TouchHistoryMath.currentCentroidXOfTouchesChangedAfter;\nvar currentCentroidYOfTouchesChangedAfter = TouchHistoryMath.currentCentroidYOfTouchesChangedAfter;\nvar previousCentroidXOfTouchesChangedAfter = TouchHistoryMath.previousCentroidXOfTouchesChangedAfter;\nvar previousCentroidYOfTouchesChangedAfter = TouchHistoryMath.previousCentroidYOfTouchesChangedAfter;\nvar currentCentroidX = TouchHistoryMath.currentCentroidX;\nvar currentCentroidY = TouchHistoryMath.currentCentroidY;\n\n/**\n * `PanResponder` reconciles several touches into a single gesture. It makes\n * single-touch gestures resilient to extra touches, and can be used to\n * recognize simple multi-touch gestures.\n *\n * By default, `PanResponder` holds an `InteractionManager` handle to block\n * long-running JS events from interrupting active gestures.\n *\n * It provides a predictable wrapper of the responder handlers provided by the\n * [gesture responder system](docs/gesture-responder-system.html).\n * For each handler, it provides a new `gestureState` object alongside the\n * native event object:\n *\n * ```\n * onPanResponderMove: (event, gestureState) => {}\n * ```\n *\n * A native event is a synthetic touch event with the following form:\n *\n * - `nativeEvent`\n * + `changedTouches` - Array of all touch events that have changed since the last event\n * + `identifier` - The ID of the touch\n * + `locationX` - The X position of the touch, relative to the element\n * + `locationY` - The Y position of the touch, relative to the element\n * + `pageX` - The X position of the touch, relative to the root element\n * + `pageY` - The Y position of the touch, relative to the root element\n * + `target` - The node id of the element receiving the touch event\n * + `timestamp` - A time identifier for the touch, useful for velocity calculation\n * + `touches` - Array of all current touches on the screen\n *\n * A `gestureState` object has the following:\n *\n * - `stateID` - ID of the gestureState- persisted as long as there at least\n * one touch on screen\n * - `moveX` - the latest screen coordinates of the recently-moved touch\n * - `moveY` - the latest screen coordinates of the recently-moved touch\n * - `x0` - the screen coordinates of the responder grant\n * - `y0` - the screen coordinates of the responder grant\n * - `dx` - accumulated distance of the gesture since the touch started\n * - `dy` - accumulated distance of the gesture since the touch started\n * - `vx` - current velocity of the gesture\n * - `vy` - current velocity of the gesture\n * - `numberActiveTouches` - Number of touches currently on screen\n *\n * ### Basic Usage\n *\n * ```\n * componentWillMount: function() {\n * this._panResponder = PanResponder.create({\n * // Ask to be the responder:\n * onStartShouldSetPanResponder: (evt, gestureState) => true,\n * onStartShouldSetPanResponderCapture: (evt, gestureState) => true,\n * onMoveShouldSetPanResponder: (evt, gestureState) => true,\n * onMoveShouldSetPanResponderCapture: (evt, gestureState) => true,\n *\n * onPanResponderGrant: (evt, gestureState) => {\n * // The gesture has started. Show visual feedback so the user knows\n * // what is happening!\n *\n * // gestureState.d{x,y} will be set to zero now\n * },\n * onPanResponderMove: (evt, gestureState) => {\n * // The most recent move distance is gestureState.move{X,Y}\n *\n * // The accumulated gesture distance since becoming responder is\n * // gestureState.d{x,y}\n * },\n * onPanResponderTerminationRequest: (evt, gestureState) => true,\n * onPanResponderRelease: (evt, gestureState) => {\n * // The user has released all touches while this view is the\n * // responder. This typically means a gesture has succeeded\n * },\n * onPanResponderTerminate: (evt, gestureState) => {\n * // Another component has become the responder, so this gesture\n * // should be cancelled\n * },\n * onShouldBlockNativeResponder: (evt, gestureState) => {\n * // Returns whether this component should block native components from becoming the JS\n * // responder. Returns true by default. Is currently only supported on android.\n * return true;\n * },\n * });\n * },\n *\n * render: function() {\n * return (\n * \n * );\n * },\n *\n * ```\n *\n * ### Working Example\n *\n * To see it in action, try the\n * [PanResponder example in RNTester](https://github.com/facebook/react-native/blob/master/RNTester/js/PanResponderExample.js)\n */\n\nvar PanResponder = {\n /**\n *\n * A graphical explanation of the touch data flow:\n *\n * +----------------------------+ +--------------------------------+\n * | ResponderTouchHistoryStore | |TouchHistoryMath |\n * +----------------------------+ +----------+---------------------+\n * |Global store of touchHistory| |Allocation-less math util |\n * |including activeness, start | |on touch history (centroids |\n * |position, prev/cur position.| |and multitouch movement etc) |\n * | | | |\n * +----^-----------------------+ +----^---------------------------+\n * | |\n * | (records relevant history |\n * | of touches relevant for |\n * | implementing higher level |\n * | gestures) |\n * | |\n * +----+-----------------------+ +----|---------------------------+\n * | ResponderEventPlugin | | | Your App/Component |\n * +----------------------------+ +----|---------------------------+\n * |Negotiates which view gets | Low level | | High level |\n * |onResponderMove events. | events w/ | +-+-------+ events w/ |\n * |Also records history into | touchHistory| | Pan | multitouch + |\n * |ResponderTouchHistoryStore. +---------------->Responder+-----> accumulative|\n * +----------------------------+ attached to | | | distance and |\n * each event | +---------+ velocity. |\n * | |\n * | |\n * +--------------------------------+\n *\n *\n *\n * Gesture that calculates cumulative movement over time in a way that just\n * \"does the right thing\" for multiple touches. The \"right thing\" is very\n * nuanced. When moving two touches in opposite directions, the cumulative\n * distance is zero in each dimension. When two touches move in parallel five\n * pixels in the same direction, the cumulative distance is five, not ten. If\n * two touches start, one moves five in a direction, then stops and the other\n * touch moves fives in the same direction, the cumulative distance is ten.\n *\n * This logic requires a kind of processing of time \"clusters\" of touch events\n * so that two touch moves that essentially occur in parallel but move every\n * other frame respectively, are considered part of the same movement.\n *\n * Explanation of some of the non-obvious fields:\n *\n * - moveX/moveY: If no move event has been observed, then `(moveX, moveY)` is\n * invalid. If a move event has been observed, `(moveX, moveY)` is the\n * centroid of the most recently moved \"cluster\" of active touches.\n * (Currently all move have the same timeStamp, but later we should add some\n * threshold for what is considered to be \"moving\"). If a palm is\n * accidentally counted as a touch, but a finger is moving greatly, the palm\n * will move slightly, but we only want to count the single moving touch.\n * - x0/y0: Centroid location (non-cumulative) at the time of becoming\n * responder.\n * - dx/dy: Cumulative touch distance - not the same thing as sum of each touch\n * distance. Accounts for touch moves that are clustered together in time,\n * moving the same direction. Only valid when currently responder (otherwise,\n * it only represents the drag distance below the threshold).\n * - vx/vy: Velocity.\n */\n\n _initializeGestureState(gestureState) {\n gestureState.moveX = 0;\n gestureState.moveY = 0;\n gestureState.x0 = 0;\n gestureState.y0 = 0;\n gestureState.dx = 0;\n gestureState.dy = 0;\n gestureState.vx = 0;\n gestureState.vy = 0;\n gestureState.numberActiveTouches = 0;\n // All `gestureState` accounts for timeStamps up until:\n gestureState._accountsForMovesUpTo = 0;\n },\n /**\n * This is nuanced and is necessary. It is incorrect to continuously take all\n * active *and* recently moved touches, find the centroid, and track how that\n * result changes over time. Instead, we must take all recently moved\n * touches, and calculate how the centroid has changed just for those\n * recently moved touches, and append that change to an accumulator. This is\n * to (at least) handle the case where the user is moving three fingers, and\n * then one of the fingers stops but the other two continue.\n *\n * This is very different than taking all of the recently moved touches and\n * storing their centroid as `dx/dy`. For correctness, we must *accumulate\n * changes* in the centroid of recently moved touches.\n *\n * There is also some nuance with how we handle multiple moved touches in a\n * single event. With the way `ReactNativeEventEmitter` dispatches touches as\n * individual events, multiple touches generate two 'move' events, each of\n * them triggering `onResponderMove`. But with the way `PanResponder` works,\n * all of the gesture inference is performed on the first dispatch, since it\n * looks at all of the touches (even the ones for which there hasn't been a\n * native dispatch yet). Therefore, `PanResponder` does not call\n * `onResponderMove` passed the first dispatch. This diverges from the\n * typical responder callback pattern (without using `PanResponder`), but\n * avoids more dispatches than necessary.\n */\n _updateGestureStateOnMove(gestureState, touchHistory) {\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n gestureState.moveX = currentCentroidXOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n gestureState.moveY = currentCentroidYOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n var movedAfter = gestureState._accountsForMovesUpTo;\n var prevX = previousCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var x = currentCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var prevY = previousCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var y = currentCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var nextDX = gestureState.dx + (x - prevX);\n var nextDY = gestureState.dy + (y - prevY);\n\n // TODO: This must be filtered intelligently.\n var dt = touchHistory.mostRecentTimeStamp - gestureState._accountsForMovesUpTo;\n gestureState.vx = (nextDX - gestureState.dx) / dt;\n gestureState.vy = (nextDY - gestureState.dy) / dt;\n gestureState.dx = nextDX;\n gestureState.dy = nextDY;\n gestureState._accountsForMovesUpTo = touchHistory.mostRecentTimeStamp;\n },\n /**\n * @param {object} config Enhanced versions of all of the responder callbacks\n * that provide not only the typical `ResponderSyntheticEvent`, but also the\n * `PanResponder` gesture state. Simply replace the word `Responder` with\n * `PanResponder` in each of the typical `onResponder*` callbacks. For\n * example, the `config` object would look like:\n *\n * - `onMoveShouldSetPanResponder: (e, gestureState) => {...}`\n * - `onMoveShouldSetPanResponderCapture: (e, gestureState) => {...}`\n * - `onStartShouldSetPanResponder: (e, gestureState) => {...}`\n * - `onStartShouldSetPanResponderCapture: (e, gestureState) => {...}`\n * - `onPanResponderReject: (e, gestureState) => {...}`\n * - `onPanResponderGrant: (e, gestureState) => {...}`\n * - `onPanResponderStart: (e, gestureState) => {...}`\n * - `onPanResponderEnd: (e, gestureState) => {...}`\n * - `onPanResponderRelease: (e, gestureState) => {...}`\n * - `onPanResponderMove: (e, gestureState) => {...}`\n * - `onPanResponderTerminate: (e, gestureState) => {...}`\n * - `onPanResponderTerminationRequest: (e, gestureState) => {...}`\n * - `onShouldBlockNativeResponder: (e, gestureState) => {...}`\n *\n * In general, for events that have capture equivalents, we update the\n * gestureState once in the capture phase and can use it in the bubble phase\n * as well.\n *\n * Be careful with onStartShould* callbacks. They only reflect updated\n * `gestureState` for start/end events that bubble/capture to the Node.\n * Once the node is the responder, you can rely on every start/end event\n * being processed by the gesture and `gestureState` being updated\n * accordingly. (numberActiveTouches) may not be totally accurate unless you\n * are the responder.\n */\n create(config) {\n var interactionState = {\n handle: null,\n shouldCancelClick: false,\n timeout: null\n };\n var gestureState = {\n // Useful for debugging\n stateID: Math.random(),\n moveX: 0,\n moveY: 0,\n x0: 0,\n y0: 0,\n dx: 0,\n dy: 0,\n vx: 0,\n vy: 0,\n numberActiveTouches: 0,\n _accountsForMovesUpTo: 0\n };\n var panHandlers = {\n onStartShouldSetResponder(event) {\n return config.onStartShouldSetPanResponder == null ? false : config.onStartShouldSetPanResponder(event, gestureState);\n },\n onMoveShouldSetResponder(event) {\n return config.onMoveShouldSetPanResponder == null ? false : config.onMoveShouldSetPanResponder(event, gestureState);\n },\n onStartShouldSetResponderCapture(event) {\n // TODO: Actually, we should reinitialize the state any time\n // touches.length increases from 0 active to > 0 active.\n if (event.nativeEvent.touches.length === 1) {\n PanResponder._initializeGestureState(gestureState);\n }\n gestureState.numberActiveTouches = event.touchHistory.numberActiveTouches;\n return config.onStartShouldSetPanResponderCapture != null ? config.onStartShouldSetPanResponderCapture(event, gestureState) : false;\n },\n onMoveShouldSetResponderCapture(event) {\n var touchHistory = event.touchHistory;\n // Responder system incorrectly dispatches should* to current responder\n // Filter out any touch moves past the first one - we would have\n // already processed multi-touch geometry during the first event.\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return false;\n }\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n return config.onMoveShouldSetPanResponderCapture ? config.onMoveShouldSetPanResponderCapture(event, gestureState) : false;\n },\n onResponderGrant(event) {\n if (!interactionState.handle) {\n interactionState.handle = InteractionManager.createInteractionHandle();\n }\n if (interactionState.timeout) {\n clearInteractionTimeout(interactionState);\n }\n interactionState.shouldCancelClick = true;\n gestureState.x0 = currentCentroidX(event.touchHistory);\n gestureState.y0 = currentCentroidY(event.touchHistory);\n gestureState.dx = 0;\n gestureState.dy = 0;\n if (config.onPanResponderGrant) {\n config.onPanResponderGrant(event, gestureState);\n }\n // TODO: t7467124 investigate if this can be removed\n return config.onShouldBlockNativeResponder == null ? true : config.onShouldBlockNativeResponder(event, gestureState);\n },\n onResponderReject(event) {\n clearInteractionHandle(interactionState, config.onPanResponderReject, event, gestureState);\n },\n onResponderRelease(event) {\n clearInteractionHandle(interactionState, config.onPanResponderRelease, event, gestureState);\n setInteractionTimeout(interactionState);\n PanResponder._initializeGestureState(gestureState);\n },\n onResponderStart(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n if (config.onPanResponderStart) {\n config.onPanResponderStart(event, gestureState);\n }\n },\n onResponderMove(event) {\n var touchHistory = event.touchHistory;\n // Guard against the dispatch of two touch moves when there are two\n // simultaneously changed touches.\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return;\n }\n // Filter out any touch moves past the first one - we would have\n // already processed multi-touch geometry during the first event.\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n if (config.onPanResponderMove) {\n config.onPanResponderMove(event, gestureState);\n }\n },\n onResponderEnd(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n clearInteractionHandle(interactionState, config.onPanResponderEnd, event, gestureState);\n },\n onResponderTerminate(event) {\n clearInteractionHandle(interactionState, config.onPanResponderTerminate, event, gestureState);\n setInteractionTimeout(interactionState);\n PanResponder._initializeGestureState(gestureState);\n },\n onResponderTerminationRequest(event) {\n return config.onPanResponderTerminationRequest == null ? true : config.onPanResponderTerminationRequest(event, gestureState);\n },\n // We do not want to trigger 'click' activated gestures or native behaviors\n // on any pan target that is under a mouse cursor when it is released.\n // Browsers will natively cancel 'click' events on a target if a non-mouse\n // active pointer moves.\n onClickCapture: event => {\n if (interactionState.shouldCancelClick === true) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n };\n return {\n panHandlers,\n getInteractionHandle() {\n return interactionState.handle;\n }\n };\n }\n};\nfunction clearInteractionHandle(interactionState, callback, event, gestureState) {\n if (interactionState.handle) {\n InteractionManager.clearInteractionHandle(interactionState.handle);\n interactionState.handle = null;\n }\n if (callback) {\n callback(event, gestureState);\n }\n}\nfunction clearInteractionTimeout(interactionState) {\n clearTimeout(interactionState.timeout);\n}\nfunction setInteractionTimeout(interactionState) {\n interactionState.timeout = setTimeout(() => {\n interactionState.shouldCancelClick = false;\n }, 250);\n}\nexport default PanResponder;","import PanResponder from '../../vendor/react-native/PanResponder';\nexport default PanResponder;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport invariant from 'fbjs/lib/invariant';\nclass Share {\n static share(content, options) {\n if (options === void 0) {\n options = {};\n }\n invariant(typeof content === 'object' && content !== null, 'Content to share must be a valid object');\n invariant(typeof content.url === 'string' || typeof content.message === 'string', 'At least one of URL and message is required');\n invariant(typeof options === 'object' && options !== null, 'Options must be a valid object');\n invariant(!content.title || typeof content.title === 'string', 'Invalid title: title should be a string.');\n if (window.navigator.share !== undefined) {\n return window.navigator.share({\n title: content.title,\n text: content.message,\n url: content.url\n });\n } else {\n return Promise.reject(new Error('Share is not supported in this browser'));\n }\n }\n\n /**\n * The content was successfully shared.\n */\n static get sharedAction() {\n return 'sharedAction';\n }\n\n /**\n * The dialog has been dismissed.\n * @platform ios\n */\n static get dismissedAction() {\n return 'dismissedAction';\n }\n}\nexport default Share;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar vibrate = pattern => {\n if ('vibrate' in window.navigator) {\n window.navigator.vibrate(pattern);\n }\n};\nvar Vibration = {\n cancel() {\n vibrate(0);\n },\n vibrate(pattern) {\n if (pattern === void 0) {\n pattern = 400;\n }\n vibrate(pattern);\n }\n};\nexport default Vibration;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animating\", \"color\", \"hidesWhenStopped\", \"size\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar createSvgCircle = style => /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"16\",\n cy: \"16\",\n fill: \"none\",\n r: \"14\",\n strokeWidth: \"4\",\n style: style\n});\nvar ActivityIndicator = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$animating = props.animating,\n animating = _props$animating === void 0 ? true : _props$animating,\n _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$hidesWhenStopp = props.hidesWhenStopped,\n hidesWhenStopped = _props$hidesWhenStopp === void 0 ? true : _props$hidesWhenStopp,\n _props$size = props.size,\n size = _props$size === void 0 ? 'small' : _props$size,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var svg = /*#__PURE__*/React.createElement(\"svg\", {\n height: \"100%\",\n viewBox: \"0 0 32 32\",\n width: \"100%\"\n }, createSvgCircle({\n stroke: color,\n opacity: 0.2\n }), createSvgCircle({\n stroke: color,\n strokeDasharray: 80,\n strokeDashoffset: 60\n }));\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-valuemax\": 1,\n \"aria-valuemin\": 0,\n ref: forwardedRef,\n role: \"progressbar\",\n style: [styles.container, style]\n }), /*#__PURE__*/React.createElement(View, {\n children: svg,\n style: [typeof size === 'number' ? {\n height: size,\n width: size\n } : indicatorSizes[size], styles.animation, !animating && styles.animationPause, !animating && hidesWhenStopped && styles.hidesWhenStopped]\n }));\n});\nActivityIndicator.displayName = 'ActivityIndicator';\nvar styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n hidesWhenStopped: {\n visibility: 'hidden'\n },\n animation: {\n animationDuration: '0.75s',\n animationKeyframes: [{\n '0%': {\n transform: 'rotate(0deg)'\n },\n '100%': {\n transform: 'rotate(360deg)'\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n },\n animationPause: {\n animationPlayState: 'paused'\n }\n});\nvar indicatorSizes = StyleSheet.create({\n small: {\n width: 20,\n height: 20\n },\n large: {\n width: 36,\n height: 36\n }\n});\nexport default ActivityIndicator;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\nvar getElementRole = element => element.getAttribute('role');\nvar getElementType = element => element.tagName.toLowerCase();\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isButtonRole = element => getElementRole(element) === 'button';\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var isSpacebar = key === ' ' || key === 'Spacebar';\n var isButtonish = getElementType(target) === 'button' || isButtonRole(target);\n return key === 'Enter' || isSpacebar && isButtonish;\n};\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\nvar DEFAULT_PRESS_DELAY_MS = 50;\n\n/**\n * =========================== PressResponder Tutorial ===========================\n *\n * The `PressResponder` class helps you create press interactions by analyzing the\n * geometry of elements and observing when another responder (e.g. ScrollView)\n * has stolen the touch lock. It offers hooks for your component to provide\n * interaction feedback to the user:\n *\n * - When a press has activated (e.g. highlight an element)\n * - When a press has deactivated (e.g. un-highlight an element)\n * - When a press sould trigger an action, meaning it activated and deactivated\n * while within the geometry of the element without the lock being stolen.\n *\n * A high quality interaction isn't as simple as you might think. There should\n * be a slight delay before activation. Moving your finger beyond an element's\n * bounds should trigger deactivation, but moving the same finger back within an\n * element's bounds should trigger reactivation.\n *\n * In order to use `PressResponder`, do the following:\n *\n * const pressResponder = new PressResponder(config);\n *\n * 2. Choose the rendered component who should collect the press events. On that\n * element, spread `pressability.getEventHandlers()` into its props.\n *\n * return (\n * \n * );\n *\n * 3. Reset `PressResponder` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressResponder.reset();\n * }\n *\n * ==================== Implementation Details ====================\n *\n * `PressResponder` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * # Geometry\n *\n * ┌────────────────────────┐\n * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`.\n * │ │ ┌────────────┐ │ │\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates.\n * │ └──────────────────┘ │\n * │ Out Region o │\n * └────────────────────│───┘\n * └────── When the press is released outside the `HitRect`,\n * the responder is NOT eligible for a \"press\".\n *\n * # State Machine\n *\n * ┌───────────────┐ ◀──── RESPONDER_RELEASE\n * │ NOT_RESPONDER │\n * └───┬───────────┘ ◀──── RESPONDER_TERMINATED\n * │\n * │ RESPONDER_GRANT (HitRect)\n * │\n * ▼\n * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │\n * │ PRESS_START ├────────▶ │ PRESS_START ├────────────▶ │ LONG_PRESS_START │\n * └─────────────────────┘ └───────────────────┘ └───────────────────┘\n *\n * T + DELAY => LONG_PRESS_DELAY + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the invocation of `onLongPress`. Only when the browser produces a\n * `click` event is `onPress` invoked.\n */\nexport default class PressResponder {\n constructor(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this._responderElement = null;\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset() {\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\n\n /**\n * Returns a set of props to spread into the interactive element.\n */\n getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n return this._eventHandlers;\n }\n _createEventHandlers() {\n var start = (event, shouldDelay) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n this._receiveSignal(RESPONDER_GRANT, event);\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n if (shouldDelay !== false && delayPressStart > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n this._receiveSignal(DELAY, event);\n }\n var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\n if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = getElementType(target);\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n var isActiveElement = this._responderElement === target;\n if (onPress != null && !isNativeInteractiveElement && isActiveElement) {\n onPress(event);\n }\n this._responderElement = null;\n }\n };\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false);\n this._responderElement = target;\n // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n document.addEventListener('keyup', keyupHandler);\n }\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n var role = getElementRole(target);\n var isButtonLikeRole = role === 'button' || role === 'menuitem';\n if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== 'button') {\n // Prevent spacebar scrolling the window if using non-native button\n event.preventDefault();\n }\n event.stopPropagation();\n }\n },\n onResponderGrant: event => start(event),\n onResponderMove: event => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n var touch = getTouchFromResponderEvent(event);\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: event => end(event),\n onResponderTerminate: event => {\n if (event.nativeEvent.type === 'selectionchange') {\n this._selectionTerminated = true;\n }\n this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: event => {\n var _this$_config = this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress;\n // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n if (cancelable == null) {\n return true;\n }\n return cancelable;\n },\n // NOTE: this diverges from react-native in 3 significant ways:\n // * The `onPress` callback is not connected to the responder system (the native\n // `click` event must be used but is dispatched in many scenarios where no pointers\n // are on the screen.) Therefore, it's possible for `onPress` to be called without\n // `onPress{Start,End}` being called first.\n // * The `onPress` callback is only be called on the first ancestor of the native\n // `click` target that is using the PressResponder.\n // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.\n onClick: event => {\n var _this$_config2 = this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n if (!disabled) {\n // If long press dispatched, cancel default click behavior.\n // If the responder terminated because text was selected during the gesture,\n // cancel the default click behavior.\n event.stopPropagation();\n if (this._longPressDispatched || this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n // If `onLongPress` is provided and a touch pointer is being used, prevent the\n // default context menu from opening.\n onContextMenu: event => {\n var _this$_config3 = this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n if (!disabled) {\n if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n }\n };\n }\n\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\n }\n\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n // Pressable suppression of contextmenu on windows.\n // On Windows, the contextmenu is displayed after pointerup.\n // https://github.com/necolas/react-native-web/issues/2296\n setTimeout(() => {\n this._isPointerTouch = false;\n }, 0);\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n this._deactivate(event);\n }\n }\n }\n }\n this._cancelPressDelayTimeout();\n }\n _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n if (onPressStart != null) {\n onPressStart(event);\n }\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n }\n _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\n }\n }\n _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n}\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n if (fallback === void 0) {\n fallback = 0;\n }\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n return event.nativeEvent;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport PressResponder from './PressResponder';\nimport { useDebugValue, useEffect, useRef } from 'react';\nexport default function usePressEvents(hostRef, config) {\n var pressResponderRef = useRef(null);\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new PressResponder(config);\n }\n var pressResponder = pressResponderRef.current;\n\n // Re-configure to use the current node and configuration.\n useEffect(() => {\n pressResponder.configure(config);\n }, [config, pressResponder]);\n\n // Reset the `pressResponder` when cleanup needs to occur. This is\n // a separate effect because we do not want to rest the responder when `config` changes.\n useEffect(() => {\n return () => {\n pressResponder.reset();\n };\n }, [pressResponder]);\n useDebugValue(config);\n return pressResponder.getEventHandlers();\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"rejectResponderTermination\", \"style\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, dimming it.\n */\nfunction TouchableOpacity(props, forwardedRef) {\n warnOnce('TouchableOpacity', 'TouchableOpacity is deprecated. Please use Pressable.');\n var activeOpacity = props.activeOpacity,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var _useState = useState('0s'),\n duration = _useState[0],\n setDuration = _useState[1];\n var _useState2 = useState(null),\n opacityOverride = _useState2[0],\n setOpacityOverride = _useState2[1];\n var setOpacityTo = useCallback((value, duration) => {\n setOpacityOverride(value);\n setDuration(duration ? duration / 1000 + \"s\" : '0s');\n }, [setOpacityOverride, setDuration]);\n var setOpacityActive = useCallback(duration => {\n setOpacityTo(activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.2, duration);\n }, [activeOpacity, setOpacityTo]);\n var setOpacityInactive = useCallback(duration => {\n setOpacityTo(null, duration);\n }, [setOpacityTo]);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart(event) {\n var isGrant = event.dispatchConfig != null ? event.dispatchConfig.registrationName === 'onResponderGrant' : event.type === 'keydown';\n setOpacityActive(isGrant ? 0 : 150);\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd(event) {\n setOpacityInactive(250);\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, setOpacityActive, setOpacityInactive]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'box-none' : undefined,\n ref: setRef,\n style: [styles.root, !disabled && styles.actionable, style, opacityOverride != null && {\n opacity: opacityOverride\n }, {\n transitionDuration: duration\n }]\n }));\n}\nvar styles = StyleSheet.create({\n root: {\n transitionProperty: 'opacity',\n transitionDuration: '0.15s',\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableOpacity = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableOpacity));\nMemoedTouchableOpacity.displayName = 'TouchableOpacity';\nexport default MemoedTouchableOpacity;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport TouchableOpacity from '../TouchableOpacity';\nimport Text from '../Text';\nimport { warnOnce } from '../../modules/warnOnce';\nvar Button = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n warnOnce('Button', 'Button is deprecated. Please use Pressable.');\n var accessibilityLabel = props.accessibilityLabel,\n color = props.color,\n disabled = props.disabled,\n onPress = props.onPress,\n testID = props.testID,\n title = props.title;\n return /*#__PURE__*/React.createElement(TouchableOpacity, {\n accessibilityLabel: accessibilityLabel,\n accessibilityRole: \"button\",\n disabled: disabled,\n focusable: !disabled,\n onPress: onPress,\n ref: forwardedRef,\n style: [styles.button, color && {\n backgroundColor: color\n }, disabled && styles.buttonDisabled],\n testID: testID\n }, /*#__PURE__*/React.createElement(Text, {\n style: [styles.text, disabled && styles.textDisabled]\n }, title));\n});\nButton.displayName = 'Button';\nvar styles = StyleSheet.create({\n button: {\n backgroundColor: '#2196F3',\n borderRadius: 2\n },\n text: {\n color: '#fff',\n fontWeight: '500',\n padding: 8,\n textAlign: 'center',\n textTransform: 'uppercase'\n },\n buttonDisabled: {\n backgroundColor: '#dfdfdf'\n },\n textDisabled: {\n color: '#a1a1a1'\n }\n});\nexport default Button;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-readonly\", \"color\", \"disabled\", \"onChange\", \"onValueChange\", \"readOnly\", \"style\", \"value\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar CheckBox = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var ariaReadOnly = props['aria-readonly'],\n color = props.color,\n disabled = props.disabled,\n onChange = props.onChange,\n onValueChange = props.onValueChange,\n readOnly = props.readOnly,\n style = props.style,\n value = props.value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n function handleChange(event) {\n var value = event.nativeEvent.target.checked;\n event.nativeEvent.value = value;\n onChange && onChange(event);\n onValueChange && onValueChange(value);\n }\n var fakeControl = /*#__PURE__*/React.createElement(View, {\n style: [styles.fakeControl, value && styles.fakeControlChecked,\n // custom color\n value && color && {\n backgroundColor: color,\n borderColor: color\n }, disabled && styles.fakeControlDisabled, value && disabled && styles.fakeControlCheckedAndDisabled]\n });\n var nativeControl = createElement('input', {\n checked: value,\n disabled: disabled,\n onChange: handleChange,\n readOnly: readOnly === true || ariaReadOnly === true || other.accessibilityReadOnly === true,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox'\n });\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-disabled\": disabled,\n \"aria-readonly\": ariaReadOnly,\n style: [styles.root, style, disabled && styles.cursorDefault]\n }), fakeControl, nativeControl);\n});\nCheckBox.displayName = 'CheckBox';\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n height: 16,\n userSelect: 'none',\n width: 16\n },\n cursorDefault: {\n cursor: 'default'\n },\n cursorInherit: {\n cursor: 'inherit'\n },\n fakeControl: {\n alignItems: 'center',\n backgroundColor: '#fff',\n borderColor: '#657786',\n borderRadius: 2,\n borderStyle: 'solid',\n borderWidth: 2,\n height: '100%',\n justifyContent: 'center',\n width: '100%'\n },\n fakeControlChecked: {\n backgroundColor: '#009688',\n backgroundImage: 'url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K\")',\n backgroundRepeat: 'no-repeat',\n borderColor: '#009688'\n },\n fakeControlDisabled: {\n borderColor: '#CCD6DD'\n },\n fakeControlCheckedAndDisabled: {\n backgroundColor: '#AAB8C2',\n borderColor: '#AAB8C2'\n },\n nativeControl: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n margin: 0,\n appearance: 'none',\n padding: 0,\n width: '100%'\n })\n});\nexport default CheckBox;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"style\", \"imageStyle\", \"imageRef\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport Image from '../Image';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar emptyObject = {};\n\n/**\n * Very simple drop-in replacement for which supports nesting views.\n */\nvar ImageBackground = /*#__PURE__*/forwardRef((props, forwardedRef) => {\n var children = props.children,\n _props$style = props.style,\n style = _props$style === void 0 ? emptyObject : _props$style,\n imageStyle = props.imageStyle,\n imageRef = props.imageRef,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n height = _StyleSheet$flatten.height,\n width = _StyleSheet$flatten.width;\n return /*#__PURE__*/React.createElement(View, {\n ref: forwardedRef,\n style: style\n }, /*#__PURE__*/React.createElement(Image, _extends({}, rest, {\n ref: imageRef,\n style: [{\n // Temporary Workaround:\n // Current (imperfect yet) implementation of overwrites width and height styles\n // (which is not quite correct), and these styles conflict with explicitly set styles\n // of and with our internal layout model here.\n // So, we have to proxy/reapply these styles explicitly for actual component.\n // This workaround should be removed after implementing proper support of\n // intrinsic content size of the .\n width,\n height,\n zIndex: -1\n }, StyleSheet.absoluteFill, imageStyle]\n })), children);\n});\nImageBackground.displayName = 'ImageBackground';\nexport default ImageBackground;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"behavior\", \"contentContainerStyle\", \"keyboardVerticalOffset\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport View from '../View';\nclass KeyboardAvoidingView extends React.Component {\n constructor() {\n super(...arguments);\n this.frame = null;\n this.onLayout = event => {\n this.frame = event.nativeEvent.layout;\n };\n }\n relativeKeyboardHeight(keyboardFrame) {\n var frame = this.frame;\n if (!frame || !keyboardFrame) {\n return 0;\n }\n var keyboardY = keyboardFrame.screenY - (this.props.keyboardVerticalOffset || 0);\n return Math.max(frame.y + frame.height - keyboardY, 0);\n }\n onKeyboardChange(event) {}\n render() {\n var _this$props = this.props,\n behavior = _this$props.behavior,\n contentContainerStyle = _this$props.contentContainerStyle,\n keyboardVerticalOffset = _this$props.keyboardVerticalOffset,\n rest = _objectWithoutPropertiesLoose(_this$props, _excluded);\n return /*#__PURE__*/React.createElement(View, _extends({\n onLayout: this.onLayout\n }, rest));\n }\n}\nexport default KeyboardAvoidingView;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDOM from '../../modules/canUseDom';\nfunction ModalPortal(props) {\n var children = props.children;\n var elementRef = React.useRef(null);\n if (canUseDOM && !elementRef.current) {\n var element = document.createElement('div');\n if (element && document.body) {\n document.body.appendChild(element);\n elementRef.current = element;\n }\n }\n React.useEffect(() => {\n if (canUseDOM) {\n return () => {\n if (document.body && elementRef.current) {\n document.body.removeChild(elementRef.current);\n elementRef.current = null;\n }\n };\n }\n }, []);\n return elementRef.current && canUseDOM ? /*#__PURE__*/ReactDOM.createPortal(children, elementRef.current) : null;\n}\nexport default ModalPortal;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport createElement from '../createElement';\nvar ANIMATION_DURATION = 300;\nfunction getAnimationStyle(animationType, visible) {\n if (animationType === 'slide') {\n return visible ? animatedSlideInStyles : animatedSlideOutStyles;\n }\n if (animationType === 'fade') {\n return visible ? animatedFadeInStyles : animatedFadeOutStyles;\n }\n return visible ? styles.container : styles.hidden;\n}\nfunction ModalAnimation(props) {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onShow = props.onShow,\n visible = props.visible;\n var _React$useState = React.useState(false),\n isRendering = _React$useState[0],\n setIsRendering = _React$useState[1];\n var wasVisible = React.useRef(false);\n var wasRendering = React.useRef(false);\n var isAnimated = animationType && animationType !== 'none';\n var animationEndCallback = React.useCallback(e => {\n if (e && e.currentTarget !== e.target) {\n // If the event was generated for something NOT this element we\n // should ignore it as it's not relevant to us\n return;\n }\n if (visible) {\n if (onShow) {\n onShow();\n }\n } else {\n setIsRendering(false);\n }\n }, [onShow, visible]);\n React.useEffect(() => {\n if (wasRendering.current && !isRendering && onDismiss) {\n onDismiss();\n }\n wasRendering.current = isRendering;\n }, [isRendering, onDismiss]);\n React.useEffect(() => {\n if (visible) {\n setIsRendering(true);\n }\n if (visible !== wasVisible.current && !isAnimated) {\n // Manually call `animationEndCallback` if no animation is used\n animationEndCallback();\n }\n wasVisible.current = visible;\n }, [isAnimated, visible, animationEndCallback]);\n return isRendering || visible ? createElement('div', {\n style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n onAnimationEnd: animationEndCallback,\n children\n }) : null;\n}\nvar styles = StyleSheet.create({\n container: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 9999\n },\n animatedIn: {\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-in'\n },\n animatedOut: {\n pointerEvents: 'none',\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-out'\n },\n fadeIn: {\n opacity: 1,\n animationKeyframes: {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n }\n },\n fadeOut: {\n opacity: 0,\n animationKeyframes: {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n }\n },\n slideIn: {\n transform: 'translateY(0%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(100%)'\n },\n '100%': {\n transform: 'translateY(0%)'\n }\n }\n },\n slideOut: {\n transform: 'translateY(100%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(0%)'\n },\n '100%': {\n transform: 'translateY(100%)'\n }\n }\n },\n hidden: {\n opacity: 0\n }\n});\nvar animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn];\nvar animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut];\nvar animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn];\nvar animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut];\nexport default ModalAnimation;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"active\", \"children\", \"onRequestClose\", \"transparent\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport View from '../View';\nimport StyleSheet from '../StyleSheet';\nimport canUseDOM from '../../modules/canUseDom';\nvar ModalContent = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var active = props.active,\n children = props.children,\n onRequestClose = props.onRequestClose,\n transparent = props.transparent,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n React.useEffect(() => {\n if (canUseDOM) {\n var closeOnEscape = e => {\n if (active && e.key === 'Escape') {\n e.stopPropagation();\n if (onRequestClose) {\n onRequestClose();\n }\n }\n };\n document.addEventListener('keyup', closeOnEscape, false);\n return () => document.removeEventListener('keyup', closeOnEscape, false);\n }\n }, [active, onRequestClose]);\n var style = React.useMemo(() => {\n return [styles.modal, transparent ? styles.modalTransparent : styles.modalOpaque];\n }, [transparent]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n \"aria-modal\": true,\n ref: forwardedRef,\n role: active ? 'dialog' : null,\n style: style\n }), /*#__PURE__*/React.createElement(View, {\n style: styles.container\n }, children));\n});\nvar styles = StyleSheet.create({\n modal: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n modalTransparent: {\n backgroundColor: 'transparent'\n },\n modalOpaque: {\n backgroundColor: 'white'\n },\n container: {\n top: 0,\n flex: 1\n }\n});\nexport default ModalContent;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport View from '../View';\nimport createElement from '../createElement';\nimport StyleSheet from '../StyleSheet';\nimport UIManager from '../UIManager';\nimport canUseDOM from '../../modules/canUseDom';\n\n/**\n * This Component is used to \"wrap\" the modal we're opening\n * so that changing focus via tab will never leave the document.\n *\n * This allows us to properly trap the focus within a modal\n * even if the modal is at the start or end of a document.\n */\n\nvar FocusBracket = () => {\n return createElement('div', {\n role: 'none',\n tabIndex: 0,\n style: styles.focusBracket\n });\n};\nfunction attemptFocus(element) {\n if (!canUseDOM) {\n return false;\n }\n try {\n element.focus();\n } catch (e) {\n // Do nothing\n }\n return document.activeElement === element;\n}\nfunction focusFirstDescendant(element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nfunction focusLastDescendant(element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nvar ModalFocusTrap = _ref => {\n var active = _ref.active,\n children = _ref.children;\n var trapElementRef = React.useRef();\n var focusRef = React.useRef({\n trapFocusInProgress: false,\n lastFocusedElement: null\n });\n React.useEffect(() => {\n if (canUseDOM) {\n var trapFocus = () => {\n // We should not trap focus if:\n // - The modal hasn't fully initialized with an HTMLElement ref\n // - Focus is already in the process of being trapped (e.g., we're refocusing)\n // - isTrapActive prop being falsey tells us to do nothing\n if (trapElementRef.current == null || focusRef.current.trapFocusInProgress || !active) {\n return;\n }\n try {\n focusRef.current.trapFocusInProgress = true;\n if (document.activeElement instanceof Node && !trapElementRef.current.contains(document.activeElement)) {\n // To handle keyboard focusing we can make an assumption here.\n // If you're tabbing through the focusable elements, the previously\n // active element will either be the first or the last.\n // If the previously selected element is the \"first\" descendant\n // and we're leaving it - this means that we should be looping\n // around to the other side of the modal.\n var hasFocused = focusFirstDescendant(trapElementRef.current);\n if (focusRef.current.lastFocusedElement === document.activeElement) {\n hasFocused = focusLastDescendant(trapElementRef.current);\n }\n // If we couldn't focus a new element then we need to focus onto the trap target\n if (!hasFocused && trapElementRef.current != null && document.activeElement) {\n UIManager.focus(trapElementRef.current);\n }\n }\n } finally {\n focusRef.current.trapFocusInProgress = false;\n }\n focusRef.current.lastFocusedElement = document.activeElement;\n };\n\n // Call the trapFocus callback at least once when this modal has been activated.\n trapFocus();\n document.addEventListener('focus', trapFocus, true);\n return () => document.removeEventListener('focus', trapFocus, true);\n }\n }, [active]);\n\n // To be fully compliant with WCAG we need to refocus element that triggered opening modal\n // after closing it\n React.useEffect(function () {\n if (canUseDOM) {\n var lastFocusedElementOutsideTrap = document.activeElement;\n return function () {\n if (lastFocusedElementOutsideTrap && document.contains(lastFocusedElementOutsideTrap)) {\n UIManager.focus(lastFocusedElementOutsideTrap);\n }\n };\n }\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FocusBracket, null), /*#__PURE__*/React.createElement(View, {\n ref: trapElementRef\n }, children), /*#__PURE__*/React.createElement(FocusBracket, null));\n};\nexport default ModalFocusTrap;\nvar styles = StyleSheet.create({\n focusBracket: {\n outlineStyle: 'none'\n }\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationType\", \"children\", \"onDismiss\", \"onRequestClose\", \"onShow\", \"transparent\", \"visible\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport ModalPortal from './ModalPortal';\nimport ModalAnimation from './ModalAnimation';\nimport ModalContent from './ModalContent';\nimport ModalFocusTrap from './ModalFocusTrap';\nvar uniqueModalIdentifier = 0;\nvar activeModalStack = [];\nvar activeModalListeners = {};\nfunction notifyActiveModalListeners() {\n if (activeModalStack.length === 0) {\n return;\n }\n var activeModalId = activeModalStack[activeModalStack.length - 1];\n activeModalStack.forEach(modalId => {\n if (modalId in activeModalListeners) {\n activeModalListeners[modalId](modalId === activeModalId);\n }\n });\n}\nfunction removeActiveModal(modalId) {\n if (modalId in activeModalListeners) {\n // Before removing this listener we should probably tell it\n // that it's no longer the active modal for sure.\n activeModalListeners[modalId](false);\n delete activeModalListeners[modalId];\n }\n var index = activeModalStack.indexOf(modalId);\n if (index !== -1) {\n activeModalStack.splice(index, 1);\n notifyActiveModalListeners();\n }\n}\nfunction addActiveModal(modalId, listener) {\n removeActiveModal(modalId);\n activeModalStack.push(modalId);\n activeModalListeners[modalId] = listener;\n notifyActiveModalListeners();\n}\nvar Modal = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onRequestClose = props.onRequestClose,\n onShow = props.onShow,\n transparent = props.transparent,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n // Set a unique model identifier so we can correctly route\n // dismissals and check the layering of modals.\n var modalId = React.useMemo(() => uniqueModalIdentifier++, []);\n var _React$useState = React.useState(false),\n isActive = _React$useState[0],\n setIsActive = _React$useState[1];\n var onDismissCallback = React.useCallback(() => {\n removeActiveModal(modalId);\n if (onDismiss) {\n onDismiss();\n }\n }, [modalId, onDismiss]);\n var onShowCallback = React.useCallback(() => {\n addActiveModal(modalId, setIsActive);\n if (onShow) {\n onShow();\n }\n }, [modalId, onShow]);\n React.useEffect(() => {\n return () => removeActiveModal(modalId);\n }, [modalId]);\n return /*#__PURE__*/React.createElement(ModalPortal, null, /*#__PURE__*/React.createElement(ModalAnimation, {\n animationType: animationType,\n onDismiss: onDismissCallback,\n onShow: onShowCallback,\n visible: visible\n }, /*#__PURE__*/React.createElement(ModalFocusTrap, {\n active: isActive\n }, /*#__PURE__*/React.createElement(ModalContent, _extends({}, rest, {\n active: isActive,\n onRequestClose: onRequestClose,\n ref: forwardedRef,\n transparent: transparent\n }), children))));\n});\nexport default Modal;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"enabled\", \"onValueChange\", \"selectedValue\", \"style\", \"testID\", \"itemStyle\", \"mode\", \"prompt\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport PickerItem from './PickerItem';\nimport StyleSheet from '../StyleSheet';\nvar Picker = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var children = props.children,\n enabled = props.enabled,\n onValueChange = props.onValueChange,\n selectedValue = props.selectedValue,\n style = props.style,\n testID = props.testID,\n itemStyle = props.itemStyle,\n mode = props.mode,\n prompt = props.prompt,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = React.useRef(null);\n function handleChange(e) {\n var _e$target = e.target,\n selectedIndex = _e$target.selectedIndex,\n value = _e$target.value;\n if (onValueChange) {\n onValueChange(value, selectedIndex);\n }\n }\n\n // $FlowFixMe\n var supportedProps = _objectSpread({\n children,\n disabled: enabled === false ? true : undefined,\n onChange: handleChange,\n style: [styles.initial, style],\n testID,\n value: selectedValue\n }, other);\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement('select', supportedProps);\n});\n\n// $FlowFixMe\nPicker.Item = PickerItem;\nvar styles = StyleSheet.create({\n initial: {\n fontFamily: 'System',\n fontSize: 'inherit',\n margin: 0\n }\n});\nexport default Picker;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport createElement from '../createElement';\nexport default function PickerItem(props) {\n var color = props.color,\n label = props.label,\n testID = props.testID,\n value = props.value;\n var style = {\n color\n };\n return createElement('option', {\n children: label,\n style,\n testID,\n value\n });\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nimport canUseDOM from '../canUseDom';\nvar emptyFunction = () => {};\nfunction supportsPassiveEvents() {\n var supported = false;\n // Check if browser supports event with passive listeners\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n if (canUseDOM) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get() {\n supported = true;\n return false;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n return supported;\n}\nvar canUsePassiveEvents = supportsPassiveEvents();\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n\n/**\n * Shim generic API compatibility with ReactDOM's synthetic events, without needing the\n * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic\n * event wrapper at all.\n */\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction normalizeEvent(event) {\n event.nativeEvent = event;\n event.persist = emptyFunction;\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n return event;\n}\n\n/**\n *\n */\nexport function addEventListener(target, type, listener, options) {\n var opts = getOptions(options);\n var compatListener = e => listener(normalizeEvent(e));\n target.addEventListener(type, compatListener, opts);\n return function removeEventListener() {\n if (target != null) {\n target.removeEventListener(type, compatListener, opts);\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { addEventListener } from '../addEventListener';\nimport canUseDOM from '../canUseDom';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nvar activeModality = 'keyboard';\nvar modality = 'keyboard';\nvar previousModality;\nvar previousActiveModality;\nvar isEmulatingMouseEvents = false;\nvar listeners = new Set();\nvar KEYBOARD = 'keyboard';\nvar MOUSE = 'mouse';\nvar TOUCH = 'touch';\nvar BLUR = 'blur';\nvar CONTEXTMENU = 'contextmenu';\nvar FOCUS = 'focus';\nvar KEYDOWN = 'keydown';\nvar MOUSEDOWN = 'mousedown';\nvar MOUSEMOVE = 'mousemove';\nvar MOUSEUP = 'mouseup';\nvar POINTERDOWN = 'pointerdown';\nvar POINTERMOVE = 'pointermove';\nvar SCROLL = 'scroll';\nvar SELECTIONCHANGE = 'selectionchange';\nvar TOUCHCANCEL = 'touchcancel';\nvar TOUCHMOVE = 'touchmove';\nvar TOUCHSTART = 'touchstart';\nvar VISIBILITYCHANGE = 'visibilitychange';\nvar bubbleOptions = {\n passive: true\n};\nvar captureOptions = {\n capture: true,\n passive: true\n};\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n callListeners();\n }\n}\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners();\n // for fallback events\n isEmulatingMouseEvents = false;\n}\nfunction onFocusWindow() {\n restoreModality();\n}\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\nfunction onPointerish(event) {\n var eventType = event.type;\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n return;\n }\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n return;\n }\n }\n // Fallback for non-PointerEvent environment\n else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n }\n\n // Flag when browser may produce emulated events\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n return;\n }\n\n // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\nif (canUseDOM) {\n // Window events\n addEventListener(window, BLUR, onBlurWindow, bubbleOptions);\n addEventListener(window, FOCUS, onFocusWindow, bubbleOptions);\n // Must be capture phase because 'stopPropagation' might prevent these\n // events bubbling to the document.\n addEventListener(document, KEYDOWN, onKeyDown, captureOptions);\n addEventListener(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);\n addEventListener(document, POINTERDOWN, onPointerish, captureOptions);\n addEventListener(document, POINTERMOVE, onPointerish, captureOptions);\n // Fallback events\n addEventListener(document, CONTEXTMENU, onPointerish, captureOptions);\n addEventListener(document, MOUSEDOWN, onPointerish, captureOptions);\n addEventListener(document, MOUSEMOVE, onPointerish, captureOptions);\n addEventListener(document, MOUSEUP, onPointerish, captureOptions);\n addEventListener(document, TOUCHCANCEL, onPointerish, captureOptions);\n addEventListener(document, TOUCHMOVE, onPointerish, captureOptions);\n addEventListener(document, TOUCHSTART, onPointerish, captureOptions);\n addEventListener(document, SELECTIONCHANGE, onPointerish, captureOptions);\n addEventListener(document, SCROLL, onPointerish, captureOptions);\n}\nfunction callListeners() {\n var value = {\n activeModality,\n modality\n };\n listeners.forEach(listener => {\n listener(value);\n });\n}\nexport function getActiveModality() {\n return activeModality;\n}\nexport function getModality() {\n return modality;\n}\nexport function addModalityListener(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\nexport function testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { addEventListener } from '../addEventListener';\nimport useLayoutEffect from '../useLayoutEffect';\nimport useStable from '../useStable';\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nexport default function useEvent(eventType, options) {\n var targetListeners = useStable(() => new Map());\n var addListener = useStable(() => {\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n if (callback == null) {\n targetListeners.delete(target);\n callback = () => {};\n }\n var removeEventListener = addEventListener(target, eventType, callback, options);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n useLayoutEffect(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { getModality } from '../modality';\nimport useEvent from '../useEvent';\nimport useLayoutEffect from '../useLayoutEffect';\n\n/**\n * Types\n */\n\n/**\n * Implementation\n */\n\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n var _ref = payload || emptyObject,\n _ref$bubbles = _ref.bubbles,\n bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,\n _ref$cancelable = _ref.cancelable,\n cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,\n detail = _ref.detail;\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n}\n\n// This accounts for the non-PointerEvent fallback events.\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : getModality();\n}\nexport default function useHover(targetRef, config) {\n var contain = config.contain,\n disabled = config.disabled,\n onHoverStart = config.onHoverStart,\n onHoverChange = config.onHoverChange,\n onHoverUpdate = config.onHoverUpdate,\n onHoverEnd = config.onHoverEnd;\n var canUsePE = supportsPointerEvent();\n var addMoveListener = useEvent(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = useEvent(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = useEvent(canUsePE ? 'pointerleave' : 'mouseleave', opts);\n // These custom events are used to implement the \"contain\" prop.\n var addLockListener = useEvent(lockEventType, opts);\n var addUnlockListener = useEvent(unlockEventType, opts);\n useLayoutEffect(() => {\n var target = targetRef.current;\n if (target !== null) {\n /**\n * End the hover gesture\n */\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n if (onHoverChange != null) {\n onHoverChange(false);\n }\n // Remove the listeners once finished.\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n\n /**\n * Leave element\n */\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n hoverEnd(e);\n }\n };\n\n /**\n * Move within element\n */\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n // Not all browsers have these properties\n if (e.x == null) {\n e.x = e.clientX;\n }\n if (e.y == null) {\n e.y = e.clientY;\n }\n onHoverUpdate(e);\n }\n }\n };\n\n /**\n * Start the hover gesture\n */\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n if (onHoverChange != null) {\n onHoverChange(true);\n }\n // Set the listeners needed for the rest of the hover gesture.\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n\n /**\n * Enter element\n */\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n hoverStart(e);\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"tabIndex\", \"testOnly_hovered\", \"testOnly_pressed\"];\nimport * as React from 'react';\nimport { forwardRef, memo, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport useHover from '../../modules/useHover';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n/**\n * Component used to build display components that should respond to whether the\n * component is currently pressed or not.\n */\nfunction Pressable(props, forwardedRef) {\n var children = props.children,\n delayLongPress = props.delayLongPress,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n disabled = props.disabled,\n onBlur = props.onBlur,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onHoverIn = props.onHoverIn,\n onHoverOut = props.onHoverOut,\n onKeyDown = props.onKeyDown,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressMove = props.onPressMove,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n style = props.style,\n tabIndex = props.tabIndex,\n testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var pressConfig = useMemo(() => ({\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled,\n onLongPress,\n onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove,\n onPressEnd: onPressOut\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var onContextMenuPress = pressEventHandlers.onContextMenu,\n onKeyDownPress = pressEventHandlers.onKeyDown;\n useHover(hostRef, {\n contain: true,\n disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered,\n focused,\n pressed\n };\n var blurHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(e => {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(e => {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n var _tabIndex;\n if (tabIndex !== undefined) {\n _tabIndex = tabIndex;\n } else {\n _tabIndex = disabled ? -1 : 0;\n }\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n \"aria-disabled\": disabled,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [disabled ? styles.disabled : styles.active, typeof style === 'function' ? style(interactionState) : style],\n tabIndex: _tabIndex\n }), typeof children === 'function' ? children(interactionState) : children);\n}\nfunction useForceableState(forced) {\n var _useState = useState(false),\n bool = _useState[0],\n setBool = _useState[1];\n return [bool || forced, setBool];\n}\nvar styles = StyleSheet.create({\n active: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n },\n disabled: {\n pointerEvents: 'box-none'\n }\n});\nvar MemoedPressable = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(Pressable));\nMemoedPressable.displayName = 'Pressable';\nexport default MemoedPressable;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"color\", \"indeterminate\", \"progress\", \"trackColor\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar ProgressBar = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$indeterminate = props.indeterminate,\n indeterminate = _props$indeterminate === void 0 ? false : _props$indeterminate,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? 0 : _props$progress,\n _props$trackColor = props.trackColor,\n trackColor = _props$trackColor === void 0 ? 'transparent' : _props$trackColor,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var percentageProgress = progress * 100;\n var width = indeterminate ? '25%' : percentageProgress + \"%\";\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-valuemax\": 100,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": indeterminate ? null : percentageProgress,\n ref: ref,\n role: \"progressbar\",\n style: [styles.track, style, {\n backgroundColor: trackColor\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [{\n backgroundColor: color,\n width\n }, styles.progress, indeterminate && styles.animation]\n }));\n});\nProgressBar.displayName = 'ProgressBar';\nvar styles = StyleSheet.create({\n track: {\n forcedColorAdjust: 'none',\n height: 5,\n overflow: 'hidden',\n userSelect: 'none',\n zIndex: 0\n },\n progress: {\n forcedColorAdjust: 'none',\n height: '100%',\n zIndex: -1\n },\n animation: {\n animationDuration: '1s',\n animationKeyframes: [{\n '0%': {\n transform: 'translateX(-100%)'\n },\n '100%': {\n transform: 'translateX(400%)'\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n }\n});\nexport default ProgressBar;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport canUseDOM from '../../modules/canUseDom';\nvar cssFunction = function () {\n if (canUseDOM && window.CSS && window.CSS.supports && window.CSS.supports('top: constant(safe-area-inset-top)')) {\n return 'constant';\n }\n return 'env';\n}();\nvar SafeAreaView = /*#__PURE__*/React.forwardRef((props, ref) => {\n var style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n ref: ref,\n style: [styles.root, style]\n }));\n});\nSafeAreaView.displayName = 'SafeAreaView';\nvar styles = StyleSheet.create({\n root: {\n paddingTop: cssFunction + \"(safe-area-inset-top)\",\n paddingRight: cssFunction + \"(safe-area-inset-right)\",\n paddingBottom: cssFunction + \"(safe-area-inset-bottom)\",\n paddingLeft: cssFunction + \"(safe-area-inset-left)\"\n }\n});\nexport default SafeAreaView;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar emptyFunction = () => {};\nfunction StatusBar() {\n return null;\n}\nStatusBar.setBackgroundColor = emptyFunction;\nStatusBar.setBarStyle = emptyFunction;\nStatusBar.setHidden = emptyFunction;\nStatusBar.setNetworkActivityIndicatorVisible = emptyFunction;\nStatusBar.setTranslucent = emptyFunction;\nexport default StatusBar;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar CSS_UNIT_RE = /^[+-]?\\d*(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?(%|\\w*)/;\nvar getUnit = str => str.match(CSS_UNIT_RE)[1];\nvar isNumeric = n => {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\nvar multiplyStyleLengthValue = (value, multiple) => {\n if (typeof value === 'string') {\n var number = parseFloat(value) * multiple;\n var unit = getUnit(value);\n return \"\" + number + unit;\n } else if (isNumeric(value)) {\n return value * multiple;\n }\n};\nexport default multiplyStyleLengthValue;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-label\", \"accessibilityLabel\", \"activeThumbColor\", \"activeTrackColor\", \"disabled\", \"onValueChange\", \"style\", \"thumbColor\", \"trackColor\", \"value\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport multiplyStyleLengthValue from '../../modules/multiplyStyleLengthValue';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar emptyObject = {};\nvar thumbDefaultBoxShadow = '0px 1px 3px rgba(0,0,0,0.5)';\nvar thumbFocusedBoxShadow = thumbDefaultBoxShadow + \", 0 0 0 10px rgba(0,0,0,0.1)\";\nvar defaultActiveTrackColor = '#A3D3CF';\nvar defaultTrackColor = '#939393';\nvar defaultDisabledTrackColor = '#D5D5D5';\nvar defaultActiveThumbColor = '#009688';\nvar defaultThumbColor = '#FAFAFA';\nvar defaultDisabledThumbColor = '#BDBDBD';\nvar Switch = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var ariaLabel = props['aria-label'],\n accessibilityLabel = props.accessibilityLabel,\n activeThumbColor = props.activeThumbColor,\n activeTrackColor = props.activeTrackColor,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n onValueChange = props.onValueChange,\n _props$style = props.style,\n style = _props$style === void 0 ? emptyObject : _props$style,\n thumbColor = props.thumbColor,\n trackColor = props.trackColor,\n _props$value = props.value,\n value = _props$value === void 0 ? false : _props$value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var thumbRef = React.useRef(null);\n function handleChange(event) {\n if (onValueChange != null) {\n onValueChange(event.nativeEvent.target.checked);\n }\n }\n function handleFocusState(event) {\n var isFocused = event.nativeEvent.type === 'focus';\n var boxShadow = isFocused ? thumbFocusedBoxShadow : thumbDefaultBoxShadow;\n if (thumbRef.current != null) {\n thumbRef.current.style.boxShadow = boxShadow;\n }\n }\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n styleHeight = _StyleSheet$flatten.height,\n styleWidth = _StyleSheet$flatten.width;\n var height = styleHeight || '20px';\n var minWidth = multiplyStyleLengthValue(height, 2);\n var width = styleWidth > minWidth ? styleWidth : minWidth;\n var trackBorderRadius = multiplyStyleLengthValue(height, 0.5);\n var trackCurrentColor = function () {\n if (value === true) {\n if (trackColor != null && typeof trackColor === 'object') {\n return trackColor.true;\n } else {\n return activeTrackColor !== null && activeTrackColor !== void 0 ? activeTrackColor : defaultActiveTrackColor;\n }\n } else {\n if (trackColor != null && typeof trackColor === 'object') {\n return trackColor.false;\n } else {\n return trackColor !== null && trackColor !== void 0 ? trackColor : defaultTrackColor;\n }\n }\n }();\n var thumbCurrentColor = value ? activeThumbColor !== null && activeThumbColor !== void 0 ? activeThumbColor : defaultActiveThumbColor : thumbColor !== null && thumbColor !== void 0 ? thumbColor : defaultThumbColor;\n var thumbHeight = height;\n var thumbWidth = thumbHeight;\n var rootStyle = [styles.root, style, disabled && styles.cursorDefault, {\n height,\n width\n }];\n var disabledTrackColor = function () {\n if (value === true) {\n if (typeof activeTrackColor === 'string' && activeTrackColor != null || typeof trackColor === 'object' && trackColor != null && trackColor.true) {\n return trackCurrentColor;\n } else {\n return defaultDisabledTrackColor;\n }\n } else {\n if (typeof trackColor === 'string' && trackColor != null || typeof trackColor === 'object' && trackColor != null && trackColor.false) {\n return trackCurrentColor;\n } else {\n return defaultDisabledTrackColor;\n }\n }\n }();\n var disabledThumbColor = function () {\n if (value === true) {\n if (activeThumbColor == null) {\n return defaultDisabledThumbColor;\n } else {\n return thumbCurrentColor;\n }\n } else {\n if (thumbColor == null) {\n return defaultDisabledThumbColor;\n } else {\n return thumbCurrentColor;\n }\n }\n }();\n var trackStyle = [styles.track, {\n backgroundColor: disabled ? disabledTrackColor : trackCurrentColor,\n borderRadius: trackBorderRadius\n }];\n var thumbStyle = [styles.thumb, value && styles.thumbActive, {\n backgroundColor: disabled ? disabledThumbColor : thumbCurrentColor,\n height: thumbHeight,\n marginStart: value ? multiplyStyleLengthValue(thumbWidth, -1) : 0,\n width: thumbWidth\n }];\n var nativeControl = createElement('input', {\n 'aria-label': ariaLabel || accessibilityLabel,\n checked: value,\n disabled: disabled,\n onBlur: handleFocusState,\n onChange: handleChange,\n onFocus: handleFocusState,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox',\n role: 'switch'\n });\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n style: rootStyle\n }), /*#__PURE__*/React.createElement(View, {\n style: trackStyle\n }), /*#__PURE__*/React.createElement(View, {\n ref: thumbRef,\n style: thumbStyle\n }), nativeControl);\n});\nSwitch.displayName = 'Switch';\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n userSelect: 'none'\n },\n cursorDefault: {\n cursor: 'default'\n },\n cursorInherit: {\n cursor: 'inherit'\n },\n track: _objectSpread(_objectSpread({\n forcedColorAdjust: 'none'\n }, StyleSheet.absoluteFillObject), {}, {\n height: '70%',\n margin: 'auto',\n transitionDuration: '0.1s',\n width: '100%'\n }),\n thumb: {\n forcedColorAdjust: 'none',\n alignSelf: 'flex-start',\n borderRadius: '100%',\n boxShadow: thumbDefaultBoxShadow,\n start: '0%',\n transform: 'translateZ(0)',\n transitionDuration: '0.1s'\n },\n thumbActive: {\n insetInlineStart: '100%'\n },\n nativeControl: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n margin: 0,\n appearance: 'none',\n padding: 0,\n width: '100%'\n })\n});\nexport default Switch;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useLayoutEffect from '../../modules/useLayoutEffect';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport { getLocaleDirection, useLocaleContext } from '../../modules/useLocale';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\nimport { warnOnce } from '../../modules/warnOnce';\n\n/**\n * Determines whether a 'selection' prop differs from a node's existing\n * selection state.\n */\nvar isSelectionStale = (node, selection) => {\n var selectionEnd = node.selectionEnd,\n selectionStart = node.selectionStart;\n var start = selection.start,\n end = selection.end;\n return start !== selectionStart || end !== selectionEnd;\n};\n\n/**\n * Certain input types do no support 'selectSelectionRange' and will throw an\n * error.\n */\nvar setSelection = (node, selection) => {\n if (isSelectionStale(node, selection)) {\n var start = selection.start,\n end = selection.end;\n try {\n node.setSelectionRange(start, end || start);\n } catch (e) {}\n }\n};\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n autoCapitalize: true,\n autoComplete: true,\n autoCorrect: true,\n autoFocus: true,\n defaultValue: true,\n disabled: true,\n lang: true,\n maxLength: true,\n onChange: true,\n onScroll: true,\n placeholder: true,\n pointerEvents: true,\n readOnly: true,\n rows: true,\n spellCheck: true,\n value: true,\n type: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\n\n// If an Input Method Editor is processing key input, the 'keyCode' is 229.\n// https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\nfunction isEventComposing(nativeEvent) {\n return nativeEvent.isComposing || nativeEvent.keyCode === 229;\n}\nvar focusTimeout = null;\nvar TextInput = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$autoCapitalize = props.autoCapitalize,\n autoCapitalize = _props$autoCapitalize === void 0 ? 'sentences' : _props$autoCapitalize,\n autoComplete = props.autoComplete,\n autoCompleteType = props.autoCompleteType,\n _props$autoCorrect = props.autoCorrect,\n autoCorrect = _props$autoCorrect === void 0 ? true : _props$autoCorrect,\n blurOnSubmit = props.blurOnSubmit,\n caretHidden = props.caretHidden,\n clearTextOnFocus = props.clearTextOnFocus,\n dir = props.dir,\n editable = props.editable,\n enterKeyHint = props.enterKeyHint,\n inputMode = props.inputMode,\n keyboardType = props.keyboardType,\n _props$multiline = props.multiline,\n multiline = _props$multiline === void 0 ? false : _props$multiline,\n numberOfLines = props.numberOfLines,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onChangeText = props.onChangeText,\n onContentSizeChange = props.onContentSizeChange,\n onFocus = props.onFocus,\n onKeyPress = props.onKeyPress,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChange = props.onSelectionChange,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n onSubmitEditing = props.onSubmitEditing,\n placeholderTextColor = props.placeholderTextColor,\n _props$readOnly = props.readOnly,\n readOnly = _props$readOnly === void 0 ? false : _props$readOnly,\n returnKeyType = props.returnKeyType,\n rows = props.rows,\n _props$secureTextEntr = props.secureTextEntry,\n secureTextEntry = _props$secureTextEntr === void 0 ? false : _props$secureTextEntr,\n selection = props.selection,\n selectTextOnFocus = props.selectTextOnFocus,\n showSoftInputOnFocus = props.showSoftInputOnFocus,\n spellCheck = props.spellCheck;\n var type;\n var _inputMode;\n if (inputMode != null) {\n _inputMode = inputMode;\n if (inputMode === 'email') {\n type = 'email';\n } else if (inputMode === 'tel') {\n type = 'tel';\n } else if (inputMode === 'search') {\n type = 'search';\n } else if (inputMode === 'url') {\n type = 'url';\n } else {\n type = 'text';\n }\n } else if (keyboardType != null) {\n warnOnce('keyboardType', 'keyboardType is deprecated. Use inputMode.');\n switch (keyboardType) {\n case 'email-address':\n type = 'email';\n break;\n case 'number-pad':\n case 'numeric':\n _inputMode = 'numeric';\n break;\n case 'decimal-pad':\n _inputMode = 'decimal';\n break;\n case 'phone-pad':\n type = 'tel';\n break;\n case 'search':\n case 'web-search':\n type = 'search';\n break;\n case 'url':\n type = 'url';\n break;\n default:\n type = 'text';\n }\n }\n if (secureTextEntry) {\n type = 'password';\n }\n var dimensions = React.useRef({\n height: null,\n width: null\n });\n var hostRef = React.useRef(null);\n var prevSelection = React.useRef(null);\n var prevSecureTextEntry = React.useRef(false);\n React.useEffect(() => {\n if (hostRef.current && prevSelection.current) {\n setSelection(hostRef.current, prevSelection.current);\n }\n prevSecureTextEntry.current = secureTextEntry;\n }, [secureTextEntry]);\n var handleContentSizeChange = React.useCallback(hostNode => {\n if (multiline && onContentSizeChange && hostNode != null) {\n var newHeight = hostNode.scrollHeight;\n var newWidth = hostNode.scrollWidth;\n if (newHeight !== dimensions.current.height || newWidth !== dimensions.current.width) {\n dimensions.current.height = newHeight;\n dimensions.current.width = newWidth;\n onContentSizeChange({\n nativeEvent: {\n contentSize: {\n height: dimensions.current.height,\n width: dimensions.current.width\n }\n }\n });\n }\n }\n }, [multiline, onContentSizeChange]);\n var imperativeRef = React.useMemo(() => hostNode => {\n // TextInput needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `TextInput.clear(hostRef)` is added to React Native.\n if (hostNode != null) {\n hostNode.clear = function () {\n if (hostNode != null) {\n hostNode.value = '';\n }\n };\n hostNode.isFocused = function () {\n return hostNode != null && TextInputState.currentlyFocusedField() === hostNode;\n };\n handleContentSizeChange(hostNode);\n }\n }, [handleContentSizeChange]);\n function handleBlur(e) {\n TextInputState._currentlyFocusedNode = null;\n if (onBlur) {\n e.nativeEvent.text = e.target.value;\n onBlur(e);\n }\n }\n function handleChange(e) {\n var hostNode = e.target;\n var text = hostNode.value;\n e.nativeEvent.text = text;\n handleContentSizeChange(hostNode);\n if (onChange) {\n onChange(e);\n }\n if (onChangeText) {\n onChangeText(text);\n }\n }\n function handleFocus(e) {\n var hostNode = e.target;\n if (onFocus) {\n e.nativeEvent.text = hostNode.value;\n onFocus(e);\n }\n if (hostNode != null) {\n TextInputState._currentlyFocusedNode = hostNode;\n if (clearTextOnFocus) {\n hostNode.value = '';\n }\n if (selectTextOnFocus) {\n // Safari requires selection to occur in a setTimeout\n if (focusTimeout != null) {\n clearTimeout(focusTimeout);\n }\n focusTimeout = setTimeout(() => {\n if (hostNode != null) {\n hostNode.select();\n }\n }, 0);\n }\n }\n }\n function handleKeyDown(e) {\n var hostNode = e.target;\n // Prevent key events bubbling (see #612)\n e.stopPropagation();\n var blurOnSubmitDefault = !multiline;\n var shouldBlurOnSubmit = blurOnSubmit == null ? blurOnSubmitDefault : blurOnSubmit;\n var nativeEvent = e.nativeEvent;\n var isComposing = isEventComposing(nativeEvent);\n if (onKeyPress) {\n onKeyPress(e);\n }\n if (e.key === 'Enter' && !e.shiftKey &&\n // Do not call submit if composition is occuring.\n !isComposing && !e.isDefaultPrevented()) {\n if ((blurOnSubmit || !multiline) && onSubmitEditing) {\n // prevent \"Enter\" from inserting a newline or submitting a form\n e.preventDefault();\n nativeEvent.text = e.target.value;\n onSubmitEditing(e);\n }\n if (shouldBlurOnSubmit && hostNode != null) {\n setTimeout(() => hostNode.blur(), 0);\n }\n }\n }\n function handleSelectionChange(e) {\n try {\n var _e$target = e.target,\n selectionStart = _e$target.selectionStart,\n selectionEnd = _e$target.selectionEnd;\n var _selection = {\n start: selectionStart,\n end: selectionEnd\n };\n if (onSelectionChange) {\n e.nativeEvent.selection = _selection;\n e.nativeEvent.text = e.target.value;\n onSelectionChange(e);\n }\n if (prevSecureTextEntry.current === secureTextEntry) {\n prevSelection.current = _selection;\n }\n } catch (e) {}\n }\n useLayoutEffect(() => {\n var node = hostRef.current;\n if (node != null && selection != null) {\n setSelection(node, selection);\n }\n if (document.activeElement === node) {\n TextInputState._currentlyFocusedNode = node;\n }\n }, [hostRef, selection]);\n var component = multiline ? 'textarea' : 'input';\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n var supportedProps = pickProps(props);\n supportedProps.autoCapitalize = autoCapitalize;\n supportedProps.autoComplete = autoComplete || autoCompleteType || 'on';\n supportedProps.autoCorrect = autoCorrect ? 'on' : 'off';\n // 'auto' by default allows browsers to infer writing direction\n supportedProps.dir = dir !== undefined ? dir : 'auto';\n if (returnKeyType != null) {\n warnOnce('returnKeyType', 'returnKeyType is deprecated. Use enterKeyHint.');\n }\n supportedProps.enterKeyHint = enterKeyHint || returnKeyType;\n supportedProps.inputMode = _inputMode;\n supportedProps.onBlur = handleBlur;\n supportedProps.onChange = handleChange;\n supportedProps.onFocus = handleFocus;\n supportedProps.onKeyDown = handleKeyDown;\n supportedProps.onSelect = handleSelectionChange;\n if (editable != null) {\n warnOnce('editable', 'editable is deprecated. Use readOnly.');\n }\n supportedProps.readOnly = readOnly === true || editable === false;\n if (numberOfLines != null) {\n warnOnce('numberOfLines', 'TextInput numberOfLines is deprecated. Use rows.');\n }\n supportedProps.rows = multiline ? rows != null ? rows : numberOfLines : 1;\n supportedProps.spellCheck = spellCheck != null ? spellCheck : autoCorrect;\n supportedProps.style = [{\n '--placeholderTextColor': placeholderTextColor\n }, styles.textinput$raw, styles.placeholder, props.style, caretHidden && styles.caretHidden];\n supportedProps.type = multiline ? undefined : type;\n supportedProps.virtualkeyboardpolicy = showSoftInputOnFocus === false ? 'manual' : 'auto';\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, imperativeRef, forwardedRef);\n supportedProps.ref = setRef;\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var element = createElement(component, supportedProps, {\n writingDirection\n });\n return element;\n});\nTextInput.displayName = 'TextInput';\n// $FlowFixMe\nTextInput.State = TextInputState;\nvar styles = StyleSheet.create({\n textinput$raw: {\n MozAppearance: 'textfield',\n WebkitAppearance: 'none',\n backgroundColor: 'transparent',\n border: '0 solid black',\n borderRadius: 0,\n boxSizing: 'border-box',\n font: '14px System',\n margin: 0,\n padding: 0,\n resize: 'none'\n },\n placeholder: {\n placeholderTextColor: 'var(--placeholderTextColor)'\n },\n caretHidden: {\n caretColor: 'transparent'\n }\n});\nexport default TextInput;","/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.0.0\n */\n\nimport invariant from 'fbjs/lib/invariant';\nvar twoArgumentPooler = function twoArgumentPooler(a1, a2) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\nvar standardReleaser = function standardReleaser(instance) {\n var Klass = this;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = twoArgumentPooler;\n\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\nvar addPoolingTo = function addPoolingTo(CopyConstructor, pooler) {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n twoArgumentPooler: twoArgumentPooler\n};\nexport default PooledClass;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\n\n/**\n * PooledClass representing the bounding rectangle of a region.\n */\nfunction BoundingDimensions(width, height) {\n this.width = width;\n this.height = height;\n}\nBoundingDimensions.prototype.destructor = function () {\n this.width = null;\n this.height = null;\n};\nBoundingDimensions.getPooledFromElement = function (element) {\n return BoundingDimensions.getPooled(element.offsetWidth, element.offsetHeight);\n};\nPooledClass.addPoolingTo(BoundingDimensions, twoArgumentPooler);\nexport default BoundingDimensions;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\nfunction Position(left, top) {\n this.left = left;\n this.top = top;\n}\nPosition.prototype.destructor = function () {\n this.left = null;\n this.top = null;\n};\nPooledClass.addPoolingTo(Position, twoArgumentPooler);\nexport default Position;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport BoundingDimensions from './BoundingDimensions';\nimport normalizeColor from '@react-native/normalize-colors';\nimport Position from './Position';\nimport React from 'react';\nimport UIManager from '../UIManager';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\nvar extractSingleTouch = nativeEvent => {\n var touches = nativeEvent.touches;\n var changedTouches = nativeEvent.changedTouches;\n var hasTouches = touches && touches.length > 0;\n var hasChangedTouches = changedTouches && changedTouches.length > 0;\n return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : nativeEvent;\n};\n\n/**\n * `Touchable`: Taps done right.\n *\n * You hook your `ResponderEventPlugin` events into `Touchable`. `Touchable`\n * will measure time/geometry and tells you when to give feedback to the user.\n *\n * ====================== Touchable Tutorial ===============================\n * The `Touchable` mixin helps you handle the \"press\" interaction. It analyzes\n * the geometry of elements, and observes when another responder (scroll view\n * etc) has stolen the touch lock. It notifies your component when it should\n * give feedback to the user. (bouncing/highlighting/unhighlighting).\n *\n * - When a touch was activated (typically you highlight)\n * - When a touch was deactivated (typically you unhighlight)\n * - When a touch was \"pressed\" - a touch ended while still within the geometry\n * of the element, and no other element (like scroller) has \"stolen\" touch\n * lock (\"responder\") (Typically you bounce the element).\n *\n * A good tap interaction isn't as simple as you might think. There should be a\n * slight delay before showing a highlight when starting a touch. If a\n * subsequent touch move exceeds the boundary of the element, it should\n * unhighlight, but if that same touch is brought back within the boundary, it\n * should rehighlight again. A touch can move in and out of that boundary\n * several times, each time toggling highlighting, but a \"press\" is only\n * triggered if that touch ends while within the element's boundary and no\n * scroller (or anything else) has stolen the lock on touches.\n *\n * To create a new type of component that handles interaction using the\n * `Touchable` mixin, do the following:\n *\n * - Initialize the `Touchable` state.\n *\n * getInitialState: function() {\n * return merge(this.touchableGetInitialState(), yourComponentState);\n * }\n *\n * - Add a method to get your touchable component's node.\n * getTouchableNode: function() {\n * return this.touchableRef.current\n * }\n *\n * - Choose the rendered component who's touches should start the interactive\n * sequence. On that rendered node, forward all `Touchable` responder\n * handlers. You can choose any rendered node you like. Choose a node whose\n * hit target you'd like to instigate the interaction sequence:\n *\n * // In render function:\n * return (\n * \n * \n * Even though the hit detection/interactions are triggered by the\n * wrapping (typically larger) node, we usually end up implementing\n * custom logic that highlights this inner one.\n * \n * \n * );\n *\n * - You may set up your own handlers for each of these events, so long as you\n * also invoke the `touchable*` handlers inside of your custom handler.\n *\n * - Implement the handlers on your component class in order to provide\n * feedback to the user. See documentation for each of these class methods\n * that you should implement.\n *\n * touchableHandlePress: function() {\n * this.performBounceAnimation(); // or whatever you want to do.\n * },\n * touchableHandleActivePressIn: function() {\n * this.beginHighlighting(...); // Whatever you like to convey activation\n * },\n * touchableHandleActivePressOut: function() {\n * this.endHighlighting(...); // Whatever you like to convey deactivation\n * },\n *\n * - There are more advanced methods you can implement (see documentation below):\n * touchableGetHighlightDelayMS: function() {\n * return 20;\n * }\n * // In practice, *always* use a predeclared constant (conserve memory).\n * touchableGetPressRectOffset: function() {\n * return {top: 20, left: 20, right: 20, bottom: 100};\n * }\n */\n\n/**\n * Touchable states.\n */\n\nvar States = {\n NOT_RESPONDER: 'NOT_RESPONDER',\n // Not the responder\n RESPONDER_INACTIVE_PRESS_IN: 'RESPONDER_INACTIVE_PRESS_IN',\n // Responder, inactive, in the `PressRect`\n RESPONDER_INACTIVE_PRESS_OUT: 'RESPONDER_INACTIVE_PRESS_OUT',\n // Responder, inactive, out of `PressRect`\n RESPONDER_ACTIVE_PRESS_IN: 'RESPONDER_ACTIVE_PRESS_IN',\n // Responder, active, in the `PressRect`\n RESPONDER_ACTIVE_PRESS_OUT: 'RESPONDER_ACTIVE_PRESS_OUT',\n // Responder, active, out of `PressRect`\n RESPONDER_ACTIVE_LONG_PRESS_IN: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n // Responder, active, in the `PressRect`, after long press threshold\n RESPONDER_ACTIVE_LONG_PRESS_OUT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',\n // Responder, active, out of `PressRect`, after long press threshold\n ERROR: 'ERROR'\n};\n/*\n * Quick lookup map for states that are considered to be \"active\"\n */\n\nvar baseStatesConditions = {\n NOT_RESPONDER: false,\n RESPONDER_INACTIVE_PRESS_IN: false,\n RESPONDER_INACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_PRESS_IN: false,\n RESPONDER_ACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_LONG_PRESS_IN: false,\n RESPONDER_ACTIVE_LONG_PRESS_OUT: false,\n ERROR: false\n};\nvar IsActive = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_PRESS_OUT: true,\n RESPONDER_ACTIVE_PRESS_IN: true\n});\n\n/**\n * Quick lookup for states that are considered to be \"pressing\" and are\n * therefore eligible to result in a \"selection\" if the press stops.\n */\nvar IsPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_INACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\nvar IsLongPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\n\n/**\n * Inputs to the state machine.\n */\nvar Signals = {\n DELAY: 'DELAY',\n RESPONDER_GRANT: 'RESPONDER_GRANT',\n RESPONDER_RELEASE: 'RESPONDER_RELEASE',\n RESPONDER_TERMINATED: 'RESPONDER_TERMINATED',\n ENTER_PRESS_RECT: 'ENTER_PRESS_RECT',\n LEAVE_PRESS_RECT: 'LEAVE_PRESS_RECT',\n LONG_PRESS_DETECTED: 'LONG_PRESS_DETECTED'\n};\n/**\n * Mapping from States x Signals => States\n */\nvar Transitions = {\n NOT_RESPONDER: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.ERROR,\n RESPONDER_TERMINATED: States.ERROR,\n ENTER_PRESS_RECT: States.ERROR,\n LEAVE_PRESS_RECT: States.ERROR,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_INACTIVE_PRESS_IN: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_IN,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_INACTIVE_PRESS_OUT: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_OUT,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_ACTIVE_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN\n },\n RESPONDER_ACTIVE_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_ACTIVE_LONG_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN\n },\n RESPONDER_ACTIVE_LONG_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n error: {\n DELAY: States.NOT_RESPONDER,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.NOT_RESPONDER,\n LEAVE_PRESS_RECT: States.NOT_RESPONDER,\n LONG_PRESS_DETECTED: States.NOT_RESPONDER\n }\n};\n\n// ==== Typical Constants for integrating into UI components ====\n// var HIT_EXPAND_PX = 20;\n// var HIT_VERT_OFFSET_PX = 10;\nvar HIGHLIGHT_DELAY_MS = 130;\nvar PRESS_EXPAND_PX = 20;\nvar LONG_PRESS_THRESHOLD = 500;\nvar LONG_PRESS_DELAY_MS = LONG_PRESS_THRESHOLD - HIGHLIGHT_DELAY_MS;\nvar LONG_PRESS_ALLOWED_MOVEMENT = 10;\n\n// Default amount \"active\" region protrudes beyond box\n\n/**\n * By convention, methods prefixed with underscores are meant to be @private,\n * and not @protected. Mixers shouldn't access them - not even to provide them\n * as callback handlers.\n *\n *\n * ========== Geometry =========\n * `Touchable` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * +--------------------------+\n * | | - \"Start\" events in `HitRect` cause `HitRect`\n * | +--------------------+ | to become the responder.\n * | | +--------------+ | | - `HitRect` is typically expanded around\n * | | | | | | the `VisualRect`, but shifted downward.\n * | | | VisualRect | | | - After pressing down, after some delay,\n * | | | | | | and before letting up, the Visual React\n * | | +--------------+ | | will become \"active\". This makes it eligible\n * | | HitRect | | for being highlighted (so long as the\n * | +--------------------+ | press remains in the `PressRect`).\n * | PressRect o |\n * +----------------------|---+\n * Out Region |\n * +-----+ This gap between the `HitRect` and\n * `PressRect` allows a touch to move far away\n * from the original hit rect, and remain\n * highlighted, and eligible for a \"Press\".\n * Customize this via\n * `touchableGetPressRectOffset()`.\n *\n *\n *\n * ======= State Machine =======\n *\n * +-------------+ <---+ RESPONDER_RELEASE\n * |NOT_RESPONDER|\n * +-------------+ <---+ RESPONDER_TERMINATED\n * +\n * | RESPONDER_GRANT (HitRect)\n * v\n * +---------------------------+ DELAY +-------------------------+ T + DELAY +------------------------------+\n * |RESPONDER_INACTIVE_PRESS_IN|+-------->|RESPONDER_ACTIVE_PRESS_IN| +------------> |RESPONDER_ACTIVE_LONG_PRESS_IN|\n * +---------------------------+ +-------------------------+ +------------------------------+\n * + ^ + ^ + ^\n * |LEAVE_ |ENTER_ |LEAVE_ |ENTER_ |LEAVE_ |ENTER_\n * |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT\n * | | | | | |\n * v + v + v +\n * +----------------------------+ DELAY +--------------------------+ +-------------------------------+\n * |RESPONDER_INACTIVE_PRESS_OUT|+------->|RESPONDER_ACTIVE_PRESS_OUT| |RESPONDER_ACTIVE_LONG_PRESS_OUT|\n * +----------------------------+ +--------------------------+ +-------------------------------+\n *\n * T + DELAY => LONG_PRESS_DELAY_MS + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the `touchableHandlePress` abstract method invocation that occurs\n * when a responder is released while in either of the \"Press\" states.\n *\n * The other important side effects are the highlight abstract method\n * invocations (internal callbacks) to be implemented by the mixer.\n *\n *\n * @lends Touchable.prototype\n */\nvar TouchableMixin = {\n // HACK (part 1): basic support for touchable interactions using a keyboard\n componentDidMount: function componentDidMount() {\n warnOnce('TouchableMixin', 'TouchableMixin is deprecated. Please use Pressable.');\n var touchableNode = this.getTouchableNode && this.getTouchableNode();\n if (touchableNode && touchableNode.addEventListener) {\n this._touchableBlurListener = e => {\n if (this._isTouchableKeyboardActive) {\n if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) {\n this.touchableHandleResponderTerminate({\n nativeEvent: e\n });\n }\n this._isTouchableKeyboardActive = false;\n }\n };\n touchableNode.addEventListener('blur', this._touchableBlurListener);\n }\n },\n /**\n * Clear all timeouts on unmount\n */\n componentWillUnmount: function componentWillUnmount() {\n var touchableNode = this.getTouchableNode && this.getTouchableNode();\n if (touchableNode && touchableNode.addEventListener) {\n touchableNode.removeEventListener('blur', this._touchableBlurListener);\n }\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n // Clear DOM nodes\n this.pressInLocation = null;\n this.state.touchable.responderID = null;\n },\n /**\n * It's prefer that mixins determine state in this way, having the class\n * explicitly mix the state in the one and only `getInitialState` method.\n *\n * @return {object} State object to be placed inside of\n * `this.state.touchable`.\n */\n touchableGetInitialState: function touchableGetInitialState() {\n return {\n touchable: {\n touchState: undefined,\n responderID: null\n }\n };\n },\n // ==== Hooks to Gesture Responder system ====\n /**\n * Must return true if embedded in a native platform scroll view.\n */\n touchableHandleResponderTerminationRequest: function touchableHandleResponderTerminationRequest() {\n return !this.props.rejectResponderTermination;\n },\n /**\n * Must return true to start the process of `Touchable`.\n */\n touchableHandleStartShouldSetResponder: function touchableHandleStartShouldSetResponder() {\n return !this.props.disabled;\n },\n /**\n * Return true to cancel press on long press.\n */\n touchableLongPressCancelsPress: function touchableLongPressCancelsPress() {\n return true;\n },\n /**\n * Place as callback for a DOM element's `onResponderGrant` event.\n * @param {SyntheticEvent} e Synthetic event from event system.\n *\n */\n touchableHandleResponderGrant: function touchableHandleResponderGrant(e) {\n var dispatchID = e.currentTarget;\n // Since e is used in a callback invoked on another event loop\n // (as in setTimeout etc), we need to call e.persist() on the\n // event to make sure it doesn't get reused in the event object pool.\n e.persist();\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n this.pressOutDelayTimeout = null;\n this.state.touchable.touchState = States.NOT_RESPONDER;\n this.state.touchable.responderID = dispatchID;\n this._receiveSignal(Signals.RESPONDER_GRANT, e);\n var delayMS = this.touchableGetHighlightDelayMS !== undefined ? Math.max(this.touchableGetHighlightDelayMS(), 0) : HIGHLIGHT_DELAY_MS;\n delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS;\n if (delayMS !== 0) {\n this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), delayMS);\n } else {\n this._handleDelay(e);\n }\n var longDelayMS = this.touchableGetLongPressDelayMS !== undefined ? Math.max(this.touchableGetLongPressDelayMS(), 10) : LONG_PRESS_DELAY_MS;\n longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS;\n this.longPressDelayTimeout = setTimeout(this._handleLongDelay.bind(this, e), longDelayMS + delayMS);\n },\n /**\n * Place as callback for a DOM element's `onResponderRelease` event.\n */\n touchableHandleResponderRelease: function touchableHandleResponderRelease(e) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_RELEASE, e);\n },\n /**\n * Place as callback for a DOM element's `onResponderTerminate` event.\n */\n touchableHandleResponderTerminate: function touchableHandleResponderTerminate(e) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_TERMINATED, e);\n },\n /**\n * Place as callback for a DOM element's `onResponderMove` event.\n */\n touchableHandleResponderMove: function touchableHandleResponderMove(e) {\n // Measurement may not have returned yet.\n if (!this.state.touchable.positionOnActivate) {\n return;\n }\n var positionOnActivate = this.state.touchable.positionOnActivate;\n var dimensionsOnActivate = this.state.touchable.dimensionsOnActivate;\n var pressRectOffset = this.touchableGetPressRectOffset ? this.touchableGetPressRectOffset() : {\n left: PRESS_EXPAND_PX,\n right: PRESS_EXPAND_PX,\n top: PRESS_EXPAND_PX,\n bottom: PRESS_EXPAND_PX\n };\n var pressExpandLeft = pressRectOffset.left;\n var pressExpandTop = pressRectOffset.top;\n var pressExpandRight = pressRectOffset.right;\n var pressExpandBottom = pressRectOffset.bottom;\n var hitSlop = this.touchableGetHitSlop ? this.touchableGetHitSlop() : null;\n if (hitSlop) {\n pressExpandLeft += hitSlop.left || 0;\n pressExpandTop += hitSlop.top || 0;\n pressExpandRight += hitSlop.right || 0;\n pressExpandBottom += hitSlop.bottom || 0;\n }\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n if (this.pressInLocation) {\n var movedDistance = this._getDistanceBetweenPoints(pageX, pageY, this.pressInLocation.pageX, this.pressInLocation.pageY);\n if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) {\n this._cancelLongPressDelayTimeout();\n }\n }\n var isTouchWithinActive = pageX > positionOnActivate.left - pressExpandLeft && pageY > positionOnActivate.top - pressExpandTop && pageX < positionOnActivate.left + dimensionsOnActivate.width + pressExpandRight && pageY < positionOnActivate.top + dimensionsOnActivate.height + pressExpandBottom;\n if (isTouchWithinActive) {\n var prevState = this.state.touchable.touchState;\n this._receiveSignal(Signals.ENTER_PRESS_RECT, e);\n var curState = this.state.touchable.touchState;\n if (curState === States.RESPONDER_INACTIVE_PRESS_IN && prevState !== States.RESPONDER_INACTIVE_PRESS_IN) {\n // fix for t7967420\n this._cancelLongPressDelayTimeout();\n }\n } else {\n this._cancelLongPressDelayTimeout();\n this._receiveSignal(Signals.LEAVE_PRESS_RECT, e);\n }\n },\n /**\n * Invoked when the item receives focus. Mixers might override this to\n * visually distinguish the `VisualRect` so that the user knows that it\n * currently has the focus. Most platforms only support a single element being\n * focused at a time, in which case there may have been a previously focused\n * element that was blurred just prior to this. This can be overridden when\n * using `Touchable.Mixin.withoutDefaultFocusAndBlur`.\n */\n touchableHandleFocus: function touchableHandleFocus(e) {\n this.props.onFocus && this.props.onFocus(e);\n },\n /**\n * Invoked when the item loses focus. Mixers might override this to\n * visually distinguish the `VisualRect` so that the user knows that it\n * no longer has focus. Most platforms only support a single element being\n * focused at a time, in which case the focus may have moved to another.\n * This can be overridden when using\n * `Touchable.Mixin.withoutDefaultFocusAndBlur`.\n */\n touchableHandleBlur: function touchableHandleBlur(e) {\n this.props.onBlur && this.props.onBlur(e);\n },\n // ==== Abstract Application Callbacks ====\n\n /**\n * Invoked when the item should be highlighted. Mixers should implement this\n * to visually distinguish the `VisualRect` so that the user knows that\n * releasing a touch will result in a \"selection\" (analog to click).\n *\n * @abstract\n * touchableHandleActivePressIn: function,\n */\n\n /**\n * Invoked when the item is \"active\" (in that it is still eligible to become\n * a \"select\") but the touch has left the `PressRect`. Usually the mixer will\n * want to unhighlight the `VisualRect`. If the user (while pressing) moves\n * back into the `PressRect` `touchableHandleActivePressIn` will be invoked\n * again and the mixer should probably highlight the `VisualRect` again. This\n * event will not fire on an `touchEnd/mouseUp` event, only move events while\n * the user is depressing the mouse/touch.\n *\n * @abstract\n * touchableHandleActivePressOut: function\n */\n\n /**\n * Invoked when the item is \"selected\" - meaning the interaction ended by\n * letting up while the item was either in the state\n * `RESPONDER_ACTIVE_PRESS_IN` or `RESPONDER_INACTIVE_PRESS_IN`.\n *\n * @abstract\n * touchableHandlePress: function\n */\n\n /**\n * Invoked when the item is long pressed - meaning the interaction ended by\n * letting up while the item was in `RESPONDER_ACTIVE_LONG_PRESS_IN`. If\n * `touchableHandleLongPress` is *not* provided, `touchableHandlePress` will\n * be called as it normally is. If `touchableHandleLongPress` is provided, by\n * default any `touchableHandlePress` callback will not be invoked. To\n * override this default behavior, override `touchableLongPressCancelsPress`\n * to return false. As a result, `touchableHandlePress` will be called when\n * lifting up, even if `touchableHandleLongPress` has also been called.\n *\n * @abstract\n * touchableHandleLongPress: function\n */\n\n /**\n * Returns the number of millis to wait before triggering a highlight.\n *\n * @abstract\n * touchableGetHighlightDelayMS: function\n */\n\n /**\n * Returns the amount to extend the `HitRect` into the `PressRect`. Positive\n * numbers mean the size expands outwards.\n *\n * @abstract\n * touchableGetPressRectOffset: function\n */\n\n // ==== Internal Logic ====\n\n /**\n * Measures the `HitRect` node on activation. The Bounding rectangle is with\n * respect to viewport - not page, so adding the `pageXOffset/pageYOffset`\n * should result in points that are in the same coordinate system as an\n * event's `globalX/globalY` data values.\n *\n * - Consider caching this for the lifetime of the component, or possibly\n * being able to share this cache between any `ScrollMap` view.\n *\n * @sideeffects\n * @private\n */\n _remeasureMetricsOnActivation: function _remeasureMetricsOnActivation() {\n var tag = this.state.touchable.responderID;\n if (tag == null) {\n return;\n }\n UIManager.measure(tag, this._handleQueryLayout);\n },\n _handleQueryLayout: function _handleQueryLayout(l, t, w, h, globalX, globalY) {\n //don't do anything UIManager failed to measure node\n if (!l && !t && !w && !h && !globalX && !globalY) {\n return;\n }\n this.state.touchable.positionOnActivate && Position.release(this.state.touchable.positionOnActivate);\n this.state.touchable.dimensionsOnActivate &&\n // $FlowFixMe\n BoundingDimensions.release(this.state.touchable.dimensionsOnActivate);\n this.state.touchable.positionOnActivate = Position.getPooled(globalX, globalY);\n // $FlowFixMe\n this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled(w, h);\n },\n _handleDelay: function _handleDelay(e) {\n this.touchableDelayTimeout = null;\n this._receiveSignal(Signals.DELAY, e);\n },\n _handleLongDelay: function _handleLongDelay(e) {\n this.longPressDelayTimeout = null;\n var curState = this.state.touchable.touchState;\n if (curState !== States.RESPONDER_ACTIVE_PRESS_IN && curState !== States.RESPONDER_ACTIVE_LONG_PRESS_IN) {\n console.error('Attempted to transition from state `' + curState + '` to `' + States.RESPONDER_ACTIVE_LONG_PRESS_IN + '`, which is not supported. This is ' + 'most likely due to `Touchable.longPressDelayTimeout` not being cancelled.');\n } else {\n this._receiveSignal(Signals.LONG_PRESS_DETECTED, e);\n }\n },\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n *\n * @param {Signals} signal State machine signal.\n * @throws Error if invalid state transition or unrecognized signal.\n * @sideeffects\n */\n _receiveSignal: function _receiveSignal(signal, e) {\n var responderID = this.state.touchable.responderID;\n var curState = this.state.touchable.touchState;\n var nextState = Transitions[curState] && Transitions[curState][signal];\n if (!responderID && signal === Signals.RESPONDER_RELEASE) {\n return;\n }\n if (!nextState) {\n throw new Error('Unrecognized signal `' + signal + '` or state `' + curState + '` for Touchable responder `' + responderID + '`');\n }\n if (nextState === States.ERROR) {\n throw new Error('Touchable cannot transition from `' + curState + '` to `' + signal + '` for responder `' + responderID + '`');\n }\n if (curState !== nextState) {\n this._performSideEffectsForTransition(curState, nextState, signal, e);\n this.state.touchable.touchState = nextState;\n }\n },\n _cancelLongPressDelayTimeout: function _cancelLongPressDelayTimeout() {\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.longPressDelayTimeout = null;\n },\n _isHighlight: function _isHighlight(state) {\n return state === States.RESPONDER_ACTIVE_PRESS_IN || state === States.RESPONDER_ACTIVE_LONG_PRESS_IN;\n },\n _savePressInLocation: function _savePressInLocation(e) {\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n var locationX = touch && touch.locationX;\n var locationY = touch && touch.locationY;\n this.pressInLocation = {\n pageX,\n pageY,\n locationX,\n locationY\n };\n },\n _getDistanceBetweenPoints: function _getDistanceBetweenPoints(aX, aY, bX, bY) {\n var deltaX = aX - bX;\n var deltaY = aY - bY;\n return Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n },\n /**\n * Will perform a transition between touchable states, and identify any\n * highlighting or unhighlighting that must be performed for this particular\n * transition.\n *\n * @param {States} curState Current Touchable state.\n * @param {States} nextState Next Touchable state.\n * @param {Signal} signal Signal that triggered the transition.\n * @param {Event} e Native event.\n * @sideeffects\n */\n _performSideEffectsForTransition: function _performSideEffectsForTransition(curState, nextState, signal, e) {\n var curIsHighlight = this._isHighlight(curState);\n var newIsHighlight = this._isHighlight(nextState);\n var isFinalSignal = signal === Signals.RESPONDER_TERMINATED || signal === Signals.RESPONDER_RELEASE;\n if (isFinalSignal) {\n this._cancelLongPressDelayTimeout();\n }\n var isInitialTransition = curState === States.NOT_RESPONDER && nextState === States.RESPONDER_INACTIVE_PRESS_IN;\n var isActiveTransition = !IsActive[curState] && IsActive[nextState];\n if (isInitialTransition || isActiveTransition) {\n this._remeasureMetricsOnActivation();\n }\n if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {\n this.touchableHandleLongPress && this.touchableHandleLongPress(e);\n }\n if (newIsHighlight && !curIsHighlight) {\n this._startHighlight(e);\n } else if (!newIsHighlight && curIsHighlight) {\n this._endHighlight(e);\n }\n if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {\n var hasLongPressHandler = !!this.props.onLongPress;\n var pressIsLongButStillCallOnPress = IsLongPressingIn[curState] && (\n // We *are* long pressing.. // But either has no long handler\n !hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.\n\n var shouldInvokePress = !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;\n if (shouldInvokePress && this.touchableHandlePress) {\n if (!newIsHighlight && !curIsHighlight) {\n // we never highlighted because of delay, but we should highlight now\n this._startHighlight(e);\n this._endHighlight(e);\n }\n this.touchableHandlePress(e);\n }\n }\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.touchableDelayTimeout = null;\n },\n _playTouchSound: function _playTouchSound() {\n UIManager.playTouchSound();\n },\n _startHighlight: function _startHighlight(e) {\n this._savePressInLocation(e);\n this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);\n },\n _endHighlight: function _endHighlight(e) {\n if (this.touchableHandleActivePressOut) {\n if (this.touchableGetPressOutDelayMS && this.touchableGetPressOutDelayMS()) {\n this.pressOutDelayTimeout = setTimeout(() => {\n this.touchableHandleActivePressOut(e);\n }, this.touchableGetPressOutDelayMS());\n } else {\n this.touchableHandleActivePressOut(e);\n }\n }\n },\n // HACK (part 2): basic support for touchable interactions using a keyboard (including\n // delays and longPress)\n touchableHandleKeyEvent: function touchableHandleKeyEvent(e) {\n var type = e.type,\n key = e.key;\n if (key === 'Enter' || key === ' ') {\n if (type === 'keydown') {\n if (!this._isTouchableKeyboardActive) {\n if (!this.state.touchable.touchState || this.state.touchable.touchState === States.NOT_RESPONDER) {\n this.touchableHandleResponderGrant(e);\n this._isTouchableKeyboardActive = true;\n }\n }\n } else if (type === 'keyup') {\n if (this._isTouchableKeyboardActive) {\n if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) {\n this.touchableHandleResponderRelease(e);\n this._isTouchableKeyboardActive = false;\n }\n }\n }\n e.stopPropagation();\n // prevent the default behaviour unless the Touchable functions as a link\n // and Enter is pressed\n if (!(key === 'Enter' && AccessibilityUtil.propsToAriaRole(this.props) === 'link')) {\n e.preventDefault();\n }\n }\n },\n withoutDefaultFocusAndBlur: {}\n};\n\n/**\n * Provide an optional version of the mixin where `touchableHandleFocus` and\n * `touchableHandleBlur` can be overridden. This allows appropriate defaults to\n * be set on TV platforms, without breaking existing implementations of\n * `Touchable`.\n */\nvar touchableHandleFocus = TouchableMixin.touchableHandleFocus,\n touchableHandleBlur = TouchableMixin.touchableHandleBlur,\n TouchableMixinWithoutDefaultFocusAndBlur = _objectWithoutPropertiesLoose(TouchableMixin, [\"touchableHandleFocus\", \"touchableHandleBlur\"]);\nTouchableMixin.withoutDefaultFocusAndBlur = TouchableMixinWithoutDefaultFocusAndBlur;\nvar Touchable = {\n Mixin: TouchableMixin,\n TOUCH_TARGET_DEBUG: false,\n // Highlights all touchable targets. Toggle with Inspector.\n /**\n * Renders a debugging overlay to visualize touch target with hitSlop (might not work on Android).\n */\n renderDebugView: _ref => {\n var color = _ref.color,\n hitSlop = _ref.hitSlop;\n if (!Touchable.TOUCH_TARGET_DEBUG) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n throw Error('Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!');\n }\n var debugHitSlopStyle = {};\n hitSlop = hitSlop || {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n for (var key in hitSlop) {\n debugHitSlopStyle[key] = -hitSlop[key];\n }\n var normalizedColor = normalizeColor(color);\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n var hexColor = '#' + ('00000000' + normalizedColor.toString(16)).substr(-8);\n return /*#__PURE__*/React.createElement(View, {\n pointerEvents: \"none\",\n style: _objectSpread({\n position: 'absolute',\n borderColor: hexColor.slice(0, -2) + '55',\n // More opaque\n borderWidth: 1,\n borderStyle: 'dashed',\n backgroundColor: hexColor.slice(0, -2) + '0F'\n }, debugHitSlopStyle)\n });\n }\n};\nexport default Touchable;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"children\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onHideUnderlay\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"onShowUnderlay\", \"rejectResponderTermination\", \"style\", \"testOnly_pressed\", \"underlayColor\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\nfunction createExtraStyles(activeOpacity, underlayColor) {\n return {\n child: {\n opacity: activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.85\n },\n underlay: {\n backgroundColor: underlayColor === undefined ? 'black' : underlayColor\n }\n };\n}\nfunction hasPressHandler(props) {\n return props.onPress != null || props.onPressIn != null || props.onPressOut != null || props.onLongPress != null;\n}\n\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, which allows\n * the underlay color to show through, darkening or tinting the view.\n *\n * The underlay comes from wrapping the child in a new View, which can affect\n * layout, and sometimes cause unwanted visual artifacts if not used correctly,\n * for example if the backgroundColor of the wrapped view isn't explicitly set\n * to an opaque color.\n *\n * TouchableHighlight must have one child (not zero or more than one).\n * If you wish to have several child components, wrap them in a View.\n */\nfunction TouchableHighlight(props, forwardedRef) {\n warnOnce('TouchableHighlight', 'TouchableHighlight is deprecated. Please use Pressable.');\n var activeOpacity = props.activeOpacity,\n children = props.children,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onHideUnderlay = props.onHideUnderlay,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n onShowUnderlay = props.onShowUnderlay,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n testOnly_pressed = props.testOnly_pressed,\n underlayColor = props.underlayColor,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var _useState = useState(testOnly_pressed === true ? createExtraStyles(activeOpacity, underlayColor) : null),\n extraStyles = _useState[0],\n setExtraStyles = _useState[1];\n var showUnderlay = useCallback(() => {\n if (!hasPressHandler(props)) {\n return;\n }\n setExtraStyles(createExtraStyles(activeOpacity, underlayColor));\n if (onShowUnderlay != null) {\n onShowUnderlay();\n }\n }, [activeOpacity, onShowUnderlay, props, underlayColor]);\n var hideUnderlay = useCallback(() => {\n if (testOnly_pressed === true) {\n return;\n }\n if (hasPressHandler(props)) {\n setExtraStyles(null);\n if (onHideUnderlay != null) {\n onHideUnderlay();\n }\n }\n }, [onHideUnderlay, props, testOnly_pressed]);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart(event) {\n showUnderlay();\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd(event) {\n hideUnderlay();\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, showUnderlay, hideUnderlay]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var child = React.Children.only(children);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'box-none' : undefined,\n ref: setRef,\n style: [styles.root, style, !disabled && styles.actionable, extraStyles && extraStyles.underlay]\n }), /*#__PURE__*/React.cloneElement(child, {\n style: [child.props.style, extraStyles && extraStyles.child]\n }));\n}\nvar styles = StyleSheet.create({\n root: {\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableHighlight = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableHighlight));\nMemoedTouchableHighlight.displayName = 'TouchableHighlight';\nexport default MemoedTouchableHighlight;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport View from '../../exports/View';\nimport React from 'react';\n\n/**\n * Common implementation for a simple stubbed view.\n */\nclass UnimplementedView extends React.Component {\n render() {\n return /*#__PURE__*/React.createElement(View, {\n style: [unimplementedViewStyles, this.props.style]\n }, this.props.children);\n }\n}\nvar unimplementedViewStyles = process.env.NODE_ENV !== 'production' ? {\n alignSelf: 'flex-start',\n borderColor: 'red',\n borderWidth: 1\n} : {};\nexport default UnimplementedView;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport UnimplementedView from '../../modules/UnimplementedView';\nexport default UnimplementedView;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport * as React from 'react';\nimport { useMemo, useRef } from 'react';\nimport pick from '../../modules/pick';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport { warnOnce } from '../../modules/warnOnce';\nvar forwardPropsList = {\n accessibilityDisabled: true,\n accessibilityLabel: true,\n accessibilityLiveRegion: true,\n accessibilityRole: true,\n accessibilityState: true,\n accessibilityValue: true,\n children: true,\n disabled: true,\n focusable: true,\n nativeID: true,\n onBlur: true,\n onFocus: true,\n onLayout: true,\n testID: true\n};\nvar pickProps = props => pick(props, forwardPropsList);\nfunction TouchableWithoutFeedback(props, forwardedRef) {\n warnOnce('TouchableWithoutFeedback', 'TouchableWithoutFeedback is deprecated. Please use Pressable.');\n var delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination;\n var hostRef = useRef(null);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart: onPressIn,\n onPressEnd: onPressOut\n }), [disabled, delayPressIn, delayPressOut, delayLongPress, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var element = React.Children.only(props.children);\n var children = [element.props.children];\n var supportedProps = pickProps(props);\n supportedProps.accessibilityDisabled = disabled;\n supportedProps.focusable = !disabled && focusable !== false;\n supportedProps.ref = useMergeRefs(forwardedRef, hostRef, element.ref);\n var elementProps = Object.assign(supportedProps, pressEventHandlers);\n return /*#__PURE__*/React.cloneElement(element, elementProps, ...children);\n}\nvar MemoedTouchableWithoutFeedback = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableWithoutFeedback));\nMemoedTouchableWithoutFeedback.displayName = 'TouchableWithoutFeedback';\nexport default MemoedTouchableWithoutFeedback;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport VirtualizedList from '../../vendor/react-native/VirtualizedList';\nexport default VirtualizedList;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport React from 'react';\nimport UnimplementedView from '../../modules/UnimplementedView';\nfunction YellowBox(props) {\n return /*#__PURE__*/React.createElement(UnimplementedView, props);\n}\nYellowBox.ignoreWarnings = () => {};\nexport default YellowBox;","/**\n * Copyright (c) 2016-present, Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar LogBox = {\n ignoreLogs() {},\n ignoreAllLogs() {},\n uninstall() {},\n install() {}\n};\nexport default LogBox;","import RCTDeviceEventEmitter from '../../vendor/react-native/EventEmitter/RCTDeviceEventEmitter';\nexport default RCTDeviceEventEmitter;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport Appearance from '../Appearance';\nexport default function useColorScheme() {\n var _React$useState = React.useState(Appearance.getColorScheme()),\n colorScheme = _React$useState[0],\n setColorScheme = _React$useState[1];\n React.useEffect(() => {\n function listener(appearance) {\n setColorScheme(appearance.colorScheme);\n }\n var _Appearance$addChange = Appearance.addChangeListener(listener),\n remove = _Appearance$addChange.remove;\n return remove;\n });\n return colorScheme;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { useLocaleContext } from '../../modules/useLocale';\nexport default useLocaleContext;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\nimport Dimensions from '../Dimensions';\nimport { useEffect, useState } from 'react';\nexport default function useWindowDimensions() {\n var _useState = useState(() => Dimensions.get('window')),\n dims = _useState[0],\n setDims = _useState[1];\n useEffect(() => {\n function handleChange(_ref) {\n var window = _ref.window;\n if (window != null) {\n setDims(window);\n }\n }\n Dimensions.addEventListener('change', handleChange);\n // We might have missed an update between calling `get` in render and\n // `addEventListener` in this handler, so we set it here. If there was\n // no change, React will filter out this update as a no-op.\n setDims(Dimensions.get('window'));\n return () => {\n Dimensions.removeEventListener('change', handleChange);\n };\n }, []);\n return dims;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\nexport default isDisabled;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar accessibilityRoleToWebRole = {\n adjustable: 'slider',\n button: 'button',\n header: 'heading',\n image: 'img',\n imagebutton: null,\n keyboardkey: null,\n label: null,\n link: 'link',\n none: 'presentation',\n search: 'search',\n summary: 'region',\n text: null\n};\nvar propsToAriaRole = _ref => {\n var accessibilityRole = _ref.accessibilityRole,\n role = _ref.role;\n var _role = role || accessibilityRole;\n if (_role) {\n var inferredRole = accessibilityRoleToWebRole[_role];\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || _role;\n }\n }\n};\nexport default propsToAriaRole;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport propsToAriaRole from './propsToAriaRole';\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n button: 'button',\n code: 'code',\n complementary: 'aside',\n contentinfo: 'footer',\n deletion: 'del',\n emphasis: 'em',\n figure: 'figure',\n insertion: 'ins',\n form: 'form',\n list: 'ul',\n listitem: 'li',\n main: 'main',\n navigation: 'nav',\n paragraph: 'p',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n var roleProp = props.role || props.accessibilityRole;\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (roleProp === 'label') {\n return 'label';\n }\n var role = propsToAriaRole(props);\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n if (level != null) {\n return \"h\" + level;\n }\n return 'h1';\n }\n return roleComponents[role];\n }\n};\nexport default propsToAccessibilityComponent;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport isDisabled from './isDisabled';\nimport propsToAccessibilityComponent from './propsToAccessibilityComponent';\nimport propsToAriaRole from './propsToAriaRole';\nvar AccessibilityUtil = {\n isDisabled,\n propsToAccessibilityComponent,\n propsToAriaRole\n};\nexport default AccessibilityUtil;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default canUseDOM;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nexport var defaultProps = {\n children: true,\n dataSet: true,\n dir: true,\n id: true,\n ref: true,\n suppressHydrationWarning: true,\n tabIndex: true,\n testID: true,\n // @deprecated\n focusable: true,\n nativeID: true\n};\nexport var accessibilityProps = {\n 'aria-activedescendant': true,\n 'aria-atomic': true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-colcount': true,\n 'aria-colindex': true,\n 'aria-colspan': true,\n 'aria-controls': true,\n 'aria-current': true,\n 'aria-describedby': true,\n 'aria-details': true,\n 'aria-disabled': true,\n 'aria-errormessage': true,\n 'aria-expanded': true,\n 'aria-flowto': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-keyshortcuts': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-owns': true,\n 'aria-placeholder': true,\n 'aria-posinset': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-required': true,\n role: true,\n 'aria-roledescription': true,\n 'aria-rowcount': true,\n 'aria-rowindex': true,\n 'aria-rowspan': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-sort': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n // @deprecated\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n accessibilityDisabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRole: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true\n};\nexport var clickProps = {\n onClick: true,\n onAuxClick: true,\n onContextMenu: true,\n onGotPointerCapture: true,\n onLostPointerCapture: true,\n onPointerCancel: true,\n onPointerDown: true,\n onPointerEnter: true,\n onPointerMove: true,\n onPointerLeave: true,\n onPointerOut: true,\n onPointerOver: true,\n onPointerUp: true\n};\nexport var focusProps = {\n onBlur: true,\n onFocus: true\n};\nexport var keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nexport var mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nexport var touchProps = {\n onTouchCancel: true,\n onTouchCancelCapture: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchMoveCapture: true,\n onTouchStart: true,\n onTouchStartCapture: true\n};\nexport var styleProps = {\n style: true\n};","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar getBoundingClientRect = node => {\n if (node != null) {\n var isElement = node.nodeType === 1; /* Node.ELEMENT_NODE */\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\nexport default getBoundingClientRect;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nexport default function mergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return function forwardRef(node) {\n args.forEach(ref => {\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nexport default function pick(obj, list) {\n var nextObj = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true) {\n nextObj[key] = obj[key];\n }\n }\n }\n return nextObj;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport useLayoutEffect from '../useLayoutEffect';\nimport UIManager from '../../exports/UIManager';\nimport canUseDOM from '../canUseDom';\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !canUseDOM;\nvar resizeObserver = null;\nfunction getResizeObserver() {\n if (canUseDOM && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(entry => {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n if (typeof onLayout === 'function') {\n // We still need to measure the view because browsers don't yet provide\n // border-box dimensions in the entry\n UIManager.measure(node, (x, y, width, height, left, top) => {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x,\n y,\n width,\n height,\n left,\n top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: () => entry.target\n });\n onLayout(event);\n });\n }\n });\n });\n }\n } else if (!didWarn) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n console.warn('onLayout relies on ResizeObserver which is not supported by your browser. ' + 'Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill.');\n didWarn = true;\n }\n }\n return resizeObserver;\n}\nexport default function useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n useLayoutEffect(() => {\n var node = ref.current;\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]);\n\n // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n useLayoutEffect(() => {\n var node = ref.current;\n if (node != null && observer != null) {\n if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {\n observer.observe(node);\n } else {\n observer.unobserve(node);\n }\n }\n return () => {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\n\nimport { useEffect, useLayoutEffect } from 'react';\nimport canUseDOM from '../canUseDom';\nvar useLayoutEffectImpl = canUseDOM ? useLayoutEffect : useEffect;\nexport default useLayoutEffectImpl;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar rtlScripts = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nvar rtlLangs = new Set(['ae',\n// Avestan\n'ar',\n// Arabic\n'arc',\n// Aramaic\n'bcc',\n// Southern Balochi\n'bqi',\n// Bakthiari\n'ckb',\n// Sorani\n'dv',\n// Dhivehi\n'fa', 'far',\n// Persian\n'glk',\n// Gilaki\n'he', 'iw',\n// Hebrew\n'khw',\n// Khowar\n'ks',\n// Kashmiri\n'ku',\n// Kurdish\n'mzn',\n// Mazanderani\n'nqo',\n// N'Ko\n'pnb',\n// Western Punjabi\n'ps',\n// Pashto\n'sd',\n// Sindhi\n'ug',\n// Uyghur\n'ur',\n// Urdu\n'yi' // Yiddish\n]);\n\nvar cache = new Map();\n\n/**\n * Determine the writing direction of a locale\n */\nexport function isLocaleRTL(locale) {\n var cachedRTL = cache.get(locale);\n if (cachedRTL) {\n return cachedRTL;\n }\n var isRTL = false;\n // $FlowFixMe\n if (Intl.Locale) {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } else {\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\n cache.set(locale, isRTL);\n return isRTL;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport React, { createContext, useContext } from 'react';\nimport { isLocaleRTL } from './isLocaleRTL';\nvar defaultLocale = {\n direction: 'ltr',\n locale: 'en-US'\n};\nvar LocaleContext = /*#__PURE__*/createContext(defaultLocale);\nexport function getLocaleDirection(locale) {\n return isLocaleRTL(locale) ? 'rtl' : 'ltr';\n}\nexport function LocaleProvider(props) {\n var direction = props.direction,\n locale = props.locale,\n children = props.children;\n var needsContext = direction || locale;\n return needsContext ? /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n children: children,\n value: {\n direction: locale ? getLocaleDirection(locale) : direction,\n locale\n }\n }) : children;\n}\nexport function useLocaleContext() {\n return useContext(LocaleContext);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport mergeRefs from '../mergeRefs';\nexport default function useMergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return React.useMemo(() => mergeRefs(...args),\n // eslint-disable-next-line\n [...args]);\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport UIManager from '../../exports/UIManager';\nimport useStable from '../useStable';\n\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\nexport default function usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n // Avoid creating a new ref on every render.\n var ref = useStable(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => UIManager.measure(hostNode, callback);\n hostNode.measureLayout = (relativeToNode, success, failure) => UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n hostNode.measureInWindow = callback => UIManager.measureInWindow(hostNode, callback);\n }\n });\n return ref;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nvar emptyFunction = () => {};\nvar emptyObject = {};\nvar emptyArray = [];\n\n/**\n * Safari produces very large identifiers that would cause the `touchBank` array\n * length to be so large as to crash the browser, if not normalized like this.\n * In the future the `touchBank` should use an object/map instead.\n */\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\nexport default function createResponderEvent(domEvent, responderTouchHistoryStore) {\n var rect;\n var propagationWasStopped = false;\n var changedTouches;\n var touches;\n var domEventChangedTouches = domEvent.changedTouches;\n var domEventType = domEvent.type;\n var metaKey = domEvent.metaKey === true;\n var shiftKey = domEvent.shiftKey === true;\n var force = domEventChangedTouches && domEventChangedTouches[0].force || 0;\n var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0);\n var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX;\n var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;\n var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;\n var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;\n var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction;\n var timestamp = domEvent.timeStamp;\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(touch => {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n get locationX() {\n return locationX(touch.clientX);\n },\n get locationY() {\n return locationY(touch.clientY);\n },\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp\n };\n });\n }\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n // `currentTarget` is set before dispatch\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey,\n shiftKey,\n changedTouches,\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp,\n touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault,\n stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: responderTouchHistoryStore.touchHistory\n };\n\n // Using getters and functions serves two purposes:\n // 1) The value of `currentTarget` is not initially available.\n // 2) Measuring the clientRect may cause layout jank and should only be done on-demand.\n function locationX(x) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return x - rect.left;\n }\n }\n function locationY(y) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return y - rect.top;\n }\n }\n return responderEvent;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nexport var BLUR = 'blur';\nexport var CONTEXT_MENU = 'contextmenu';\nexport var FOCUS_OUT = 'focusout';\nexport var MOUSE_DOWN = 'mousedown';\nexport var MOUSE_MOVE = 'mousemove';\nexport var MOUSE_UP = 'mouseup';\nexport var MOUSE_CANCEL = 'dragstart';\nexport var TOUCH_START = 'touchstart';\nexport var TOUCH_MOVE = 'touchmove';\nexport var TOUCH_END = 'touchend';\nexport var TOUCH_CANCEL = 'touchcancel';\nexport var SCROLL = 'scroll';\nexport var SELECT = 'select';\nexport var SELECTION_CHANGE = 'selectionchange';\nexport function isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\nexport function isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\nexport function isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\nexport function isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\nexport function isScroll(eventType) {\n return eventType === SCROLL;\n}\nexport function isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport isSelectionValid from '../../modules/isSelectionValid';\nvar keyName = '__reactResponderId';\nfunction getEventPath(domEvent) {\n // The 'selectionchange' event always has the 'document' as the target.\n // Use the anchor node as the initial target to reconstruct a path.\n // (We actually only need the first \"responder\" node in practice.)\n if (domEvent.type === 'selectionchange') {\n var target = window.getSelection().anchorNode;\n return composedPathFallback(target);\n } else {\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n }\n}\nfunction composedPathFallback(target) {\n var path = [];\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n return path;\n}\n\n/**\n * Retrieve the responderId from a host node\n */\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n return null;\n}\n\n/**\n * Store the responderId on a host node\n */\nexport function setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\nexport function getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n return {\n idPath,\n nodePath\n };\n}\n\n/**\n * Walk the paths and find the first common ancestor\n */\nexport function getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n if (\n // If either path is empty\n pathALength === 0 || pathBLength === 0 ||\n // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0;\n\n // If A is deeper, skip indices that can't match.\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n }\n\n // If B is deeper, skip indices that can't match\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n }\n\n // Walk in lockstep until a match is found\n var depth = pathALength;\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n return null;\n}\n\n/**\n * Determine whether any of the active touches are within the current responder.\n * This cannot rely on W3C `targetTouches`, as neither IE11 nor Safari implement it.\n */\nexport function hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\nexport function hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return isSelectionValid();\n }\n return domEvent.type === 'select';\n}\n\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\nexport function isPrimaryPointerDown(domEvent) {\n var altKey = domEvent.altKey,\n button = domEvent.button,\n buttons = domEvent.buttons,\n ctrlKey = domEvent.ctrlKey,\n type = domEvent.type;\n var isTouch = type === 'touchstart' || type === 'touchmove';\n var isPrimaryMouseDown = type === 'mousedown' && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === 'mousemove' && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n return false;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nexport default function isSelectionValid() {\n var selection = window.getSelection();\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== '\\n' && isTextNode;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { isStartish, isMoveish, isEndish } from './ResponderEventTypes';\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar MAX_TOUCH_BANK = 20;\nfunction timestampForTouch(touch) {\n // The legacy internal implementation provides \"timeStamp\", which has been\n // renamed to \"timestamp\".\n return touch.timeStamp || touch.timestamp;\n}\n\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n };\n}\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\n touchRecord.startPageX = touch.pageX;\n touchRecord.startPageY = touch.pageY;\n touchRecord.startTimeStamp = timestampForTouch(touch);\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchRecord.previousPageX = touch.pageX;\n touchRecord.previousPageY = touch.pageY;\n touchRecord.previousTimeStamp = timestampForTouch(touch);\n}\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\n if (__DEV__) {\n if (identifier > MAX_TOUCH_BANK) {\n console.error('Touch identifier %s is greater than maximum supported %s which causes ' + 'performance issues backfilling array locations for all of the indices.', identifier, MAX_TOUCH_BANK);\n }\n }\n return identifier;\n}\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchHistory.touchBank[identifier];\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = true;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch move without a touch start.\\n', \"Touch Move: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction recordTouchEnd(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = false;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch end without a touch start.\\n', \"Touch End: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\nfunction printTouchBank(touchHistory) {\n var touchBank = touchHistory.touchBank;\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n return printed;\n}\nexport class ResponderTouchHistoryStore {\n constructor() {\n this._touchHistory = {\n touchBank: [],\n //Array\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\n }\n recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\n if (isMoveish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));\n } else if (isStartish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchStart(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if (isEndish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchEnd(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n var touchBank = touchHistory.touchBank;\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n }\n get touchHistory() {\n return this._touchHistory;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * RESPONDER EVENT SYSTEM\n *\n * A single, global \"interaction lock\" on views. For a view to be the \"responder\" means\n * that pointer interactions are exclusive to that view and none other. The \"interaction\n * lock\" can be transferred (only) to ancestors of the current \"responder\" as long as\n * pointers continue to be active.\n *\n * Responder being granted:\n *\n * A view can become the \"responder\" after the following events:\n * * \"pointerdown\" (implemented using \"touchstart\", \"mousedown\")\n * * \"pointermove\" (implemented using \"touchmove\", \"mousemove\")\n * * \"scroll\" (while a pointer is down)\n * * \"selectionchange\" (while a pointer is down)\n *\n * If nothing is already the \"responder\", the event propagates to (capture) and from\n * (bubble) the event target until a view returns `true` for\n * `on*ShouldSetResponder(Capture)`.\n *\n * If something is already the responder, the event propagates to (capture) and from\n * (bubble) the lowest common ancestor of the event target and the current \"responder\".\n * Then negotiation happens between the current \"responder\" and a view that wants to\n * become the \"responder\": see the timing diagram below.\n *\n * (NOTE: Scrolled views either automatically become the \"responder\" or release the\n * \"interaction lock\". A native scroll view that isn't built on top of the responder\n * system must result in the current \"responder\" being notified that it no longer has\n * the \"interaction lock\" - the native system has taken over.\n *\n * Responder being released:\n *\n * As soon as there are no more active pointers that *started* inside descendants\n * of the *current* \"responder\", an `onResponderRelease` event is dispatched to the\n * current \"responder\", and the responder lock is released.\n *\n * Typical sequence of events:\n * * startShouldSetResponder\n * * responderGrant/Reject\n * * responderStart\n * * responderMove\n * * responderEnd\n * * responderRelease\n */\n\n/* Negotiation Performed\n +-----------------------+\n / \\\nProcess low level events to + Current Responder + wantsResponderID\ndetermine who to perform negot-| (if any exists at all) |\niation/transition | Otherwise just pass through|\n-------------------------------+----------------------------+------------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +--------------+ | |\n | onTouchStart | | |\n +------+-------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onStartShouldSetResponder|----->| onResponderStart (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest | |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderStart|\n | | +----------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +-------------+ | |\n | onTouchMove | | |\n +------+------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onMoveShouldSetResponder |----->| onResponderMove (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest| |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderMove |\n | | +----------------+\n | |\n | |\n Some active touch started| |\n inside current responder | +------------------------+ |\n +------------------------->| onResponderEnd | |\n | | +------------------------+ |\n +---+---------+ | |\n | onTouchEnd | | |\n +---+---------+ | |\n | | +------------------------+ |\n +------------------------->| onResponderEnd | |\n No active touches started| +-----------+------------+ |\n inside current responder | | |\n | v |\n | +------------------------+ |\n | | onResponderRelease | |\n | +------------------------+ |\n | |\n + + */\n\nimport createResponderEvent from './createResponderEvent';\nimport { isCancelish, isEndish, isMoveish, isScroll, isSelectionChange, isStartish } from './ResponderEventTypes';\nimport { getLowestCommonAncestor, getResponderPaths, hasTargetTouches, hasValidSelection, isPrimaryPointerDown, setResponderId } from './utils';\nimport { ResponderTouchHistoryStore } from './ResponderTouchHistoryStore';\nimport canUseDOM from '../canUseDom';\n\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\n\n/* ------------ IMPLEMENTATION ------------ */\n\nvar startRegistration = ['onStartShouldSetResponderCapture', 'onStartShouldSetResponder', {\n bubbles: true\n}];\nvar moveRegistration = ['onMoveShouldSetResponderCapture', 'onMoveShouldSetResponder', {\n bubbles: true\n}];\nvar scrollRegistration = ['onScrollShouldSetResponderCapture', 'onScrollShouldSetResponder', {\n bubbles: false\n}];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\nvar responderTouchHistoryStore = new ResponderTouchHistoryStore();\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n\n/**\n * Process native events\n *\n * A single event listener is used to manage the responder system.\n * All pointers are tracked in the ResponderTouchHistoryStore. Native events\n * are interpreted in terms of the Responder System and checked to see if\n * the responder should be transferred. Each host node that is attached to\n * the Responder System has an ID, which is used to look up its associated\n * callbacks.\n */\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n\n /**\n * Manage emulated events and early bailout.\n * Since PointerEvent is not used yet (lack of support in older Safari), it's\n * necessary to manually manage the mess of browser touch/mouse events.\n * And bailout early for termination events when there is no active responder.\n */\n\n // Flag when browser may produce emulated events\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n }\n // Remove flag when browser will not produce emulated events\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n }\n // Ignore various events in particular circumstances\n if (\n // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents ||\n // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n }\n // Remove flag after emulated events are finished\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n return;\n }\n var isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent);\n var isMoveEvent = isMoveish(eventType);\n var isEndEvent = isEndish(eventType);\n var isScrollEvent = isScroll(eventType);\n var isSelectionChangeEvent = isSelectionChange(eventType);\n var responderEvent = createResponderEvent(domEvent, responderTouchHistoryStore);\n\n /**\n * Record the state of active pointers\n */\n\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n\n /**\n * Responder System logic\n */\n\n var eventPaths = getResponderPaths(domEvent);\n var wasNegotiated = false;\n var wantsResponder;\n\n // If an event occured that might change the current responder...\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n // If there is already a responder, prune the event paths to the lowest common ancestor\n // of the existing responder and deepest target of the event.\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);\n // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n if (wantsResponder != null) {\n // Sets responder if none exists, or negotates with existing responder.\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n }\n\n // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n var _getResponderConfig = getResponderConfig(id),\n onResponderStart = _getResponderConfig.onResponderStart,\n onResponderMove = _getResponderConfig.onResponderMove,\n onResponderEnd = _getResponderConfig.onResponderEnd,\n onResponderRelease = _getResponderConfig.onResponderRelease,\n onResponderTerminate = _getResponderConfig.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Start\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n }\n // Move\n else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = isCancelish(eventType) ||\n // native context menu\n eventType === 'contextmenu' ||\n // window blur\n eventType === 'blur' && eventTarget === window ||\n // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node ||\n // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 ||\n // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node ||\n // native select/selectionchange on node\n isSelectionChangeEvent && hasValidSelection(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches);\n\n // End\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n }\n // Release\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n }\n // Terminate\n if (isTerminateEvent) {\n var shouldTerminate = true;\n\n // Responders can still avoid termination but only for these events.\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n // Only call this function is it wasn't already called during negotiation.\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n\n/**\n * Walk the event path to/from the target node. At each node, stop and call the\n * relevant \"shouldSet\" functions for the given event type. If any of those functions\n * call \"stopPropagation\" on the event, stop searching for a responder.\n */\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; // for Flow\n\n if (shouldSetCallbacks != null) {\n var idPath = eventPaths.idPath,\n nodePath = eventPaths.nodePath;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var bubbles = shouldSetCallbacks[2].bubbles;\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n if (shouldSetCallback(responderEvent) === true) {\n // Start the path from the potential responder\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id,\n node,\n idPath: prunedIdPath\n };\n }\n }\n };\n\n // capture\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n if (result != null) {\n return result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n\n // bubble\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n if (_result != null) {\n return _result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var _id2 = idPath[0];\n var _node2 = nodePath[0];\n var target = domEvent.target;\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n\n/**\n * Attempt to transfer the responder.\n */\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var _currentResponder2 = currentResponder,\n currentId = _currentResponder2.id,\n currentNode = _currentResponder2.node;\n var id = wantsResponder.id,\n node = wantsResponder.node;\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Set responder\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n }\n // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n var allowTransfer = true;\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n if (allowTransfer) {\n // Terminate existing responder\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n // Grant next responder\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n } else {\n // Reject responder request\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n\n/* ------------ PUBLIC API ------------ */\n\n/**\n * Attach Listeners\n *\n * Use native events as ReactDOM doesn't have a non-plugin API to implement\n * this system.\n */\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [\n// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart',\n// touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel',\n// other\n'contextmenu', 'select', 'selectionchange'];\nexport function attachListeners() {\n if (canUseDOM && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n\n/**\n * Register a node with the ResponderSystem.\n */\nexport function addNode(id, node, config) {\n setResponderId(node, id);\n responderListenersMap.set(id, config);\n}\n\n/**\n * Unregister a node with the ResponderSystem.\n */\nexport function removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\n\n/**\n * Allow the current responder to be terminated from within components to support\n * more complex requirements, such as use with other React libraries for working\n * with scroll views, input views, etc.\n */\nexport function terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n if (onResponderTerminate != null) {\n var event = createResponderEvent({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n changeCurrentResponder(emptyResponder);\n }\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\nexport function getResponderNode() {\n return currentResponder.node;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * Hook for integrating the Responder System into React\n *\n * function SomeComponent({ onStartShouldSetResponder }) {\n * const ref = useRef(null);\n * useResponderEvents(ref, { onStartShouldSetResponder });\n * return
\n * }\n */\n\nimport * as React from 'react';\nimport * as ResponderSystem from './ResponderSystem';\nvar emptyObject = {};\nvar idCounter = 0;\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n return ref.current;\n}\nexport default function useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n var id = useStable(() => idCounter++);\n var isAttachedRef = React.useRef(false);\n\n // This is a separate effects so it doesn't run when the config changes.\n // On initial mount, attach global listeners if needed.\n // On unmount, remove node potentially attached to the Responder System.\n React.useEffect(() => {\n ResponderSystem.attachListeners();\n return () => {\n ResponderSystem.removeNode(id);\n };\n }, [id]);\n\n // Register and unregister with the Responder System as necessary\n React.useEffect(() => {\n var _config = config,\n onMoveShouldSetResponder = _config.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture,\n onScrollShouldSetResponder = _config.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = _config.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture;\n var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;\n var node = hostRef.current;\n if (requiresResponderSystem) {\n ResponderSystem.addNode(id, node, config);\n isAttachedRef.current = true;\n } else if (isAttachedRef.current) {\n ResponderSystem.removeNode(id);\n isAttachedRef.current = false;\n }\n }, [config, hostRef, id]);\n React.useDebugValue({\n isResponder: hostRef.current === ResponderSystem.getResponderNode()\n });\n React.useDebugValue(config);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nvar UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nexport default function useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n }\n // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n return ref.current;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar warnedKeys = {};\n\n/**\n * A simple function that prints a warning message once per session.\n *\n * @param {string} key - The key used to ensure the message is printed once.\n * This should be unique to the callsite.\n * @param {string} message - The message to print\n */\nexport function warnOnce(key, message) {\n if (process.env.NODE_ENV !== 'production') {\n if (warnedKeys[key]) {\n return;\n }\n console.warn(message);\n warnedKeys[key] = true;\n }\n}","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (typeof Reflect === 'object' && typeof Reflect.ownKeys === 'function') {\n\t\treturn Reflect.ownKeys;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar CreateMethodProperty = require('es-abstract/2023/CreateMethodProperty');\nvar setToStringTag = require('es-set-tostringtag');\nvar globalThis = require('globalthis')();\n\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimReflectOwnKeys() {\n\tif (typeof Reflect === 'undefined') {\n\t\tvar R = {};\n\t\tsetToStringTag(R, 'Reflect');\n\t\tCreateMethodProperty(globalThis, 'Reflect', R);\n\t}\n\n\tvar polyfill = getPolyfill();\n\tif (polyfill !== Reflect.ownKeys) {\n\t\tCreateMethodProperty(Reflect, 'ownKeys', polyfill);\n\t}\n\treturn polyfill;\n};\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","/*!\n * shallow-clone \n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nconst valueOf = Symbol.prototype.valueOf;\nconst typeOf = require('kind-of');\n\nfunction clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default: {\n return val;\n }\n }\n}\n\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : (/\\w+$/.exec(val) || void 0);\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\n\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\n\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\n\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\n\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n\n/**\n * Expose `clone`\n */\n\nmodule.exports = clone;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n mappings.map(function (mapping) {\n var source = mapping.source === null ? null : this._sources.at(mapping.source);\n source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n return {\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number is 1-based.\n * - column: Optional. the column number in the original source.\n * The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n needle.source = this._findSourceIndex(needle.source);\n if (needle.source < 0) {\n return [];\n }\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n if (sourceRoot) {\n sourceRoot = util.normalize(sourceRoot);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this._absoluteSources = this._sources.toArray().map(function (s) {\n return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n });\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this._sourceMapURL = aSourceMapURL;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Utility function to find the index of a source. Returns -1 if not\n * found.\n */\nBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n if (this._sources.has(relativeSource)) {\n return this._sources.indexOf(relativeSource);\n }\n\n // Maybe aSource is an absolute URL as returned by |sources|. In\n // this case we can't simply undo the transform.\n var i;\n for (i = 0; i < this._absoluteSources.length; ++i) {\n if (this._absoluteSources[i] == aSource) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @param String aSourceMapURL\n * The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n smc._sourceMapURL = aSourceMapURL;\n smc._absoluteSources = smc._sources.toArray().map(function (s) {\n return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n });\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._absoluteSources.slice();\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n // Because each offset is encoded relative to the previous one,\n // many segments often have the same encoding. We can exploit this\n // fact by caching the parsed variable length fields of each segment,\n // allowing us to avoid a second parse if we encounter the same\n // segment again.\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = cachedSegments[str];\n if (segment) {\n index += str.length;\n } else {\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n cachedSegments[str] = segment;\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n originalMappings.push(mapping);\n }\n }\n }\n\n quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = generatedMappings;\n\n quickSort(originalMappings, util.compareByOriginalPositions);\n this.__originalMappings = originalMappings;\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n var index = this._findSourceIndex(aSource);\n if (index >= 0) {\n return this.sourcesContent[index];\n }\n\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + relativeSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n source = this._findSourceIndex(source);\n if (source < 0) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based. \n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = null;\n if (mapping.name) {\n name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n }\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator({\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n });\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n this._validateMapping(generated, original, source, name);\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n throw new Error(\n 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n );\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n throw new Error('Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n }));\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var remainingLinesIndex = 0;\n var shiftNextLine = function() {\n var lineContents = getNextLine();\n // The last line of a file might not have a newline.\n var newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[remainingLinesIndex] || '';\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[remainingLinesIndex] || '';\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n","/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n","(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n","/*\nStimulus 3.2.1\nCopyright © 2023 Basecamp, LLC\n */\nclass EventListener {\n constructor(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n connect() {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n }\n disconnect() {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }\n bindingConnected(binding) {\n this.unorderedBindings.add(binding);\n }\n bindingDisconnected(binding) {\n this.unorderedBindings.delete(binding);\n }\n handleEvent(event) {\n const extendedEvent = extendEvent(event);\n for (const binding of this.bindings) {\n if (extendedEvent.immediatePropagationStopped) {\n break;\n }\n else {\n binding.handleEvent(extendedEvent);\n }\n }\n }\n hasBindings() {\n return this.unorderedBindings.size > 0;\n }\n get bindings() {\n return Array.from(this.unorderedBindings).sort((left, right) => {\n const leftIndex = left.index, rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n }\n}\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n }\n else {\n const { stopImmediatePropagation } = event;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation.call(this);\n },\n });\n }\n}\n\nclass Dispatcher {\n constructor(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach((eventListener) => eventListener.connect());\n }\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach((eventListener) => eventListener.disconnect());\n }\n }\n get eventListeners() {\n return Array.from(this.eventListenerMaps.values()).reduce((listeners, map) => listeners.concat(Array.from(map.values())), []);\n }\n bindingConnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n }\n bindingDisconnected(binding, clearEventListeners = false) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n if (clearEventListeners)\n this.clearEventListenersForBinding(binding);\n }\n handleError(error, message, detail = {}) {\n this.application.handleError(error, `Error ${message}`, detail);\n }\n clearEventListenersForBinding(binding) {\n const eventListener = this.fetchEventListenerForBinding(binding);\n if (!eventListener.hasBindings()) {\n eventListener.disconnect();\n this.removeMappedEventListenerFor(binding);\n }\n }\n removeMappedEventListenerFor(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n eventListenerMap.delete(cacheKey);\n if (eventListenerMap.size == 0)\n this.eventListenerMaps.delete(eventTarget);\n }\n fetchEventListenerForBinding(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n }\n fetchEventListener(eventTarget, eventName, eventOptions) {\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n let eventListener = eventListenerMap.get(cacheKey);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n return eventListener;\n }\n createEventListener(eventTarget, eventName, eventOptions) {\n const eventListener = new EventListener(eventTarget, eventName, eventOptions);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n }\n fetchEventListenerMapForEventTarget(eventTarget) {\n let eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n }\n cacheKey(eventName, eventOptions) {\n const parts = [eventName];\n Object.keys(eventOptions)\n .sort()\n .forEach((key) => {\n parts.push(`${eventOptions[key] ? \"\" : \"!\"}${key}`);\n });\n return parts.join(\":\");\n }\n}\n\nconst defaultActionDescriptorFilters = {\n stop({ event, value }) {\n if (value)\n event.stopPropagation();\n return true;\n },\n prevent({ event, value }) {\n if (value)\n event.preventDefault();\n return true;\n },\n self({ event, value, element }) {\n if (value) {\n return element === event.target;\n }\n else {\n return true;\n }\n },\n};\nconst descriptorPattern = /^(?:(?:([^.]+?)\\+)?(.+?)(?:\\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;\nfunction parseActionDescriptorString(descriptorString) {\n const source = descriptorString.trim();\n const matches = source.match(descriptorPattern) || [];\n let eventName = matches[2];\n let keyFilter = matches[3];\n if (keyFilter && ![\"keydown\", \"keyup\", \"keypress\"].includes(eventName)) {\n eventName += `.${keyFilter}`;\n keyFilter = \"\";\n }\n return {\n eventTarget: parseEventTarget(matches[4]),\n eventName,\n eventOptions: matches[7] ? parseEventOptions(matches[7]) : {},\n identifier: matches[5],\n methodName: matches[6],\n keyFilter: matches[1] || keyFilter,\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n }\n else if (eventTargetName == \"document\") {\n return document;\n }\n}\nfunction parseEventOptions(eventOptions) {\n return eventOptions\n .split(\":\")\n .reduce((options, token) => Object.assign(options, { [token.replace(/^!/, \"\")]: !/^!/.test(token) }), {});\n}\nfunction stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n }\n else if (eventTarget == document) {\n return \"document\";\n }\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\nfunction namespaceCamelize(value) {\n return camelize(value.replace(/--/g, \"-\").replace(/__/g, \"_\"));\n}\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\nfunction tokenize(value) {\n return value.match(/[^\\s]+/g) || [];\n}\n\nfunction isSomething(object) {\n return object !== null && object !== undefined;\n}\nfunction hasProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nconst allModifiers = [\"meta\", \"ctrl\", \"alt\", \"shift\"];\nclass Action {\n constructor(element, index, descriptor, schema) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n this.keyFilter = descriptor.keyFilter || \"\";\n this.schema = schema;\n }\n static forToken(token, schema) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content), schema);\n }\n toString() {\n const eventFilter = this.keyFilter ? `.${this.keyFilter}` : \"\";\n const eventTarget = this.eventTargetName ? `@${this.eventTargetName}` : \"\";\n return `${this.eventName}${eventFilter}${eventTarget}->${this.identifier}#${this.methodName}`;\n }\n shouldIgnoreKeyboardEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = this.keyFilter.split(\"+\");\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n const standardFilter = filters.filter((key) => !allModifiers.includes(key))[0];\n if (!standardFilter) {\n return false;\n }\n if (!hasProperty(this.keyMappings, standardFilter)) {\n error(`contains unknown key filter: ${this.keyFilter}`);\n }\n return this.keyMappings[standardFilter].toLowerCase() !== event.key.toLowerCase();\n }\n shouldIgnoreMouseEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = [this.keyFilter];\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n return false;\n }\n get params() {\n const params = {};\n const pattern = new RegExp(`^data-${this.identifier}-(.+)-param$`, \"i\");\n for (const { name, value } of Array.from(this.element.attributes)) {\n const match = name.match(pattern);\n const key = match && match[1];\n if (key) {\n params[camelize(key)] = typecast(value);\n }\n }\n return params;\n }\n get eventTargetName() {\n return stringifyEventTarget(this.eventTarget);\n }\n get keyMappings() {\n return this.schema.keyMappings;\n }\n keyFilterDissatisfied(event, filters) {\n const [meta, ctrl, alt, shift] = allModifiers.map((modifier) => filters.includes(modifier));\n return event.metaKey !== meta || event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift;\n }\n}\nconst defaultEventNames = {\n a: () => \"click\",\n button: () => \"click\",\n form: () => \"submit\",\n details: () => \"toggle\",\n input: (e) => (e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\"),\n select: () => \"change\",\n textarea: () => \"input\",\n};\nfunction getDefaultEventNameForElement(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}\nfunction typecast(value) {\n try {\n return JSON.parse(value);\n }\n catch (o_O) {\n return value;\n }\n}\n\nclass Binding {\n constructor(context, action) {\n this.context = context;\n this.action = action;\n }\n get index() {\n return this.action.index;\n }\n get eventTarget() {\n return this.action.eventTarget;\n }\n get eventOptions() {\n return this.action.eventOptions;\n }\n get identifier() {\n return this.context.identifier;\n }\n handleEvent(event) {\n const actionEvent = this.prepareActionEvent(event);\n if (this.willBeInvokedByEvent(event) && this.applyEventModifiers(actionEvent)) {\n this.invokeWithEvent(actionEvent);\n }\n }\n get eventName() {\n return this.action.eventName;\n }\n get method() {\n const method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(`Action \"${this.action}\" references undefined method \"${this.methodName}\"`);\n }\n applyEventModifiers(event) {\n const { element } = this.action;\n const { actionDescriptorFilters } = this.context.application;\n const { controller } = this.context;\n let passes = true;\n for (const [name, value] of Object.entries(this.eventOptions)) {\n if (name in actionDescriptorFilters) {\n const filter = actionDescriptorFilters[name];\n passes = passes && filter({ name, value, event, element, controller });\n }\n else {\n continue;\n }\n }\n return passes;\n }\n prepareActionEvent(event) {\n return Object.assign(event, { params: this.action.params });\n }\n invokeWithEvent(event) {\n const { target, currentTarget } = event;\n try {\n this.method.call(this.controller, event);\n this.context.logDebugActivity(this.methodName, { event, target, currentTarget, action: this.methodName });\n }\n catch (error) {\n const { identifier, controller, element, index } = this;\n const detail = { identifier, controller, element, index, event };\n this.context.handleError(error, `invoking action \"${this.action}\"`, detail);\n }\n }\n willBeInvokedByEvent(event) {\n const eventTarget = event.target;\n if (event instanceof KeyboardEvent && this.action.shouldIgnoreKeyboardEvent(event)) {\n return false;\n }\n if (event instanceof MouseEvent && this.action.shouldIgnoreMouseEvent(event)) {\n return false;\n }\n if (this.element === eventTarget) {\n return true;\n }\n else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n }\n else {\n return this.scope.containsElement(this.action.element);\n }\n }\n get controller() {\n return this.context.controller;\n }\n get methodName() {\n return this.action.methodName;\n }\n get element() {\n return this.scope.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nclass ElementObserver {\n constructor(element, delegate) {\n this.mutationObserverInit = { attributes: true, childList: true, subtree: true };\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.refresh();\n }\n }\n pause(callback) {\n if (this.started) {\n this.mutationObserver.disconnect();\n this.started = false;\n }\n callback();\n if (!this.started) {\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.started = true;\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n const matches = new Set(this.matchElementsInTree());\n for (const element of Array.from(this.elements)) {\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (const element of Array.from(matches)) {\n this.addElement(element);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n }\n else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n }\n processAttributeChange(element, attributeName) {\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n }\n else {\n this.removeElement(element);\n }\n }\n else if (this.matchElement(element)) {\n this.addElement(element);\n }\n }\n processRemovedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n }\n processAddedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }\n matchElement(element) {\n return this.delegate.matchElement(element);\n }\n matchElementsInTree(tree = this.element) {\n return this.delegate.matchElementsInTree(tree);\n }\n processTree(tree, processor) {\n for (const element of this.matchElementsInTree(tree)) {\n processor.call(this, element);\n }\n }\n elementFromNode(node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n }\n elementIsActive(element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n }\n else {\n return this.element.contains(element);\n }\n }\n addElement(element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n }\n removeElement(element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n }\n}\n\nclass AttributeObserver {\n constructor(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n get element() {\n return this.elementObserver.element;\n }\n get selector() {\n return `[${this.attributeName}]`;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get started() {\n return this.elementObserver.started;\n }\n matchElement(element) {\n return element.hasAttribute(this.attributeName);\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n }\n elementMatched(element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n }\n elementUnmatched(element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n }\n elementAttributeChanged(element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n }\n}\n\nfunction add(map, key, value) {\n fetch(map, key).add(value);\n}\nfunction del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nfunction fetch(map, key) {\n let values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nfunction prune(map, key) {\n const values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n\nclass Multimap {\n constructor() {\n this.valuesByKey = new Map();\n }\n get keys() {\n return Array.from(this.valuesByKey.keys());\n }\n get values() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((values, set) => values.concat(Array.from(set)), []);\n }\n get size() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((size, set) => size + set.size, 0);\n }\n add(key, value) {\n add(this.valuesByKey, key, value);\n }\n delete(key, value) {\n del(this.valuesByKey, key, value);\n }\n has(key, value) {\n const values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n }\n hasKey(key) {\n return this.valuesByKey.has(key);\n }\n hasValue(value) {\n const sets = Array.from(this.valuesByKey.values());\n return sets.some((set) => set.has(value));\n }\n getValuesForKey(key) {\n const values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n }\n getKeysForValue(value) {\n return Array.from(this.valuesByKey)\n .filter(([_key, values]) => values.has(value))\n .map(([key, _values]) => key);\n }\n}\n\nclass IndexedMultimap extends Multimap {\n constructor() {\n super();\n this.keysByValue = new Map();\n }\n get values() {\n return Array.from(this.keysByValue.keys());\n }\n add(key, value) {\n super.add(key, value);\n add(this.keysByValue, value, key);\n }\n delete(key, value) {\n super.delete(key, value);\n del(this.keysByValue, value, key);\n }\n hasValue(value) {\n return this.keysByValue.has(value);\n }\n getKeysForValue(value) {\n const set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n }\n}\n\nclass SelectorObserver {\n constructor(element, selector, delegate, details) {\n this._selector = selector;\n this.details = details;\n this.elementObserver = new ElementObserver(element, this);\n this.delegate = delegate;\n this.matchesByElement = new Multimap();\n }\n get started() {\n return this.elementObserver.started;\n }\n get selector() {\n return this._selector;\n }\n set selector(selector) {\n this._selector = selector;\n this.refresh();\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get element() {\n return this.elementObserver.element;\n }\n matchElement(element) {\n const { selector } = this;\n if (selector) {\n const matches = element.matches(selector);\n if (this.delegate.selectorMatchElement) {\n return matches && this.delegate.selectorMatchElement(element, this.details);\n }\n return matches;\n }\n else {\n return false;\n }\n }\n matchElementsInTree(tree) {\n const { selector } = this;\n if (selector) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(selector)).filter((match) => this.matchElement(match));\n return match.concat(matches);\n }\n else {\n return [];\n }\n }\n elementMatched(element) {\n const { selector } = this;\n if (selector) {\n this.selectorMatched(element, selector);\n }\n }\n elementUnmatched(element) {\n const selectors = this.matchesByElement.getKeysForValue(element);\n for (const selector of selectors) {\n this.selectorUnmatched(element, selector);\n }\n }\n elementAttributeChanged(element, _attributeName) {\n const { selector } = this;\n if (selector) {\n const matches = this.matchElement(element);\n const matchedBefore = this.matchesByElement.has(selector, element);\n if (matches && !matchedBefore) {\n this.selectorMatched(element, selector);\n }\n else if (!matches && matchedBefore) {\n this.selectorUnmatched(element, selector);\n }\n }\n }\n selectorMatched(element, selector) {\n this.delegate.selectorMatched(element, selector, this.details);\n this.matchesByElement.add(selector, element);\n }\n selectorUnmatched(element, selector) {\n this.delegate.selectorUnmatched(element, selector, this.details);\n this.matchesByElement.delete(selector, element);\n }\n}\n\nclass StringMapObserver {\n constructor(element, delegate) {\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true, attributeOldValue: true });\n this.refresh();\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n for (const attributeName of this.knownAttributeNames) {\n this.refreshAttribute(attributeName, null);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n const attributeName = mutation.attributeName;\n if (attributeName) {\n this.refreshAttribute(attributeName, mutation.oldValue);\n }\n }\n refreshAttribute(attributeName, oldValue) {\n const key = this.delegate.getStringMapKeyForAttribute(attributeName);\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n const value = this.element.getAttribute(attributeName);\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key, oldValue);\n }\n if (value == null) {\n const oldValue = this.stringMap.get(attributeName);\n this.stringMap.delete(attributeName);\n if (oldValue)\n this.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n else {\n this.stringMap.set(attributeName, value);\n }\n }\n }\n stringMapKeyAdded(key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n }\n stringMapValueChanged(value, key, oldValue) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key, oldValue);\n }\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n }\n get knownAttributeNames() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n }\n get currentAttributeNames() {\n return Array.from(this.element.attributes).map((attribute) => attribute.name);\n }\n get recordedAttributeNames() {\n return Array.from(this.stringMap.keys());\n }\n}\n\nclass TokenListObserver {\n constructor(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n get started() {\n return this.attributeObserver.started;\n }\n start() {\n this.attributeObserver.start();\n }\n pause(callback) {\n this.attributeObserver.pause(callback);\n }\n stop() {\n this.attributeObserver.stop();\n }\n refresh() {\n this.attributeObserver.refresh();\n }\n get element() {\n return this.attributeObserver.element;\n }\n get attributeName() {\n return this.attributeObserver.attributeName;\n }\n elementMatchedAttribute(element) {\n this.tokensMatched(this.readTokensForElement(element));\n }\n elementAttributeValueChanged(element) {\n const [unmatchedTokens, matchedTokens] = this.refreshTokensForElement(element);\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n }\n elementUnmatchedAttribute(element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n }\n tokensMatched(tokens) {\n tokens.forEach((token) => this.tokenMatched(token));\n }\n tokensUnmatched(tokens) {\n tokens.forEach((token) => this.tokenUnmatched(token));\n }\n tokenMatched(token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n }\n tokenUnmatched(token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n }\n refreshTokensForElement(element) {\n const previousTokens = this.tokensByElement.getValuesForKey(element);\n const currentTokens = this.readTokensForElement(element);\n const firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(([previousToken, currentToken]) => !tokensAreEqual(previousToken, currentToken));\n if (firstDifferingIndex == -1) {\n return [[], []];\n }\n else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n }\n readTokensForElement(element) {\n const attributeName = this.attributeName;\n const tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n }\n}\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString\n .trim()\n .split(/\\s+/)\n .filter((content) => content.length)\n .map((content, index) => ({ element, attributeName, content, index }));\n}\nfunction zip(left, right) {\n const length = Math.max(left.length, right.length);\n return Array.from({ length }, (_, index) => [left[index], right[index]]);\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n\nclass ValueListObserver {\n constructor(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n get started() {\n return this.tokenListObserver.started;\n }\n start() {\n this.tokenListObserver.start();\n }\n stop() {\n this.tokenListObserver.stop();\n }\n refresh() {\n this.tokenListObserver.refresh();\n }\n get element() {\n return this.tokenListObserver.element;\n }\n get attributeName() {\n return this.tokenListObserver.attributeName;\n }\n tokenMatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n }\n tokenUnmatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n }\n fetchParseResultForToken(token) {\n let parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n }\n fetchValuesByTokenForElement(element) {\n let valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n }\n parseToken(token) {\n try {\n const value = this.delegate.parseValueForToken(token);\n return { value };\n }\n catch (error) {\n return { error };\n }\n }\n}\n\nclass BindingObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n start() {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n }\n stop() {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n }\n get element() {\n return this.context.element;\n }\n get identifier() {\n return this.context.identifier;\n }\n get actionAttribute() {\n return this.schema.actionAttribute;\n }\n get schema() {\n return this.context.schema;\n }\n get bindings() {\n return Array.from(this.bindingsByAction.values());\n }\n connectAction(action) {\n const binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n }\n disconnectAction(action) {\n const binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n }\n disconnectAllActions() {\n this.bindings.forEach((binding) => this.delegate.bindingDisconnected(binding, true));\n this.bindingsByAction.clear();\n }\n parseValueForToken(token) {\n const action = Action.forToken(token, this.schema);\n if (action.identifier == this.identifier) {\n return action;\n }\n }\n elementMatchedValue(element, action) {\n this.connectAction(action);\n }\n elementUnmatchedValue(element, action) {\n this.disconnectAction(action);\n }\n}\n\nclass ValueObserver {\n constructor(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n }\n start() {\n this.stringMapObserver.start();\n this.invokeChangedCallbacksForDefaultValues();\n }\n stop() {\n this.stringMapObserver.stop();\n }\n get element() {\n return this.context.element;\n }\n get controller() {\n return this.context.controller;\n }\n getStringMapKeyForAttribute(attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n }\n stringMapKeyAdded(key, attributeName) {\n const descriptor = this.valueDescriptorMap[attributeName];\n if (!this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), descriptor.writer(descriptor.defaultValue));\n }\n }\n stringMapValueChanged(value, name, oldValue) {\n const descriptor = this.valueDescriptorNameMap[name];\n if (value === null)\n return;\n if (oldValue === null) {\n oldValue = descriptor.writer(descriptor.defaultValue);\n }\n this.invokeChangedCallback(name, value, oldValue);\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n const descriptor = this.valueDescriptorNameMap[key];\n if (this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), oldValue);\n }\n else {\n this.invokeChangedCallback(key, descriptor.writer(descriptor.defaultValue), oldValue);\n }\n }\n invokeChangedCallbacksForDefaultValues() {\n for (const { key, name, defaultValue, writer } of this.valueDescriptors) {\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallback(name, writer(defaultValue), undefined);\n }\n }\n }\n invokeChangedCallback(name, rawValue, rawOldValue) {\n const changedMethodName = `${name}Changed`;\n const changedMethod = this.receiver[changedMethodName];\n if (typeof changedMethod == \"function\") {\n const descriptor = this.valueDescriptorNameMap[name];\n try {\n const value = descriptor.reader(rawValue);\n let oldValue = rawOldValue;\n if (rawOldValue) {\n oldValue = descriptor.reader(rawOldValue);\n }\n changedMethod.call(this.receiver, value, oldValue);\n }\n catch (error) {\n if (error instanceof TypeError) {\n error.message = `Stimulus Value \"${this.context.identifier}.${descriptor.name}\" - ${error.message}`;\n }\n throw error;\n }\n }\n }\n get valueDescriptors() {\n const { valueDescriptorMap } = this;\n return Object.keys(valueDescriptorMap).map((key) => valueDescriptorMap[key]);\n }\n get valueDescriptorNameMap() {\n const descriptors = {};\n Object.keys(this.valueDescriptorMap).forEach((key) => {\n const descriptor = this.valueDescriptorMap[key];\n descriptors[descriptor.name] = descriptor;\n });\n return descriptors;\n }\n hasValue(attributeName) {\n const descriptor = this.valueDescriptorNameMap[attributeName];\n const hasMethodName = `has${capitalize(descriptor.name)}`;\n return this.receiver[hasMethodName];\n }\n}\n\nclass TargetObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.targetsByName = new Multimap();\n }\n start() {\n if (!this.tokenListObserver) {\n this.tokenListObserver = new TokenListObserver(this.element, this.attributeName, this);\n this.tokenListObserver.start();\n }\n }\n stop() {\n if (this.tokenListObserver) {\n this.disconnectAllTargets();\n this.tokenListObserver.stop();\n delete this.tokenListObserver;\n }\n }\n tokenMatched({ element, content: name }) {\n if (this.scope.containsElement(element)) {\n this.connectTarget(element, name);\n }\n }\n tokenUnmatched({ element, content: name }) {\n this.disconnectTarget(element, name);\n }\n connectTarget(element, name) {\n var _a;\n if (!this.targetsByName.has(name, element)) {\n this.targetsByName.add(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetConnected(element, name));\n }\n }\n disconnectTarget(element, name) {\n var _a;\n if (this.targetsByName.has(name, element)) {\n this.targetsByName.delete(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetDisconnected(element, name));\n }\n }\n disconnectAllTargets() {\n for (const name of this.targetsByName.keys) {\n for (const element of this.targetsByName.getValuesForKey(name)) {\n this.disconnectTarget(element, name);\n }\n }\n }\n get attributeName() {\n return `data-${this.context.identifier}-target`;\n }\n get element() {\n return this.context.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach((name) => values.add(name));\n return values;\n }, new Set()));\n}\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors.reverse();\n}\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map((key) => [key, definition[key]]) : [];\n}\n\nclass OutletObserver {\n constructor(context, delegate) {\n this.started = false;\n this.context = context;\n this.delegate = delegate;\n this.outletsByName = new Multimap();\n this.outletElementsByName = new Multimap();\n this.selectorObserverMap = new Map();\n this.attributeObserverMap = new Map();\n }\n start() {\n if (!this.started) {\n this.outletDefinitions.forEach((outletName) => {\n this.setupSelectorObserverForOutlet(outletName);\n this.setupAttributeObserverForOutlet(outletName);\n });\n this.started = true;\n this.dependentContexts.forEach((context) => context.refresh());\n }\n }\n refresh() {\n this.selectorObserverMap.forEach((observer) => observer.refresh());\n this.attributeObserverMap.forEach((observer) => observer.refresh());\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.disconnectAllOutlets();\n this.stopSelectorObservers();\n this.stopAttributeObservers();\n }\n }\n stopSelectorObservers() {\n if (this.selectorObserverMap.size > 0) {\n this.selectorObserverMap.forEach((observer) => observer.stop());\n this.selectorObserverMap.clear();\n }\n }\n stopAttributeObservers() {\n if (this.attributeObserverMap.size > 0) {\n this.attributeObserverMap.forEach((observer) => observer.stop());\n this.attributeObserverMap.clear();\n }\n }\n selectorMatched(element, _selector, { outletName }) {\n const outlet = this.getOutlet(element, outletName);\n if (outlet) {\n this.connectOutlet(outlet, element, outletName);\n }\n }\n selectorUnmatched(element, _selector, { outletName }) {\n const outlet = this.getOutletFromMap(element, outletName);\n if (outlet) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n selectorMatchElement(element, { outletName }) {\n const selector = this.selector(outletName);\n const hasOutlet = this.hasOutlet(element, outletName);\n const hasOutletController = element.matches(`[${this.schema.controllerAttribute}~=${outletName}]`);\n if (selector) {\n return hasOutlet && hasOutletController && element.matches(selector);\n }\n else {\n return false;\n }\n }\n elementMatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementAttributeValueChanged(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementUnmatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n connectOutlet(outlet, element, outletName) {\n var _a;\n if (!this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.add(outletName, outlet);\n this.outletElementsByName.add(outletName, element);\n (_a = this.selectorObserverMap.get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletConnected(outlet, element, outletName));\n }\n }\n disconnectOutlet(outlet, element, outletName) {\n var _a;\n if (this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.delete(outletName, outlet);\n this.outletElementsByName.delete(outletName, element);\n (_a = this.selectorObserverMap\n .get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletDisconnected(outlet, element, outletName));\n }\n }\n disconnectAllOutlets() {\n for (const outletName of this.outletElementsByName.keys) {\n for (const element of this.outletElementsByName.getValuesForKey(outletName)) {\n for (const outlet of this.outletsByName.getValuesForKey(outletName)) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n }\n }\n updateSelectorObserverForOutlet(outletName) {\n const observer = this.selectorObserverMap.get(outletName);\n if (observer) {\n observer.selector = this.selector(outletName);\n }\n }\n setupSelectorObserverForOutlet(outletName) {\n const selector = this.selector(outletName);\n const selectorObserver = new SelectorObserver(document.body, selector, this, { outletName });\n this.selectorObserverMap.set(outletName, selectorObserver);\n selectorObserver.start();\n }\n setupAttributeObserverForOutlet(outletName) {\n const attributeName = this.attributeNameForOutletName(outletName);\n const attributeObserver = new AttributeObserver(this.scope.element, attributeName, this);\n this.attributeObserverMap.set(outletName, attributeObserver);\n attributeObserver.start();\n }\n selector(outletName) {\n return this.scope.outlets.getSelectorForOutletName(outletName);\n }\n attributeNameForOutletName(outletName) {\n return this.scope.schema.outletAttributeForScope(this.identifier, outletName);\n }\n getOutletNameFromOutletAttributeName(attributeName) {\n return this.outletDefinitions.find((outletName) => this.attributeNameForOutletName(outletName) === attributeName);\n }\n get outletDependencies() {\n const dependencies = new Multimap();\n this.router.modules.forEach((module) => {\n const constructor = module.definition.controllerConstructor;\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n outlets.forEach((outlet) => dependencies.add(outlet, module.identifier));\n });\n return dependencies;\n }\n get outletDefinitions() {\n return this.outletDependencies.getKeysForValue(this.identifier);\n }\n get dependentControllerIdentifiers() {\n return this.outletDependencies.getValuesForKey(this.identifier);\n }\n get dependentContexts() {\n const identifiers = this.dependentControllerIdentifiers;\n return this.router.contexts.filter((context) => identifiers.includes(context.identifier));\n }\n hasOutlet(element, outletName) {\n return !!this.getOutlet(element, outletName) || !!this.getOutletFromMap(element, outletName);\n }\n getOutlet(element, outletName) {\n return this.application.getControllerForElementAndIdentifier(element, outletName);\n }\n getOutletFromMap(element, outletName) {\n return this.outletsByName.getValuesForKey(outletName).find((outlet) => outlet.element === element);\n }\n get scope() {\n return this.context.scope;\n }\n get schema() {\n return this.context.schema;\n }\n get identifier() {\n return this.context.identifier;\n }\n get application() {\n return this.context.application;\n }\n get router() {\n return this.application.router;\n }\n}\n\nclass Context {\n constructor(module, scope) {\n this.logDebugActivity = (functionName, detail = {}) => {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.logDebugActivity(this.identifier, functionName, detail);\n };\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n this.targetObserver = new TargetObserver(this, this);\n this.outletObserver = new OutletObserver(this, this);\n try {\n this.controller.initialize();\n this.logDebugActivity(\"initialize\");\n }\n catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n connect() {\n this.bindingObserver.start();\n this.valueObserver.start();\n this.targetObserver.start();\n this.outletObserver.start();\n try {\n this.controller.connect();\n this.logDebugActivity(\"connect\");\n }\n catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n }\n refresh() {\n this.outletObserver.refresh();\n }\n disconnect() {\n try {\n this.controller.disconnect();\n this.logDebugActivity(\"disconnect\");\n }\n catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.outletObserver.stop();\n this.targetObserver.stop();\n this.valueObserver.stop();\n this.bindingObserver.stop();\n }\n get application() {\n return this.module.application;\n }\n get identifier() {\n return this.module.identifier;\n }\n get schema() {\n return this.application.schema;\n }\n get dispatcher() {\n return this.application.dispatcher;\n }\n get element() {\n return this.scope.element;\n }\n get parentElement() {\n return this.element.parentElement;\n }\n handleError(error, message, detail = {}) {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.handleError(error, `Error ${message}`, detail);\n }\n targetConnected(element, name) {\n this.invokeControllerMethod(`${name}TargetConnected`, element);\n }\n targetDisconnected(element, name) {\n this.invokeControllerMethod(`${name}TargetDisconnected`, element);\n }\n outletConnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletConnected`, outlet, element);\n }\n outletDisconnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletDisconnected`, outlet, element);\n }\n invokeControllerMethod(methodName, ...args) {\n const controller = this.controller;\n if (typeof controller[methodName] == \"function\") {\n controller[methodName](...args);\n }\n }\n}\n\nfunction bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\nfunction shadow(constructor, properties) {\n const shadowConstructor = extend(constructor);\n const shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\nfunction getBlessedProperties(constructor) {\n const blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce((blessedProperties, blessing) => {\n const properties = blessing(constructor);\n for (const key in properties) {\n const descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n return blessedProperties;\n }, {});\n}\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce((shadowProperties, key) => {\n const descriptor = getShadowedDescriptor(prototype, properties, key);\n if (descriptor) {\n Object.assign(shadowProperties, { [key]: descriptor });\n }\n return shadowProperties;\n }, {});\n}\nfunction getShadowedDescriptor(prototype, properties, key) {\n const shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n const shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n if (!shadowedByValue) {\n const descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n return descriptor;\n }\n}\nconst getOwnKeys = (() => {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return (object) => [...Object.getOwnPropertyNames(object), ...Object.getOwnPropertySymbols(object)];\n }\n else {\n return Object.getOwnPropertyNames;\n }\n})();\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n extended.prototype = Object.create(constructor.prototype, {\n constructor: { value: extended },\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n function testReflectExtension() {\n const a = function () {\n this.a.call(this);\n };\n const b = extendWithReflect(a);\n b.prototype.a = function () { };\n return new b();\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n }\n catch (error) {\n return (constructor) => class extended extends constructor {\n };\n }\n})();\n\nfunction blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor),\n };\n}\n\nclass Module {\n constructor(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n get identifier() {\n return this.definition.identifier;\n }\n get controllerConstructor() {\n return this.definition.controllerConstructor;\n }\n get contexts() {\n return Array.from(this.connectedContexts);\n }\n connectContextForScope(scope) {\n const context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n }\n disconnectContextForScope(scope) {\n const context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n }\n fetchContextForScope(scope) {\n let context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n }\n}\n\nclass ClassMap {\n constructor(scope) {\n this.scope = scope;\n }\n has(name) {\n return this.data.has(this.getDataKey(name));\n }\n get(name) {\n return this.getAll(name)[0];\n }\n getAll(name) {\n const tokenString = this.data.get(this.getDataKey(name)) || \"\";\n return tokenize(tokenString);\n }\n getAttributeName(name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n }\n getDataKey(name) {\n return `${name}-class`;\n }\n get data() {\n return this.scope.data;\n }\n}\n\nclass DataMap {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n }\n set(key, value) {\n const name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n }\n has(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n }\n delete(key) {\n if (this.has(key)) {\n const name = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name);\n return true;\n }\n else {\n return false;\n }\n }\n getAttributeNameForKey(key) {\n return `data-${this.identifier}-${dasherize(key)}`;\n }\n}\n\nclass Guide {\n constructor(logger) {\n this.warnedKeysByObject = new WeakMap();\n this.logger = logger;\n }\n warn(object, key, message) {\n let warnedKeys = this.warnedKeysByObject.get(object);\n if (!warnedKeys) {\n warnedKeys = new Set();\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n }\n}\n\nfunction attributeValueContainsToken(attributeName, token) {\n return `[${attributeName}~=\"${token}\"]`;\n}\n\nclass TargetSet {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(targetName) {\n return this.find(targetName) != null;\n }\n find(...targetNames) {\n return targetNames.reduce((target, targetName) => target || this.findTarget(targetName) || this.findLegacyTarget(targetName), undefined);\n }\n findAll(...targetNames) {\n return targetNames.reduce((targets, targetName) => [\n ...targets,\n ...this.findAllTargets(targetName),\n ...this.findAllLegacyTargets(targetName),\n ], []);\n }\n findTarget(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n }\n findAllTargets(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n }\n getSelectorForTargetName(targetName) {\n const attributeName = this.schema.targetAttributeForScope(this.identifier);\n return attributeValueContainsToken(attributeName, targetName);\n }\n findLegacyTarget(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n }\n findAllLegacyTargets(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map((element) => this.deprecate(element, targetName));\n }\n getLegacySelectorForTargetName(targetName) {\n const targetDescriptor = `${this.identifier}.${targetName}`;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n }\n deprecate(element, targetName) {\n if (element) {\n const { identifier } = this;\n const attributeName = this.schema.targetAttribute;\n const revisedAttributeName = this.schema.targetAttributeForScope(identifier);\n this.guide.warn(element, `target:${targetName}`, `Please replace ${attributeName}=\"${identifier}.${targetName}\" with ${revisedAttributeName}=\"${targetName}\". ` +\n `The ${attributeName} attribute is deprecated and will be removed in a future version of Stimulus.`);\n }\n return element;\n }\n get guide() {\n return this.scope.guide;\n }\n}\n\nclass OutletSet {\n constructor(scope, controllerElement) {\n this.scope = scope;\n this.controllerElement = controllerElement;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(outletName) {\n return this.find(outletName) != null;\n }\n find(...outletNames) {\n return outletNames.reduce((outlet, outletName) => outlet || this.findOutlet(outletName), undefined);\n }\n findAll(...outletNames) {\n return outletNames.reduce((outlets, outletName) => [...outlets, ...this.findAllOutlets(outletName)], []);\n }\n getSelectorForOutletName(outletName) {\n const attributeName = this.schema.outletAttributeForScope(this.identifier, outletName);\n return this.controllerElement.getAttribute(attributeName);\n }\n findOutlet(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n if (selector)\n return this.findElement(selector, outletName);\n }\n findAllOutlets(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n return selector ? this.findAllElements(selector, outletName) : [];\n }\n findElement(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName))[0];\n }\n findAllElements(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName));\n }\n matchesElement(element, selector, outletName) {\n const controllerAttribute = element.getAttribute(this.scope.schema.controllerAttribute) || \"\";\n return element.matches(selector) && controllerAttribute.split(\" \").includes(outletName);\n }\n}\n\nclass Scope {\n constructor(schema, element, identifier, logger) {\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n this.containsElement = (element) => {\n return element.closest(this.controllerSelector) === this.element;\n };\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n this.outlets = new OutletSet(this.documentScope, element);\n }\n findElement(selector) {\n return this.element.matches(selector) ? this.element : this.queryElements(selector).find(this.containsElement);\n }\n findAllElements(selector) {\n return [\n ...(this.element.matches(selector) ? [this.element] : []),\n ...this.queryElements(selector).filter(this.containsElement),\n ];\n }\n queryElements(selector) {\n return Array.from(this.element.querySelectorAll(selector));\n }\n get controllerSelector() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n }\n get isDocumentScope() {\n return this.element === document.documentElement;\n }\n get documentScope() {\n return this.isDocumentScope\n ? this\n : new Scope(this.schema, document.documentElement, this.identifier, this.guide.logger);\n }\n}\n\nclass ScopeObserver {\n constructor(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n start() {\n this.valueListObserver.start();\n }\n stop() {\n this.valueListObserver.stop();\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n parseValueForToken(token) {\n const { element, content: identifier } = token;\n return this.parseValueForElementAndIdentifier(element, identifier);\n }\n parseValueForElementAndIdentifier(element, identifier) {\n const scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n let scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n }\n elementMatchedValue(element, value) {\n const referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n }\n elementUnmatchedValue(element, value) {\n const referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n }\n fetchScopesByIdentifierForElement(element) {\n let scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n }\n}\n\nclass Router {\n constructor(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n get element() {\n return this.application.element;\n }\n get schema() {\n return this.application.schema;\n }\n get logger() {\n return this.application.logger;\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n get modules() {\n return Array.from(this.modulesByIdentifier.values());\n }\n get contexts() {\n return this.modules.reduce((contexts, module) => contexts.concat(module.contexts), []);\n }\n start() {\n this.scopeObserver.start();\n }\n stop() {\n this.scopeObserver.stop();\n }\n loadDefinition(definition) {\n this.unloadIdentifier(definition.identifier);\n const module = new Module(this.application, definition);\n this.connectModule(module);\n const afterLoad = definition.controllerConstructor.afterLoad;\n if (afterLoad) {\n afterLoad.call(definition.controllerConstructor, definition.identifier, this.application);\n }\n }\n unloadIdentifier(identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n }\n getContextForElementAndIdentifier(element, identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find((context) => context.element == element);\n }\n }\n proposeToConnectScopeForElementAndIdentifier(element, identifier) {\n const scope = this.scopeObserver.parseValueForElementAndIdentifier(element, identifier);\n if (scope) {\n this.scopeObserver.elementMatchedValue(scope.element, scope);\n }\n else {\n console.error(`Couldn't find or create scope for identifier: \"${identifier}\" and element:`, element);\n }\n }\n handleError(error, message, detail) {\n this.application.handleError(error, message, detail);\n }\n createScopeForElementAndIdentifier(element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n }\n scopeConnected(scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n }\n scopeDisconnected(scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }\n connectModule(module) {\n this.modulesByIdentifier.set(module.identifier, module);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.connectContextForScope(scope));\n }\n disconnectModule(module) {\n this.modulesByIdentifier.delete(module.identifier);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.disconnectContextForScope(scope));\n }\n}\n\nconst defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\",\n targetAttributeForScope: (identifier) => `data-${identifier}-target`,\n outletAttributeForScope: (identifier, outlet) => `data-${identifier}-${outlet}-outlet`,\n keyMappings: Object.assign(Object.assign({ enter: \"Enter\", tab: \"Tab\", esc: \"Escape\", space: \" \", up: \"ArrowUp\", down: \"ArrowDown\", left: \"ArrowLeft\", right: \"ArrowRight\", home: \"Home\", end: \"End\", page_up: \"PageUp\", page_down: \"PageDown\" }, objectFromEntries(\"abcdefghijklmnopqrstuvwxyz\".split(\"\").map((c) => [c, c]))), objectFromEntries(\"0123456789\".split(\"\").map((n) => [n, n]))),\n};\nfunction objectFromEntries(array) {\n return array.reduce((memo, [k, v]) => (Object.assign(Object.assign({}, memo), { [k]: v })), {});\n}\n\nclass Application {\n constructor(element = document.documentElement, schema = defaultSchema) {\n this.logger = console;\n this.debug = false;\n this.logDebugActivity = (identifier, functionName, detail = {}) => {\n if (this.debug) {\n this.logFormattedMessage(identifier, functionName, detail);\n }\n };\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n this.actionDescriptorFilters = Object.assign({}, defaultActionDescriptorFilters);\n }\n static start(element, schema) {\n const application = new this(element, schema);\n application.start();\n return application;\n }\n async start() {\n await domReady();\n this.logDebugActivity(\"application\", \"starting\");\n this.dispatcher.start();\n this.router.start();\n this.logDebugActivity(\"application\", \"start\");\n }\n stop() {\n this.logDebugActivity(\"application\", \"stopping\");\n this.dispatcher.stop();\n this.router.stop();\n this.logDebugActivity(\"application\", \"stop\");\n }\n register(identifier, controllerConstructor) {\n this.load({ identifier, controllerConstructor });\n }\n registerActionOption(name, filter) {\n this.actionDescriptorFilters[name] = filter;\n }\n load(head, ...rest) {\n const definitions = Array.isArray(head) ? head : [head, ...rest];\n definitions.forEach((definition) => {\n if (definition.controllerConstructor.shouldLoad) {\n this.router.loadDefinition(definition);\n }\n });\n }\n unload(head, ...rest) {\n const identifiers = Array.isArray(head) ? head : [head, ...rest];\n identifiers.forEach((identifier) => this.router.unloadIdentifier(identifier));\n }\n get controllers() {\n return this.router.contexts.map((context) => context.controller);\n }\n getControllerForElementAndIdentifier(element, identifier) {\n const context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }\n handleError(error, message, detail) {\n var _a;\n this.logger.error(`%s\\n\\n%o\\n\\n%o`, message, error, detail);\n (_a = window.onerror) === null || _a === void 0 ? void 0 : _a.call(window, message, \"\", 0, 0, error);\n }\n logFormattedMessage(identifier, functionName, detail = {}) {\n detail = Object.assign({ application: this }, detail);\n this.logger.groupCollapsed(`${identifier} #${functionName}`);\n this.logger.log(\"details:\", Object.assign({}, detail));\n this.logger.groupEnd();\n }\n}\nfunction domReady() {\n return new Promise((resolve) => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", () => resolve());\n }\n else {\n resolve();\n }\n });\n}\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const { classes } = this;\n if (classes.has(key)) {\n return classes.get(key);\n }\n else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n },\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n },\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n },\n },\n };\n}\n\nfunction OutletPropertiesBlessing(constructor) {\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n return outlets.reduce((properties, outletDefinition) => {\n return Object.assign(properties, propertiesForOutletDefinition(outletDefinition));\n }, {});\n}\nfunction getOutletController(controller, element, identifier) {\n return controller.application.getControllerForElementAndIdentifier(element, identifier);\n}\nfunction getControllerAndEnsureConnectedScope(controller, element, outletName) {\n let outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n controller.application.router.proposeToConnectScopeForElementAndIdentifier(element, outletName);\n outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n}\nfunction propertiesForOutletDefinition(name) {\n const camelizedName = namespaceCamelize(name);\n return {\n [`${camelizedName}Outlet`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n throw new Error(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`);\n }\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n },\n },\n [`${camelizedName}Outlets`]: {\n get() {\n const outlets = this.outlets.findAll(name);\n if (outlets.length > 0) {\n return outlets\n .map((outletElement) => {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n console.warn(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`, outletElement);\n })\n .filter((controller) => controller);\n }\n return [];\n },\n },\n [`${camelizedName}OutletElement`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n return outletElement;\n }\n else {\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n }\n },\n },\n [`${camelizedName}OutletElements`]: {\n get() {\n return this.outlets.findAll(name);\n },\n },\n [`has${capitalize(camelizedName)}Outlet`]: {\n get() {\n return this.outlets.has(name);\n },\n },\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n if (target) {\n return target;\n }\n else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n },\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n },\n },\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair, this.identifier);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, { [attributeName]: valueDescriptor });\n }, {});\n },\n },\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\nfunction propertiesForValueDefinitionPair(valueDefinitionPair, controller) {\n const definition = parseValueDefinitionPair(valueDefinitionPair, controller);\n const { key, name, reader: read, writer: write } = definition;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n if (value !== null) {\n return read(value);\n }\n else {\n return definition.defaultValue;\n }\n },\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n }\n else {\n this.data.set(key, write(value));\n }\n },\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n },\n },\n };\n}\nfunction parseValueDefinitionPair([token, typeDefinition], controller) {\n return valueDescriptorForTokenAndTypeDefinition({\n controller,\n token,\n typeDefinition,\n });\n}\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array:\n return \"array\";\n case Boolean:\n return \"boolean\";\n case Number:\n return \"number\";\n case Object:\n return \"object\";\n case String:\n return \"string\";\n }\n}\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\":\n return \"boolean\";\n case \"number\":\n return \"number\";\n case \"string\":\n return \"string\";\n }\n if (Array.isArray(defaultValue))\n return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\")\n return \"object\";\n}\nfunction parseValueTypeObject(payload) {\n const { controller, token, typeObject } = payload;\n const hasType = isSomething(typeObject.type);\n const hasDefault = isSomething(typeObject.default);\n const fullObject = hasType && hasDefault;\n const onlyType = hasType && !hasDefault;\n const onlyDefault = !hasType && hasDefault;\n const typeFromObject = parseValueTypeConstant(typeObject.type);\n const typeFromDefaultValue = parseValueTypeDefault(payload.typeObject.default);\n if (onlyType)\n return typeFromObject;\n if (onlyDefault)\n return typeFromDefaultValue;\n if (typeFromObject !== typeFromDefaultValue) {\n const propertyPath = controller ? `${controller}.${token}` : token;\n throw new Error(`The specified default value for the Stimulus Value \"${propertyPath}\" must match the defined type \"${typeFromObject}\". The provided default value of \"${typeObject.default}\" is of type \"${typeFromDefaultValue}\".`);\n }\n if (fullObject)\n return typeFromObject;\n}\nfunction parseValueTypeDefinition(payload) {\n const { controller, token, typeDefinition } = payload;\n const typeObject = { controller, token, typeObject: typeDefinition };\n const typeFromObject = parseValueTypeObject(typeObject);\n const typeFromDefaultValue = parseValueTypeDefault(typeDefinition);\n const typeFromConstant = parseValueTypeConstant(typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type)\n return type;\n const propertyPath = controller ? `${controller}.${typeDefinition}` : token;\n throw new Error(`Unknown value type \"${propertyPath}\" for \"${token}\" value`);\n}\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant)\n return defaultValuesByType[constant];\n const hasDefault = hasProperty(typeDefinition, \"default\");\n const hasType = hasProperty(typeDefinition, \"type\");\n const typeObject = typeDefinition;\n if (hasDefault)\n return typeObject.default;\n if (hasType) {\n const { type } = typeObject;\n const constantFromType = parseValueTypeConstant(type);\n if (constantFromType)\n return defaultValuesByType[constantFromType];\n }\n return typeDefinition;\n}\nfunction valueDescriptorForTokenAndTypeDefinition(payload) {\n const { token, typeDefinition } = payload;\n const key = `${dasherize(token)}-value`;\n const type = parseValueTypeDefinition(payload);\n return {\n type,\n key,\n name: camelize(key),\n get defaultValue() {\n return defaultValueForDefinition(typeDefinition);\n },\n get hasCustomDefaultValue() {\n return parseValueTypeDefault(typeDefinition) !== undefined;\n },\n reader: readers[type],\n writer: writers[type] || writers.default,\n };\n}\nconst defaultValuesByType = {\n get array() {\n return [];\n },\n boolean: false,\n number: 0,\n get object() {\n return {};\n },\n string: \"\",\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n if (!Array.isArray(array)) {\n throw new TypeError(`expected value of type \"array\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(array)}\"`);\n }\n return array;\n },\n boolean(value) {\n return !(value == \"0\" || String(value).toLowerCase() == \"false\");\n },\n number(value) {\n return Number(value.replace(/_/g, \"\"));\n },\n object(value) {\n const object = JSON.parse(value);\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(`expected value of type \"object\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(object)}\"`);\n }\n return object;\n },\n string(value) {\n return value;\n },\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON,\n};\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n static get shouldLoad() {\n return true;\n }\n static afterLoad(_identifier, _application) {\n return;\n }\n get application() {\n return this.context.application;\n }\n get scope() {\n return this.context.scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get targets() {\n return this.scope.targets;\n }\n get outlets() {\n return this.scope.outlets;\n }\n get classes() {\n return this.scope.classes;\n }\n get data() {\n return this.scope.data;\n }\n initialize() {\n }\n connect() {\n }\n disconnect() {\n }\n dispatch(eventName, { target = this.element, detail = {}, prefix = this.identifier, bubbles = true, cancelable = true, } = {}) {\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, { detail, bubbles, cancelable });\n target.dispatchEvent(event);\n return event;\n }\n}\nController.blessings = [\n ClassPropertiesBlessing,\n TargetPropertiesBlessing,\n ValuePropertiesBlessing,\n OutletPropertiesBlessing,\n];\nController.targets = [];\nController.outlets = [];\nController.values = {};\n\nexport { Application, AttributeObserver, Context, Controller, ElementObserver, IndexedMultimap, Multimap, SelectorObserver, StringMapObserver, TokenListObserver, ValueListObserver, add, defaultSchema, del, fetch, prune };\n","/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","//\n// strftime\n// github.com/samsonjs/strftime\n// @_sjs\n//\n// Copyright 2010 - 2021 Sami Samhuri \n//\n// MIT License\n// http://sjs.mit-license.org\n//\n\n;(function() {\n\n var Locales = {\n de_DE: {\n identifier: 'de-DE',\n days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],\n shortDays: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n months: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],\n shortMonths: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d.%m.%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n en_CA: {\n identifier: 'en-CA',\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],\n shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n ordinalSuffixes: [\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st'\n ],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n },\n\n en_US: {\n identifier: 'en-US',\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],\n shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n ordinalSuffixes: [\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st'\n ],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%m/%d/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n },\n\n es_MX: {\n identifier: 'es-MX',\n days: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],\n shortDays: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'],\n months: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre',' diciembre'],\n shortMonths: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n fr_FR: {\n identifier: 'fr-FR',\n days: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],\n shortDays: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],\n months: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],\n shortMonths: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n it_IT: {\n identifier: 'it-IT',\n days: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'],\n shortDays: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],\n months: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'],\n shortMonths: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n nl_NL: {\n identifier: 'nl-NL',\n days: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],\n shortDays: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],\n months: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],\n shortMonths: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n pt_BR: {\n identifier: 'pt-BR',\n days: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'],\n shortDays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'],\n months: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'],\n shortMonths: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n ru_RU: {\n identifier: 'ru-RU',\n days: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],\n shortDays: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],\n months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],\n shortMonths: ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X',\n D: '%d.%m.%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n tr_TR: {\n identifier: 'tr-TR',\n days: ['Pazar', 'Pazartesi', 'Salı','Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],\n shortDays: ['Paz', 'Pzt', 'Sal', 'Çrş', 'Prş', 'Cum', 'Cts'],\n months: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],\n shortMonths: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],\n AM: 'ÖÖ',\n PM: 'ÖS',\n am: 'ÖÖ',\n pm: 'ÖS',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n // By michaeljayt\n // https://github.com/michaeljayt/strftime/commit/bcb4c12743811d51e568175aa7bff3fd2a77cef3\n zh_CN: {\n identifier: 'zh-CN',\n days: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],\n shortDays: ['日', '一', '二', '三', '四', '五', '六'],\n months: ['一月份', '二月份', '三月份', '四月份', '五月份', '六月份', '七月份', '八月份', '九月份', '十月份', '十一月份', '十二月份'],\n shortMonths: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],\n AM: '上午',\n PM: '下午',\n am: '上午',\n pm: '下午',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n }\n };\n\n var DefaultLocale = Locales['en_US'],\n defaultStrftime = new Strftime(DefaultLocale, 0, false),\n isCommonJS = typeof module !== 'undefined',\n namespace;\n\n // CommonJS / Node module\n if (isCommonJS) {\n namespace = module.exports = defaultStrftime;\n }\n // Browsers and other environments\n else {\n // Get the global object. Works in ES3, ES5, and ES5 strict mode.\n namespace = (function() { return this || (1,eval)('this'); }());\n namespace.strftime = defaultStrftime;\n }\n\n // Polyfill Date.now for old browsers.\n if (typeof Date.now !== 'function') {\n Date.now = function() {\n return +new Date();\n };\n }\n\n function Strftime(locale, customTimezoneOffset, useUtcTimezone) {\n var _locale = locale || DefaultLocale,\n _customTimezoneOffset = customTimezoneOffset || 0,\n _useUtcBasedDate = useUtcTimezone || false,\n\n // we store unix timestamp value here to not create new Date() each iteration (each millisecond)\n // Date.now() is 2 times faster than new Date()\n // while millisecond precise is enough here\n // this could be very helpful when strftime triggered a lot of times one by one\n _cachedDateTimestamp = 0,\n _cachedDate;\n\n function _strftime(format, date) {\n var timestamp;\n\n if (!date) {\n var currentTimestamp = Date.now();\n if (currentTimestamp > _cachedDateTimestamp) {\n _cachedDateTimestamp = currentTimestamp;\n _cachedDate = new Date(_cachedDateTimestamp);\n\n timestamp = _cachedDateTimestamp;\n\n if (_useUtcBasedDate) {\n // how to avoid duplication of date instantiation for utc here?\n // we tied to getTimezoneOffset of the current date\n _cachedDate = new Date(_cachedDateTimestamp + getTimestampToUtcOffsetFor(_cachedDate) + _customTimezoneOffset);\n }\n }\n else {\n timestamp = _cachedDateTimestamp;\n }\n date = _cachedDate;\n }\n else {\n timestamp = date.getTime();\n\n if (_useUtcBasedDate) {\n var utcOffset = getTimestampToUtcOffsetFor(date);\n date = new Date(timestamp + utcOffset + _customTimezoneOffset);\n // If we've crossed a DST boundary with this calculation we need to\n // adjust the new date accordingly or it will be off by an hour in UTC.\n if (getTimestampToUtcOffsetFor(date) !== utcOffset) {\n var newUTCOffset = getTimestampToUtcOffsetFor(date);\n date = new Date(timestamp + newUTCOffset + _customTimezoneOffset);\n }\n }\n }\n\n return _processFormat(format, date, _locale, timestamp);\n }\n\n function _processFormat(format, date, locale, timestamp) {\n var resultString = '',\n padding = null,\n isInScope = false,\n length = format.length,\n extendedTZ = false;\n\n for (var i = 0; i < length; i++) {\n\n var currentCharCode = format.charCodeAt(i);\n\n if (isInScope === true) {\n // '-'\n if (currentCharCode === 45) {\n padding = '';\n continue;\n }\n // '_'\n else if (currentCharCode === 95) {\n padding = ' ';\n continue;\n }\n // '0'\n else if (currentCharCode === 48) {\n padding = '0';\n continue;\n }\n // ':'\n else if (currentCharCode === 58) {\n if (extendedTZ) {\n warn(\"[WARNING] detected use of unsupported %:: or %::: modifiers to strftime\");\n }\n extendedTZ = true;\n continue;\n }\n\n switch (currentCharCode) {\n\n // Examples for new Date(0) in GMT\n\n // '%'\n // case '%':\n case 37:\n resultString += '%';\n break;\n\n // 'Thursday'\n // case 'A':\n case 65:\n resultString += locale.days[date.getDay()];\n break;\n\n // 'January'\n // case 'B':\n case 66:\n resultString += locale.months[date.getMonth()];\n break;\n\n // '19'\n // case 'C':\n case 67:\n resultString += padTill2(Math.floor(date.getFullYear() / 100), padding);\n break;\n\n // '01/01/70'\n // case 'D':\n case 68:\n resultString += _processFormat(locale.formats.D, date, locale, timestamp);\n break;\n\n // '1970-01-01'\n // case 'F':\n case 70:\n resultString += _processFormat(locale.formats.F, date, locale, timestamp);\n break;\n\n // '00'\n // case 'H':\n case 72:\n resultString += padTill2(date.getHours(), padding);\n break;\n\n // '12'\n // case 'I':\n case 73:\n resultString += padTill2(hours12(date.getHours()), padding);\n break;\n\n // '000'\n // case 'L':\n case 76:\n resultString += padTill3(Math.floor(timestamp % 1000));\n break;\n\n // '00'\n // case 'M':\n case 77:\n resultString += padTill2(date.getMinutes(), padding);\n break;\n\n // 'am'\n // case 'P':\n case 80:\n resultString += date.getHours() < 12 ? locale.am : locale.pm;\n break;\n\n // '00:00'\n // case 'R':\n case 82:\n resultString += _processFormat(locale.formats.R, date, locale, timestamp);\n break;\n\n // '00'\n // case 'S':\n case 83:\n resultString += padTill2(date.getSeconds(), padding);\n break;\n\n // '00:00:00'\n // case 'T':\n case 84:\n resultString += _processFormat(locale.formats.T, date, locale, timestamp);\n break;\n\n // '00'\n // case 'U':\n case 85:\n resultString += padTill2(weekNumber(date, 'sunday'), padding);\n break;\n\n // '00'\n // case 'W':\n case 87:\n resultString += padTill2(weekNumber(date, 'monday'), padding);\n break;\n\n // '16:00:00'\n // case 'X':\n case 88:\n resultString += _processFormat(locale.formats.X, date, locale, timestamp);\n break;\n\n // '1970'\n // case 'Y':\n case 89:\n resultString += date.getFullYear();\n break;\n\n // 'GMT'\n // case 'Z':\n case 90:\n if (_useUtcBasedDate && _customTimezoneOffset === 0) {\n resultString += \"GMT\";\n }\n else {\n var tzName = getTimezoneName(date);\n resultString += tzName || '';\n }\n break;\n\n // 'Thu'\n // case 'a':\n case 97:\n resultString += locale.shortDays[date.getDay()];\n break;\n\n // 'Jan'\n // case 'b':\n case 98:\n resultString += locale.shortMonths[date.getMonth()];\n break;\n\n // ''\n // case 'c':\n case 99:\n resultString += _processFormat(locale.formats.c, date, locale, timestamp);\n break;\n\n // '01'\n // case 'd':\n case 100:\n resultString += padTill2(date.getDate(), padding);\n break;\n\n // ' 1'\n // case 'e':\n case 101:\n resultString += padTill2(date.getDate(), padding == null ? ' ' : padding);\n break;\n\n // 'Jan'\n // case 'h':\n case 104:\n resultString += locale.shortMonths[date.getMonth()];\n break;\n\n // '000'\n // case 'j':\n case 106:\n var y = new Date(date.getFullYear(), 0, 1);\n var day = Math.ceil((date.getTime() - y.getTime()) / (1000 * 60 * 60 * 24));\n resultString += padTill3(day);\n break;\n\n // ' 0'\n // case 'k':\n case 107:\n resultString += padTill2(date.getHours(), padding == null ? ' ' : padding);\n break;\n\n // '12'\n // case 'l':\n case 108:\n resultString += padTill2(hours12(date.getHours()), padding == null ? ' ' : padding);\n break;\n\n // '01'\n // case 'm':\n case 109:\n resultString += padTill2(date.getMonth() + 1, padding);\n break;\n\n // '\\n'\n // case 'n':\n case 110:\n resultString += '\\n';\n break;\n\n // '1st'\n // case 'o':\n case 111:\n // Try to use an ordinal suffix from the locale, but fall back to using the old\n // function for compatibility with old locales that lack them.\n var day = date.getDate();\n if (locale.ordinalSuffixes) {\n resultString += String(day) + (locale.ordinalSuffixes[day - 1] || ordinal(day));\n }\n else {\n resultString += String(day) + ordinal(day);\n }\n break;\n\n // 'AM'\n // case 'p':\n case 112:\n resultString += date.getHours() < 12 ? locale.AM : locale.PM;\n break;\n\n // '12:00:00 AM'\n // case 'r':\n case 114:\n resultString += _processFormat(locale.formats.r, date, locale, timestamp);\n break;\n\n // '0'\n // case 's':\n case 115:\n resultString += Math.floor(timestamp / 1000);\n break;\n\n // '\\t'\n // case 't':\n case 116:\n resultString += '\\t';\n break;\n\n // '4'\n // case 'u':\n case 117:\n var day = date.getDay();\n resultString += day === 0 ? 7 : day;\n break; // 1 - 7, Monday is first day of the week\n\n // ' 1-Jan-1970'\n // case 'v':\n case 118:\n resultString += _processFormat(locale.formats.v, date, locale, timestamp);\n break;\n\n // '4'\n // case 'w':\n case 119:\n resultString += date.getDay();\n break; // 0 - 6, Sunday is first day of the week\n\n // '12/31/69'\n // case 'x':\n case 120:\n resultString += _processFormat(locale.formats.x, date, locale, timestamp);\n break;\n\n // '70'\n // case 'y':\n case 121:\n resultString += ('' + date.getFullYear()).slice(2);\n break;\n\n // '+0000'\n // case 'z':\n case 122:\n if (_useUtcBasedDate && _customTimezoneOffset === 0) {\n resultString += extendedTZ ? \"+00:00\" : \"+0000\";\n }\n else {\n var off;\n if (_customTimezoneOffset !== 0) {\n off = _customTimezoneOffset / (60 * 1000);\n }\n else {\n off = -date.getTimezoneOffset();\n }\n var sign = off < 0 ? '-' : '+';\n var sep = extendedTZ ? ':' : '';\n var hours = Math.floor(Math.abs(off / 60));\n var mins = Math.abs(off % 60);\n resultString += sign + padTill2(hours) + sep + padTill2(mins);\n }\n break;\n\n default:\n if (isInScope) {\n resultString += '%';\n }\n resultString += format[i];\n break;\n }\n\n padding = null;\n isInScope = false;\n continue;\n }\n\n // '%'\n if (currentCharCode === 37) {\n isInScope = true;\n continue;\n }\n\n resultString += format[i];\n }\n\n return resultString;\n }\n\n var strftime = _strftime;\n\n strftime.localize = function(locale) {\n return new Strftime(locale || _locale, _customTimezoneOffset, _useUtcBasedDate);\n };\n\n strftime.localizeByIdentifier = function(localeIdentifier) {\n var locale = Locales[localeIdentifier];\n if (!locale) {\n warn('[WARNING] No locale found with identifier \"' + localeIdentifier + '\".');\n return strftime;\n }\n return strftime.localize(locale);\n };\n\n strftime.timezone = function(timezone) {\n var customTimezoneOffset = _customTimezoneOffset;\n var useUtcBasedDate = _useUtcBasedDate;\n\n var timezoneType = typeof timezone;\n if (timezoneType === 'number' || timezoneType === 'string') {\n useUtcBasedDate = true;\n\n // ISO 8601 format timezone string, [-+]HHMM\n if (timezoneType === 'string') {\n var sign = timezone[0] === '-' ? -1 : 1,\n hours = parseInt(timezone.slice(1, 3), 10),\n minutes = parseInt(timezone.slice(3, 5), 10);\n\n customTimezoneOffset = sign * ((60 * hours) + minutes) * 60 * 1000;\n // in minutes: 420\n }\n else if (timezoneType === 'number') {\n customTimezoneOffset = timezone * 60 * 1000;\n }\n }\n\n return new Strftime(_locale, customTimezoneOffset, useUtcBasedDate);\n };\n\n strftime.utc = function() {\n return new Strftime(_locale, _customTimezoneOffset, true);\n };\n\n return strftime;\n }\n\n function padTill2(numberToPad, paddingChar) {\n if (paddingChar === '' || numberToPad > 9) {\n return numberToPad;\n }\n if (paddingChar == null) {\n paddingChar = '0';\n }\n return paddingChar + numberToPad;\n }\n\n function padTill3(numberToPad) {\n if (numberToPad > 99) {\n return numberToPad;\n }\n if (numberToPad > 9) {\n return '0' + numberToPad;\n }\n return '00' + numberToPad;\n }\n\n function hours12(hour) {\n if (hour === 0) {\n return 12;\n }\n else if (hour > 12) {\n return hour - 12;\n }\n return hour;\n }\n\n // firstWeekday: 'sunday' or 'monday', default is 'sunday'\n //\n // Pilfered & ported from Ruby's strftime implementation.\n function weekNumber(date, firstWeekday) {\n firstWeekday = firstWeekday || 'sunday';\n\n // This works by shifting the weekday back by one day if we\n // are treating Monday as the first day of the week.\n var weekday = date.getDay();\n if (firstWeekday === 'monday') {\n if (weekday === 0) // Sunday\n weekday = 6;\n else\n weekday--;\n }\n\n var firstDayOfYearUtc = Date.UTC(date.getFullYear(), 0, 1),\n dateUtc = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()),\n yday = Math.floor((dateUtc - firstDayOfYearUtc) / 86400000),\n weekNum = (yday + 7 - weekday) / 7;\n\n return Math.floor(weekNum);\n }\n\n // Get the ordinal suffix for a number: st, nd, rd, or th\n function ordinal(number) {\n var i = number % 10;\n var ii = number % 100;\n\n if ((ii >= 11 && ii <= 13) || i === 0 || i >= 4) {\n return 'th';\n }\n switch (i) {\n case 1: return 'st';\n case 2: return 'nd';\n case 3: return 'rd';\n }\n }\n\n function getTimestampToUtcOffsetFor(date) {\n return (date.getTimezoneOffset() || 0) * 60000;\n }\n\n // Tries to get a short timezone name using Date.toLocaleString, falling back on the platform default\n // using Date.toString if necessary.\n function getTimezoneName(date, localeIdentifier) {\n return getShortTimezoneName(date, localeIdentifier) || getDefaultTimezoneName(date);\n }\n\n // Unfortunately this returns GMT+2 when running with `TZ=Europe/Amsterdam node test.js` so it's not\n // perfect.\n function getShortTimezoneName(date, localeIdentifier) {\n if (localeIdentifier == null) return null;\n\n var tzString = date\n .toLocaleString(localeIdentifier, { timeZoneName: 'short' })\n .match(/\\s([\\w]+)$/);\n return tzString && tzString[1];\n }\n\n // This varies by platform so it's not an ideal way to get the time zone name. On most platforms it's\n // a short name but in Node v10+ and Chrome 66+ it's a long name now. Prefer getShortTimezoneName(date)\n // where possible.\n function getDefaultTimezoneName(date) {\n var tzString = date.toString().match(/\\(([\\w\\s]+)\\)/);\n return tzString && tzString[1];\n }\n\n function warn(message) {\n if (typeof console !== 'undefined' && typeof console.warn == 'function') {\n console.warn(message)\n }\n }\n\n}());\n","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\n\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n\n return function styleq() {\n // Keep track of property commits to the className\n var definedProperties = []; // The className and inline style to build up\n\n var className = '';\n var inlineStyle = null; // The current position in the cache graph\n\n var nextCache = disableCache ? null : cache; // This way of creating an array from arguments is fastest\n\n var styles = new Array(arguments.length);\n\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n } // Iterate over styles from last to first\n\n\n while (styles.length > 0) {\n var possibleStyle = styles.pop(); // Skip empty items\n\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n } // Push nested styles back onto the stack to be processed\n\n\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n\n continue;\n } // Process an individual style object\n\n\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n\n if (style.$$css) {\n // Build up the class names defined by this object\n var classNameChunk = ''; // Check the cache to see if we've already done this work\n\n if (nextCache != null && nextCache.has(style)) {\n // Cache: read\n var cacheEntry = nextCache.get(style);\n\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0]; // $FlowIgnore\n\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[2];\n }\n } // Update the chunks with data from this object\n else {\n // The properties defined by this object\n var definedPropertiesChunk = [];\n\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) continue; // Each property value is used as an HTML class name\n // { 'debug.string': 'debug.string', opacity: 's-jskmnoqp' }\n\n if (typeof value === 'string' || value === null) {\n // Only add to chunks if this property hasn't already been seen\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } // If we encounter a value that isn't a string or `null`\n else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n } // Cache: write\n\n\n if (nextCache != null) {\n // Create the next WeakMap for this sequence of styles\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, weakMap]);\n nextCache = weakMap;\n }\n } // Order of classes in chunks matches property-iteration order of style\n // object. Order of chunks matches passed order of styles from first to\n // last (which we iterate over in reverse).\n\n\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } // ----- DYNAMIC: Process inline style object -----\n else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n\n for (var _prop in style) {\n var _value = style[_prop];\n\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n if (subStyle == null) {\n subStyle = {};\n }\n\n subStyle[_prop] = _value;\n }\n\n definedProperties.push(_prop); // Cache is unnecessary overhead if results can't be reused.\n\n nextCache = null;\n }\n }\n }\n\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n\n var styleProps = [className, inlineStyle];\n return styleProps;\n };\n}\n\nvar styleq = createStyleq();\nexports.styleq = styleq;\nstyleq.factory = createStyleq;","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.localizeStyle = localizeStyle;\nvar cache = new WeakMap();\nvar markerProp = '$$css$localize';\n/**\n * The compiler polyfills logical properties and values, generating a class\n * name for both writing directions. The style objects are annotated by\n * the compiler as needing this runtime transform. The results are memoized.\n *\n * { '$$css$localize': true, float: [ 'float-left', 'float-right' ] }\n * => { float: 'float-left' }\n */\n\nfunction compileStyle(style, isRTL) {\n // Create a new compiled style for styleq\n var compiledStyle = {};\n\n for (var prop in style) {\n if (prop !== markerProp) {\n var value = style[prop];\n\n if (Array.isArray(value)) {\n compiledStyle[prop] = isRTL ? value[1] : value[0];\n } else {\n compiledStyle[prop] = value;\n }\n }\n }\n\n return compiledStyle;\n}\n\nfunction localizeStyle(style, isRTL) {\n if (style[markerProp] != null) {\n var compiledStyleIndex = isRTL ? 1 : 0; // Check the cache in case we've already seen this object\n\n if (cache.has(style)) {\n var _cachedStyles = cache.get(style);\n\n var _compiledStyle = _cachedStyles[compiledStyleIndex];\n\n if (_compiledStyle == null) {\n // Update the missing cache entry\n _compiledStyle = compileStyle(style, isRTL);\n _cachedStyles[compiledStyleIndex] = _compiledStyle;\n cache.set(style, _cachedStyles);\n }\n\n return _compiledStyle;\n } // Create a new compiled style for styleq\n\n\n var compiledStyle = compileStyle(style, isRTL);\n var cachedStyles = new Array(2);\n cachedStyles[compiledStyleIndex] = compiledStyle;\n cache.set(style, cachedStyles);\n return compiledStyle;\n }\n\n return style;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nmodule.exports = require('./dist/transform-localize-style');\n","var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n //\n // Note to future-self: No, you can't remove the `toLowerCase()` call.\n // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n var uuid = unsafeStringify(arr, offset);\n // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;","var timeout = 5000;\nvar lastTime = Date.now();\nvar callbacks = [];\n\nsetInterval(function() {\n var currentTime = Date.now();\n if (currentTime > (lastTime + timeout + 2000)) {\n callbacks.forEach(function (fn) {\n fn();\n });\n }\n lastTime = currentTime;\n}, timeout);\n\nmodule.exports = function (fn) {\n callbacks.push(fn);\n};\n","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return (module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(e) {\n if (\"function\" != typeof WeakMap) return null;\n var r = new WeakMap(),\n t = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {\n return e ? t : r;\n })(e);\n}\nfunction _interopRequireWildcard(e, r) {\n if (!r && e && e.__esModule) return e;\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return {\n \"default\": e\n };\n var t = _getRequireWildcardCache(r);\n if (t && t.has(e)) return t.get(e);\n var n = {\n __proto__: null\n },\n a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {\n var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;\n i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];\n }\n return n[\"default\"] = e, t && t.set(e, n), n;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var defineProperty = require(\"./defineProperty.js\");\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const ReadersWriterLock = require(\"./src/readers-writer-lock.cjs\")\n\nmodule.exports = {\n ReadersWriterLock\n}\n","module.exports = class ReadersWriterLock {\n constructor(args = {}) {\n this._debug = args.debug\n this._readers = 0\n this._writers = 0\n this._processQueueTimeout = null\n this._readQueue = []\n this._writeQueue = []\n }\n\n read(callback) {\n if (this._debug) this._log(\"read\")\n return new Promise((resolve, reject) => {\n this._readWithResolve({callback, resolve, reject})\n })\n }\n\n write(callback) {\n if (this._debug) this._log(\"write\")\n return new Promise((resolve, reject) => {\n this._writeWithResolve({callback, resolve, reject})\n })\n }\n\n _log(message) {\n console.log(\"ReadersWriteLock\", message, JSON.stringify({readers: this._readers, writers: this._writers}))\n }\n\n _readWithResolve(item) {\n if (this._writers > 0) {\n if (this._debug) this._log(\"Queue read\")\n this._readQueue.push(item)\n } else {\n if (this._debug) this._log(\"Process read\")\n this._processRead(item)\n }\n }\n\n _writeWithResolve(item) {\n if (this._readers > 0 || this._writers > 0) {\n if (this._debug) this._log(\"Queue write\")\n this._writeQueue.push(item)\n } else {\n if (this._debug) this._log(\"Process write\")\n this._processWrite(item)\n }\n }\n\n async _processRead(item) {\n this._readers++\n\n try {\n let result\n\n if (item.callback) result = await item.callback()\n await item.resolve(result)\n } catch (error) {\n item.reject(error)\n } finally {\n this._readers--\n this._processQueueLater()\n }\n }\n\n async _processWrite(item) {\n this._writers++\n\n try {\n let result\n\n if (item.callback) result = await item.callback()\n await item.resolve(result)\n } catch (error) {\n item.reject(error)\n } finally {\n this._writers--\n this._processQueueLater()\n }\n }\n\n // First execute anything waiting after having given the lock back to the original caller by executing at the end of the event-queue by timeout-hack\n _processQueueLater() {\n if (this._processQueueTimeout) {\n clearTimeout(this._processQueueTimeout)\n }\n\n this._processQueueTimeout = setTimeout(this._processQueue, 0)\n }\n\n _processQueue = () => {\n if (this._writers == 0) {\n // If no one has begun writing, we should try and proceed to next read item if any\n const readQueueItem = this._readQueue.shift()\n\n if (readQueueItem) {\n if (this._debug) this._log(\"Process next read\")\n this._processRead(readQueueItem)\n } else if (this._readers == 0) {\n // No writers, no next item to read - we should try and proceed to next write item if any\n const writeQueueItem = this._writeQueue.shift()\n\n if (writeQueueItem) {\n if (this._debug) this._log(\"Process next write\")\n this._processWrite(writeQueueItem)\n }\n }\n }\n }\n}\n","module.exports = class FormDataToObject {\n static toObject(formData) {\n const formDataToObject = new FormDataToObject(formData)\n return formDataToObject.toObject()\n }\n\n constructor(formData) {\n this.formData = formData\n }\n\n static formDataFromObject(object, options) {\n if (object instanceof FormData) {\n return object\n } else if (object.nodeName == \"FORM\") {\n if (options) options[\"form\"] = object\n\n return new FormData(object)\n } else {\n throw new Error(\"Didnt know how to get form data from that object\")\n }\n }\n\n toObject() {\n const result = {}\n\n for(const entry of this.formData.entries()) {\n const key = entry[0]\n const value = entry[1]\n\n this.treatInitial(key, value, result)\n }\n\n return result\n }\n\n treatInitial(key, value, result) {\n const firstMatch = key.match(/^(.+?)(\\[([\\s\\S]+$))/)\n\n if (firstMatch) {\n const inputName = firstMatch[1]\n const rest = firstMatch[2]\n\n let newResult\n\n if (inputName in result) {\n newResult = result[inputName]\n } else if (rest == \"[]\") {\n newResult = []\n result[inputName] = newResult\n } else {\n newResult = {}\n result[inputName] = newResult\n }\n\n this.treatSecond(value, rest, newResult)\n } else {\n result[key] = value\n }\n }\n\n treatSecond(value, rest, result) {\n const secondMatch = rest.match(/^\\[(.*?)\\]([\\s\\S]*)$/)\n const key = secondMatch[1]\n const newRest = secondMatch[2]\n\n let newResult\n\n if (rest == \"[]\") {\n result.push(value)\n } else if (newRest == \"\") {\n result[key] = value\n } else {\n if (typeof result == \"object\" && key in result) {\n newResult = result[key]\n } else if (newRest == \"[]\") {\n newResult = []\n result[key] = newResult\n } else {\n newResult = {}\n result[key] = newResult\n }\n\n this.treatSecond(value, newRest, newResult)\n }\n }\n}\n","module.exports = function numberable(number, {delimiter = \",\", precision = 2, separator = \".\"}) {\n // Fixed number of decimals to given precision and convert to string\n number = `${number.toFixed(precision)}`\n\n // Split whole number with decimals\n const numberParts = number.split(\".\")\n const wholeNumbers = numberParts[0]\n\n let decimals = numberParts[1]\n\n // Append decimals if there are fewer then decired\n while(decimals.length < precision) {\n decimals += \"0\"\n }\n\n // Add delimiters to the whole number\n let numberWithDelimiters = \"\"\n let location = wholeNumbers.length\n\n while(location >= 1) {\n if (numberWithDelimiters != \"\") {\n numberWithDelimiters = `${delimiter}${numberWithDelimiters}`\n }\n\n numberWithDelimiters = `${wholeNumbers.substring(location - 3, location)}${numberWithDelimiters}`\n location -= 3\n }\n\n return `${numberWithDelimiters}${separator}${decimals}`\n}\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar DefineOwnProperty = require('../helpers/DefineOwnProperty');\n\nvar FromPropertyDescriptor = require('./FromPropertyDescriptor');\nvar IsDataDescriptor = require('./IsDataDescriptor');\nvar IsPropertyKey = require('./IsPropertyKey');\nvar SameValue = require('./SameValue');\nvar Type = require('./Type');\n\n// https://262.ecma-international.org/6.0/#sec-createmethodproperty\n\nmodule.exports = function CreateMethodProperty(O, P, V) {\n\tif (Type(O) !== 'Object') {\n\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t}\n\n\tif (!IsPropertyKey(P)) {\n\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t}\n\n\tvar newDesc = {\n\t\t'[[Configurable]]': true,\n\t\t'[[Enumerable]]': false,\n\t\t'[[Value]]': V,\n\t\t'[[Writable]]': true\n\t};\n\treturn DefineOwnProperty(\n\t\tIsDataDescriptor,\n\t\tSameValue,\n\t\tFromPropertyDescriptor,\n\t\tO,\n\t\tP,\n\t\tnewDesc\n\t);\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar isPropertyDescriptor = require('../helpers/records/property-descriptor');\nvar fromPropertyDescriptor = require('../helpers/fromPropertyDescriptor');\n\n// https://262.ecma-international.org/6.0/#sec-frompropertydescriptor\n\nmodule.exports = function FromPropertyDescriptor(Desc) {\n\tif (typeof Desc !== 'undefined' && !isPropertyDescriptor(Desc)) {\n\t\tthrow new $TypeError('Assertion failed: `Desc` must be a Property Descriptor');\n\t}\n\n\treturn fromPropertyDescriptor(Desc);\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar hasOwn = require('hasown');\n\nvar isPropertyDescriptor = require('../helpers/records/property-descriptor');\n\n// https://262.ecma-international.org/5.1/#sec-8.10.2\n\nmodule.exports = function IsDataDescriptor(Desc) {\n\tif (typeof Desc === 'undefined') {\n\t\treturn false;\n\t}\n\n\tif (!isPropertyDescriptor(Desc)) {\n\t\tthrow new $TypeError('Assertion failed: `Desc` must be a Property Descriptor');\n\t}\n\n\tif (!hasOwn(Desc, '[[Value]]') && !hasOwn(Desc, '[[Writable]]')) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n","'use strict';\n\n// https://262.ecma-international.org/6.0/#sec-ispropertykey\n\nmodule.exports = function IsPropertyKey(argument) {\n\treturn typeof argument === 'string' || typeof argument === 'symbol';\n};\n","'use strict';\n\nvar $isNaN = require('../helpers/isNaN');\n\n// http://262.ecma-international.org/5.1/#sec-9.12\n\nmodule.exports = function SameValue(x, y) {\n\tif (x === y) { // 0 === -0, but they are not identical.\n\t\tif (x === 0) { return 1 / x === 1 / y; }\n\t\treturn true;\n\t}\n\treturn $isNaN(x) && $isNaN(y);\n};\n","'use strict';\n\nvar ES5Type = require('../5/Type');\n\n// https://262.ecma-international.org/11.0/#sec-ecmascript-data-types-and-values\n\nmodule.exports = function Type(x) {\n\tif (typeof x === 'symbol') {\n\t\treturn 'Symbol';\n\t}\n\tif (typeof x === 'bigint') {\n\t\treturn 'BigInt';\n\t}\n\treturn ES5Type(x);\n};\n","'use strict';\n\n// https://262.ecma-international.org/5.1/#sec-8\n\nmodule.exports = function Type(x) {\n\tif (x === null) {\n\t\treturn 'Null';\n\t}\n\tif (typeof x === 'undefined') {\n\t\treturn 'Undefined';\n\t}\n\tif (typeof x === 'function' || typeof x === 'object') {\n\t\treturn 'Object';\n\t}\n\tif (typeof x === 'number') {\n\t\treturn 'Number';\n\t}\n\tif (typeof x === 'boolean') {\n\t\treturn 'Boolean';\n\t}\n\tif (typeof x === 'string') {\n\t\treturn 'String';\n\t}\n};\n","'use strict';\n\nvar hasPropertyDescriptors = require('has-property-descriptors');\n\nvar $defineProperty = require('es-define-property');\n\nvar hasArrayLengthDefineBug = hasPropertyDescriptors.hasArrayLengthDefineBug();\n\n// eslint-disable-next-line global-require\nvar isArray = hasArrayLengthDefineBug && require('../helpers/IsArray');\n\nvar callBound = require('call-bind/callBound');\n\nvar $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');\n\n// eslint-disable-next-line max-params\nmodule.exports = function DefineOwnProperty(IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, desc) {\n\tif (!$defineProperty) {\n\t\tif (!IsDataDescriptor(desc)) {\n\t\t\t// ES3 does not support getters/setters\n\t\t\treturn false;\n\t\t}\n\t\tif (!desc['[[Configurable]]'] || !desc['[[Writable]]']) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// fallback for ES3\n\t\tif (P in O && $isEnumerable(O, P) !== !!desc['[[Enumerable]]']) {\n\t\t\t// a non-enumerable existing property\n\t\t\treturn false;\n\t\t}\n\n\t\t// property does not exist at all, or exists but is enumerable\n\t\tvar V = desc['[[Value]]'];\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tO[P] = V; // will use [[Define]]\n\t\treturn SameValue(O[P], V);\n\t}\n\tif (\n\t\thasArrayLengthDefineBug\n\t\t&& P === 'length'\n\t\t&& '[[Value]]' in desc\n\t\t&& isArray(O)\n\t\t&& O.length !== desc['[[Value]]']\n\t) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tO.length = desc['[[Value]]'];\n\t\treturn O.length === desc['[[Value]]'];\n\t}\n\n\t$defineProperty(O, P, FromPropertyDescriptor(desc));\n\treturn true;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $Array = GetIntrinsic('%Array%');\n\n// eslint-disable-next-line global-require\nvar toStr = !$Array.isArray && require('call-bind/callBound')('Object.prototype.toString');\n\nmodule.exports = $Array.isArray || function IsArray(argument) {\n\treturn toStr(argument) === '[object Array]';\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\n\nvar $ownKeys = GetIntrinsic('%Reflect.ownKeys%', true);\nvar $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));\nvar $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);\nvar $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);\nvar $gOPS = $SymbolValueOf ? GetIntrinsic('%Object.getOwnPropertySymbols%') : null;\n\nvar keys = require('object-keys');\n\nmodule.exports = $ownKeys || function OwnPropertyKeys(source) {\n\tvar ownKeys = ($gOPN || keys)(source);\n\tif ($gOPS) {\n\t\t$pushApply(ownKeys, $gOPS(source));\n\t}\n\treturn ownKeys;\n};\n","'use strict';\n\nmodule.exports = function fromPropertyDescriptor(Desc) {\n\tif (typeof Desc === 'undefined') {\n\t\treturn Desc;\n\t}\n\tvar obj = {};\n\tif ('[[Value]]' in Desc) {\n\t\tobj.value = Desc['[[Value]]'];\n\t}\n\tif ('[[Writable]]' in Desc) {\n\t\tobj.writable = !!Desc['[[Writable]]'];\n\t}\n\tif ('[[Get]]' in Desc) {\n\t\tobj.get = Desc['[[Get]]'];\n\t}\n\tif ('[[Set]]' in Desc) {\n\t\tobj.set = Desc['[[Set]]'];\n\t}\n\tif ('[[Enumerable]]' in Desc) {\n\t\tobj.enumerable = !!Desc['[[Enumerable]]'];\n\t}\n\tif ('[[Configurable]]' in Desc) {\n\t\tobj.configurable = !!Desc['[[Configurable]]'];\n\t}\n\treturn obj;\n};\n","'use strict';\n\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar hasOwn = require('hasown');\n\nvar allowed = {\n\t__proto__: null,\n\t'[[Configurable]]': true,\n\t'[[Enumerable]]': true,\n\t'[[Get]]': true,\n\t'[[Set]]': true,\n\t'[[Value]]': true,\n\t'[[Writable]]': true\n};\n\n// https://262.ecma-international.org/6.0/#sec-property-descriptor-specification-type\n\nmodule.exports = function isPropertyDescriptor(Desc) {\n\tif (!Desc || typeof Desc !== 'object') {\n\t\treturn false;\n\t}\n\n\tfor (var key in Desc) { // eslint-disable-line\n\t\tif (hasOwn(Desc, key) && !allowed[key]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tvar isData = hasOwn(Desc, '[[Value]]') || hasOwn(Desc, '[[Writable]]');\n\tvar IsAccessor = hasOwn(Desc, '[[Get]]') || hasOwn(Desc, '[[Set]]');\n\tif (isData && IsAccessor) {\n\t\tthrow new $TypeError('Property Descriptors may not be both accessor and data descriptors');\n\t}\n\treturn true;\n};\n","module.exports = function uniqunize(array, callback) {\n const valuesSeen = []\n const uniqueArray = []\n\n for (const index in array) {\n const value = callback ? callback(array[index]) : array[index]\n\n if (!valuesSeen.includes(value)) {\n valuesSeen.push(value)\n uniqueArray.push(array[index])\n }\n }\n\n return uniqueArray\n}\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import {digg} from \"diggerize\"\n\nconst errorMessages = (args) => {\n if (typeof args.response == \"object\") {\n return digg(args, \"response\", \"errors\").map((error) => {\n if (typeof error == \"string\") {\n return error\n }\n\n return digg(error, \"message\")\n })\n }\n}\n\nexport default errorMessages\n","import {dig, digg} from \"diggerize\"\nimport errorMessages from \"./error-messages.mjs\"\n\nexport default class BaseError extends Error {\n static apiMakerType = \"BaseError\"\n\n constructor (message, args = {}) {\n let messageToUse = message\n\n if (\"addResponseErrorsToErrorMessage\" in args && !args.addResponseErrorsToErrorMessage) {\n messageToUse = message\n } else {\n if (typeof args.response == \"object\" && dig(args, \"response\", \"errors\")) {\n if (message) {\n messageToUse = `${messageToUse}: ${errorMessages(args).join(\". \")}`\n } else {\n messageToUse = errorMessages(args).join(\". \")\n }\n }\n }\n\n super(messageToUse)\n this.args = args\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n if (Error.captureStackTrace) Error.captureStackTrace(this, BaseError)\n }\n\n errorMessages () {\n return errorMessages(this.args)\n }\n\n errorTypes () {\n if (typeof this.args.response == \"object\") {\n return digg(this, \"args\", \"response\", \"errors\").map((error) => digg(error, \"type\"))\n }\n }\n}\n","import {digg} from \"diggerize\"\n\nexport default class ApiMakerBaseModelColumn {\n constructor(columnData) {\n if (!columnData) {\n throw new Error(\"No column data was given\")\n }\n\n this.columnData = columnData\n }\n\n getType = () => digg(this, \"columnData\", \"type\")\n}\n","import Column from \"./column.mjs\"\nimport {digg} from \"diggerize\"\n\nexport default class ApiMakerBaseModelAttribute {\n constructor(attributeData) {\n this.attributeData = attributeData\n }\n\n getColumn() {\n if (!this.column) {\n const columnData = digg(this, \"attributeData\", \"column\")\n\n if (columnData) {\n this.column = new Column(columnData)\n }\n }\n\n return this.column\n }\n\n isColumn = () => Boolean(digg(this, \"attributeData\", \"column\"))\n\n isSelectedByDefault() {\n const isSelectedByDefault = digg(this, \"attributeData\", \"selected_by_default\")\n\n if (isSelectedByDefault || isSelectedByDefault === null) return true\n\n return false\n }\n\n isTranslated = () => digg(this, \"attributeData\", \"translated\")\n name = () => digg(this, \"attributeData\", \"name\")\n}\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"../model-class-require.mjs\"\n\nexport default class ApiMakerBaseModelReflection {\n constructor(reflectionData) {\n this.reflectionData = reflectionData\n }\n\n foreignKey = () => digg(this, \"reflectionData\", \"foreignKey\")\n macro = () => digg(this, \"reflectionData\", \"macro\")\n modelClass = () => modelClassRequire(inflection.singularize(inflection.camelize(digg(this, \"reflectionData\", \"resource_name\"))))\n name = () => inflection.camelize(digg(this, \"reflectionData\", \"name\"), true)\n through = () => digg(this, \"reflectionData\", \"through\")\n}\n","import {digg} from \"diggerize\"\nimport EventEmitter from \"events\"\nimport * as inflection from \"inflection\"\nimport {ReadersWriterLock} from \"epic-locks\"\nimport Services from \"./services.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerCanCan {\n abilities = []\n abilitiesToLoad = []\n abilitiesToLoadData = []\n events = new EventEmitter()\n lock = new ReadersWriterLock()\n\n static current () {\n if (!shared.currentApiMakerCanCan) shared.currentApiMakerCanCan = new ApiMakerCanCan()\n\n return shared.currentApiMakerCanCan\n }\n\n can (ability, subject) {\n let abilityToUse = inflection.underscore(ability)\n const foundAbility = this.findAbility(abilityToUse, subject)\n\n if (foundAbility === undefined) {\n let subjectLabel = subject\n\n // Translate resource-models into class name strings\n if (typeof subject == \"function\" && subject.modelClassData) {\n subjectLabel = digg(subject.modelClassData(), \"name\")\n }\n\n console.error(`Ability not loaded ${subjectLabel}#${abilityToUse}`, {abilities: this.abilities, ability, subject})\n\n return false\n } else {\n return digg(foundAbility, \"can\")\n }\n }\n\n findAbility (ability, subject) {\n return this.abilities.find((abilityData) => {\n const abilityDataSubject = digg(abilityData, \"subject\")\n const abilityDataAbility = digg(abilityData, \"ability\")\n\n if (abilityDataAbility == ability) {\n // If actually same class\n if (abilityDataSubject == subject) return true\n\n // Sometimes in dev when using linking it will actually be two different but identical resource classes\n if (\n typeof subject == \"function\" &&\n subject.modelClassData &&\n typeof abilityDataSubject == \"function\" &&\n abilityDataSubject.modelClassData &&\n digg(subject.modelClassData(), \"name\") == digg(abilityDataSubject.modelClassData(), \"name\")\n ) {\n return true\n }\n }\n\n return false\n })\n }\n\n isAbilityLoaded (ability, subject) {\n const foundAbility = this.findAbility(ability, subject)\n\n if (foundAbility !== undefined) {\n return true\n }\n\n return false\n }\n\n async loadAbilities (abilities) {\n await this.lock.read(async () => {\n const promises = []\n\n for (const abilityData of abilities) {\n const subject = abilityData[0]\n\n if (!subject) throw new Error(`Invalid subject given in abilities: ${subject} - ${JSON.stringify(abilities)}`)\n if (!Array.isArray(abilityData[1])) throw new Error(`Expected an array of abilities but got: ${typeof abilityData[1]}: ${abilityData[1]}`)\n\n for (const ability of abilityData[1]) {\n const promise = this.loadAbility(ability, subject)\n\n promises.push(promise)\n }\n }\n\n await Promise.all(promises)\n })\n }\n\n loadAbility (ability, subject) {\n return new Promise((resolve) => {\n ability = inflection.underscore(ability)\n\n if (this.isAbilityLoaded(ability, subject)) {\n resolve()\n return\n }\n\n const foundAbility = this.abilitiesToLoad.find((abilityToLoad) => digg(abilityToLoad, \"ability\") == ability && digg(abilityToLoad, \"subject\") == subject)\n\n if (foundAbility) {\n foundAbility.callbacks.push(resolve)\n } else {\n this.abilitiesToLoad.push({ability, callbacks: [resolve], subject})\n this.abilitiesToLoadData.push({ability, subject})\n\n this.queueAbilitiesRequest()\n }\n })\n }\n\n queueAbilitiesRequest () {\n if (this.queueAbilitiesRequestTimeout) {\n clearTimeout(this.queueAbilitiesRequestTimeout)\n }\n\n this.queueAbilitiesRequestTimeout = setTimeout(this.sendAbilitiesRequest, 0)\n }\n\n async resetAbilities () {\n await this.lock.write(() => {\n this.abilities = []\n })\n this.events.emit(\"onResetAbilities\")\n }\n\n sendAbilitiesRequest = async () => {\n const abilitiesToLoad = this.abilitiesToLoad\n const abilitiesToLoadData = this.abilitiesToLoadData\n\n this.abilitiesToLoad = []\n this.abilitiesToLoadData = []\n\n // Load abilities from backend\n const result = await Services.current().sendRequest(\"CanCan::LoadAbilities\", {\n request: abilitiesToLoadData\n })\n const abilities = digg(result, \"abilities\")\n\n // Set the loaded abilities\n this.abilities = this.abilities.concat(abilities)\n\n // Call the callbacks that are waiting for the ability to have been loaded\n for (const abilityData of abilitiesToLoad) {\n for (const callback of abilityData.callbacks) {\n callback()\n }\n }\n }\n}\n","import config from \"./config.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport Logger from \"./logger.mjs\"\nimport qs from \"qs\"\nimport SessionStatusUpdater from \"./session-status-updater.mjs\"\nimport urlEncode from \"./url-encode.mjs\"\n\nconst logger = new Logger({name: \"ApiMaker / Api\"})\n\n// logger.setDebug(true)\n\nexport default class Api {\n static get = async (path, pathParams = null) => await Api.requestLocal({path, pathParams, method: \"GET\"})\n static delete = async (path, pathParams = null) => await Api.requestLocal({path, pathParams, method: \"DELETE\"})\n static patch = async (path, data = {}) => await Api.requestLocal({path, data, method: \"PATCH\"})\n static post = async (path, data = {}) => await Api.requestLocal({path, data, method: \"POST\"})\n\n static async request({data, headers, method, path, pathParams}) {\n let requestPath = \"\"\n if (config.getHost()) requestPath += config.getHost()\n requestPath += path\n\n if (pathParams) {\n const pathParamsString = qs.stringify(pathParams, {arrayFormat: \"brackets\", encoder: urlEncode})\n requestPath += `?${pathParamsString}`\n }\n\n const xhr = new XMLHttpRequest()\n\n xhr.open(method, requestPath, true)\n xhr.withCredentials = true\n\n if (headers) {\n for (const headerName in headers) {\n xhr.setRequestHeader(headerName, headers[headerName])\n }\n }\n\n const response = await Api.executeXhr(xhr, data)\n\n return response\n }\n\n static executeXhr(xhr, data) {\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n const response = this._parseResponse(xhr)\n\n if (xhr.status == 200) {\n resolve(response)\n } else {\n const customError = new CustomError(`Request failed with code: ${xhr.status}`, {response, xhr})\n\n if (data instanceof FormData) {\n customError.peakflowParameters = FormDataObjectizer.toObject(data)\n } else {\n customError.peakflowParameters = data\n }\n\n reject(customError)\n }\n }\n\n xhr.send(data)\n })\n }\n\n static async requestLocal(args) {\n if (!args.headers) {\n args.headers = {}\n }\n\n const token = await this._token()\n\n logger.debug(() => `Got token: ${token}`)\n\n if (token) {\n args.headers[\"X-CSRF-Token\"] = token\n }\n\n if (args.data) {\n args.headers[\"Content-Type\"] = \"application/json\"\n args.data = JSON.stringify(args.data)\n }\n\n if (args.rawData) {\n args.data = args.rawData\n }\n\n return await this.request(args)\n }\n\n static async put(path, data = {}) {\n return await this.requestLocal({path, data, method: \"PUT\"})\n }\n\n static _token = async () => await SessionStatusUpdater.current().getCsrfToken()\n\n static _parseResponse(xhr) {\n const responseType = xhr.getResponseHeader(\"content-type\")\n\n if (responseType && responseType.startsWith(\"application/json\")) {\n return JSON.parse(xhr.responseText)\n } else {\n return xhr.responseText\n }\n }\n}\n","import objectToFormData from \"object-to-formdata\"\n\nexport default class ApiMakerCommandSubmitData {\n constructor (data) {\n this.data = data\n this.filesCount = 0\n this.jsonData = this.traverseObject(this.data, \"json\")\n }\n\n getFilesCount = () => this.filesCount\n getJsonData = () => this.jsonData\n\n getRawData () {\n if (!this.rawData) {\n this.rawData = this.traverseObject(this.data, \"raw\")\n }\n\n return this.rawData\n }\n\n getFormData () {\n const objectForFormData = this.getRawData() || {}\n\n objectForFormData.json = JSON.stringify(this.getJsonData())\n\n const formData = objectToFormData.serialize(objectForFormData)\n\n return formData\n }\n\n convertDynamic (value, type) {\n if (Array.isArray(value)) {\n return this.traverseArray(value, type)\n } else if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return this.traverseObject(value, type)\n } else {\n return value\n }\n }\n\n shouldSkip (object, type) {\n if (type == \"json\" && object instanceof File) {\n this.filesCount += 1\n return true\n }\n\n if (type == \"raw\" && !Array.isArray(object) && !this.isObject(object) && !(object instanceof File)) {\n return true\n }\n\n return false\n }\n\n isObject (value) {\n if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return true\n }\n\n return false\n }\n\n traverseArray (array, type) {\n const newArray = []\n\n for (const value of array) {\n if (this.shouldSkip(value, type)) {\n continue\n }\n\n if (Array.isArray(value)) {\n newArray.push(this.convertDynamic(value, type))\n } else if (this.isObject(value)) {\n newArray.push(this.convertDynamic(value, type))\n } else {\n newArray.push(value)\n }\n }\n\n return newArray\n }\n\n traverseObject (object, type) {\n const newObject = {}\n\n for (const key in object) {\n const value = object[key]\n\n if (this.shouldSkip(value, type)) {\n continue\n }\n\n if (Array.isArray(value)) {\n newObject[key] = this.convertDynamic(value, type)\n } else if (this.isObject(value)) {\n newObject[key] = this.convertDynamic(value, type)\n } else {\n newObject[key] = value\n }\n }\n\n return newObject\n }\n}\n","import CustomError from \"./custom-error.mjs\"\n\nclass DestroyError extends CustomError {}\n\nDestroyError.apiMakerType = \"DestroyError\"\n\nexport default DestroyError\n","import {digg} from \"diggerize\"\n\nexport default class Serializer {\n static serialize (arg) {\n const serialize = new Serializer(arg)\n\n return serialize.serialize()\n }\n\n constructor (arg) {\n this.arg = arg\n }\n\n serialize () {\n return this.serializeArgument(this.arg)\n }\n\n serializeArgument (arg) {\n if (typeof arg == \"object\" && arg && arg.constructor.apiMakerType == \"BaseModel\") {\n return {\n api_maker_type: \"model\",\n model_class_name: digg(arg.modelClassData(), \"name\"),\n model_id: arg.id()\n }\n } else if (typeof arg == \"function\" && arg.apiMakerType == \"BaseModel\") {\n return {\n api_maker_type: \"resource\",\n name: digg(arg.modelClassData(), \"name\")\n }\n } else if (arg instanceof Date) {\n let offsetNumber = parseInt((arg.getTimezoneOffset() / 60) * 100, 10)\n\n offsetNumber = -offsetNumber\n\n let offset = `${offsetNumber}`\n\n while (offset.length < 4) {\n offset = `0${offset}`\n }\n\n return {\n api_maker_type: \"datetime\",\n value: `${arg.getFullYear()}-${arg.getMonth() + 1}-${arg.getDate()} ${arg.getHours()}:${arg.getMinutes()}:${arg.getSeconds()}+${offset}`\n }\n } else if (Array.isArray(arg)) {\n return this.serializeArray(arg)\n } else if (typeof arg == \"object\" && arg && arg.constructor && arg.constructor.apiMakerType == \"Collection\") {\n return {\n api_maker_type: \"collection\",\n value: this.serializeObject(arg)\n }\n } else if (typeof arg == \"object\" && arg !== null && arg.constructor.name == \"Object\") {\n return this.serializeObject(arg)\n } else {\n return arg\n }\n }\n\n serializeArray (arg) {\n return arg.map((value) => this.serializeArgument(value))\n }\n\n serializeObject (arg) {\n const newObject = {}\n\n for (const key in arg) {\n const value = arg[key]\n const newValue = this.serializeArgument(value)\n const newKey = this.serializeArgument(key)\n\n newObject[newKey] = newValue\n }\n\n return newObject\n }\n}\n","import Api from \"./api.mjs\"\nimport CommandSubmitData from \"./command-submit-data.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport DestroyError from \"./destroy-error.mjs\"\nimport Deserializer from \"./deserializer.mjs\"\nimport {dig, digg} from \"diggerize\"\nimport events from \"./events.mjs\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport RunLast from \"./run-last.mjs\"\nimport Serializer from \"./serializer.mjs\"\nimport SessionStatusUpdater from \"./session-status-updater.mjs\"\nimport ValidationError from \"./validation-error.mjs\"\nimport {ValidationErrors} from \"./validation-errors.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerCommandsPool {\n static addCommand(data, args = {}) {\n let pool\n\n if (args.instant) {\n pool = new ApiMakerCommandsPool()\n } else {\n pool = ApiMakerCommandsPool.current()\n }\n\n const promiseResult = pool.addCommand(data)\n\n if (args.instant) {\n pool.flushRunLast.run()\n } else {\n pool.flushRunLast.queue()\n }\n\n return promiseResult\n }\n\n static current() {\n if (!shared.currentApiMakerCommandsPool) shared.currentApiMakerCommandsPool = new ApiMakerCommandsPool()\n\n return shared.currentApiMakerCommandsPool\n }\n\n static flush() {\n ApiMakerCommandsPool.current().flush()\n }\n\n constructor() {\n this.flushCount = 0\n this.pool = {}\n this.poolData = {}\n this.currentId = 1\n this.globalRequestData = {}\n }\n\n addCommand(data) {\n const stack = Error().stack\n\n return new Promise((resolve, reject) => {\n const id = this.currentId\n this.currentId += 1\n\n const commandType = data.type\n const commandName = data.command\n const collectionName = data.collectionName\n\n this.pool[id] = {resolve, reject, stack}\n\n if (!this.poolData[commandType]) this.poolData[commandType] = {}\n if (!this.poolData[commandType][collectionName]) this.poolData[commandType][collectionName] = {}\n if (!this.poolData[commandType][collectionName][commandName]) this.poolData[commandType][collectionName][commandName] = {}\n\n let args\n\n if (data.args?.nodeName == \"FORM\") {\n const formData = new FormData(data.args)\n\n args = FormDataObjectizer.toObject(formData)\n } else if (data.args instanceof FormData) {\n args = FormDataObjectizer.toObject(data.args)\n } else {\n args = Serializer.serialize(data.args)\n }\n\n this.poolData[commandType][collectionName][commandName][id] = {\n args,\n primary_key: data.primaryKey,\n id\n }\n })\n }\n\n commandsCount() {\n return Object.keys(this.pool)\n }\n\n async sendRequest({commandSubmitData, url}) {\n let response\n\n for (let i = 0; i < 3; i++) {\n if (commandSubmitData.getFilesCount() > 0) {\n response = await Api.requestLocal({path: url, method: \"POST\", rawData: commandSubmitData.getFormData()})\n } else {\n response = await Api.requestLocal({path: url, method: \"POST\", data: commandSubmitData.getJsonData()})\n }\n\n if (response.success === false && response.type == \"invalid_authenticity_token\") {\n console.log(\"Invalid authenticity token - try again\")\n await SessionStatusUpdater.current().updateSessionStatus()\n continue\n }\n\n return response\n }\n\n throw new Error(\"Couldnt successfully execute request\")\n }\n\n flush = async () => {\n if (this.commandsCount() == 0) {\n return\n }\n\n const currentPool = this.pool\n const currentPoolData = this.poolData\n\n this.pool = {}\n this.poolData = {}\n this.flushCount++\n\n try {\n const submitData = {pool: currentPoolData}\n\n if (Object.keys(this.globalRequestData).length > 0)\n submitData.global = this.globalRequestData\n\n const commandSubmitData = new CommandSubmitData(submitData)\n const url = \"/api_maker/commands\"\n const response = await this.sendRequest({commandSubmitData, url})\n\n for (const commandId in response.responses) {\n const commandResponse = response.responses[commandId]\n const commandResponseData = Deserializer.parse(commandResponse.data)\n const commandData = currentPool[parseInt(commandId, 10)]\n const responseType = commandResponse.type\n\n if (commandResponseData && typeof commandResponseData == \"object\") {\n const bugReportUrl = dig(commandResponseData, \"bug_report_url\")\n\n if (bugReportUrl) {\n console.log(`Bug report URL: ${bugReportUrl}`)\n }\n }\n\n if (responseType == \"success\") {\n commandData.resolve(commandResponseData)\n } else if (responseType == \"error\") {\n const error = new CustomError(\"Command error\", {response: commandResponseData})\n\n error.stack += \"\\n\"\n error.stack += commandData.stack.split(\"\\n\").slice(1).join(\"\\n\")\n\n commandData.reject(error)\n } else if (responseType == \"failed\") {\n this.handleFailedResponse(commandData, commandResponseData)\n } else {\n throw new Error(`Unhandled response type: ${responseType}`)\n }\n }\n } finally {\n this.flushCount--\n }\n }\n\n handleFailedResponse(commandData, commandResponseData) {\n let error\n\n if (commandResponseData.error_type == \"destroy_error\") {\n error = new DestroyError(`Destroy failed`, {response: commandResponseData})\n } else if (commandResponseData.error_type == \"validation_error\") {\n const validationErrors = new ValidationErrors({\n model: digg(commandResponseData, \"model\"),\n validationErrors: digg(commandResponseData, \"validation_errors\")\n })\n error = new ValidationError(validationErrors, {response: commandResponseData})\n\n events.emit(\"onValidationErrors\", validationErrors)\n } else {\n let errorMessage\n\n if (!commandResponseData.errors) { errorMessage = \"Command failed\" }\n\n error = new CustomError(errorMessage, {response: commandResponseData})\n }\n\n commandData.reject(error)\n }\n\n isActive() {\n if (this.commandsCount() > 0) {\n return true\n }\n\n if (this.flushCount > 0) {\n return true\n }\n\n return false\n }\n\n flushRunLast = new RunLast(this.flush)\n}\n","import * as inflection from \"inflection\"\n\nconst accessors = {\n breakPoints: {\n default: [\n [\"xxl\", 1400],\n [\"xl\", 1200],\n [\"lg\", 992],\n [\"md\", 768],\n [\"sm\", 576],\n [\"xs\", 0]\n ],\n required: true\n },\n currenciesCollection: {required: true},\n history: {required: false},\n host: {required: false},\n i18n: {required: false},\n modal: {required: false},\n routes: {required: false},\n routeDefinitions: {required: false}\n}\n\nclass ApiMakerConfig {\n constructor() {\n if (!globalThis.apiMakerConfigGlobal) globalThis.apiMakerConfigGlobal = {}\n\n this.global = globalThis.apiMakerConfigGlobal\n }\n}\n\nfor (const accessorName in accessors) {\n const accessorData = accessors[accessorName]\n const camelizedAccessor = inflection.camelize(accessorName)\n\n ApiMakerConfig.prototype[`set${camelizedAccessor}`] = function (newValue) { this.global[accessorName] = newValue }\n ApiMakerConfig.prototype[`get${camelizedAccessor}`] = function (...args) {\n if (!this.global[accessorName]) {\n if (accessorData.default) return accessorData.default\n if (accessorData.required) throw new Error(`${accessorName} hasn't been set`)\n }\n\n const value = this.global[accessorName]\n\n if (typeof value == \"function\") return value(...args)\n\n return value\n }\n}\n\nconst apiMakerConfig = new ApiMakerConfig()\n\nexport default apiMakerConfig\n","import BaseError from \"./base-error.mjs\"\n\nclass CustomError extends BaseError {}\n\nCustomError.apiMakerType = \"CustomError\"\n\nexport default CustomError\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport ModelsResponseReader from \"./models-response-reader.mjs\"\nimport Money from \"js-money\"\n\nexport default class ApiMakerDeserializer {\n static parse (object) {\n if (Array.isArray(object)) {\n return object.map((value) => ApiMakerDeserializer.parse(value))\n } else if (object && typeof object == \"object\") {\n if (object.api_maker_type == \"date\") {\n const date = new Date(digg(object, \"value\"))\n\n date.apiMakerType = \"date\"\n\n return date\n } else if (object.api_maker_type == \"time\") {\n const date = new Date(digg(object, \"value\"))\n\n date.apiMakerType = \"time\"\n\n return date\n } else if (object.api_maker_type == \"collection\") {\n // Need to remove type to avoid circular error\n const {api_maker_type, ...restObject} = object\n\n return ModelsResponseReader.collection(ApiMakerDeserializer.parse(restObject))\n } else if (object.api_maker_type == \"money\") {\n const cents = digg(object, \"amount\")\n const currency = digg(object, \"currency\")\n\n return Money.fromInteger(cents, currency)\n } else if (object.api_maker_type == \"model\") {\n const modelClassName = inflection.classify(digg(object, \"model_name\"))\n const ModelClass = modelClassRequire(modelClassName)\n const data = ApiMakerDeserializer.parse(digg(object, \"serialized\"))\n const model = new ModelClass({data, isNewRecord: false})\n\n return model\n } else if (object.api_maker_type == \"resource\") {\n const modelClassName = inflection.classify(digg(object, \"name\"))\n const ModelClass = modelClassRequire(modelClassName)\n\n return ModelClass\n } else {\n const newObject = {}\n\n for (const key in object) {\n const value = object[key]\n newObject[key] = ApiMakerDeserializer.parse(value)\n }\n\n return newObject\n }\n } else {\n return object\n }\n }\n}\n","import CanCan from \"./can-can.mjs\"\nimport Deserializer from \"./deserializer.mjs\"\nimport {digg} from \"diggerize\"\nimport events from \"./events.mjs\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport Services from \"./services.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerDevise {\n static callSignOutEvent(args) {\n events.emit(\"onDeviseSignOut\", {args})\n }\n\n static current() {\n if (!shared.currentApiMakerDevise) {\n shared.currentApiMakerDevise = new ApiMakerDevise()\n }\n\n return shared.currentApiMakerDevise\n }\n\n static events() {\n return events\n }\n\n static addUserScope(scope) {\n const currentMethodName = `current${inflection.camelize(scope)}`\n\n ApiMakerDevise[currentMethodName] = () => ApiMakerDevise.current().getCurrentScope(scope)\n\n const isSignedInMethodName = `is${inflection.camelize(scope)}SignedIn`\n\n ApiMakerDevise[isSignedInMethodName] = () => Boolean(ApiMakerDevise.current().getCurrentScope(scope))\n }\n\n static async signIn(username, password, args = {}) {\n if (!args.scope) args.scope = \"user\"\n\n const postData = {username, password, args}\n const response = await Services.current().sendRequest(\"Devise::SignIn\", postData)\n\n let model = response.model\n\n if (Array.isArray(model)) model = model[0]\n\n await CanCan.current().resetAbilities()\n\n ApiMakerDevise.updateSession(model)\n events.emit(\"onDeviseSignIn\", Object.assign({username}, args))\n\n return {model, response}\n }\n\n static updateSession(model, args = {}) {\n if (!args.scope) args.scope = \"user\"\n\n const camelizedScopeName = inflection.camelize(args.scope, true)\n\n ApiMakerDevise.current().currents[camelizedScopeName] = model\n }\n\n hasCurrentScope(scope) {\n const camelizedScopeName = inflection.camelize(scope, true)\n\n return camelizedScopeName in ApiMakerDevise.current().currents\n }\n\n static setSignedOut(args) {\n ApiMakerDevise.current().currents[inflection.camelize(args.scope, true)] = null\n }\n\n static async signOut(args = {}) {\n if (!args.scope) {\n args.scope = \"user\"\n }\n\n const response = await Services.current().sendRequest(\"Devise::SignOut\", {args})\n\n await CanCan.current().resetAbilities()\n\n // Cannot use the class because they would both import each other\n if (shared.apiMakerSessionStatusUpdater) {\n shared.apiMakerSessionStatusUpdater.updateSessionStatus()\n }\n\n ApiMakerDevise.setSignedOut(args)\n ApiMakerDevise.callSignOutEvent(args)\n\n return response\n }\n\n constructor() {\n this.currents = {}\n }\n\n getCurrentScope(scope) {\n if (!(scope in this.currents)) {\n this.currents[scope] = this.loadCurrentScope(scope)\n }\n\n return this.currents[scope]\n }\n\n hasGlobalCurrentScope(scope) {\n if (globalThis.apiMakerDeviseCurrent && scope in globalThis.apiMakerDeviseCurrent) {\n return true\n }\n\n return false\n }\n\n loadCurrentScope(scope) {\n if (!this.hasGlobalCurrentScope(scope)) {\n return null\n }\n\n const scopeData = globalThis.apiMakerDeviseCurrent[scope]\n\n if (!scopeData) return null\n\n const parsedScopeData = Deserializer.parse(scopeData)\n\n // Might be a collection with preloaded relationships\n if (Array.isArray(parsedScopeData)) return parsedScopeData[0]\n\n const ModelClass = modelClassRequire(scope)\n const modelInstance = new ModelClass({data: parsedScopeData})\n\n return modelInstance\n }\n}\n","var UNKNOWN_FUNCTION = '';\n/**\n * This parses the different stack traces and puts them into one format\n * This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)\n */\n\nfunction parse(stackString) {\n var lines = stackString.split('\\n');\n return lines.reduce(function (stack, line) {\n var parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);\n\n if (parseResult) {\n stack.push(parseResult);\n }\n\n return stack;\n }, []);\n}\nvar chromeRe = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar chromeEvalRe = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nfunction parseChrome(line) {\n var parts = chromeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n var submatch = chromeEvalRe.exec(parts[2]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n\n parts[3] = submatch[2]; // line\n\n parts[4] = submatch[3]; // column\n }\n\n return {\n file: !isNative ? parts[2] : null,\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: isNative ? [parts[2]] : [],\n lineNumber: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar winjsRe = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseWinjs(line) {\n var parts = winjsRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar geckoRe = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar geckoEvalRe = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nfunction parseGecko(line) {\n var parts = geckoRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = geckoEvalRe.exec(parts[3]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = null; // no column when eval\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: parts[2] ? parts[2].split(',') : [],\n lineNumber: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar javaScriptCoreRe = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\n\nfunction parseJSC(line) {\n var parts = javaScriptCoreRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[4],\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar nodeRe = /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseNode(line) {\n var parts = nodeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nexport { parse };\n","import * as stackTraceParser from \"stacktrace-parser\"\nimport Logger from \"./logger.mjs\"\nimport {SourceMapConsumer} from \"source-map\"\nimport uniqunize from \"uniqunize\"\n\n// Sometimes this needs to be called and sometimes not\nif (SourceMapConsumer.initialize) {\n SourceMapConsumer.initialize({\n \"lib/mappings.wasm\": \"https://unpkg.com/source-map@0.7.3/lib/mappings.wasm\"\n })\n}\n\nconst logger = new Logger({name: \"ApiMaker / SourceMapsLoader\"})\n\nexport default class SourceMapsLoader {\n constructor() {\n this.isLoadingSourceMaps = false\n this.sourceMaps = []\n this.srcLoaded = {}\n }\n\n loadSourceMapsForScriptTags(callback) {\n this.loadSourceMapsForScriptTagsCallback = callback\n }\n\n sourceMapForSource(callback) {\n this.sourceMapForSourceCallback = callback\n }\n\n async loadSourceMaps(error) {\n if (!error) throw new Error(\"No error was given to SourceMapsLoader#loadSourceMaps\")\n\n this.isLoadingSourceMaps = true\n\n try {\n const promises = []\n const sources = this.getSources(error)\n\n for(const source of sources) {\n if (source.originalUrl && !this.srcLoaded[source.originalUrl]) {\n this.srcLoaded[source.originalUrl] = true\n\n const promise = this.loadSourceMapForSource(source)\n promises.push(promise)\n }\n }\n\n await Promise.all(promises)\n } finally {\n this.isLoadingSourceMaps = false\n }\n }\n\n getSources(error) {\n let sources = this.getSourcesFromScripts()\n\n if (error) sources = sources.concat(this.getSourcesFromError(error))\n\n return uniqunize(sources, (source) => source.originalUrl)\n }\n\n getSourcesFromError(error) {\n const stack = stackTraceParser.parse(error.stack)\n const sources = []\n\n for (const trace of stack) {\n const file = trace.file\n\n if (file != \"\\u003Canonymous>\") {\n const sourceMapUrl = this.getMapURL({src: file})\n\n if (sourceMapUrl) {\n logger.debug(() => `Found source map from error: ${sourceMapUrl}`)\n\n sources.push({originalUrl: file, sourceMapUrl})\n } else {\n logger.debug(() => `Coudn't get source map from: ${file}`)\n }\n }\n }\n\n return sources\n }\n\n getSourcesFromScripts() {\n const scripts = document.querySelectorAll(\"script\")\n const sources = []\n\n for (const script of scripts) {\n const sourceMapUrl = this.getMapURL({script, src: script.src})\n\n if (sourceMapUrl) {\n logger.debug(() => `Found source map from script: ${sourceMapUrl}`)\n sources.push({originalUrl: script.src, sourceMapUrl})\n }\n }\n\n return sources\n }\n\n getMapURL({script, src}) {\n const url = this.loadUrl(src)\n const originalUrl = `${url.origin}${url.pathname}`\n\n if (this.sourceMapForSourceCallback) {\n // Use custom callback to resolve which map-file to download\n return this.sourceMapForSourceCallback({originalUrl, script, src, url})\n } else if (this.includeMapURL(src)) {\n // Default to original URL with '.map' appended\n return `${originalUrl}.map`\n }\n }\n\n includeMapURL = (src) => src.includes(\"/packs/\")\n\n async loadSourceMapForSource({originalUrl, sourceMapUrl}) {\n const xhr = new XMLHttpRequest()\n\n xhr.open(\"GET\", sourceMapUrl, true)\n\n await this.loadXhr(xhr)\n\n const consumer = await new SourceMapConsumer(xhr.responseText)\n\n this.sourceMaps.push({consumer, originalUrl})\n }\n\n loadUrl(url) {\n const parser = document.createElement(\"a\")\n\n parser.href = url\n\n return parser\n }\n\n loadXhr(xhr, postData) {\n return new Promise((resolve) => {\n xhr.onload = () => resolve()\n xhr.send(postData)\n })\n }\n\n parseStackTrace(stackTrace) {\n return this.getStackTraceData(stackTrace)\n .map((traceData) => `at ${traceData.methodName} (${traceData.fileString})`)\n }\n\n getStackTraceData(stackTrace) {\n const stack = stackTraceParser.parse(stackTrace)\n const newSourceMap = []\n\n for (const trace of stack) {\n const sourceMapData = this.sourceMaps.find((sourceMapData) => sourceMapData.originalUrl == trace.file)\n\n let filePath, fileString, original\n\n if (sourceMapData) {\n original = sourceMapData.consumer.originalPositionFor({\n line: trace.lineNumber,\n column: trace.column\n })\n }\n\n if (original && original.source) {\n filePath = original.source.replace(/^webpack:\\/\\/(app|)\\//, \"\")\n fileString = `${filePath}:${original.line}`\n\n if (original.column) {\n fileString += `:${original.column}`\n }\n } else {\n filePath = trace.file\n fileString = `${filePath}:${trace.lineNumber}`\n\n if (trace.column) {\n fileString += `:${trace.column}`\n }\n }\n\n newSourceMap.push({\n filePath,\n fileString,\n methodName: trace.methodName\n })\n }\n\n return newSourceMap\n }\n}\n","import {digg} from \"diggerize\"\nimport SourceMapsLoader from \"./source-maps-loader.mjs\"\n\nexport default class ErrorLogger {\n constructor () {\n this.debugging = false\n this.errorOccurred = false\n this.errors = []\n this.isHandlingError = false\n this.sourceMapsLoader = new SourceMapsLoader()\n this.sourceMapsLoader.loadSourceMapsForScriptTags((script) => {\n const src = script.getAttribute(\"src\")\n const type = script.getAttribute(\"type\")\n\n if (src && (src.includes(\"/packs/\") || src.includes(\"/packs-test/\")) && (type == \"text/javascript\" || !type)) {\n return src\n }\n })\n }\n\n debug(...output) {\n if (this.debugging) console.error(`ApiMaker ErrorLogger:`, ...output)\n }\n\n enable () {\n this.debug(\"Enable called\")\n this.connectOnError()\n this.connectUnhandledRejection()\n }\n\n getErrors = () => this.errors\n\n hasErrorOccurred() {\n return digg(this, \"errorOccurred\")\n }\n\n isLoadingSourceMaps() {\n return digg(this, \"sourceMapsLoader\", \"isLoadingSourceMaps\")\n }\n\n isWorkingOnError() {\n return digg(this, \"isHandlingError\") || this.isLoadingSourceMaps()\n }\n\n connectOnError () {\n window.addEventListener(\"error\", (event) => {\n if (this.debugging) this.debug(`Error:`, event.message)\n this.errorOccurred = true\n\n if (!this.isHandlingError) {\n this.isHandlingError = true\n this.onError(event).finally(() => {\n this.isHandlingError = false\n })\n }\n })\n }\n\n connectUnhandledRejection () {\n window.addEventListener(\"unhandledrejection\", (event) => {\n if (this.debugging) this.debug(`Unhandled rejection:`, event.reason.message)\n this.errorOccurred = true\n\n if (!this.isHandlingError) {\n this.isHandlingError = true\n this.onUnhandledRejection(event).finally(() => {\n this.isHandlingError = false\n })\n }\n })\n }\n\n async onError (event) {\n this.errorOccurred = true\n await this.sourceMapsLoader.loadSourceMaps(event.error)\n\n if (event.error && event.error.stack) {\n const backtrace = this.sourceMapsLoader.parseStackTrace(event.error.stack)\n\n this.errors.push({\n errorClass: event.error ? event.error.name : \"No error class\",\n message: event.message || \"Unknown error\",\n backtrace\n })\n } else {\n this.errors.push({\n errorClass: event.error ? event.error.name : \"No error class\",\n message: event.message || \"Unknown error\",\n backtrace: null\n })\n }\n }\n\n async onUnhandledRejection (event) {\n await this.sourceMapsLoader.loadSourceMaps(event.reason)\n\n if (event.reason.stack) {\n const backtrace = this.sourceMapsLoader.parseStackTrace(event.reason.stack)\n\n this.errors.push({\n errorClass: \"UnhandledRejection\",\n message: event.reason.message || \"Unhandled promise rejection\",\n backtrace\n })\n } else {\n this.errors.push({\n errorClass: \"UnhandledRejection\",\n message: event.reason.message || \"Unhandled promise rejection\",\n backtrace: null\n })\n }\n }\n\n testPromiseError () {\n return new Promise((_resolve) => {\n throw new Error(\"testPromiseError\")\n })\n }\n}\n","import EventEmitter from \"events\"\n\nconst events = new EventEmitter()\n\nevents.setMaxListeners(1000)\n\nexport default events\n","const shared = {}\n\nexport default class ApiMakerLogger {\n static getGlobalDebug = () => shared.isDebugging\n\n static setGlobalDebug(newValue) {\n shared.isDebugging = newValue\n }\n\n constructor(args = {}) {\n this.name = args.name\n }\n\n debug(message) {\n if (this.getDebug()) {\n this.log(message)\n }\n }\n\n error(message) {\n console.error(message)\n }\n\n log(message) {\n if (!this.debug && !ApiMakerLogger.getGlobalDebug()) return\n if (typeof message == \"function\") message = message()\n if (!Array.isArray(message)) message = [message]\n if (this.name) message.unshift(`${this.name}:`)\n\n console.log(...message)\n }\n\n getDebug = () => this.isDebugging\n\n setDebug(value) {\n this.isDebugging = value\n }\n}\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport * as models from \"./models.mjs.erb\"\n\nexport default (modelName) => {\n const requireName = inflection.camelize(modelName)\n const ModelClass = digg(models, requireName)\n\n return ModelClass\n}\n","export default class AttributeNotLoadedError extends Error {}\n","import SparkMD5 from \"spark-md5\"\n\nexport default class CacheKeyGenerator {\n constructor(model) {\n this.model = model\n this.allModels = [model]\n this.readModels = {}\n this.recordModelType(model.modelClassData().name)\n this.recordModel(model.modelClassData().name, model)\n this.filledModels = false\n }\n\n local() {\n const md5 = new SparkMD5()\n\n this.feedModel(this.model, md5)\n\n return md5.end()\n }\n\n recordModelType(relationshipType) {\n if (!(relationshipType in this.readModels)) {\n this.readModels[relationshipType] = {}\n }\n }\n\n recordModel(relationshipType, model) {\n this.allModels.push(model)\n this.readModels[relationshipType][model.id() || model.uniqueKey()] = true\n }\n\n isModelRecorded(relationshipType, model) {\n if (model.id() in this.readModels[relationshipType]) {\n return true\n }\n }\n\n fillModels(model) {\n for (const relationshipType in model.relationships) {\n this.recordModelType(relationshipType)\n\n const loadedRelationship = model.relationships[relationshipType]\n\n if (Array.isArray(loadedRelationship)) { // has_many\n for (const anotherModel of loadedRelationship) {\n if (this.isModelRecorded(relationshipType, anotherModel)) {\n continue\n }\n\n this.recordModel(relationshipType, anotherModel)\n this.fillModels(anotherModel)\n }\n } else if (loadedRelationship) { // belongs_to, has_one\n if (this.isModelRecorded(relationshipType, loadedRelationship)) {\n continue\n }\n\n this.recordModel(relationshipType, loadedRelationship)\n this.fillModels(loadedRelationship)\n }\n }\n\n this.filledModels = true\n }\n\n cacheKey() {\n if (!this.filledModels) {\n this.fillModels(this.model)\n }\n\n const md5 = new SparkMD5()\n\n for (const model of this.allModels) {\n this.feedModel(model, md5)\n }\n\n return md5.end()\n }\n\n feedModel(model, md5) {\n md5.append(\"--model--\")\n md5.append(model.modelClassData().name)\n md5.append(\"--unique-key--\")\n md5.append(model.id() || model.uniqueKey())\n\n if (model.markedForDestruction()) {\n md5.append(\"--marked-for-destruction--\")\n }\n\n md5.append(\"-attributes-\")\n\n const attributes = model.attributes()\n\n for (const attributeName in attributes) {\n md5.append(attributeName)\n md5.append(\"--attribute--\")\n md5.append(`${model.readAttributeUnderscore(attributeName)}`)\n }\n }\n}\n","import Config from \"./config.mjs\"\nimport * as inflection from \"inflection\"\n\nexport default class ModelName {\n constructor(data) {\n this.data = data\n }\n\n camelizedLower = () => this.data.modelClassData.camelizedLower\n\n human(args) {\n let argsToUse = args\n\n if (!argsToUse) argsToUse = { count: 1 }\n\n let countKey\n\n if (argsToUse.count > 1 || argsToUse.count < 0) {\n countKey = \"other\"\n } else {\n countKey = \"one\"\n }\n\n const key = `activerecord.models.${this.data.modelClassData.i18nKey}.${countKey}`\n let defaultModelName = this.data.modelClassData.name\n\n if (args?.count > 1) defaultModelName = inflection.pluralize(defaultModelName)\n\n return Config.getI18n().t(key, {defaultValue: defaultModelName})\n }\n\n paramKey = () => this.data.modelClassData.paramKey\n}\n","export default class NotLoadedError extends Error {}\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\n\nexport default class ApiMakerBaseModelScope {\n constructor(scopeData) {\n this.scopeData = scopeData\n }\n\n name() {\n return inflection.camelize(digg(this, \"scopeData\", \"name\"), true)\n }\n}\n","import Attribute from \"./base-model/attribute.mjs\"\nimport AttributeNotLoadedError from \"./attribute-not-loaded-error.mjs\"\nimport CacheKeyGenerator from \"./cache-key-generator.mjs\"\nimport Collection from \"./collection.mjs\"\nimport CommandsPool from \"./commands-pool.mjs\"\nimport Config from \"./config.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport {digg} from \"diggerize\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport * as inflection from \"inflection\"\nimport ModelName from \"./model-name.mjs\"\nimport NotLoadedError from \"./not-loaded-error.mjs\"\nimport objectToFormData from \"object-to-formdata\"\nimport Reflection from \"./base-model/reflection.mjs\"\nimport Scope from \"./base-model/scope.mjs\"\nimport Services from \"./services.mjs\"\nimport ValidationError from \"./validation-error.mjs\"\nimport {ValidationErrors} from \"./validation-errors.mjs\"\n\nconst objectToUnderscore = (object) => {\n const newObject = {}\n\n for (const key in object) {\n const underscoreKey = inflection.underscore(key)\n\n newObject[underscoreKey] = object[key]\n }\n\n return newObject\n}\n\nexport default class BaseModel {\n static apiMakerType = \"BaseModel\"\n\n static attributes() {\n const attributes = digg(this.modelClassData(), \"attributes\")\n const result = []\n\n for (const attributeKey in attributes) {\n const attributeData = attributes[attributeKey]\n const attribute = new Attribute(attributeData)\n\n result.push(attribute)\n }\n\n return result\n }\n\n static hasAttribute(attributeName) {\n const attributes = digg(this.modelClassData(), \"attributes\")\n const lowerCaseAttributeName = inflection.underscore(attributeName)\n\n if (lowerCaseAttributeName in attributes) return true\n\n return false\n }\n\n static modelClassData() {\n throw new Error(\"modelClassData should be overriden by child\")\n }\n\n static newCustomEvent = (validationErrors) => {\n return new CustomEvent(\"validation-errors\", {detail: validationErrors})\n }\n\n static sendValidationErrorsEvent = (validationErrors, options) => {\n if (options && options.form) {\n const event = BaseModel.newCustomEvent(validationErrors)\n options.form.dispatchEvent(event)\n }\n }\n\n static async find(id) {\n const query = {}\n\n query[`${this.primaryKey()}_eq`] = id\n\n const model = await this.ransack(query).first()\n\n if (model) {\n return model\n } else {\n throw new CustomError(\"Record not found\")\n }\n }\n\n static async findOrCreateBy(findOrCreateByArgs, args = {}) {\n const result = await Services.current().sendRequest(\"Models::FindOrCreateBy\", {\n additional_data: args.additionalData,\n find_or_create_by_args: findOrCreateByArgs,\n resource_name: digg(this.modelClassData(), \"name\")\n })\n const model = digg(result, \"model\")\n\n return model\n }\n\n static modelName() {\n return new ModelName({modelClassData: this.modelClassData()})\n }\n\n static primaryKey() {\n return digg(this.modelClassData(), \"primaryKey\")\n }\n\n static ransack(query = {}) {\n return new Collection({modelClass: this}, {ransack: query})\n }\n\n static select(select) {\n return this.ransack().select(select)\n }\n\n static ransackableAssociations() {\n const relationships = digg(this.modelClassData(), \"ransackable_associations\")\n const reflections = []\n\n for (const relationshipData of relationships) {\n reflections.push(new Reflection(relationshipData))\n }\n\n return reflections\n }\n\n static ransackableAttributes() {\n const attributes = digg(this.modelClassData(), \"ransackable_attributes\")\n const result = []\n\n for (const attributeData of attributes) {\n result.push(new Attribute(attributeData))\n }\n\n return result\n }\n\n static ransackableScopes() {\n const ransackableScopes = digg(this.modelClassData(), \"ransackable_scopes\")\n const result = []\n\n for (const scopeData of ransackableScopes) {\n const scope = new Scope(scopeData)\n\n result.push(scope)\n }\n\n return result\n }\n\n static reflections() {\n const relationships = digg(this.modelClassData(), \"relationships\")\n const reflections = []\n\n for (const relationshipData of relationships) {\n const reflection = new Reflection(relationshipData)\n\n reflections.push(reflection)\n }\n\n return reflections\n }\n\n static reflection(name) {\n const foundReflection = this.reflections().find((reflection) => reflection.name() == name)\n\n if (!foundReflection) {\n throw new Error(`No such reflection: ${name} in ${this.reflections().map((reflection) => reflection.name()).join(\", \")}`)\n }\n\n return foundReflection\n }\n\n static _token() {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n return csrfTokenElement.getAttribute(\"content\")\n }\n }\n\n constructor(args = {}) {\n this.changes = {}\n this.newRecord = args.isNewRecord\n this.relationshipsCache = {}\n this.relationships = {}\n\n if (args && args.data && args.data.a) {\n this._readModelDataFromArgs(args)\n } else if (args.a) {\n this.abilities = args.b || {}\n this.modelData = objectToUnderscore(args.a)\n } else if (args) {\n this.abilities = {}\n this.modelData = objectToUnderscore(args)\n } else {\n this.abilities = {}\n this.modelData = {}\n }\n }\n\n assignAttributes(newAttributes) {\n for (const key in newAttributes) {\n const newValue = newAttributes[key]\n const attributeUnderscore = inflection.underscore(key)\n\n let applyChange = true\n let deleteChange = false\n\n if (this.isAttributeLoaded(key)) {\n const oldValue = this.readAttribute(key)\n const originalValue = this.modelData[attributeUnderscore]\n\n if (newValue == oldValue) {\n applyChange = false\n } else if (newValue == originalValue) {\n applyChange = false\n deleteChange = true\n }\n }\n\n if (applyChange) {\n this.changes[attributeUnderscore] = newValue\n } else if (deleteChange) {\n delete this.changes[attributeUnderscore]\n }\n }\n }\n\n attributes() {\n const result = {}\n\n for (const key in this.modelData) {\n result[key] = this.modelData[key]\n }\n\n for (const key in this.changes) {\n result[key] = this.changes[key]\n }\n\n return result\n }\n\n can(givenAbilityName) {\n const abilityName = inflection.underscore(givenAbilityName)\n\n if (!(abilityName in this.abilities)) {\n throw new Error(`Ability ${abilityName} hasn't been loaded for ${digg(this.modelClassData(), \"name\")}`)\n }\n\n return this.abilities[abilityName]\n }\n\n clone() {\n const clone = new this.constructor()\n\n clone.abilities = {...this.abilities}\n clone.modelData = {...this.modelData}\n clone.relationships = {...this.relationships}\n clone.relationshipsCache = {...this.relationshipsCache}\n\n return clone\n }\n\n cacheKey() {\n if (this.isPersisted()) {\n const keyParts = [\n this.modelClassData().paramKey,\n this.primaryKey()\n ]\n\n if (\"updated_at\" in this.modelData) {\n const updatedAt = this.updatedAt()\n\n if (typeof updatedAt != \"object\") {\n throw new Error(`updatedAt wasn't an object: ${typeof updatedAt}`)\n } else if (!(\"getTime\" in updatedAt)) {\n throw new Error(`updatedAt didn't support getTime with class: ${updatedAt.constructor && updatedAt.constructor.name}`)\n }\n\n keyParts.push(`updatedAt-${this.updatedAt().getTime()}`)\n }\n\n return keyParts.join(\"-\")\n } else {\n return this.uniqueKey()\n }\n }\n\n localCacheKey() {\n const cacheKeyGenerator = new CacheKeyGenerator(this)\n\n return cacheKeyGenerator.local()\n }\n\n fullCacheKey() {\n const cacheKeyGenerator = new CacheKeyGenerator(this)\n\n return cacheKeyGenerator.cacheKey()\n }\n\n static all() {\n return this.ransack()\n }\n\n async create(attributes, options) {\n if (attributes) this.assignAttributes(attributes)\n const paramKey = this.modelClassData().paramKey\n const modelData = this.getAttributes()\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-create`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"create\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n }\n\n async createRaw(rawData, options = {}) {\n const objectData = BaseModel._objectDataFromGivenRawData(rawData, options)\n\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n save: objectData\n },\n command: `${this.modelClassData().collectionName}-create`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"create\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelDataFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n }\n\n async destroy() {\n const response = await CommandsPool.addCommand(\n {\n args: {query_params: this.collection && this.collection.params()},\n command: `${this.modelClassData().collectionName}-destroy`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"destroy\"\n },\n {}\n )\n\n if (response.success) {\n if (response.model) {\n this._refreshModelDataFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n } else {\n this.handleResponseError(response)\n }\n }\n\n async ensureAbilities(listOfAbilities) {\n // Populate an array with a list of abilities currently not loaded\n const abilitiesToLoad = []\n\n for (const abilityInList of listOfAbilities) {\n if (!(abilityInList in this.abilities)) {\n abilitiesToLoad.push(abilityInList)\n }\n }\n\n // Load the missing abilities if any\n if (abilitiesToLoad.length > 0) {\n const primaryKeyName = this.constructor.primaryKey()\n const ransackParams = {}\n ransackParams[`${primaryKeyName}_eq`] = this.primaryKey()\n\n const abilitiesParams = {}\n abilitiesParams[digg(this.modelClassData(), \"name\")] = abilitiesToLoad\n\n const anotherModel = await this.constructor\n .ransack(ransackParams)\n .abilities(abilitiesParams)\n .first()\n\n if (!anotherModel) {\n throw new Error(`Could not look up the same model ${this.primaryKey()} with abilities: ${abilitiesToLoad.join(\", \")}`)\n }\n\n const newAbilities = anotherModel.abilities\n for (const newAbility in newAbilities) {\n this.abilities[newAbility] = newAbilities[newAbility]\n }\n }\n }\n\n getAttributes = () => Object.assign(this.modelData, this.changes)\n\n handleResponseError(response) {\n BaseModel.parseValidationErrors({model: this, response})\n throw new new CustomError(\"Response wasn't successful\", {model: this, response})\n }\n\n identifierKey() {\n if (!this._identifierKey) this._identifierKey = this.isPersisted() ? this.primaryKey() : this.uniqueKey()\n\n return this._identifierKey\n }\n\n isAssociationLoaded = (associationName) => this.isAssociationLoadedUnderscore(inflection.underscore(associationName))\n isAssociationLoadedUnderscore (associationNameUnderscore) {\n if (associationNameUnderscore in this.relationshipsCache) return true\n return false\n }\n\n isAssociationPresent(associationName) {\n if (this.isAssociationLoaded(associationName)) return true\n if (associationName in this.relationships) return true\n return false\n }\n\n static parseValidationErrors({error, model, options}) {\n if (!(error instanceof ValidationError)) return\n if (!error.args.response.validation_errors) return\n\n const validationErrors = new ValidationErrors({\n model,\n validationErrors: digg(error, \"args\", \"response\", \"validation_errors\")\n })\n\n BaseModel.sendValidationErrorsEvent(validationErrors, options)\n\n if (!options || options.throwValidationError != false) {\n throw error\n }\n }\n\n static humanAttributeName(attributeName) {\n const keyName = digg(this.modelClassData(), \"i18nKey\")\n const i18n = Config.getI18n()\n\n if (i18n) return i18n.t(`activerecord.attributes.${keyName}.${BaseModel.snakeCase(attributeName)}`, {defaultValue: attributeName})\n\n return inflection.humanize(attributeName)\n }\n\n isAttributeChanged(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n const attributeData = this.modelClassData().attributes.find((attribute) => digg(attribute, \"name\") == attributeNameUnderscore)\n\n if (!attributeData) {\n const attributeNames = this.modelClassData().attributes.map((attribute) => digg(attribute, \"name\"))\n\n throw new Error(`Couldn't find an attribute by that name: \"${attributeName}\" in: ${attributeNames.join(\", \")}`)\n }\n\n if (!(attributeNameUnderscore in this.changes))\n return false\n\n const oldValue = this.modelData[attributeNameUnderscore]\n const newValue = this.changes[attributeNameUnderscore]\n const changedMethod = this[`_is${inflection.camelize(attributeData.type, true)}Changed`]\n\n if (!changedMethod)\n throw new Error(`Don't know how to handle type: ${attributeData.type}`)\n\n return changedMethod(oldValue, newValue)\n }\n\n isChanged() {\n const keys = Object.keys(this.changes)\n\n if (keys.length > 0) {\n return true\n } else {\n return false\n }\n }\n\n isNewRecord() {\n if (this.newRecord !== undefined) {\n return this.newRecord\n } else if (\"id\" in this.modelData && this.modelData.id) {\n return false\n } else {\n return true\n }\n }\n\n isPersisted = () => !this.isNewRecord()\n\n static snakeCase = (string) => inflection.underscore(string)\n\n savedChangeToAttribute(attributeName) {\n if (!this.previousModelData)\n return false\n\n const attributeNameUnderscore = inflection.underscore(attributeName)\n const attributeData = this.modelClassData().attributes.find((attribute) => attribute.name == attributeNameUnderscore)\n\n if (!attributeData) {\n const attributeNames = this.modelClassData().attributes.map((attribute) => attribute.name)\n throw new Error(`Couldn't find an attribute by that name: \"${attributeName}\" in: ${attributeNames.join(\", \")}`)\n }\n\n if (!(attributeNameUnderscore in this.previousModelData))\n return true\n\n const oldValue = this.previousModelData[attributeNameUnderscore]\n const newValue = this.modelData[attributeNameUnderscore]\n const changedMethodName = `_is${inflection.camelize(attributeData.type)}Changed`\n const changedMethod = this[changedMethodName]\n\n if (!changedMethod)\n throw new Error(`Don't know how to handle type: ${attributeData.type}`)\n\n return changedMethod(oldValue, newValue)\n }\n\n setNewModel(model) {\n this.setNewModelData(model)\n\n for(const relationshipName in model.relationships) {\n this.relationships[relationshipName] = model.relationships[relationshipName]\n }\n\n for(const relationshipCacheName in model.relationshipsCache) {\n this.relationshipsCache[relationshipCacheName] = model.relationshipsCache[name]\n }\n }\n\n setNewModelData(model) {\n if (!(\"modelData\" in model)) throw new Error(`No modelData in model: ${JSON.stringify(model)}`)\n\n this.previousModelData = Object.assign({}, digg(this, \"modelData\"))\n\n for(const attributeName in model.modelData) {\n this.modelData[attributeName] = model.modelData[attributeName]\n }\n }\n\n _isDateChanged(oldValue, newValue) {\n if (Date.parse(oldValue) != Date.parse(newValue))\n return true\n }\n\n _isIntegerChanged(oldValue, newValue) {\n if (parseInt(oldValue, 10) != parseInt(newValue, 10))\n return true\n }\n\n _isStringChanged (oldValue, newValue) {\n const oldConvertedValue = `${oldValue}`\n const newConvertedValue = `${newValue}`\n\n if (oldConvertedValue != newConvertedValue)\n return true\n }\n\n modelClassData = () => this.constructor.modelClassData()\n\n async reload() {\n const params = this.collection && this.collection.params()\n const ransackParams = {}\n ransackParams[`${this.constructor.primaryKey()}_eq`] = this.primaryKey()\n\n let query = this.constructor.ransack(ransackParams)\n\n if (params) {\n if (params.preload) {\n query.queryArgs.preload = params.preload\n }\n\n if (params.select) {\n query.queryArgs.select = params.select\n }\n\n if (params.select_columns) {\n query.queryArgs.selectColumns = params.select_columns\n }\n }\n\n const model = await query.first()\n this.setNewModel(model)\n this.changes = {}\n }\n\n save() {\n if (this.isNewRecord()) {\n return this.create()\n } else {\n return this.update()\n }\n }\n\n saveRaw(rawData, options = {}) {\n if (this.isNewRecord()) {\n return this.createRaw(rawData, options)\n } else {\n return this.updateRaw(rawData, options)\n }\n }\n\n async update(newAttributes, options) {\n if (newAttributes) {\n this.assignAttributes(newAttributes)\n }\n\n if (Object.keys(this.changes).length == 0) {\n return {model: this}\n }\n\n const paramKey = this.modelClassData().paramKey\n const modelData = this.changes\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n query_params: this.collection && this.collection.params(),\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-update`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"update\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.success) {\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {response, model: this}\n } else {\n this.handleResponseError(response)\n }\n }\n\n _refreshModelFromResponse(response) {\n let newModel = digg(response, \"model\")\n\n if (Array.isArray(newModel)) newModel = newModel[0]\n\n this.setNewModel(newModel)\n }\n\n _refreshModelDataFromResponse(response) {\n let newModel = digg(response, \"model\")\n\n if (Array.isArray(newModel)) newModel = newModel[0]\n\n this.setNewModelData(newModel)\n }\n\n static _objectDataFromGivenRawData(rawData, options) {\n if (rawData instanceof FormData || rawData.nodeName == \"FORM\") {\n const formData = FormDataObjectizer.formDataFromObject(rawData, options)\n\n return FormDataObjectizer.toObject(formData)\n }\n\n return rawData\n }\n\n async updateRaw(rawData, options = {}) {\n const objectData = BaseModel._objectDataFromGivenRawData(rawData, options)\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n query_params: this.collection && this.collection.params(),\n save: objectData,\n simple_model_errors: options?.simpleModelErrors\n },\n command: `${this.modelClassData().collectionName}-update`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"update\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {response, model: this}\n }\n\n isValid() {\n throw new Error(\"Not implemented yet\")\n }\n\n async isValidOnServer() {\n const modelData = this.getAttributes()\n const paramKey = this.modelClassData().paramKey\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n\n const response = await CommandsPool.addCommand(\n {\n args: {\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-valid`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"valid\"\n },\n {}\n )\n\n return {valid: response.valid, errors: response.errors}\n }\n\n modelClass = () => this.constructor\n\n preloadRelationship(relationshipName, model) {\n this.relationshipsCache[BaseModel.snakeCase(relationshipName)] = model\n this.relationships[BaseModel.snakeCase(relationshipName)] = model\n }\n\n markForDestruction() {\n this._markedForDestruction = true\n }\n\n markedForDestruction = () => this._markedForDestruction\n\n uniqueKey() {\n if (!this.uniqueKeyValue) {\n const min = 5000000000000000\n const max = 9007199254740991\n const randomBetween = Math.floor(Math.random() * (max - min + 1) + min)\n this.uniqueKeyValue = randomBetween\n }\n\n return this.uniqueKeyValue\n }\n\n static async _callCollectionCommand(args, commandArgs) {\n const formOrDataObject = args.args\n\n try {\n return await CommandsPool.addCommand(args, commandArgs)\n } catch (error) {\n let form\n\n if (commandArgs.form) {\n form = commandArgs.form\n } else if (formOrDataObject?.nodeName == \"FORM\") {\n form = formOrDataObject\n }\n\n if (form) BaseModel.parseValidationErrors({error, options: {form}})\n\n throw error\n }\n }\n\n _callMemberCommand = (args, commandArgs) => CommandsPool.addCommand(args, commandArgs)\n\n static _postDataFromArgs(args) {\n let postData\n\n if (args) {\n if (args instanceof FormData) {\n postData = args\n } else {\n postData = objectToFormData.serialize(args, {}, null, \"args\")\n }\n } else {\n postData = new FormData()\n }\n\n return postData\n }\n\n readAttribute(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n\n return this.readAttributeUnderscore(attributeNameUnderscore)\n }\n\n readAttributeUnderscore(attributeName) {\n if (attributeName in this.changes) {\n return this.changes[attributeName]\n } else if (attributeName in this.modelData) {\n return this.modelData[attributeName]\n } else if (this.isNewRecord()) {\n // Return null if this is a new record and the attribute name is a recognized attribute\n const attributes = digg(this.modelClassData(), \"attributes\")\n\n if (attributeName in attributes) return null\n }\n\n if (this.isPersisted()) {\n throw new AttributeNotLoadedError(`No such attribute: ${digg(this.modelClassData(), \"name\")}#${attributeName}: ${JSON.stringify(this.modelData)}`)\n }\n }\n\n isAttributeLoaded(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n\n if (attributeNameUnderscore in this.changes) return true\n if (attributeNameUnderscore in this.modelData) return true\n return false\n }\n\n _isPresent(value) {\n if (!value) {\n return false\n } else if (typeof value == \"string\" && value.match(/^\\s*$/)) {\n return false\n }\n\n return true\n }\n\n async _loadBelongsToReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n } else {\n const collection = new Collection(args, queryArgs)\n const model = await collection.first()\n this.relationshipsCache[args.reflectionName] = model\n return model\n }\n }\n\n _readBelongsToReflection({reflectionName}) {\n if (reflectionName in this.relationships) {\n return this.relationships[reflectionName]\n } else if (reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[reflectionName]\n }\n\n if (this.isNewRecord()) return null\n\n const loadedRelationships = Object.keys(this.relationshipsCache)\n const modelClassName = digg(this.modelClassData(), \"name\")\n\n throw new NotLoadedError(`${modelClassName}#${reflectionName} hasn't been loaded yet. Only these were loaded: ${loadedRelationships.join(\", \")}`)\n }\n\n async _loadHasManyReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n }\n\n const collection = new Collection(args, queryArgs)\n const models = await collection.toArray()\n\n this.relationshipsCache[args.reflectionName] = models\n\n return models\n }\n\n async _loadHasOneReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n } else {\n const collection = new Collection(args, queryArgs)\n const model = await collection.first()\n\n this.relationshipsCache[args.reflectionName] = model\n\n return model\n }\n }\n\n _readHasOneReflection({reflectionName}) {\n if (reflectionName in this.relationships) {\n return this.relationships[reflectionName]\n } else if (reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[reflectionName]\n }\n\n if (this.isNewRecord()) {\n return null\n }\n\n const loadedRelationships = Object.keys(this.relationshipsCache)\n const modelClassName = digg(this.modelClassData(), \"name\")\n\n throw new NotLoadedError(`${modelClassName}#${reflectionName} hasn't been loaded yet. Only these were loaded: ${loadedRelationships.join(\", \")}`)\n }\n\n _readModelDataFromArgs(args) {\n this.abilities = args.data.b || {}\n this.collection = args.collection\n this.modelData = objectToUnderscore(args.data.a)\n this.preloadedRelationships = args.data.r\n }\n\n _readPreloadedRelationships(preloaded) {\n if (!this.preloadedRelationships) {\n return\n }\n\n const relationships = digg(this.modelClassData(), \"relationships\")\n\n for (const relationshipName in this.preloadedRelationships) {\n const relationshipData = this.preloadedRelationships[relationshipName]\n const relationshipClassData = relationships.find((relationship) => digg(relationship, \"name\") == relationshipName)\n\n if (!relationshipClassData) {\n const modelName = digg(this.modelClassData(), \"name\")\n const relationshipsList = relationships.map((relationship) => relationship.name).join(\", \")\n\n throw new Error(`Could not find the relation ${relationshipName} on the ${modelName} model: ${relationshipsList}`)\n }\n\n const relationshipType = digg(relationshipClassData, \"collectionName\")\n\n if (relationshipName in this.relationshipsCache) {\n throw new Error(`${relationshipName} has already been loaded`)\n }\n\n if (!relationshipClassData) {\n throw new Error(`No relationship on ${digg(this.modelClassData(), \"name\")} by that name: ${relationshipName}`)\n }\n\n if (!relationshipData) {\n this.relationshipsCache[relationshipName] = null\n this.relationships[relationshipName] = null\n } else if (Array.isArray(relationshipData)) {\n this.relationshipsCache[relationshipName] = []\n this.relationships[relationshipName] = []\n\n for (const relationshipId of relationshipData) {\n const model = preloaded.getModel(relationshipType, relationshipId)\n\n this.relationshipsCache[relationshipName].push(model)\n this.relationships[relationshipName].push(model)\n }\n } else {\n const model = preloaded.getModel(relationshipType, relationshipData)\n\n this.relationshipsCache[relationshipName] = model\n this.relationships[relationshipName] = model\n }\n }\n }\n\n primaryKey = () => this.readAttributeUnderscore(this.constructor.primaryKey())\n}\n","import BaseModel from \"./base-model.mjs\"\nimport Collection from \"./collection.mjs\"\nimport {digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\n\nexport default class ApiMakerModelRecipesModelLoader {\n constructor ({modelRecipe, modelRecipesLoader}) {\n if (!modelRecipe) throw new Error(\"No 'modelRecipe' was given\")\n\n this.modelRecipesLoader = modelRecipesLoader\n this.modelRecipe = modelRecipe\n }\n\n createClass () {\n const {modelRecipe} = digs(this, \"modelRecipe\")\n const {\n attributes,\n collection_commands: collectionCommands,\n member_commands: memberCommands,\n model_class_data: modelClassData,\n relationships\n } = digs(\n modelRecipe,\n \"attributes\",\n \"collection_commands\",\n \"member_commands\",\n \"model_class_data\",\n \"relationships\"\n )\n const {name: modelClassName} = digs(modelClassData, \"name\")\n const ModelClass = class ApiMakerModel extends BaseModel { }\n\n Object.defineProperty(ModelClass, \"name\", {writable: false, value: modelClassName})\n\n ModelClass.prototype.constructor.modelClassData = () => modelClassData\n\n this.addAttributeMethodsToModelClass(ModelClass, attributes)\n this.addRelationshipsToModelClass(ModelClass, modelClassData, relationships)\n this.addQueryCommandsToModelClass(ModelClass, collectionCommands)\n this.addMemberCommandsToModelClass(ModelClass, memberCommands)\n\n return ModelClass\n }\n\n addAttributeMethodsToModelClass (ModelClass, attributes) {\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName]\n const {name} = digs(attribute, \"name\")\n const methodName = inflection.camelize(name, true)\n const hasMethodName = inflection.camelize(`has_${name}`, true)\n\n ModelClass.prototype[methodName] = function () {\n return this.readAttributeUnderscore(attributeName)\n }\n\n ModelClass.prototype[hasMethodName] = function () {\n const value = this[methodName]()\n\n return this._isPresent(value)\n }\n }\n }\n\n addQueryCommandsToModelClass (ModelClass, collectionCommands) {\n for (const collectionCommandName in collectionCommands) {\n const methodName = inflection.camelize(collectionCommandName, true)\n\n ModelClass[methodName] = function (args, commandArgs = {}) {\n return this._callCollectionCommand(\n {\n args,\n command: collectionCommandName,\n collectionName: digg(this.modelClassData(), \"collectionName\"),\n type: \"collection\"\n },\n commandArgs\n )\n }\n }\n }\n\n addMemberCommandsToModelClass (ModelClass, memberCommands) {\n for (const memberCommandName in memberCommands) {\n const methodName = inflection.camelize(memberCommandName, true)\n\n ModelClass.prototype[methodName] = function (args, commandArgs = {}) {\n return this._callMemberCommand(\n {\n args,\n command: memberCommandName,\n primaryKey: this.primaryKey(),\n collectionName: this.modelClassData().collectionName,\n type: \"member\"\n },\n commandArgs\n )\n }\n }\n }\n\n addRelationshipsToModelClass (ModelClass, modelClassData, relationships) {\n const {modelRecipesLoader} = digs(this, \"modelRecipesLoader\")\n\n for (const relationshipName in relationships) {\n const relationship = relationships[relationshipName]\n const {\n active_record: {\n name: activeRecordName,\n primary_key: activeRecordPrimaryKey\n },\n class_name: className,\n foreign_key: foreignKey,\n klass: {primary_key: klassPrimaryKey},\n options: {as: optionsAs, primary_key: optionsPrimaryKey, through: optionsThrough},\n resource_name: resourceName,\n type\n } = digs(\n relationship,\n \"active_record\",\n \"class_name\",\n \"foreign_key\",\n \"klass\",\n \"options\",\n \"resource_name\",\n \"type\"\n )\n const loadMethodName = inflection.camelize(`load_${relationshipName}`, true)\n const modelMethodName = inflection.camelize(relationshipName, true)\n\n if (type == \"belongs_to\") {\n this.defineBelongsToGetMethod({ModelClass, modelMethodName, relationshipName})\n this.defineBelongsToLoadMethod({\n foreignKey,\n klassPrimaryKey,\n loadMethodName,\n ModelClass,\n modelRecipesLoader,\n optionsPrimaryKey,\n relationshipName,\n resourceName\n })\n } else if (type == \"has_many\") {\n this.defineHasManyGetMethod({\n activeRecordName,\n className,\n foreignKey,\n ModelClass,\n modelMethodName,\n modelRecipesLoader,\n optionsAs,\n optionsPrimaryKey,\n optionsThrough,\n relationshipName,\n resourceName\n })\n this.defineHasManyLoadMethod({foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, relationshipName, resourceName})\n } else if (type == \"has_one\") {\n this.defineHasOneGetMethd({ModelClass, modelMethodName, relationshipName})\n this.defineHasOneLoadMethod({\n activeRecordPrimaryKey,\n foreignKey,\n loadMethodName,\n ModelClass,\n modelClassData,\n modelRecipesLoader,\n optionsThrough,\n relationshipName,\n resourceName\n })\n } else {\n throw new Error(`Unknown relationship type: ${type}`)\n }\n }\n }\n\n defineBelongsToGetMethod ({ModelClass, modelMethodName, relationshipName}) {\n ModelClass.prototype[modelMethodName] = function () {\n return this._readBelongsToReflection({reflectionName: relationshipName})\n }\n }\n\n defineBelongsToLoadMethod ({foreignKey, klassPrimaryKey, ModelClass, modelRecipesLoader, loadMethodName, optionsPrimaryKey, relationshipName, resourceName}) {\n ModelClass.prototype[loadMethodName] = function () {\n const foreignKeyMethodName = inflection.camelize(foreignKey, true)\n\n if (!(foreignKeyMethodName in this)) throw new Error(`Foreign key method wasn't defined: ${foreignKeyMethodName}`)\n\n const id = this[foreignKeyMethodName]()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n const ransack = {}\n const ransackIdSearchKey = `${optionsPrimaryKey || klassPrimaryKey}_eq`\n\n ransack[ransackIdSearchKey] = id\n\n return this._loadBelongsToReflection(\n {reflectionName: relationshipName, model: this, modelClass},\n {ransack}\n )\n }\n }\n\n defineHasManyGetMethod ({\n activeRecordName,\n className,\n foreignKey,\n ModelClass,\n modelMethodName,\n modelRecipesLoader,\n optionsAs,\n optionsPrimaryKey,\n optionsThrough,\n relationshipName,\n resourceName\n }) {\n ModelClass.prototype[modelMethodName] = function () {\n const id = this.primaryKey()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n const hasManyParameters = {\n reflectionName: relationshipName,\n model: this,\n modelName: className,\n modelClass\n }\n\n let queryParameters\n\n if (optionsThrough) {\n queryParameters = {\n params: {\n through: {\n model: activeRecordName,\n id: this.primaryKey(),\n reflection: relationshipName\n }\n }\n }\n } else {\n const ransack = {}\n const primaryKeyColumnName = optionsPrimaryKey || digg(ModelClass.modelClassData(), \"primaryKey\")\n const primaryKeyMethodName = inflection.camelize(primaryKeyColumnName, true)\n\n if (!(primaryKeyMethodName in this)) throw new Error(`No such primary key method: ${primaryKeyMethodName}`)\n\n ransack[`${foreignKey}_eq`] = this[primaryKeyMethodName]()\n\n if (optionsAs) {\n ransack[`${optionsAs}_type_eq`] = activeRecordName\n }\n\n queryParameters = {ransack}\n }\n\n return new Collection(hasManyParameters, queryParameters)\n }\n }\n\n defineHasManyLoadMethod ({foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, optionsThrough, relationshipName, resourceName}) {\n ModelClass.prototype[loadMethodName] = function () {\n const id = this.primaryKey()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n\n if (optionsThrough) {\n const modelClassName = digg(modelClassData, \"className\")\n\n return this._loadHasManyReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {\n params: {\n through: {\n model: modelClassName,\n id,\n reflection: relationshipName\n }\n }\n }\n )\n } else {\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n return this._loadHasManyReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {ransack}\n )\n }\n }\n }\n\n defineHasOneGetMethd ({ModelClass, modelMethodName, relationshipName}) {\n ModelClass.prototype[modelMethodName] = function () {\n return this._readHasOneReflection({reflectionName: relationshipName})\n }\n }\n\n defineHasOneLoadMethod ({\n activeRecordPrimaryKey,\n foreignKey,\n loadMethodName,\n ModelClass,\n modelClassData,\n modelRecipesLoader,\n optionsThrough,\n relationshipName,\n resourceName\n }) {\n ModelClass.prototype[loadMethodName] = function () {\n const primaryKeyMethodName = inflection.camelize(activeRecordPrimaryKey, true)\n\n if (!(primaryKeyMethodName in this)) throw new Error(`Primary key method wasn't defined: ${primaryKeyMethodName}`)\n\n const id = this[primaryKeyMethodName]()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n\n if (optionsThrough) {\n const modelClassName = digg(modelClassData, \"className\")\n\n return this._loadHasOneReflection(\n {reflectionName: relationshipName, model: this, modelClass},\n {params: {through: {model: modelClassName, id, reflection: relationshipName}}}\n )\n } else {\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n return this._loadHasOneReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {ransack}\n )\n }\n }\n }\n}\n","import {digg, digs} from \"diggerize\"\nimport ModelRecipesModelLoader from \"./model-recipes-model-loader.mjs\"\n\nexport default class ModelRecipesLoader {\n constructor ({recipes}) {\n this.modelClasses = {}\n this.recipes = recipes\n }\n\n getModelClass (name) {\n return digg(this, \"modelClasses\", name)\n }\n\n load () {\n const {recipes} = digs(this, \"recipes\")\n const {models} = digs(recipes, \"models\")\n\n for (const modelName in models) {\n const modelRecipe = models[modelName]\n const modelClassLoader = new ModelRecipesModelLoader({modelRecipe, modelRecipesLoader: this})\n const modelClass = modelClassLoader.createClass()\n\n this.modelClasses[modelName] = modelClass\n }\n\n return this.modelClasses\n }\n}\n","import * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\n\nexport default class ApiMakerPreloaded {\n constructor (response) {\n this.response = response\n this.loadPreloadedModels()\n }\n\n loadPreloadedModels () {\n this.preloaded = {}\n\n for (const preloadedType in this.response.preloaded) {\n const modelClassName = inflection.classify(preloadedType)\n const ModelClass = modelClassRequire(modelClassName)\n\n for (const preloadedId in this.response.preloaded[preloadedType]) {\n const preloadedData = this.response.preloaded[preloadedType][preloadedId]\n const model = new ModelClass({data: preloadedData, isNewRecord: false})\n\n if (!this.preloaded[preloadedType]) {\n this.preloaded[preloadedType] = {}\n }\n\n this.preloaded[preloadedType][preloadedId] = model\n }\n }\n\n for (const modelType in this.preloaded) {\n for (const modelId in this.preloaded[modelType]) {\n this.preloaded[modelType][modelId]._readPreloadedRelationships(this)\n }\n }\n }\n\n getModel (type, id) {\n if (!this.preloaded[type] || !this.preloaded[type][id]) {\n throw new Error(`Could not find a ${type} by that ID: ${id}`)\n }\n\n return this.preloaded[type][id]\n }\n}\n","import * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport Preloaded from \"./preloaded.mjs\"\n\nexport default class ModelsResponseReader {\n static first (response) {\n return ModelsResponseReader.collection(response)[0]\n }\n\n static collection (response) {\n const reader = new ModelsResponseReader({response})\n return reader.models()\n }\n\n constructor (args) {\n this.collection = args.collection\n this.response = args.response\n }\n\n models () {\n const preloaded = new Preloaded(this.response)\n const models = []\n\n for (const modelType in this.response.data) {\n const modelClassName = inflection.classify(modelType)\n const ModelClass = modelClassRequire(modelClassName)\n const collectionName = ModelClass.modelClassData().collectionName\n\n for (const modelId of this.response.data[modelType]) {\n const modelData = this.response.preloaded[collectionName][modelId]\n\n if (!modelData)\n throw new Error(`Couldn't find model data for ${collectionName}(${modelId})`)\n\n const model = new ModelClass({\n collection: this.collection,\n data: modelData,\n isNewRecord: false\n })\n\n model._readPreloadedRelationships(preloaded)\n models.push(model)\n }\n }\n\n return models\n }\n}\n","export default class ApiMakerResult {\n constructor (data) {\n this.data = data\n }\n\n count = () => this.data.response.meta.count\n currentPage = () => this.data.response.meta.currentPage\n models = () => this.data.models\n modelClass = () => this.data.collection.modelClass()\n perPage = () => this.data.response.meta.perPage\n totalCount = () => this.data.response.meta.totalCount\n totalPages = () => this.data.response.meta.totalPages\n}\n","import {dig, digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport qs from \"qs\"\nimport urlEncode from \"./url-encode.mjs\"\n\nexport default class ApiMakerRoutesNative {\n constructor ({getLocale}) {\n this.getLocale = getLocale\n this.routeDefinitions = []\n this.routeTranslationParts = {}\n }\n\n loadRouteDefinitions (routeDefinitions, routeDefinitionArgs) {\n for (const routeDefinition of digg(routeDefinitions, \"routes\")) {\n const {name, path} = digs(routeDefinition, \"name\", \"path\")\n const rawPathParts = path.split(\"/\")\n const pathMethodName = `${inflection.camelize(name, true)}Path`\n const urlMethodName = `${inflection.camelize(name, true)}Url`\n\n if (routeDefinitionArgs && routeDefinitionArgs.localized) {\n const localizedRoutes = {}\n\n for (const locale in this.routeTranslationParts) {\n let variableCount = 0\n\n const localizedPathParts = [\n {type: \"pathPart\", name: \"\"},\n {type: \"pathPart\", name: locale}\n ]\n\n for (let i = 1; i < rawPathParts.length; i++) {\n const pathPart = rawPathParts[i]\n const variableMatch = pathPart.match(/^:([A-z_]+)$/)\n\n if (variableMatch) {\n localizedPathParts.push({type: \"variable\", count: variableCount++})\n } else if (pathPart) {\n const name = this.i18n.t(`routes.${pathPart}`, null, {default: pathPart, locale})\n\n localizedPathParts.push({type: \"pathPart\", name})\n }\n }\n\n localizedRoutes[locale] = localizedPathParts\n }\n\n this[pathMethodName] = (...args) => this.translateRoute({args, localizedRoutes})\n this[urlMethodName] = (...args) => this.translateRoute({args, localizedRoutes, url: true})\n } else {\n let variableCount = 0\n\n const pathParts = rawPathParts.map((pathPart) => {\n const variableMatch = pathPart.match(/^:([A-z_]+)$/)\n\n if (variableMatch) {\n return {type: \"variable\", count: variableCount}\n } else {\n return {type: \"pathPart\", name: pathPart}\n }\n })\n\n this[pathMethodName] = (...args) => this.translateRoute({args, pathParts})\n this[urlMethodName] = (...args) => this.translateRoute({args, pathParts, url: true})\n }\n }\n }\n\n loadRouteTranslations (i18n) {\n this.i18n = i18n\n const locales = digg(i18n, \"locales\")\n\n for (const locale in locales) {\n const routeTranslations = dig(locales, locale, \"routes\")\n\n if (!routeTranslations) continue\n if (!(locale in this.routeTranslationParts)) this.routeTranslationParts[locale] = {}\n\n for (const key in routeTranslations) {\n this.routeTranslationParts[locale][key] = routeTranslations[key]\n }\n }\n }\n\n translateRoute ({args, localizedRoutes, pathParts, url}) {\n let options\n\n // Extract options from args if any\n const lastArg = args[args.length - 1]\n\n if (lastArg && typeof lastArg == \"object\") {\n options = args.pop()\n } else {\n options = {}\n }\n\n // Take locale from options if given or fall back to fallback\n const {locale, host, port, protocol, ...restOptions} = options\n\n if (localizedRoutes) {\n // Put together route with variables and static translated parts (which were translated and cached previously)\n let translatedRoute = digg(localizedRoutes, locale || this.getLocale())\n .map((pathPart) => {\n if (pathPart.type == \"pathPart\") {\n return pathPart.name\n } else if (pathPart.type == \"variable\") {\n // Args might not contain the right amount of variables, so dont change this to 'digg'\n return dig(args, digg(pathPart, \"count\"))\n } else {\n throw new Error(`Unhandled path part type: ${pathPart.type}`)\n }\n })\n .join(\"/\")\n\n if (restOptions && Object.keys(restOptions).length > 0) {\n translatedRoute += `?${qs.stringify(restOptions, {encoder: urlEncode})}`\n }\n\n if (url) return this.addHostToRoute({host, port, protocol, translatedRoute})\n\n return translatedRoute\n } else if (pathParts) {\n // Put together route with variables and static translated parts (which were translated and cached previously)\n let translatedRoute = pathParts\n .map((pathPart) => {\n if (pathPart.type == \"pathPart\") {\n return pathPart.name\n } else if (pathPart.type == \"variable\") {\n return digg(args, digg(pathPart, \"count\"))\n } else {\n throw new Error(`Unhandled path part type: ${pathPart.type}`)\n }\n })\n .join(\"/\")\n\n if (restOptions && Object.keys(restOptions).length > 0) {\n translatedRoute += `?${qs.stringify(restOptions, {encoder: urlEncode})}`\n }\n\n if (url) return this.addHostToRoute({host, port, protocol, translatedRoute})\n\n return translatedRoute\n }\n\n throw new Error(\"Unhandled state\")\n }\n\n addHostToRoute ({host, port, protocol, translatedRoute}) {\n let fullUrl = \"\"\n\n const hostToUse = host || globalThis.location && globalThis.location.host\n const portToUse = port || globalThis.location && globalThis.location.port\n\n if (!hostToUse) throw new Error(\"Unable to detect host\")\n\n if (protocol) {\n fullUrl += `${protocol}://`\n } else if (globalThis.location && globalThis.location.protocol) {\n fullUrl += `${globalThis.location.protocol}//`\n } else {\n fullUrl += \"https://\"\n }\n\n fullUrl += hostToUse\n\n if (portToUse && ((protocol == \"http\" && portToUse != 80) || (protocol == \"https\" && port != 443))) {\n fullUrl += `:${portToUse}`\n }\n\n fullUrl += translatedRoute\n\n return fullUrl\n }\n}\n","export default class RunLast {\n constructor(callback) {\n if (!callback) throw new Error(\"Empty callback given\")\n\n this.callback = callback\n }\n\n // Try to batch calls to backend while waiting for the event-queue-call to clear any other jobs before the request and reset on every flush call\n // If only waiting a single time, then other event-queue-jobs might be before us and queue other jobs that might queue calls to the backend\n queue() {\n this.flushTriggerCount = 0\n this.clearTimeout()\n this.flushTrigger()\n }\n\n flushTrigger = () => {\n if (this.flushTriggerCount >= 10) {\n this.run()\n } else {\n this.flushTriggerCount++\n this.flushTriggerQueue()\n }\n }\n\n flushTriggerQueue() {\n this.flushTimeout = setTimeout(this.flushTrigger, 0)\n }\n\n clearTimeout() {\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout)\n }\n }\n\n run() {\n clearTimeout(this.flushTimeout)\n this.callback()\n }\n}\n","import CommandsPool from \"./commands-pool.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerServices {\n static current () {\n if (!shared.currentApiMakerService) shared.currentApiMakerService = new ApiMakerServices()\n\n return shared.currentApiMakerService\n }\n\n sendRequest (serviceName, args) {\n return CommandsPool.addCommand({\n args: {\n service_args: args,\n service_name: serviceName\n },\n command: \"services\",\n collectionName: \"calls\",\n type: \"service\"\n })\n }\n}\n","import config from \"./config.mjs\"\nimport Devise from \"./devise.mjs\"\nimport * as inflection from \"inflection\"\nimport Logger from \"./logger.mjs\"\nimport wakeEvent from \"wake-event\"\n\nconst logger = new Logger({name: \"ApiMaker / SessionStatusUpdater\"})\nconst shared = {}\n\n// logger.setDebug(true)\n\nexport default class ApiMakerSessionStatusUpdater {\n static current(args) {\n if (!shared.apiMakerSessionStatusUpdater) {\n shared.apiMakerSessionStatusUpdater = new ApiMakerSessionStatusUpdater(args)\n }\n\n return shared.apiMakerSessionStatusUpdater\n }\n\n constructor(args = {}) {\n this.events = {}\n this.timeout = args.timeout || 600000\n this.useMetaElement = (\"useMetaElement\" in args) ? args.useMetaElement : true\n\n this.connectOnlineEvent()\n this.connectWakeEvent()\n }\n\n connectOnlineEvent() {\n window.addEventListener(\"online\", this.updateSessionStatus, false)\n }\n\n connectWakeEvent() {\n wakeEvent(this.updateSessionStatus)\n }\n\n async getCsrfToken() {\n if (this.csrfToken) {\n logger.debug(`Get CSRF token from set variable: ${this.csrfToken}`)\n\n return this.csrfToken\n }\n\n if (this.useMetaElement) {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n logger.debug(() => `Get CSRF token from meta element: ${csrfTokenElement.getAttribute(\"content\")}`)\n\n this.csrfToken = csrfTokenElement.getAttribute(\"content\")\n\n return this.csrfToken\n }\n }\n\n logger.debug(\"Updating session status because no CSRF token set yet\")\n await this.updateSessionStatus()\n\n if (this.csrfToken) {\n logger.debug(() => `Returning CSRF token after updating session status: ${this.csrfToken}`)\n\n return this.csrfToken\n }\n\n throw new Error(\"CSRF token hasn't been set\")\n }\n\n sessionStatus() {\n return new Promise((resolve) => {\n const host = config.getHost()\n let requestPath = \"\"\n\n if (host) requestPath += host\n\n requestPath += \"/api_maker/session_statuses\"\n\n const xhr = new XMLHttpRequest()\n xhr.open(\"POST\", requestPath, true)\n xhr.onload = () => {\n const response = JSON.parse(xhr.responseText)\n resolve(response)\n }\n xhr.send()\n })\n }\n\n onSignedOut(callback) {\n this.addEvent(\"onSignedOut\", callback)\n }\n\n startTimeout() {\n logger.debug(\"startTimeout\")\n\n if (this.updateTimeout)\n clearTimeout(this.updateTimeout)\n\n this.updateTimeout = setTimeout(\n () => {\n this.startTimeout()\n this.updateSessionStatus()\n },\n this.timeout\n )\n }\n\n stopTimeout() {\n if (this.updateTimeout)\n clearTimeout(this.updateTimeout)\n }\n\n updateSessionStatus = async () => {\n logger.debug(\"updateSessionStatus\")\n\n const result = await this.sessionStatus()\n\n logger.debug(() => `Result: ${JSON.stringify(result, null, 2)}`)\n this.updateMetaElementsFromResult(result)\n this.updateUserSessionsFromResult(result)\n }\n\n updateMetaElementsFromResult(result) {\n logger.debug(\"updateMetaElementsFromResult\")\n\n this.csrfToken = result.csrf_token\n\n if (this.useMetaElement) {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n logger.debug(() => `Changing token from \"${csrfTokenElement.getAttribute(\"content\")}\" to \"${result.csrf_token}\"`)\n csrfTokenElement.setAttribute(\"content\", result.csrf_token)\n } else {\n logger.debug(\"csrf token element couldn't be found\")\n }\n }\n }\n\n updateUserSessionsFromResult(result) {\n for (const scopeName in result.scopes) {\n this.updateUserSessionScopeFromResult(scopeName, result.scopes[scopeName])\n }\n }\n\n updateUserSessionScopeFromResult(scopeName, scope) {\n const deviseIsSignedInMethodName = `is${inflection.camelize(scopeName)}SignedIn`\n\n if (!(deviseIsSignedInMethodName in Devise)) {\n throw new Error(`No such method in Devise: ${deviseIsSignedInMethodName}`)\n }\n\n const currentlySignedIn = Devise[deviseIsSignedInMethodName]()\n const signedInOnBackend = scope.signed_in\n\n if (currentlySignedIn && !signedInOnBackend) {\n logger.debug(() => `${inflection.camelize(scopeName)} signed in on frontend but not in backend!`)\n\n Devise.setSignedOut({scope: scopeName})\n Devise.callSignOutEvent({scope: scopeName})\n }\n }\n}\n","import escapeStringRegexp from \"escape-string-regexp\"\n\nconst replaces = {\n \" \": \"+\",\n \"&\": \"%26\",\n \"#\": \"%23\",\n \"+\": \"%2B\",\n \"/\": \"%2F\",\n \"?\": \"%3F\"\n}\n\nconst regexp = new RegExp(`(${Object.keys(replaces).map(escapeStringRegexp).join(\"|\")})`, \"g\")\n\nconst urlEncode = (string) => {\n return String(string).replaceAll(regexp, (character) => replaces[character])\n}\n\nexport default urlEncode\n","import {useLayoutEffect} from \"react\"\n\nconst ApiMakerUseEventEmitter = (events, event, onCalled) => {\n useLayoutEffect(() => {\n if (events) {\n events.addListener(event, onCalled)\n\n return () => {\n events.removeListener(event, onCalled)\n }\n }\n }, [events, event, onCalled])\n}\n\nexport default ApiMakerUseEventEmitter\n","import {useCallback, useLayoutEffect} from \"react\"\n\nconst ApiMakerUseEventListener = (target, event, onCalled) => {\n const onCalledCallback = useCallback((...args) => {\n onCalled.apply(null, args)\n }, [target, event, onCalled])\n\n useLayoutEffect(() => {\n if (target) {\n target.addEventListener(event, onCalledCallback)\n\n return () => {\n target.removeEventListener(event, onCalledCallback)\n }\n }\n }, [target, event, onCalled])\n}\n\nexport default ApiMakerUseEventListener\n","import BaseError from \"./base-error.mjs\"\nimport * as inflection from \"inflection\"\n\nclass ValidationError extends BaseError {\n constructor(validationErrors, args) {\n const errorMessage = validationErrors.getUnhandledErrorMessage() || validationErrors.getErrorMessage()\n const forwardedArgs = {addResponseErrorsToErrorMessage: false}\n const newArgs = Object.assign({}, args, forwardedArgs)\n\n super(errorMessage, newArgs)\n this.validationErrors = validationErrors\n }\n\n getUnhandledErrors = () => this.validationErrors.getValidationErrors().filter((validationError) => !validationError.getHandled())\n getValidationErrors = () => digg(this, \"validationErrors\")\n\n hasUnhandledErrors() {\n const unhandledError = this.validationErrors.getValidationErrors().find((validationError) => !validationError.getHandled())\n\n return Boolean(unhandledError)\n }\n\n hasValidationErrorForAttribute(attributeName) {\n const underscoredAttributeName = inflection.underscore(attributeName)\n const foundAttribute = this.validationErrors.getValidationErrors().find((validationError) => validationError.getAttributeName() == underscoredAttributeName)\n\n if (foundAttribute) return true\n\n return false\n }\n}\n\nValidationError.apiMakerType = \"ValidationError\"\n\nexport default ValidationError\n","import {digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\n\nclass ValidationError {\n constructor(args) {\n this.attributeName = digg(args, \"attribute_name\")\n this.attributeType = digg(args, \"attribute_type\")\n this.errorMessages = digg(args, \"error_messages\")\n this.errorTypes = digg(args, \"error_types\")\n this.inputName = args.input_name\n this.handled = false\n this.modelName = digg(args, \"model_name\")\n }\n\n matchesAttributeAndInputName(attributeName, inputName) {\n if (this.getInputName() == inputName) return true\n if (!attributeName) return false\n\n // A relationship column ends with \"_id\". We should try for validation errors on an attribute without the \"_id\" as well\n const attributeNameIdMatch = attributeName.match(/^(.+)Id$/)\n if (!attributeNameIdMatch) return false\n\n const attributeNameWithoutId = inflection.underscore(attributeNameIdMatch[1])\n const attributeUnderScoreName = inflection.underscore(attributeName)\n const inputNameWithoutId = inputName.replace(`[${attributeUnderScoreName}]`, `[${attributeNameWithoutId}]`)\n\n if (this.getInputName() == inputNameWithoutId) return true\n\n return false\n }\n\n getAttributeName = () => digg(this, \"attributeName\")\n getErrorMessages = () => digg(this, \"errorMessages\")\n\n getFullErrorMessages() {\n const {attributeType} = digs(this, \"attributeType\")\n\n if (attributeType == \"base\") {\n return this.getErrorMessages()\n } else {\n const fullErrorMessages = []\n\n for (const errorMessage of this.getErrorMessages()) {\n const attributeHumanName = this.getModelClass().humanAttributeName(this.getAttributeName())\n fullErrorMessages.push(`${attributeHumanName} ${errorMessage}`)\n }\n\n return fullErrorMessages\n }\n }\n\n getHandled = () => digg(this, \"handled\")\n getInputName = () => digg(this, \"inputName\")\n\n getModelClass() {\n const modelName = inflection.classify(digg(this, \"modelName\"))\n\n return modelClassRequire(modelName)\n }\n\n setHandled() {\n this.handled = true\n }\n}\n\nclass ValidationErrors {\n constructor(args) {\n this.rootModel = digg(args, \"model\")\n this.validationErrors = digg(args, \"validationErrors\").map((validationError) => new ValidationError(validationError))\n }\n\n getErrorMessage() {\n const fullErrorMessages = []\n\n for (const validationError of this.validationErrors) {\n for (const fullErrorMessage of validationError.getFullErrorMessages()) {\n fullErrorMessages.push(fullErrorMessage)\n }\n }\n\n return fullErrorMessages.join(\". \")\n }\n\n getValidationErrors = () => this.validationErrors\n\n getValidationErrorsForInput ({attribute, inputName, onMatchValidationError}) {\n const validationErrors = this.validationErrors.filter((validationError) => {\n if (onMatchValidationError) {\n return onMatchValidationError(validationError)\n } else {\n return validationError.matchesAttributeAndInputName(attribute, inputName)\n }\n })\n\n validationErrors.map((validationError) => validationError.setHandled())\n\n return validationErrors\n }\n\n getUnhandledErrorMessage () {\n const unhandledValidationErrors = this.validationErrors.filter((validationError) => !validationError.getHandled())\n\n if (unhandledValidationErrors.length > 0) {\n const unhandledValidationErrorMessages = []\n\n for (const unhandledValidationError of unhandledValidationErrors) {\n for (const errorMessage of unhandledValidationError.getFullErrorMessages()) {\n unhandledValidationErrorMessages.push(errorMessage)\n }\n }\n\n return unhandledValidationErrorMessages.join(\". \")\n }\n }\n}\n\nexport {\n ValidationError,\n ValidationErrors\n}\n","export default class OnLocationChangedCallback {\n constructor(callbacksHandler, id, callback) {\n this.callback = callback\n this.callbacksHandler = callbacksHandler\n this.id = id\n this.callCallback = this.callCallback.bind(this)\n this.disconnect = this.disconnect.bind(this)\n }\n\n callCallback() {\n try {\n this.callback()\n } catch (error) {\n // Throw error in a callback to avoid interrupting other callbacks and properly.\n setTimeout(() => { throw error }, 0)\n }\n }\n\n disconnect() {\n delete this.callbacksHandler.callbacks[this.id]\n }\n}\n","import {digg} from \"diggerize\"\nimport OnLocationChangedCallback from \"./on-location-changed-callback.js\"\n\nclass CallbacksHandler {\n constructor() {\n this.callbacks = {}\n this.count = 0\n this.currentLocationHref = location.href\n }\n\n callCallbacks = () => {\n for (const count in this.callbacks) {\n this.callbacks[count].callCallback()\n }\n }\n\n connectMutationObserver() {\n const body = document.querySelector(\"body\")\n\n // Solution recommended various places on the internet is to observe for changed and then check if the location has changed.\n const observer = new MutationObserver(digg(this, \"onLocationMightHaveChanged\"))\n const config = {subtree: true, childList: true}\n\n observer.observe(body, config)\n observer.observe(document, config)\n }\n\n connectReactRouterHistory(history) {\n // A React Router history can be registered globally (must be imported before this file).\n history.listen(digg(this, \"onLocationMightHaveChanged\"))\n }\n\n connectWindowEvents() {\n // If the hash has changed then maybe the entire location has? Trying to catch location change as early as possible.\n window.addEventListener(\"hashchange\", digg(this, \"onLocationMightHaveChanged\"))\n\n // 'popstate' is only called doing certain actions (React Router won't trigger this for example).\n window.addEventListener(\"popstate\", digg(this, \"onLocationMightHaveChanged\"))\n }\n\n connectInterval = () => setInterval(digg(this, \"onLocationMightHaveChanged\"), 500)\n\n onLocationChanged = (givenCallback) => {\n this.count += 1\n\n const callback = new OnLocationChangedCallback(this, this.count, givenCallback)\n\n this.callbacks[this.count] = callback\n\n return callback\n }\n\n onLocationMightHaveChanged = () => {\n if (location.href != this.currentLocationHref) {\n this.currentLocationHref = location.href\n this.callCallbacks()\n }\n }\n}\n\n// Prevent anything from spawning multiple instances (which happened!)\nif (!globalThis.onLocationChangedCallbacksHandler) {\n globalThis.onLocationChangedCallbacksHandler = new CallbacksHandler()\n}\n\nconst callbacksHandler = globalThis.onLocationChangedCallbacksHandler\n\n// Export the single handler that is supposed to exist\nexport {callbacksHandler}\n","import {callbacksHandler} from \"./callbacks-handler.js\"\n\nconst onLocationChanged = (callback) => callbacksHandler.onLocationChanged(callback)\n\nexport default onLocationChanged\n","import {simpleObjectValuesDifferent} from \"./diff-utils.js\"\n\nconst memoCompareProps = (prevProps, nextProps, debug) => {\n if (debug) {\n console.log(\"memoCompareProps\", {prevProps, nextProps})\n }\n\n if (Object.keys(nextProps).length != Object.keys(prevProps).length) {\n if (debug) {\n console.log(`Keys length was different - prev ${Object.keys(prevProps).length} after ${Object.keys(nextProps).length}`)\n }\n\n return false\n }\n\n if (debug) {\n console.log(\"Running simpleObjectValuesDifferent\")\n }\n\n const result = simpleObjectValuesDifferent(nextProps, prevProps, {debug})\n\n if (debug) {\n console.log(`Was it different: ${result}`)\n }\n\n return !result\n}\n\nconst memoComparePropsWithDebug = (prevProps, nextProps) => memoCompareProps(prevProps, nextProps, true)\n\nexport {memoComparePropsWithDebug}\nexport default memoCompareProps\n","import memoCompareProps, {memoComparePropsWithDebug} from \"./memo-compare-props.js\"\nimport React from \"react\"\n\nconst memo = (component) => React.memo(component, memoCompareProps)\nconst memoWithDebug = (component) => React.memo(component, memoComparePropsWithDebug)\n\nexport {memoWithDebug}\nexport default memo\n","import {anythingDifferent} from \"./diff-utils.js\"\nimport fetchingObject from \"fetching-object\"\nimport memoCompareProps from \"./memo-compare-props.js\"\nimport PropTypes from \"prop-types\"\nimport shared from \"./shared.js\"\nimport {useEffect, useMemo, useState} from \"react\"\n\nclass ShapeComponent {\n constructor(props) {\n this.props = props\n this.setStates = {}\n this.state = {}\n this.__firstRenderCompleted = false\n this.__rendering = 0\n this.__renderCallbacks = []\n this.tt = fetchingObject(this)\n this.p = fetchingObject(() => this.props)\n this.s = fetchingObject(this.state)\n }\n\n setInstance(variables) {\n for (const name in variables) {\n this[name] = variables[name]\n }\n }\n\n setState(statesList, callback) {\n if (typeof statesList == \"function\") {\n statesList = statesList(this.state)\n }\n\n for (const stateName in statesList) {\n const newValue = statesList[stateName]\n\n if (!(stateName in this.setStates)) {\n throw new Error(`No such state: ${stateName}`)\n }\n\n this.setStates[stateName](newValue)\n }\n\n if (callback) {\n this.__renderCallbacks.push(callback)\n }\n }\n\n useState(stateName, defaultValue) {\n const [stateValue, setState] = useState(defaultValue)\n\n if (!(stateName in this.state)) {\n this.state[stateName] = stateValue\n this.setStates[stateName] = (newValue) => {\n if (anythingDifferent(this.state[stateName], newValue)) {\n let prevState\n\n if (this.componentDidUpdate) {\n prevState = Object.assign({}, this.state)\n }\n\n this.state[stateName] = newValue\n\n // Avoid React error if using set-state while rendering (like in a useMemo callback)\n if (shared.rendering > 0) {\n this.__renderCallbacks.push(() => setState(newValue))\n } else {\n setState(newValue)\n }\n\n if (this.componentDidUpdate) {\n this.componentDidUpdate(this.props, prevState)\n }\n }\n }\n }\n\n return this.setStates[stateName]\n }\n\n useStates(statesList) {\n if (Array.isArray(statesList)) {\n for(const stateName of statesList) {\n this.useState(stateName)\n }\n } else {\n for(const stateName in statesList) {\n const defaultValue = statesList[stateName]\n\n this.useState(stateName, defaultValue)\n }\n }\n }\n}\n\nconst shapeComponent = (ShapeClass) => {\n const functionalComponent = (props) => {\n // Count rendering to avoid setting state while rendering which causes a console-error from React\n shared.rendering += 1\n\n try {\n // Calculate and validate props\n let actualProps\n\n if (ShapeClass.defaultProps) {\n // Undefined values are removed from the props because they shouldn't override default values\n const propsWithoutUndefined = Object.assign({}, props)\n\n for (const key in propsWithoutUndefined) {\n const value = propsWithoutUndefined[key]\n\n if (value === undefined) {\n delete propsWithoutUndefined[key]\n }\n }\n\n actualProps = Object.assign({}, ShapeClass.defaultProps, propsWithoutUndefined)\n } else {\n actualProps = props\n }\n\n if (ShapeClass.propTypes) {\n const validateProps = {}\n\n for (const key in actualProps) {\n // Accessing 'key' will result in a warning in the console\n if (key == \"key\") continue\n\n validateProps[key] = actualProps[key]\n }\n\n PropTypes.checkPropTypes(ShapeClass.propTypes, validateProps, \"prop\", ShapeClass.name)\n }\n\n const shape = useMemo(() => new ShapeClass(actualProps), [])\n const prevProps = shape.props\n\n shape.props = actualProps\n\n if (shape.setup) {\n shape.setup()\n }\n\n if (shape.componentDidUpdate && shape.__firstRenderCompleted && memoCompareProps(shape.props, props)) {\n shape.componentDidUpdate(prevProps, shape.state)\n }\n\n if (shape.componentDidMount || shape.componentWillUnmount) {\n useEffect(() => {\n if (shape.componentDidMount) {\n shape.componentDidMount()\n }\n\n return () => {\n if (shape.componentWillUnmount) {\n shape.componentWillUnmount()\n }\n }\n }, [])\n }\n\n shape.__firstRenderCompleted = true\n\n // Run any callbacks added by setState(states, callback) once rendering is done\n useEffect(() => {\n try {\n for (const callback of shape.__renderCallbacks) {\n new Promise(() => callback())\n }\n } finally {\n shape.__renderCallbacks.length = 0\n }\n })\n\n // Finally render the component and return it\n return shape.render()\n } finally {\n shared.rendering -= 1\n }\n }\n\n functionalComponent.displayName = ShapeClass.name\n\n return functionalComponent\n}\n\nexport {shapeComponent, ShapeComponent}\n","const shared = {\n rendering: 0\n}\n\nexport default shared\n","function digger(target, keys, {callFunctions = false, throwError = true}) {\n let digged = target\n const currentPath = []\n\n for (const key of keys) {\n currentPath.push(key)\n\n if (!(key in digged)) {\n if (throwError) {\n throw new Error(`Path didn't exist: ${currentPath.join(\".\")}`)\n } else {\n return undefined\n }\n } else {\n digged = digged[key]\n }\n\n if (typeof digged === \"function\" && callFunctions) {\n digged = digged()\n }\n }\n\n return digged\n}\n\nconst dig = function dig(target, ...keys) {\n return digger(target, keys, {throwError: false})\n}\n\nconst digg = function dig(target, ...keys) {\n return digger(target, keys, {throwError: true})\n}\n\nconst digs = function digs(target, ...keys) {\n const result = {}\n\n for(let key of keys) {\n if (!(key in target)) throw new Error(`Target didn't contain expected key: ${key}`)\n\n result[key] = target[key]\n }\n\n return result\n}\n\nexport {dig, digg, digger, digs}\n","export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","class PropertyNotFoundError extends Error {\n constructor(message) {\n super(message)\n this.name = \"PropertyNotFoundError\"\n }\n}\n\nconst fetchingObjectHandler = {\n get(receiver, prop) {\n if (typeof receiver == \"function\") receiver = receiver()\n if (!(prop in receiver)) throw new PropertyNotFoundError(`Property not found: ${prop}`)\n\n return Reflect.get(receiver, prop)\n },\n\n set(receiver, prop, newValue) {\n if (typeof receiver == \"function\") receiver = receiver()\n if (!(prop in receiver)) throw new PropertyNotFoundError(`Property not found: ${prop}`)\n\n return Reflect.set(receiver, prop, newValue)\n }\n}\n\nconst fetchingObject = (wrappedObject = {}) => new Proxy(wrappedObject, fetchingObjectHandler)\n\nexport default fetchingObject\n","export default class ErrorHandlersRaiser {\n constructor(i18n) {\n this.i18n = i18n\n }\n\n handleError({error}) {\n throw error\n }\n}\n","import events from \"./src/events.mjs\"\nimport {dig, digg} from \"diggerize\"\nimport numberable from \"numberable\"\nimport Raiser from \"./src/error-handlers/raiser.mjs\"\nimport strftime from \"strftime\"\n\nexport default class I18nOnSteroids {\n constructor(args) {\n this.errorHandler = new Raiser(this)\n this.locales = {}\n\n if (args?.fallbacks) {\n this.fallbacks = args.fallbacks\n } else {\n this.fallbacks = {}\n }\n }\n\n setErrorHandler(errorHandler) {\n this.errorHandler = errorHandler\n }\n\n setLocale(locale) {\n this.locale = locale\n events.emit(\"localeChanged\")\n }\n\n setLocaleOnStrftime() {\n const monthNames = [...Object.values(this.t(\"date.month_names\"))]\n const abbrMonthNames = [...Object.values(this.t(\"date.abbr_month_names\"))]\n\n monthNames.shift()\n abbrMonthNames.shift()\n\n const strftimeLocales = {\n days: Object.values(this.t(\"date.day_names\")),\n shortDays: Object.values(this.t(\"date.abbr_day_names\")),\n months: monthNames,\n shortMonths: abbrMonthNames\n }\n\n this.strftime = strftime.localize(strftimeLocales)\n }\n\n scanRequireContext(contextLoader) {\n contextLoader.keys().forEach((id) => {\n const content = contextLoader(id)\n\n this._scanRecursive(content, this.locales, [], id)\n })\n }\n\n scanObject(object) {\n this._scanRecursive(object, this.locales, [])\n }\n\n _scanRecursive(data, storage, currentPath, id) {\n for (const key in data) {\n const value = data[key]\n\n if (typeof value == \"object\") {\n if (!(key in storage)) {\n storage[key] = {}\n }\n\n this._scanRecursive(value, storage[key], currentPath.concat([key], id))\n } else {\n if (key in storage) {\n console.error(`Key already found in locales: ${currentPath.join(\".\")}.${key} '${id}'`, {oldValue: storage[key], newValue: value})\n }\n\n storage[key] = value\n }\n }\n }\n\n l(format, date) {\n const formatValue = this.t(format)\n const formattedDate = this.strftime(formatValue, date)\n\n return formattedDate\n }\n\n t(key, variables, args) {\n const locale = args?.locale || this.locale\n const path = key.split(\".\")\n const localesToTry = this.fallbacks[locale] || [locale]\n\n for (const locale of localesToTry) {\n const value = this._lookup(path, locale, variables)\n\n if (value) return value\n }\n\n if (args?.default) return args.default\n\n const error = Error(`Key didn't exist: ${locale}.${key}`)\n\n return this.errorHandler.handleError({error, key, path, variables})\n }\n\n _lookup(path, locale, variables) {\n let defaultValue\n let value = dig(this.locales, locale, ...path)\n\n if (variables && \"defaultValue\" in variables) {\n defaultValue = digg(variables, \"defaultValue\")\n delete variables.defaultValue\n }\n\n if (value === undefined) {\n // Translation not found - try next locale\n if (!defaultValue) return\n\n value = defaultValue\n }\n\n if (variables) {\n for (const key in variables) {\n value = value.replace(`%{${key}}`, variables[key])\n }\n }\n\n return value\n }\n\n toNumber(number) {\n return numberable(number, {\n delimiter: this.t(\"number.format.delimiter\"),\n precision: this.t(\"number.format.precision\"),\n separator: this.t(\"number.format.separator\")\n })\n }\n}\n","// Raises an error outside the normal thread and returns the last part of the key as a string\nexport default class ErrorHandlersRaiseInBackground {\n constructor(i18n) {\n this.i18n = i18n\n }\n\n handleError({error, path}) {\n setTimeout(\n () => {\n throw error\n },\n 0\n )\n\n // Return the last part of the path as a string\n return path[path.length - 1]\n }\n}\n","import EventEmitter from \"events\"\n\nconst events = new EventEmitter()\n\nevents.setMaxListeners(1000)\n\nexport default events\n","import {useCallback, useMemo} from \"react\"\nimport useLocale from \"./use-locale.mjs\"\n\nconst useI18n = ({namespace}) => {\n const shared = useMemo(() => ({}), [])\n const locale = useLocale()\n\n shared.locale = locale\n shared.namespace = namespace\n\n const t = useCallback((key, variables, args = {}) => {\n const newArgs = Object.assign({locale: shared.locale}, args)\n\n if (key.startsWith(\".\")) {\n key = `${shared.namespace}${key}`\n }\n\n return I18n.t(key, variables, newArgs)\n }, [])\n\n return {\n locale,\n t\n }\n}\n\nexport default useI18n\n","import events from \"./events.mjs\"\nimport {useCallback, useEffect, useState} from \"react\"\n\nconst useLocale = () => {\n const [locale, setLocale] = useState(I18n.locale)\n const updateLocale = useCallback(() => {\n setLocale(I18n.locale)\n }, [])\n\n useEffect(() => {\n events.addListener(\"localeChanged\", updateLocale)\n\n return () => {\n events.removeListener(\"localeChanged\", updateLocale)\n }\n }, [])\n\n return locale\n}\n\nexport default useLocale\n","const incorporate = (...objects) => {\n const incorporator = new Incorporator({objects})\n\n return incorporator.merge()\n}\n\nexport {incorporate}\n\nexport default class Incorporator {\n constructor({objects}) {\n this.objects = objects\n this.replaceArrayIfExistsValue = false\n }\n\n replaceArrayIfExists(newValue) {\n this.replaceArrayIfExistsValue = newValue\n }\n\n merge() {\n return this.mergeObjects(...this.objects)\n }\n\n isPlainObject = (input) => {\n if (input && typeof input === \"object\" && !Array.isArray(input)) {\n return true\n }\n\n return false\n }\n\n mergeObjects = (firstObject, ...objects) => {\n for (const object of objects) {\n this.mergeObjectsInto(firstObject, object)\n }\n\n return firstObject\n }\n\n mergeArraysInto = (mergeIntoValue, ...arrays) => {\n for (const array of arrays) {\n for (const value of array) {\n if (!mergeIntoValue.includes(value)) {\n mergeIntoValue.push(value)\n }\n }\n }\n }\n\n mergeObjectsInto = (mergeInto, object) => {\n for (const key in object) {\n const value = object[key]\n\n if (key in mergeInto) {\n const mergeIntoValue = mergeInto[key]\n\n if (Array.isArray(value) && !this.replaceArrayIfExistsValue) {\n // Current value isn't an array - turn into array and then merge into that\n if (!Array.isArray(mergeIntoValue)) {\n mergeInto[key] = [mergeIntoValue]\n }\n\n this.mergeArraysInto(mergeInto[key], value)\n } else if (this.isPlainObject(mergeIntoValue) && this.isPlainObject(value)) {\n this.mergeObjectsInto(mergeIntoValue, value)\n } else {\n mergeInto[key] = value\n }\n } else {\n mergeInto[key] = value\n }\n }\n }\n}\n","class ParentElementsResult {\n constructor(element, path) {\n this.element = element\n this.path = path\n }\n\n getElement() {\n return this.element\n }\n\n getPath() {\n return this.path\n }\n}\n\nconst parentElement = ({element, callback}) => {\n const results = parentElements({element, breakAfterFirstFound: true, callback})\n\n if (results.length > 0) {\n return results[0].getElement()\n }\n}\n\nconst parentElements = ({element, breakAfterFirstFound, callback, currentPath = [], results = []}) => {\n const parent = element.parentNode\n const includeInResults = callback({element: parent})\n\n if (includeInResults) {\n const elementResult = new ParentElementsResult(parent, currentPath)\n\n results.push(elementResult)\n\n if (breakAfterFirstFound) {\n return results\n }\n }\n\n if (parent?.parentNode && (!breakAfterFirstFound || results.length == 0)) {\n parentElements({\n breakAfterFirstFound,\n element: parent,\n callback,\n currentPath: [...currentPath, parent],\n results\n })\n }\n\n return results\n}\n\nexport {\n parentElement,\n parentElements\n}\n"],"names":["replace","String","prototype","percentTwenties","Format","module","exports","formatters","RFC1738","value","call","RFC3986","stringify","parse","formats","utils","has","Object","hasOwnProperty","isArray","Array","defaults","allowDots","allowPrototypes","allowSparse","arrayLimit","charset","charsetSentinel","comma","decoder","decode","delimiter","depth","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","plainObjects","strictNullHandling","str","$0","numberStr","fromCharCode","parseInt","parseArrayValue","val","options","indexOf","split","parseKeys","givenKey","valuesParsed","key","child","segment","exec","parent","slice","index","keys","push","i","chain","leaf","length","obj","root","concat","create","cleanRoot","charAt","isNaN","parseObject","opts","undefined","TypeError","isRegExp","normalizeParseOptions","tempObj","cleanStr","limit","Infinity","parts","skipIndex","part","bracketEqualsPos","pos","maybeMap","encodedVal","combine","parseValues","newObj","merge","compact","getSideChannel","arrayPrefixGenerators","brackets","prefix","indices","repeat","pushToArray","arr","valueOrArray","apply","toISO","Date","toISOString","defaultFormat","addQueryPrefix","encode","encoder","encodeValuesOnly","format","formatter","serializeDate","date","skipNulls","sentinel","object","generateArrayPrefix","filter","sort","sideChannel","v","tmpSc","step","findFlag","get","RangeError","isBuffer","keyValue","valuesArray","valuesJoined","objKeys","values","join","adjustedPrefix","j","keyPrefix","set","valueSideChannel","normalizeStringifyOptions","arrayFormat","joined","hexTable","array","toString","toUpperCase","arrayToObject","source","assign","target","reduce","acc","a","b","queue","o","prop","refs","item","pop","compacted","compactQueue","strWithoutPlus","unescape","decodeURIComponent","e","defaultEncoder","kind","string","Symbol","escape","out","c","charCodeAt","constructor","fn","mapped","mergeTarget","forEach","targetItem","adapters","logger","console","WebSocket","log","messages","this","enabled","now","getTime","secondsSince","time","ConnectionMonitor","connection","visibilityDidChange","bind","reconnectAttempts","start","isRunning","startedAt","stoppedAt","startPolling","addEventListener","staleThreshold","stop","stopPolling","removeEventListener","recordPing","pingedAt","recordConnect","disconnectedAt","recordDisconnect","poll","clearTimeout","pollTimeout","setTimeout","reconnectIfStale","getPollInterval","reconnectionBackoffRate","Math","pow","min","random","connectionIsStale","refreshedAt","disconnectedRecently","reopen","document","visibilityState","isOpen","INTERNAL","message_types","welcome","disconnect","ping","confirmation","rejection","disconnect_reasons","unauthorized","invalid_request","server_restart","remote","default_mount_path","protocols","supportedProtocols","Connection","consumer","open","subscriptions","monitor","disconnected","send","data","webSocket","JSON","isActive","getState","socketProtocols","subprotocols","uninstallEventHandlers","url","installEventHandlers","close","allowReconnect","error","reopenDelay","getProtocol","protocol","isState","triedToReconnect","isProtocolSupported","states","state","readyState","toLowerCase","eventName","events","handler","message","event","identifier","reason","reconnect","type","reconnectAttempted","reload","confirmSubscription","notify","reconnected","reject","notifyAll","willAttemptReconnect","Subscription","params","mixin","properties","extend","perform","action","command","unsubscribe","remove","SubscriptionGuarantor","pendingSubscriptions","guarantee","subscription","startGuaranteeing","forget","s","stopGuaranteeing","retrySubscribing","retryTimeout","subscribe","map","Subscriptions","guarantor","channelName","channel","add","ensureActiveConnection","findAll","sendCommand","callbackName","args","Consumer","_url","test","createElement","href","createWebSocketURL","connect","addSubProtocol","subprotocol","createConsumer","name","element","head","querySelector","getAttribute","getConfig","hue2rgb","p","q","t","hslToRgb","h","l","r","g","round","NUMBER","PERCENTAGE","callWithSlashSeparator","commaSeparatedCall","cachedMatchers","parse255","int","parse360","parseFloat","parse1","num","parsePercentage","color","matchers","rgb","RegExp","rgba","hsl","hsla","hwb","hex3","hex4","hex6","hex8","getMatchers","match","colorFromKeyword","normalizeKeyword","w","gray","red","green","blue","hwbToRgb","useRouter","props","useShape","findRouteParams","useCallback","routeDefinition","_step","result","_iterator","_createForOfIteratorHelper","path","n","done","err","f","getPath","window","location","pathname","getRouteDefinitions","routeDefinitions","config","getRoutes","routes","parseRouteDefinitions","_step2","Locales","require","regex","parsedRouteDefinitions","_iterator2","availableLocales","_step3","locale","_iterator3","routePathName","inflection","camelize","Error","routePath","_toConsumableArray","groups","pathRegexString","escapeStringRegexp","variableName","pathRegex","useMemo","updateMeta","matchingRoute","_step4","_iterator4","m","parsedRouteDefinition","matched","groupKey","Number","findMatchingRoute","propTypes","PropTypes","WrapperComponent","ApiMakerRouter","restProps","_objectWithoutProperties","_excluded","notFoundComponent","NotFoundComponent","React","Suspense","fallback","Component","requireComponent","memo","shapeComponent","_NotificationsNotification","_ShapeComponent","NotificationsNotification","_this","_classCallCheck","_len","arguments","_key","_callSuper","onRemovedClicked","notification","_inherits","_this$props","className","title","style","width","maxWidth","marginBottom","padding","borderRadius","cursor","border","background","Pressable","dataSet","class","classNames","onPress","View","Text","fontWeight","ShapeComponent","PropTypesExact","isRequired","FlashNotificationsContainer","onPushNotification","detail","digg","count","removeNotification","setState","notifications","useStates","useEventListener","_this2","position","zIndex","top","right","Notification","configuration","HayaSelectConfiguration","_bodyPortal","newBodyPortal","_useState2","_slicedToArray","useState","globalThis","setPath","shared","onLocationChangedCallback","newPath","useEffect","onLocationChangedEvent","onLocationChanged","WrappedComponent","usePath","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$TypeError","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","func","applyBind","toStr","max","concatty","that","bound","arrLike","offset","slicy","boundLength","boundArgs","Function","joiner","joiny","Empty","implementation","clone","typeOf","isPlainObject","cloneDeep","instanceClone","res","cloneObjectDeep","cloneArrayDeep","isObject","isObjectObject","ctor","prot","_typeof","iterator","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","filterUniqueArray","lastIndexOf","assignStyle","base","property","baseValue","DASH","MS","cache","toUpper","camelCaseProperty","camelProp","hyphenateProperty","cssifyDeclaration","cssifyObject","css","RE","isPrefixedProperty","isPrefixedValue","unitlessProperties","borderImageOutset","borderImageSlice","borderImageWidth","lineHeight","opacity","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixedUnitlessProperties","prefixes","getPrefixedProperty","jLen","_property","isUnitlessProperty","unprefixProperty","propertyWithoutPrefix","normalizeProperty","resolveArrayValue","unprefixValue","defineProperty","_hyphenateStyleName2","_hyphenateStyleName","__esModule","$SyntaxError","gopd","nonEnumerable","nonWritable","nonConfigurable","loose","desc","configurable","enumerable","writable","hasSymbols","defineDataProperty","supportsDescriptors","predicate","defineProperties","predicates","getOwnPropertySymbols","SyntaxError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","getProto","getPrototypeOf","x","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt","Boolean","DataView","decodeURI","encodeURI","encodeURIComponent","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","Map","Promise","Proxy","ReferenceError","Reflect","Set","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","first","last","number","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","hasPropertyDescriptors","hasArrayLengthDefineBug","hasToStringTag","toStringTag","overrideIfSet","force","ReflectOwnKeys","R","ReflectApply","receiver","ownKeys","getOwnPropertyNames","NumberIsNaN","EventEmitter","init","once","emitter","resolve","errorListener","removeListener","resolver","eventTargetAgnosticAddListener","flags","on","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","_addListener","prepend","existing","warning","newListener","emit","unshift","warned","warn","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","unwrap","evlistener","ret","unwrapListeners","arrayClone","listenerCount","copy","wrapListener","arg","setMaxListeners","getMaxListeners","doError","er","context","listeners","addListener","prependListener","prependOnceListener","list","originalListener","shift","spliceOne","off","removeAllListeners","rawListeners","eventNames","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","validateFormat","condition","argIndex","framesToPop","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","hasProto","BigInt64Array","BigUint64Array","errorProto","foo","$Object","self","getPolyfill","shim","polyfill","getGlobal","origDefineProperty","define","descriptor","origSymbol","hasSymbolSham","sym","symObj","syms","propertyIsEnumerable","$hasOwn","Action","readOnly","BeforeUnloadEventType","PopStateEventType","createBrowserHistory","_options$window","defaultView","globalHistory","history","getIndexAndLocation","_window$location","search","hash","idx","usr","blockedPopTx","blockers","nextAction","Pop","_getIndexAndLocation","nextIndex","nextLocation","delta","retry","go","applyTx","_getIndexAndLocation2","createEvents","createHref","to","createPath","getNextLocation","parsePath","createKey","getHistoryStateAndUrl","allowTx","_getIndexAndLocation3","replaceState","Push","_getHistoryStateAndUr","historyState","pushState","Replace","_getHistoryStateAndUr2","back","forward","listen","block","blocker","unblock","promptBeforeUnload","preventDefault","returnValue","handlers","substr","_ref","_ref$pathname","_ref$search","_ref$hash","parsedPath","hashIndex","searchIndex","uppercasePattern","msPattern","toHyphenLower","hName","uncountable_words","plural","men","people","children","tia","analyses","drives","hives","curves","lrves","aves","foves","movies","aeiouyies","series","xes","mice","buses","oes","shoes","crises","octopuses","aliases","summonses","oxen","matrices","vertices","feet","teeth","geese","quizzes","whereases","criteria","genera","ss","singular","man","person","drive","ox","axis","octopus","summons","bus","buffalo","tium","sis","ffe","hive","aeiouyy","matrix","vertex","mouse","foot","tooth","goose","quiz","whereas","criterion","genus","common","plural_rules","singular_rules","non_titlecased_words","id_suffix","underbar","space_or_underbar","uppercase","underbar_prefix","inflector","_apply_rules","rules","skip","override","from_index","compare_func","pluralize","singularize","inflect","low_first_letter","str_arr","k","str_path","substring","underscore","all_upper_case","humanize","capitalize","dasherize","titleize","d","demodulize","tableize","classify","foreign_key","drop_id_ubar","ordinalize","ltd","ld","suf","transform","method","prefixMap","plugins","_isObject2","default","combinedValue","processedValue","_prefixValue2","_addNewValuesOnly2","_processedValue","_prefixProperty2","_interopRequireDefault","_cssInJsUtils","CROSS_FADE_REGEX","grab","grabbing","FILTER_REGEX","_isPrefixedValue2","_isPrefixedValue","alternativeProps","alternativePropList","marginBlockStart","marginBlockEnd","marginInlineStart","marginInlineEnd","paddingBlockStart","paddingBlockEnd","paddingInlineStart","paddingInlineEnd","borderBlockStart","borderBlockStartColor","borderBlockStartStyle","borderBlockStartWidth","borderBlockEnd","borderBlockEndColor","borderBlockEndStyle","borderBlockEndWidth","borderInlineStart","borderInlineStartColor","borderInlineStartStyle","borderInlineStartWidth","borderInlineEnd","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","maxHeight","height","columnWidth","minWidth","minHeight","propertyPrefixMap","outputValue","multipleValues","singleValue","dashCaseProperty","_hyphenateProperty2","pLen","prefixMapping","prefixValue","webkitOutput","mozOutput","_capitalizeString2","transition","transitionProperty","WebkitTransition","WebkitTransitionProperty","MozTransition","MozTransitionProperty","Webkit","Moz","ms","addIfNew","prefixProperties","requiredPrefixes","capitalizedProperty","prefixedProperty","_capitalizeString","metaData","currencies","currency","isFunction","isString","isInt","assertSameCurrency","left","assertType","other","Money","assertOperand","operand","amount","code","freeze","fromInteger","fromDecimal","rounder","decimal_digits","resultAmount","equals","subtract","multiply","multiplier","divide","divisor","allocate","ratios","remainder","results","total","ratio","share","floor","compare","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","isZero","isPositive","isNegative","toDecimal","toFixed","toJSON","getAmount","getCurrency","ctorName","isGeneratorFn","callee","isArguments","toDateString","getDate","setDate","isDate","stackTraceLimit","isError","ignoreCase","multiline","global","isRegexp","throw","return","next","isGeneratorObj","thisArg","baseTimes","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseAssignValue","eq","objValue","getRawTag","objectToString","symToStringTag","baseGetTag","isObjectLike","isMasked","toSource","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","isLength","typedArrayTags","isPrototype","nativeKeysIn","isProto","identity","overRest","setToString","constant","baseSetToString","iteratee","assignValue","customizer","isNew","newValue","coreJsData","baseRest","isIterateeCall","assigner","sources","guard","getNative","freeGlobal","baseIsNative","getValue","getPrototype","overArg","nativeObjectToString","tag","unmasked","reIsUint","isArrayLike","uid","maskSrcKey","IE_PROTO","Ctor","freeExports","nodeType","freeModule","freeProcess","process","nodeUtil","types","binding","nativeMax","otherArgs","freeSelf","shortOut","nativeNow","lastCalled","stamp","remaining","copyObject","createAssigner","keysIn","assignIn","baseIsArguments","stubFalse","Buffer","isNumber","baseIsTypedArray","baseUnary","nodeIsTypedArray","arrayLikeKeys","baseKeysIn","nullthrows","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","isUndefined","isBlob","isReactNative","uri","size","initCfg","serialize","cfg","fd","pre","FormData","nullsAsUndefineds","booleansAsIntegers","allowEmptyArrays","noFilesWithArrayNotation","dotsForObjectNotation","getParts","append","isBoolean","lastModifiedDate","lastModified","isFile","objectKeys","callBound","toObject","$push","$propIsEnumerable","originalGetSymbols","source1","getSymbols","nextKey","propValue","letters","actual","lacksProperEnumerationOrder","preventExtensions","thrower","assignHasPendingExceptions","walk","ValueParser","nodes","cb","bubble","unit","openParentheses","closeParentheses","singleQuote","doubleQuote","backslash","slash","colon","star","uLower","uUpper","plus","isUnicodeRange","input","prev","token","escapePos","whitespacePos","parenthesesOpenPos","tokens","stack","balanced","before","after","sourceEndIndex","sourceIndex","unclosed","stringifyNode","node","custom","buf","customResult","minus","dot","exp","EXP","nextCode","nextNextCode","likeNumber","specialProperty","semaphore","forbidden","_","componentName","unknownProps","ReactPropTypesSecret","emptyFunctionWithReset","resetWarningCache","propName","propFullName","secret","getShim","ReactPropTypes","bigint","bool","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","z","ra","sa","ta","pa","qa","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","A","Ma","trim","Na","Oa","prepareStackTrace","construct","displayName","includes","Pa","render","Qa","$$typeof","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","db","ownerDocument","eb","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","valueOf","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","animationIterationCount","aspectRatio","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","order","qb","rb","sb","setProperty","tb","menuitem","area","br","col","embed","hr","img","keygen","link","meta","param","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","Wb","memoizedState","dehydrated","Xb","Zb","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","gd","hd","id","Uc","stopPropagation","jd","kd","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","datetime","email","month","password","range","tel","text","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","end","selectionStart","selectionEnd","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","D","of","pf","qf","rf","sf","capture","passive","J","u","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","ref","_owner","_stringRef","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","y","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","pending","effects","lh","mh","eventTime","lane","payload","callback","nh","K","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","tagName","zh","Ah","Bh","L","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","O","Ih","Jh","Kh","Lh","P","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","Uh","Vh","Wh","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","hi","ii","destroy","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","readContext","useContext","useImperativeHandle","useInsertionEffect","useLayoutEffect","useReducer","useRef","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","defaultProps","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","contextType","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","digest","Ki","Li","Mi","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","tail","tailMode","xj","Dj","S","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","createElementNS","autoFocus","createTextNode","T","Gj","Hj","Ij","Jj","U","Kj","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","display","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","src","Vk","lk","ceil","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","bl","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","querySelectorAll","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","version","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","_interopRequireWildcard","_StyleSheet","_createElement","getAnimationStyle","animationType","visible","animatedSlideInStyles","animatedSlideOutStyles","animatedFadeInStyles","animatedFadeOutStyles","styles","container","hidden","bottom","animatedIn","animationDuration","ANIMATION_DURATION","animationTimingFunction","animatedOut","pointerEvents","fadeIn","animationKeyframes","fadeOut","slideIn","slideOut","_default","onDismiss","onShow","_React$useState","isRendering","setIsRendering","wasVisible","wasRendering","isAnimated","animationEndCallback","onAnimationEnd","_extends2","_objectWithoutPropertiesLoose2","_View","_canUseDom","ModalContent","forwardRef","forwardedRef","active","onRequestClose","transparent","rest","closeOnEscape","modal","modalTransparent","modalOpaque","role","backgroundColor","_UIManager","FocusBracket","tabIndex","focusBracket","attemptFocus","focusFirstDescendant","childNodes","focusLastDescendant","trapElementRef","focusRef","trapFocusInProgress","lastFocusedElement","trapFocus","Node","hasFocused","lastFocusedElementOutsideTrap","Fragment","outlineStyle","_reactDom","elementRef","_ModalPortal","_ModalAnimation","_ModalContent","_ModalFocusTrap","uniqueModalIdentifier","activeModalStack","activeModalListeners","notifyActiveModalListeners","activeModalId","modalId","removeActiveModal","_props$visible","setIsActive","onDismissCallback","onShowCallback","addActiveModal","_useMergeRefs","_useHover","_usePressEvents","delayLongPress","delayPressIn","delayPressOut","onBlur","onContextMenu","onFocus","onHoverIn","onHoverOut","onKeyDown","onLongPress","onPressMove","onPressIn","onPressOut","testOnly_hovered","testOnly_pressed","_useForceableState","useForceableState","hovered","setHovered","_useForceableState2","focused","setFocused","_useForceableState3","pressed","setPressed","hostRef","setRef","pressConfig","delayPressStart","delayPressEnd","onPressChange","onPressStart","onPressEnd","pressEventHandlers","onContextMenuPress","onKeyDownPress","contain","onHoverChange","onHoverStart","onHoverEnd","_tabIndex","interactionState","blurHandler","focusHandler","contextMenuHandler","keyDownHandler","forced","_useState","touchAction","MemoedPressable","_normalizeValueWithProperty","emptyObject","supportsCSS3TextDecoration","CSS","supports","SYSTEM_FONT_STACK","STYLE_SHORT_FORM_EXPANSIONS","borderColor","borderBlockColor","borderInlineColor","borderStyle","borderBlockStyle","borderInlineStyle","borderWidth","borderBlockWidth","borderInlineWidth","insetBlock","insetInline","marginBlock","marginInline","paddingBlock","paddingInline","overscrollBehavior","borderEndStartRadius","borderEndEndRadius","borderStartStartRadius","borderStartEndRadius","insetBlockEnd","insetBlockStart","isInline","resolvedStyle","_loop","backgroundClip","WebkitBackgroundClip","flexBasis","textDecorationLine","textDecoration","direction","_value","longFormProperties","marginLeft","marginRight","marginTop","paddingLeft","paddingRight","paddingTop","paddingBottom","longForm","seed","murmurhash2_32_gc","atomic","compiledStyle","$$css","compiledRules","atomicCompile","srcProp","valueString","stringifyValueWithProperty","cacheKey","cachedResult","createIdentifier","customGroup","atomicGroup","selector","_processKeyframesValu2","processKeyframesValue","animationNames","keyframesRules","createDeclarationBlock","_block","finalValue","_block2","_block3","_block4","_block5","scrollbarWidth","_block6","createAtomicRules","orderedRules","localizeableValue","PROPERTIES_VALUE","_left","_right","propPolyfill","PROPERTIES_I18N","ltr","rtl","PROPERTIES_FLIP","polyfillIndices","ltrPolyfillValues","rtlPolyfillValues","ltrVal","ltrPolyfill","rtlPolyfill","_ltr","_rtl","classic","_processKeyframesValu","_objectSpread2","classicGroup","inline","originalStyle","isRTL","frozenProps","nextStyle","originalValue","originalProp","originalValues","valuePolyfill","_createReactDOMStyle","_hash","_prefixStyles","inset","margin","insetInlineEnd","insetInlineStart","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRightColor","borderRightStyle","borderRightWidth","normalizedValue","domStyle","keyframesValue","keyframes","_createKeyframes","steps","stepName","createKeyframes","_isWebColor","_processColor","colorInt","_unitlessNumbers","colorProps","_normalizeColor","borderTopColor","borderBottomColor","shadowColor","textDecorationColor","textShadowColor","unitlessNumbers","gridRowGap","gridColumnGap","scale","scaleX","scaleY","scaleZ","shadowOpacity","prefixKey","rootNode","getElementById","ShadowRoot","sheet","group","selectors","cssRules","cssRule","cssText","selectorText","groupPattern","decodeGroupRule","getSelectorText","sheetInsert","orderedGroups","getOrderedGroups","nextGroupIndex","nextGroup","isInserted","insertRule","insertRuleAt","groupNumber","previousStart","getTextContent","marker","insert","groupValue","markerRule","encodeGroupRule","selectorPattern","createSheet","defaultId","getRootNode","sheets","_createOrderedCSSStyleSheet","_createCSSStyleSheet","initialRules","rule","roots","initialSheet","_compiler","_dom","_transformLocalizeStyle","_preprocess","_styleq","staticStyleMap","defaultPreprocessOptions","shadow","textShadow","insertRules","compiledOrderedRules","absoluteFillObject","absoluteFill","compiledStyles","_atomic","styleObj","_classic","compileAndInsertReset","preprocess","StyleSheet","writingDirection","styleProps","_options","preprocessOptions","styleq","factory","localizeStyle","customStyleq","compose","style1","style2","flatten","flatArray","flat","getSheet","hairlineWidth","resolveRNStyle","createTransformValue","createTextShadowValue","createBoxShadowValue","_warnOnce","defaultOffset","shadowOffset","shadowRadius","offsetX","offsetY","blurRadius","textShadowOffset","textShadowRadius","_ref2","radius","mapTransform","PROPERTIES_STANDARD","borderBottomEndRadius","borderBottomStartRadius","borderTopEndRadius","borderTopStartRadius","borderEndColor","borderEndStyle","borderEndWidth","borderStartColor","borderStartStyle","borderStartWidth","marginEnd","marginHorizontal","marginStart","marginVertical","paddingEnd","paddingHorizontal","paddingStart","paddingVertical","ignoredProps","elevation","overlayColor","resizeMode","tintColor","warnOnce","boxShadowValue","boxShadow","textShadowValue","_value2","verticalAlign","validate","isInvalid","suggestion","invalidShortforms","invalidMultiValueShortforms","_postcssValueParser","borderBottom","borderLeft","borderRight","borderTop","font","grid","outline","backgroundPosition","createContext","forwardedProps","_pick","_useElementLayout","_usePlatformMethods","_useResponderEvents","_TextAncestorContext","_useLocale","forwardPropsList","accessibilityProps","clickProps","focusProps","keyboardProps","mouseProps","touchProps","lang","hrefAttrs","numberOfLines","onLayout","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderGrant","onResponderMove","onResponderReject","onResponderRelease","onResponderStart","onResponderTerminate","onResponderTerminationRequest","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","selectable","hasTextAncestor","contextDirection","useLocaleContext","handleClick","component","langDirection","getLocaleDirection","componentDirection","dir","supportedProps","pickProps","WebkitLineClamp","textHasAncestor$raw","text$raw","textOneLine","textMultiLine","notSelectable","pressable","download","rel","platformMethodsRef","Provider","textStyle","boxSizing","listStyle","textAlign","whiteSpace","wordWrap","textOverflow","WebkitBoxOrient","userSelect","_getBoundingClientRect","_setValueForStyles","getRect","offsetHeight","offsetWidth","offsetLeft","offsetTop","offsetParent","clientLeft","clientTop","scrollY","scrollX","measureLayout","relativeToNativeNode","relativeNode","isConnected","relativeRect","_getRect","elementsToIgnore","BODY","INPUT","SELECT","TEXTAREA","blur","isContentEditable","measure","measureInWindow","_getBoundingClientRec","onFail","onSuccess","updateView","configureNextLayoutAnimation","onAnimationDidEnd","setLayoutAnimationEnabledExperimental","onScroll","onWheel","view$raw","alignItems","flexDirection","_AccessibilityUtil","_createDOMProps","_react","accessibilityComponent","propsToAccessibilityComponent","domProps","LocaleProvider","_normalizeColors","int32Color","_isDisabled","_propsToAccessibilityComponent","_propsToAriaRole","propsToAriaRole","accessibilityStates","roleComponents","article","banner","blockquote","complementary","contentinfo","deletion","emphasis","figure","insertion","listitem","main","navigation","paragraph","region","strong","accessibilityRole","level","accessibilityLevel","accessibilityRoleToWebRole","adjustable","header","image","imagebutton","keyboardkey","label","none","summary","_role","inferredRole","canUsePassiveEvents","getOptions","compatListener","supported","supportsPassiveEvents","_StyleSheet2","processIDRefList","idRefList","pointerEventsStyles","auto","_props","ariaActiveDescendant","accessibilityActiveDescendant","ariaAtomic","accessibilityAtomic","ariaAutoComplete","accessibilityAutoComplete","ariaBusy","accessibilityBusy","ariaChecked","accessibilityChecked","ariaColumnCount","accessibilityColumnCount","ariaColumnIndex","accessibilityColumnIndex","ariaColumnSpan","accessibilityColumnSpan","ariaControls","accessibilityControls","ariaCurrent","accessibilityCurrent","ariaDescribedBy","accessibilityDescribedBy","ariaDetails","accessibilityDetails","ariaDisabled","accessibilityDisabled","ariaErrorMessage","accessibilityErrorMessage","ariaExpanded","accessibilityExpanded","ariaFlowTo","accessibilityFlowTo","ariaHasPopup","accessibilityHasPopup","ariaHidden","accessibilityHidden","ariaInvalid","accessibilityInvalid","ariaKeyShortcuts","accessibilityKeyShortcuts","ariaLabel","accessibilityLabel","ariaLabelledBy","accessibilityLabelledBy","ariaLevel","ariaLive","accessibilityLiveRegion","ariaModal","accessibilityModal","ariaMultiline","accessibilityMultiline","ariaMultiSelectable","accessibilityMultiSelectable","ariaOrientation","accessibilityOrientation","ariaOwns","accessibilityOwns","ariaPlaceholder","accessibilityPlaceholder","ariaPosInSet","accessibilityPosInSet","ariaPressed","accessibilityPressed","ariaReadOnly","accessibilityReadOnly","ariaRequired","accessibilityRequired","ariaRoleDescription","accessibilityRoleDescription","ariaRowCount","accessibilityRowCount","ariaRowIndex","accessibilityRowIndex","ariaRowSpan","accessibilityRowSpan","ariaSelected","accessibilitySelected","ariaSetSize","accessibilitySetSize","ariaSort","accessibilitySort","ariaValueMax","accessibilityValueMax","ariaValueMin","accessibilityValueMin","ariaValueNow","accessibilityValueNow","ariaValueText","accessibilityValueText","focusable","nativeID","testID","_ariaActiveDescendant","_ariaAtomic","_ariaAutoComplete","_ariaBusy","_ariaChecked","_ariaColumnCount","_ariaColumnIndex","_ariaColumnSpan","_ariaControls","_ariaCurrent","_ariaDescribedBy","_ariaDetails","_ariaErrorMessage","_ariaExpanded","_ariaFlowTo","_ariaHasPopup","_ariaHidden","_ariaInvalid","_ariaKeyShortcuts","_ariaLabel","_ariaLabelledBy","_ariaLevel","_ariaLive","_ariaModal","_ariaMultiline","_ariaMultiSelectable","_ariaOrientation","_ariaOwns","_ariaPlaceholder","_ariaPosInSet","_ariaPressed","_ariaReadOnly","_ariaRequired","required","_ariaRoleDescription","_ariaRowCount","_ariaRowIndex","_ariaRowSpan","_ariaSelected","_ariaSetSize","_ariaSort","_ariaValueMax","_ariaValueMin","_ariaValueNow","_ariaValueText","dataProp","dataName","dataValue","inlineStyle","_id","onAuxClick","onGotPointerCapture","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerEnter","onPointerMove","onPointerLeave","onPointerOut","onPointerOver","onPointerUp","onKeyDownCapture","onKeyUp","onKeyUpCapture","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onMouseUp","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","getBoundingClientRect","selection","isTextNode","TEXT_NODE","addModalityListener","getActiveModality","activeModality","getModality","modality","testOnly_resetActiveModality","isEmulatingMouseEvents","KEYBOARD","previousModality","previousActiveModality","_addEventListener","MOUSE","TOUCH","CONTEXTMENU","MOUSEDOWN","MOUSEMOVE","MOUSEUP","POINTERDOWN","POINTERMOVE","SCROLL","SELECTIONCHANGE","TOUCHCANCEL","TOUCHMOVE","TOUCHSTART","bubbleOptions","captureOptions","restoreModality","callListeners","onPointerish","eventType","PointerEvent","nextObj","_createPrefixer","_static","_backgroundClip","_crossFade","_cursor","_filter","_imageSet","_logical","_position","_sizing","_transition","wms","appearance","textEmphasisPosition","textEmphasis","textEmphasisStyle","textEmphasisColor","boxDecorationBreak","clipPath","maskImage","maskMode","maskRepeat","maskPosition","maskClip","maskOrigin","maskSize","maskComposite","mask","maskBorderSource","maskBorderMode","maskBorderSlice","maskBorderWidth","maskBorderOutset","maskBorderRepeat","maskBorder","maskType","textDecorationStyle","textDecorationSkip","breakAfter","breakBefore","breakInside","columnFill","columnGap","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columnSpan","backdropFilter","hyphens","flowInto","flowFrom","regionFragment","textOrientation","fontKerning","textSizeAdjust","isCustomProperty","_dangerousStyleValue","styleName","styleValue","observer","ResizeObserver","resizeObserver","entries","entry","DOM_LAYOUT_HANDLER_NAME","layout","getResizeObserver","_useLayoutEffect","observe","unobserve","targetListeners","_useStable","removeTargetListener","clear","targetRef","onHoverUpdate","canUsePE","supportsPointerEvent","addMoveListener","_useEvent","addEnterListener","addLeaveListener","addLockListener","lockEventType","addUnlockListener","unlockEventType","hoverEnd","leaveListener","getPointerType","dispatchCustomEvent","moveListener","hoverStart","lockEvent","_modality","createEvent","_ref$bubbles","_ref$cancelable","initCustomEvent","LocaleContext","_isLocaleRTL","defaultLocale","isLocaleRTL","cachedRTL","Intl","Locale","script","maximize","rtlScripts","rtlLangs","_mergeRefs","hostNode","relativeToNode","success","failure","DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","RESPONDER_GRANT","getElementRole","getElementType","isActiveSignal","signal","isButtonRole","isPressStartSignal","isValidKeyPress","isSpacebar","isButtonish","normalizeDelay","delay","getTouchFromResponderEvent","_event$nativeEvent","_eventHandlers","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressDelayTimeout","_pressOutDelayTimeout","_touchState","_responderElement","configure","_config","reset","_cancelLongPressDelayTimeout","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","getEventHandlers","_createEventHandlers","shouldDelay","_selectionTerminated","_receiveSignal","_handleLongPress","keyupHandler","isNativeInteractiveElement","isActiveElement","isSpacebarKey","touch","_touchActivatePosition","hypot","_this$_config","_this$_config2","_this$_config3","prevState","nextState","_performTransitionSideEffects","isTerminalSignal","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","_this$_config5","_this$_config6","pressResponderRef","_PressResponder","pressResponder","TOUCH_START","TOUCH_MOVE","TOUCH_END","TOUCH_CANCEL","SELECTION_CHANGE","MOUSE_UP","MOUSE_MOVE","MOUSE_DOWN","MOUSE_CANCEL","FOCUS_OUT","CONTEXT_MENU","BLUR","isCancelish","isEndish","isMoveish","isScroll","isSelectionChange","isStartish","addNode","_utils","setResponderId","responderListenersMap","attachListeners","__reactResponderSystemActive","eventListener","documentEventsBubblePhase","documentEventsCapturePhase","getResponderNode","currentResponder","removeNode","terminateResponder","_createResponderEvent","_ResponderEventTypes","_ResponderTouchHistoryStore","startRegistration","moveRegistration","shouldSetResponderEvents","touchstart","mousedown","touchmove","mousemove","scroll","emptyResponder","idPath","trackedTouchCount","responderTouchHistoryStore","ResponderTouchHistoryStore","changeCurrentResponder","responder","getResponderConfig","domEvent","eventTarget","isStartEvent","isPrimaryPointerDown","isMoveEvent","isEndEvent","isScrollEvent","isSelectionChangeEvent","responderEvent","recordTouchTrack","wantsResponder","eventPaths","getResponderPaths","wasNegotiated","currentResponderIdPath","eventIdPath","lowestCommonAncestor","getLowestCommonAncestor","nodePath","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","check","shouldSetCallback","_i","_result","_id2","_node2","findWantsResponder","_currentResponder2","currentId","currentNode","_getResponderConfig2","dispatchConfig","registrationName","_getResponderConfig3","allowTransfer","attemptTransfer","_currentResponder","_getResponderConfig","isTerminateEvent","hasValidSelection","isReleaseEvent","hasTargetTouches","shouldTerminate","_currentResponder3","__DEV__","MAX_TOUCH_BANK","timestampForTouch","timestamp","getTouchIdentifier","recordTouchStart","touchHistory","touchRecord","touchBank","touchActive","startPageX","startPageY","startTimeStamp","currentPageX","currentPageY","currentTimeStamp","previousPageX","previousPageY","previousTimeStamp","resetTouchRecord","createTouchRecord","mostRecentTimeStamp","printTouch","printTouchBank","printed","_touchHistory","numberActiveTouches","indexOfSingleActiveTouch","topLevelType","recordTouchMove","recordTouchEnd","touchTrackToCheck","activeRecord","rect","propagationWasStopped","domEventChangedTouches","domEventType","normalizeIdentifier","normalizeTouches","locationX","locationY","emulatedTouches","emptyArray","getInitialValue","useStable","idCounter","isAttachedRef","ResponderSystem","requiresResponderSystem","isResponder","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","eventPath","composedPathFallback","composedPath","getEventPath","getResponderId","_isSelectionValid","isPrimaryMouseDown","isPrimaryMouseMove","noModifiers","keyName","UNINITIALIZED","I18nManager","allowRTL","forceRTL","getConstants","processColor","normalizeValueWithProperty","normalizeColor","createCSSStyleSheet","createOrderedCSSStyleSheet","OrderedCSSStyleSheet","crossFade","imageSet","logical","sizing","createPrefixer","prefixStyles","TextAncestorContext","AccessibilityUtil","reactRoot","hydrateLegacy","renderLegacy","UIManager","isScreenReaderEnabled","prefersReducedMotionMedia","matchMedia","AccessibilityInfo","isReduceMotionEnabled","matches","fetch","setAccessibilityFocus","reactTag","announceForAccessibility","announcement","alert","OS","select","web","isTesting","deepDiffer","one","two","maxDepth","twoKey","_createForOfIteratorHelperLoose","colors","onRefresh","progressBackgroundColor","progressViewOffset","refreshing","titleColor","dimensions","fontScale","screen","shouldInit","update","win","visualViewport","docEl","clientHeight","clientWidth","devicePixelRatio","handleResize","Dimensions","dimension","initialDimensions","_handler","_currentlyFocusedNode","currentlyFocusedField","focusTextInput","textFieldNode","blurTextInput","normalizeScrollEvent","contentOffset","contentSize","scrollHeight","scrollWidth","layoutMeasurement","ScrollViewBase","_props$scrollEnabled","scrollEnabled","_props$scrollEventThr","scrollEventThrottle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","scrollState","isScrolling","scrollLastTick","scrollTimeout","scrollRef","createPreventableScrollHandler","handleScrollTick","hideScrollbar","lastTick","eventThrottle","timeSinceLastTick","handleScrollEnd","handleScrollStart","useMergeRefs","scrollDisabled","overflowX","overflowY","ScrollView","super","_scrollNodeRef","_innerViewRef","isTouching","lastMomentumScrollBeginTime","lastMomentumScrollEndTime","observedScrollSinceBecomingResponder","becameResponderWhileAnimating","scrollResponderHandleScrollShouldSetResponder","scrollResponderHandleStartShouldSetResponderCapture","scrollResponderIsAnimating","scrollResponderHandleTerminationRequest","scrollResponderHandleTouchEnd","scrollResponderHandleResponderRelease","currentlyFocusedTextInput","keyboardShouldPersistTaps","onScrollResponderKeyboardDismissed","scrollResponderHandleScroll","scrollResponderHandleResponderGrant","scrollResponderHandleScrollBeginDrag","onScrollBeginDrag","scrollResponderHandleScrollEndDrag","onScrollEndDrag","scrollResponderHandleMomentumScrollBegin","onMomentumScrollBegin","scrollResponderHandleMomentumScrollEnd","onMomentumScrollEnd","scrollResponderHandleTouchStart","scrollResponderHandleTouchMove","scrollResponderScrollTo","animated","getScrollableNode","behavior","scrollResponderZoomTo","scrollResponderScrollNativeHandleToKeyboard","nodeHandle","additionalOffset","preventNegativeScrollOffset","additionalScrollOffset","getInnerViewNode","scrollResponderTextInputFocusError","scrollResponderInputMeasureAndScrollToKeyboard","keyboardScreenY","keyboardWillOpenTo","endCoordinates","scrollOffsetY","scrollResponderKeyboardWillShow","onKeyboardWillShow","scrollResponderKeyboardWillHide","onKeyboardWillHide","scrollResponderKeyboardDidShow","onKeyboardDidShow","scrollResponderKeyboardDidHide","onKeyboardDidHide","flashScrollIndicators","scrollResponderFlashScrollIndicators","getScrollResponder","getInnerViewRef","getNativeScrollRef","scrollTo","scrollToEnd","horizontal","scrollResponderNode","_handleContentOnLayout","_e$nativeEvent$layout","onContentSizeChange","_handleScroll","keyboardDismissMode","_setInnerViewRef","_setScrollNodeRef","mergeRefs","scrollResponderHandleStartShouldSetResponder","scrollResponderHandleResponderReject","contentContainerStyle","refreshControl","stickyHeaderIndices","pagingEnabled","centerContent","contentSizeChangeProps","hasStickyHeaderIndices","isSticky","stickyHeader","pagingEnabledChild","contentContainer","collapsable","contentContainerHorizontal","contentContainerCenterContent","baseStyle","baseHorizontal","baseVertical","pagingEnabledStyle","pagingEnabledHorizontal","pagingEnabledVertical","scrollResponderHandleTerminate","ScrollViewClass","scrollView","commonStyle","WebkitOverflowScrolling","justifyContent","scrollSnapType","scrollSnapAlign","ForwardedScrollView","onMoreTasks","_onMoreTasks","_queueStack","tasks","popable","enqueue","task","_getCurrentQueue","enqueueTasks","cancelTasks","tasksToCancel","hasTasksToProcess","processNext","_genPromise","run","stackIdx","stackItem","ex","_registry","registrations","registry","registration","_arr","isSupported","requestIdleCallback","didTimeout","timeRemaining","cancelIdleCallback","_emitter","InteractionManager","interactionStart","interactionComplete","runAfterInteractions","promise","_scheduleUpdate","_taskQueue","cancel","createInteractionHandle","handle","_inc","_addInteractionSet","clearInteractionHandle","_deleteInteractionSet","setDeadline","deadline","_deadline","_interactionSet","_nextUpdateHandle","_processUpdate","interactionCount","nextInteractionCount","begin","delayMS","_delay","_callback","dispose","abort","_taskHandle","schedule","CellRenderMask","numCells","_numCells","_regions","isSpacer","enumerateRegions","addCells","cells","_this$_findRegion","_findRegion","firstIntersect","firstIntersectIdx","_this$_findRegion2","lastIntersect","lastIntersectIdx","newLeadRegion","newTailRegion","newMainRegion","replacementRegions","numRegionsToDelete","every","cellIdx","firstIdx","lastIdx","middleIdx","middleRegion","ChildListCollection","_cellKeyToChildren","_childrenToCellKey","cellKey","_this$_cellKeyToChild","cellLists","forEachInCell","_this$_cellKeyToChild2","anyInCell","_this$_cellKeyToChild3","Info","any_blank_count","any_blank_ms","any_blank_speed_sum","mostly_blank_count","mostly_blank_ms","pixels_blank","pixels_sampled","pixels_scrolled","total_time_spent","sample_count","_minSampleCount","_sampleRate","setSampleRate","sampleRate","setMinSampleCount","minSampleCount","getFrameMetrics","_anyBlankStartTime","_enabled","_info","_mostlyBlankStartTime","_samplesStartTime","_getFrameMetrics","_resetData","activate","performance","deactivateAndFlush","info","computeBlankness","cellsAroundViewport","scrollMetrics","getItemCount","dOffset","velocity","visibleLength","abs","scrollSpeed","blankTop","firstFrame","inLayout","blankBottom","lastFrame","bottomEdge","blankness","StateSafePureComponent","_inAsyncStateUpdate","_installSetStateHooks","partialState","newProps","newState","_isViewable","viewAreaMode","viewablePercentThreshold","viewportHeight","itemLength","_isEntirelyVisible","pixels","visibleHeight","_getPixelsVisible","viewAreaCoveragePercentThreshold","_hasInteracted","_timers","_viewableIndices","_viewableItems","computeViewableItems","scrollOffset","renderRange","itemCount","itemVisiblePercentThreshold","viewableIndices","firstVisible","metrics","onUpdate","createViewToken","onViewableItemsChanged","waitForInteraction","minimumViewTime","_onUpdateSync","resetViewableIndices","recordInteraction","viewableIndicesToCheck","prevItems","nextItems","viewable","changed","_step$value","_step2$value","_viewable","isViewable","viewableItems","viewabilityConfig","VirtualizedListContext","VirtualizedListContextProvider","getScrollMetrics","getOutermostParentListRef","registerAsNestedChild","unregisterAsNestedChild","VirtualizedListCellContextProvider","_ref3","currContext","CellRenderer","separatorProps","highlighted","leadingItem","_separators","highlight","prevCellKey","onUpdateSeparators","unhighlight","_this$props2","updateProps","_this$props3","_onLayout","onCellLayout","updateSeparatorProps","onUnmount","_renderElement","renderItem","ListItemComponent","separators","_this$props4","CellRendererComponent","ItemSeparatorComponent","inversionStyle","onCellFocusCapture","itemSeparator","cellStyle","rowReverse","columnReverse","row","onFocusCapture","computeWindowedRenderLimits","maxToRenderPerBatch","windowSize","getFrameMetricsApprox","_scrollMetrics$zoomSc","zoomScale","visibleBegin","visibleEnd","overscanLength","fillPreference","overscanBegin","overscanEnd","_elementsThatOverlapO","offsets","offsetIndex","currentOffset","mid","frame","scaledOffsetStart","scaledOffsetEnd","elementsThatOverlapOffsets","overscanFirst","overscanLast","newCellCount","newRangeCount","maxNewCells","firstWillAddMore","firstShouldIncrement","lastWillAddMore","lastShouldIncrement","_usedIndexForKey","_keylessItemComponentName","horizontalOrDefault","maxToRenderPerBatchOrDefault","onEndReachedThresholdOrDefault","onEndReachedThreshold","getScrollingThreshold","threshold","windowSizeOrDefault","VirtualizedList","veryLast","__getFrameMetricsApprox","_footerLength","_scrollMetrics","_scrollRef","scrollToIndex","getItemLayout","onScrollToIndexFailed","viewOffset","viewPosition","_highestMeasuredFrameIndex","averageItemLength","_averageCellLength","highestMeasuredFrameIndex","_getOffsetApprox","scrollToItem","getItem","_index","scrollToOffset","_nestedChildLists","childList","_viewabilityTuples","viewabilityHelper","_updateViewableItems","getScrollRef","_getCellKey","_this$context","hasMore","_hasMore","_this$props$updateCel","_getScrollMetrics","_getOutermostParentListRef","_isNestedWithSameOrientation","_registerAsNestedChild","_unregisterAsNestedChild","_onUpdateSeparators","_cellRefs","_getSpacerKey","isVertical","_frames","_hasTriggeredInitialScrollToIndex","_hasWarned","_headerLength","_hiPriInProgress","_indicesToKeys","_lastFocusedCellKey","_offsetFromParentVirtualizedList","_prevParentOffset","contentLength","dt","_sentStartForContentLength","_sentEndForContentLength","_totalCellLength","_totalCellsMeasured","_captureScrollRef","_defaultRenderScrollComponent","_props$refreshing","_onCellLayout","_selectOffset","_selectLength","curr","_scheduleCellsToRenderUpdate","_triggerRemeasureForChildListsInCell","_computeBlankness","_onCellUnmount","measureLayoutRelativeToContainingList","_maybeCallOnEdgeReached","_onLayoutEmpty","_onLayoutFooter","_getFooterCellKey","_onLayoutHeader","_onContentSizeChange","initialScrollIndex","_convertParentScrollMetrics","_onScroll","_this$_convertParentS","perf","prevDt","_fillRateHelper","_onScrollBeginDrag","tuple","_onScrollEndDrag","_onMomentumScrollBegin","_onMomentumScrollEnd","_updateCellsToRender","_adjustCellsAroundViewport","renderMask","_createRenderMask","_getNonViewportRenderRegions","_createViewToken","_keyExtractor","isInteger","frameMetrics","focusedCellIndex","heightOfCellsBeforeFocused","heightOfCellsAfterFocused","_checkProps","_updateCellsToRenderBatcher","updateCellsBatchingPeriod","viewabilityConfigCallbackPairs","pair","initialRenderRegion","_initialRenderRegion","invertedWheelEventHandler","ev","scrollLength","clientLength","isEventTargetScrollable","leftoverDelta","targetDelta","inverted","nextScrollLeft","nextScrollTop","__isNative","additionalRegions","_i2","_allRegions","initialRegion","stickyIndicesSet","_ensureClosestStickyHeader","_props$initialScrollI","initialNumToRender","firstCellIndex","stickyOffset","ListHeaderComponent","itemIdx","newCellsAroundViewport","_this$_scrollMetrics","distanceFromEnd","_constrainToItemCount","disableVirtualization","renderAhead","EPSILON","childIdx","_findFirstChildWithMore","cellKeyForIndex","setupWebWheelHandler","teardownWebWheelHandler","constrainedCells","_pushCells","stickyIndicesFromProps","debug","shouldListenForLayout","_onCellFocusCapture","nestedContext","keyExtractor","_this$props5","ListEmptyComponent","ListFooterComponent","_this$props6","horizontallyInverted","verticallyInverted","_element","ListHeaderComponentStyle","_element2","spacerKey","renderRegions","lastSpacer","findLastWhere","section","firstMetrics","lastMetrics","spacerSize","_element3","ListFooterComponentStyle","scrollProps","invertStickyHeaders","renderScrollComponent","_renderDebugOverlay","prevProps","_this$props7","extraData","hiPriInProgress","normalize","framesInLayout","windowTop","frameLast","windowLen","visTop","visLen","debugOverlayBase","debugOverlay","debugOverlayFrame","debugOverlayFrameLast","debugOverlayFrameVis","_this$props8","onStartReached","onStartReachedThreshold","onEndReached","_this$_scrollMetrics2","distanceFromStart","isWithinStartThreshold","isWithinEndThreshold","_this$state$cellsArou","_this$_scrollMetrics3","hiPri","onStartReachedThresholdOrDefault","distTop","distBottom","safeIsNaN","areInputsEqual","newInputs","lastInputs","second","numColumnsOrDefault","numColumns","FlatList","_listRef","_virtualizedListPairs","_captureRef","_getItem","itemIndex","_item","_getItemCount","items","_this$props$keyExtrac","_renderer","columnWrapperStyle","cols","renderProp","_item2","it","_memoizedRenderer","resultFn","isEqual","memoized","newArgs","lastThis","lastArgs","lastResult","memoizeOne","_createOnViewableItemsChanged","_pushMultiColumnViewable","_this$props$keyExtrac2","removeClippedSubviews","_removeClippedSubviews","_this$props$strictMod","strictMode","renderer","NativeEventEmitter","nativeModule","_nativeModule","_this$_nativeModule","_this$_nativeModule2","removeListeners","_this$_nativeModule3","_this$_nativeModule4","nativeEventEmitter","isLayoutAnimationEnabled","shouldEmitW3CPointerEvents","shouldPressibilityUseW3CPointerEventsForHover","animatedShouldDebounceQueueFlush","animatedShouldUseSingleOp","RN$Bridgeless","__nativeAnimatedNodeTagCount","__nativeAnimationIdCount","waitingForQueuedOperations","queueOperations","queueAndExecuteBatchedOperations","flushQueueTimeout","nativeOps","API","saveValueCallback","queueOperation","setWaitingForIdentifier","unsetWaitingForIdentifier","disableQueue","clearImmediate","setImmediate","flushQueue","createAnimatedNode","updateAnimatedNodeConfig","startListeningToAnimatedNodeValue","stopListeningToAnimatedNodeValue","connectAnimatedNodes","parentTag","childTag","disconnectAnimatedNodes","startAnimatingNode","animationId","nodeTag","endCallback","stopAnimation","setAnimatedNodeValue","setAnimatedNodeOffset","flattenAnimatedNodeOffset","extractAnimatedNodeOffset","connectAnimatedNodeToView","viewTag","disconnectAnimatedNodeFromView","restoreDefaultValues","dropAnimatedNode","addAnimatedEventToView","eventMapping","removeAnimatedEventFromView","animatedNodeTag","SUPPORTED_COLOR_STYLES","SUPPORTED_STYLES","translateX","translateY","SUPPORTED_TRANSFORMS","rotate","rotateX","rotateY","rotateZ","perspective","SUPPORTED_INTERPOLATION_PARAMS","inputRange","outputRange","extrapolate","extrapolateRight","extrapolateLeft","isSupportedStyleProp","isSupportedTransformProp","isSupportedInterpolationParam","generateNewAnimationId","_warnedMissingNativeAnimated","shouldUseNativeDriver","useNativeDriver","isSupportedColorStyleProp","addWhitelistedStyleProp","addWhitelistedTransformProp","addWhitelistedInterpolationParam","validateStyles","_key2","validateTransform","configs","validateInterpolation","_key3","generateNewNodeTag","assertNativeAnimatedModule","transformDataType","PI","NativeAnimatedAPI","NativeAnimatedHelper","_uniqueId","__attach","__detach","__nativeTag","__getValue","__getAnimatedValue","__addChild","__removeChild","__getChildren","__makeNative","platformConfig","_platformConfig","hasListeners","_startListeningToNativeValueUpdates","_stopListeningForNativeValueUpdates","__nativeAnimatedValueListener","__shouldUpdateListenersForNewNativeTag","__getNativeTag","__onAnimatedValueUpdateReceived","__callListeners","_this$__nativeTag","nativeTag","__getNativeConfig","__getPlatformConfig","__setPlatformConfig","_children","linear","createInterpolation","colorToRgba","pattern","stringShapeRegex","checkPattern","outputRanges","interpolations","shouldRound","startsWith","createInterpolationFromStringOutputRange","checkInfiniteRange","checkValidInputRange","easing","findRange","inputMin","inputMax","outputMin","outputMax","interpolate","normalizedColor","AnimatedInterpolation","_parent","_interpolation","parentValue","__transformDataType","__createInterpolation","_startingValue","_offset","_animation","_updateValue","operation","_executeAsAnimatedBatch","setOffset","flattenOffset","extractOffset","resetAnimation","animate","__isInteraction","previousAnimation","_tracking","tracking","flush","animatedStyles","findAnimatedStyles","animatedStyle","attachNativeEvent","viewRef","argMapping","eventMappings","traverse","nativeEventPath","animatedValueTag","mapping","detach","AnimatedEvent","_argMapping","__addListener","_callListeners","_attachedEvent","__removeListener","__getHandler","_len2","recMapping","recEvt","mappingKey","_len3","_key4","transforms","_transforms","transConfigs","flattenStyle","createAnimatedStyle","inputStyle","_inputStyle","_style","_walkStyleAndGetValues","updatedStyle","_walkStyleAndGetAnimatedValues","styleConfig","styleKey","_animatedView","__disconnectAnimatedView","__connectAnimatedView","setNativeView","animatedView","nativeViewTag","__restoreDefaultValues","propsConfig","propKey","useAnimatedProps","onUpdateRef","prevNodeRef","isUnmountingRef","prevNode","useAnimatedPropsLifecycle","effect","cleanupRef","refEffect","getEventTarget","_events$_i","_propName","callbackRef","reduceAnimatedProps","createAnimatedComponent","_useAnimatedProps","reducedProps","_refs","passthroughAnimatedPropExplicitValues","passthroughStyle","passthroughProps","mergedStyle","assets","getAssetByID","assetId","dataUriPattern","ImageUriCache","_entries","lastUsedTimestamp","refCount","_cleanUpIfNeeded","leastRecentlyUsedKey","leastRecentlyUsedEntry","imageUris","_maximumEntries","requests","ImageLoader","requestId","onerror","onload","getSize","complete","interval","setInterval","load","clearInterval","naturalHeight","naturalWidth","onLoad","Image","onDecode","prefetch","queryCache","uris","PixelRatio","getFontScale","getPixelSizeForLayoutSize","layoutSize","roundToNearestPixel","LOADED","LOADING","_filterId","svgDataUriPattern","resolveAssetUri","asset","scales","preferredScale","scaleSuffix","httpServerLocation","svg","defaultSource","draggable","onLoadEnd","onLoadStart","updateState","_React$useState2","updateLayout","hiddenImageRef","filterRef","requestRef","shouldDisplaySource","_extractNonStandardSt","filterId","tintColorProp","flatStyle","filters","shadowString","extractNonStandardStyleProps","_resizeMode","_tintColor","selectedSource","displayImageUri","imageSizeStyle","_getAssetByID","resolveAssetDimensions","backgroundImage","backgroundSize","_hiddenImageRef$curre","_height3","_width3","scaleFactor","getBackgroundSize","hiddenImage","alt","accessibilityImage$raw","abortPendingRequest","_layout","undo","resizeModeStyles","visibility","floodColor","in2","operator","createTintColorSVG","ImageWithStatics","backgroundRepeat","center","cover","stretch","VirtualizedSectionList","_subExtractor","_convertViewable","_info$index","keyExtractorWithNullableIndex","keyExtractorWithNonNullableIndex","_onViewableItemsChanged","_renderItem","listItemCount","infoIndex","renderSectionHeader","renderSectionFooter","SeparatorComponent","_getSeparatorComponent","ItemWithSeparator","LeadingSeparatorComponent","SectionSeparatorComponent","leadingSection","setSelfHighlightCallback","_setUpdateHighlightFor","setSelfUpdatePropsCallback","_setUpdatePropsFor","updateHighlightFor","_updateHighlightFor","updatePropsFor","_updatePropsFor","trailingItem","trailingSection","_updatePropsMap","updateHighlight","_updateHighlightMap","updateHighlightFn","updatePropsFn","scrollToLocation","sectionIndex","sections","stickySectionHeadersEnabled","toIndexParams","getListRef","passThroughProps","listHeaderOffset","sectionData","isLastItemInList","isLastItemInSection","leadingSeparatorHiglighted","setLeadingSeparatorHighlighted","separatorHighlighted","setSeparatorHighlighted","_React$useState3","leadingSeparatorProps","setLeadingSeparatorProps","_React$useState4","setSeparatorProps","leadingSeparator","separator","SectionList","_wrapperListRef","listRef","_stickySectionHeadersEnabled","_a","_b","_min","_max","_lastValue","diff","_warnedAboutDivideByZero","modulus","_modulus","animationClass","animationConfig","_animationClass","_animationConfig","_useNativeDriver","toValue","__getNativeAnimationConfig","valueIn","jointCallback","getLayout","getTranslateTransform","startNativeAnimationNextId","fromValue","onEnd","animatedValue","__nativeId","__debouncedOnEnd","__onEnd","__startNativeAnimation","startNativeAnimationWaitId","_config$deceleration","_config$isInteraction","_config$iterations","_deceleration","deceleration","_velocity","isInteraction","__iterations","iterations","__active","_fromValue","_onUpdate","_startTime","_animationFrame","requestAnimationFrame","finished","cancelAnimationFrame","stiffnessFromOrigamiValue","oValue","dampingFromOrigamiValue","fromOrigamiTensionAndFriction","tension","friction","stiffness","damping","fromBouncinessAndSpeed","bounciness","speed","startValue","endValue","projectNormal","bouncyTension","bouncyFriction","b3Friction2","b3Friction3","linearInterpolation","SpringAnimation","_config$overshootClam","_config$restDisplacem","_config$restSpeedThre","_config$velocity","_config$velocity2","_config$delay","_config$stiffness","_config$damping","_config$mass","_overshootClamping","overshootClamping","_restDisplacementThreshold","restDisplacementThreshold","_restSpeedThreshold","restSpeedThreshold","_initialVelocity","_lastVelocity","_toValue","mass","_stiffness","_damping","_mass","_config$bounciness","_config$speed","springConfig","SpringConfig","_config$tension","_config$friction","_springConfig","_this$_initialVelocit","initialVelocity","_startPosition","_lastPosition","_lastTime","_frameTime","internalState","getInternalState","lastPosition","lastVelocity","lastTime","_timeout","deltaTime","v0","zeta","sqrt","omega0","omega1","x0","envelope","sin","cos","_envelope","isOvershooting","isVelocity","isDisplacement","ease","NEWTON_ITERATIONS","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSampleStepSize","float32ArraySupported","aA1","aA2","calcBezier","aT","getSlope","bezier","mX1","mY1","mX2","mY2","sampleValues","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","_aGuessT","aGuessT","currentSlope","newtonRaphsonIterate","_aA","_aB","currentX","currentT","aA","aB","binarySubdivide","Easing","step0","step1","quad","cubic","poly","circle","elastic","bounce","_t","_t2","t2","x1","y1","x2","y2","inOut","_easeInOut","_config$easing","_config$duration","_easing","_duration","duration","frames","numFrames","defaultColor","isRgbaValue","AnimatedColor","isRgbaAnimatedValue","rgbaAnimatedValue","processedColor","initColor","nativeColor","_processColor2","shouldUpdateNodeConfig","rgbaValue","_nativeTag","_combineCallbacks","onComplete","maybeVectorAnim","anim","configX","configY","_config$key","aY","parallel","stopTogether","configR","configG","configB","configA","_config$_key","aR","aG","timing","_start2","singleConfig","_startNativeLoop","_isUsingNativeDriver","sequence","animations","doneCount","hasEnded","endResult","Value","ValueXY","Color","Interpolation","decay","_start3","spring","_start","modulo","diffClamp","stagger","loop","_temp","_ref$iterations","_ref$resetBeforeItera","resetBeforeIteration","isFinished","iterationsSoFar","restart","animatedEvent","forkEvent","unforkEvent","Event","inAnimationCallback","mockAnimationStart","guardedCallback","emptyAnimation","mockCompositeAnimation","anyValue","AnimatedImplementation","Animated","AnimatedMock","query","listenerMapping","getColorScheme","addChangeListener","mappedListener","colorScheme","RootTagContext","AppContainer","innerView","appContainer","rootTag","wrapperComponentProvider","runnables","componentProviderInstrumentationHook","AppRegistry","getAppKeys","getApplication","appKey","appParameters","registerComponent","componentProvider","RootComponent","initialProps","getStyleElement","renderApplication","shouldHydrate","renderFn","registerConfig","registerRunnable","runApplication","setComponentProviderInstrumentationHook","hook","setWrapperComponentProvider","provider","unmountApplicationComponentAtRootTag","isPrefixed","EVENT_TYPES","VISIBILITY_CHANGE_EVENT","VISIBILITY_STATE_PROPERTY","AppStates","changeEmitter","AppState","currentState","isAvailable","clipboardAvailable","exitApp","Clipboard","queryCommandSupported","getString","setString","selectNodeContents","execCommand","isVisible","dismiss","configureNext","Presets","easeInEaseOut","springDamping","Types","easeIn","easeOut","keyboard","Properties","scaleXY","checkConfig","initialURL","urlToOpen","URL","_eventCallbacks","_dispatchEvent","filteredCallbacks","canOpenURL","getInitialURL","openURL","_validateURL","TouchHistoryMath","centroidDimension","touchesChangedAfter","isXAxis","ofCurrent","oneTouchData","touchTrack","noCentroid","currentCentroidXOfTouchesChangedAfter","currentCentroidYOfTouchesChangedAfter","previousCentroidXOfTouchesChangedAfter","previousCentroidYOfTouchesChangedAfter","currentCentroidX","currentCentroidY","PanResponder","_initializeGestureState","gestureState","moveX","moveY","y0","dx","dy","vx","vy","_accountsForMovesUpTo","_updateGestureStateOnMove","movedAfter","prevX","prevY","nextDX","nextDY","shouldCancelClick","timeout","stateID","panHandlers","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponderCapture","clearInteractionTimeout","onPanResponderGrant","onShouldBlockNativeResponder","onPanResponderReject","onPanResponderRelease","setInteractionTimeout","onPanResponderStart","onPanResponderMove","onPanResponderEnd","onPanResponderTerminate","onPanResponderTerminationRequest","onClickCapture","getInteractionHandle","content","navigator","sharedAction","dismissedAction","vibrate","createSvgCircle","cx","cy","fill","ActivityIndicator","_props$animating","animating","_props$color","_props$hidesWhenStopp","hidesWhenStopped","_props$size","viewBox","stroke","indicatorSizes","animationPause","animationPlayState","small","large","PressResponder","usePressEvents","TouchableOpacity","activeOpacity","rejectResponderTermination","setDuration","opacityOverride","setOpacityOverride","setOpacityTo","setOpacityActive","setOpacityInactive","isGrant","actionable","transitionDuration","MemoedTouchableOpacity","Button","buttonDisabled","textDisabled","textTransform","CheckBox","onChange","onValueChange","fakeControl","fakeControlChecked","fakeControlDisabled","fakeControlCheckedAndDisabled","nativeControl","cursorInherit","cursorDefault","ImageBackground","_props$style","imageStyle","imageRef","_StyleSheet$flatten","KeyboardAvoidingView","relativeKeyboardHeight","keyboardFrame","keyboardY","keyboardVerticalOffset","onKeyboardChange","Picker","selectedValue","itemStyle","prompt","_e$target","selectedIndex","initial","usePlatformMethods","Item","fontFamily","fontSize","useEvent","useHover","ProgressBar","_props$indeterminate","indeterminate","_props$progress","progress","_props$trackColor","trackColor","percentageProgress","forcedColorAdjust","cssFunction","SafeAreaView","StatusBar","setBackgroundColor","setBarStyle","setHidden","setNetworkActivityIndicatorVisible","setTranslucent","CSS_UNIT_RE","thumbDefaultBoxShadow","thumbFocusedBoxShadow","defaultDisabledTrackColor","defaultDisabledThumbColor","Switch","activeThumbColor","activeTrackColor","_props$disabled","thumbColor","_props$value","thumbRef","handleFocusState","styleHeight","styleWidth","trackBorderRadius","trackCurrentColor","true","false","thumbCurrentColor","thumbHeight","thumbWidth","rootStyle","disabledTrackColor","disabledThumbColor","trackStyle","thumbStyle","thumb","thumbActive","alignSelf","setSelection","isSelectionStale","setSelectionRange","autoCapitalize","autoComplete","autoCorrect","maxLength","placeholder","rows","spellCheck","focusTimeout","TextInput","_inputMode","_props$autoCapitalize","autoCompleteType","_props$autoCorrect","blurOnSubmit","caretHidden","clearTextOnFocus","editable","enterKeyHint","inputMode","keyboardType","_props$multiline","onChangeText","onKeyPress","onSelectionChange","onSubmitEditing","placeholderTextColor","_props$readOnly","returnKeyType","_props$secureTextEntr","secureTextEntry","selectTextOnFocus","showSoftInputOnFocus","prevSelection","prevSecureTextEntry","handleContentSizeChange","newHeight","newWidth","imperativeRef","isFocused","useElementLayout","useResponderEvents","useLocale","pick","shouldBlurOnSubmit","isComposing","isEventComposing","onSelect","_selection","textinput$raw","virtualkeyboardpolicy","State","MozAppearance","WebkitAppearance","resize","caretColor","twoArgumentPooler","a1","a2","Klass","instancePool","standardReleaser","destructor","poolSize","DEFAULT_POOLER","addPoolingTo","CopyConstructor","pooler","NewKlass","getPooled","release","BoundingDimensions","getPooledFromElement","Position","extractSingleTouch","hasTouches","hasChangedTouches","States","baseStatesConditions","RESPONDER_INACTIVE_PRESS_IN","RESPONDER_INACTIVE_PRESS_OUT","RESPONDER_ACTIVE_PRESS_IN","RESPONDER_ACTIVE_PRESS_OUT","RESPONDER_ACTIVE_LONG_PRESS_IN","RESPONDER_ACTIVE_LONG_PRESS_OUT","IsActive","IsPressingIn","IsLongPressingIn","Signals","ENTER_PRESS_RECT","LEAVE_PRESS_RECT","TouchableMixin","touchableNode","getTouchableNode","_touchableBlurListener","_isTouchableKeyboardActive","touchable","touchState","touchableHandleResponderTerminate","touchableDelayTimeout","longPressDelayTimeout","pressOutDelayTimeout","pressInLocation","responderID","touchableGetInitialState","touchableHandleResponderTerminationRequest","touchableHandleStartShouldSetResponder","touchableLongPressCancelsPress","touchableHandleResponderGrant","dispatchID","touchableGetHighlightDelayMS","_handleDelay","longDelayMS","touchableGetLongPressDelayMS","LONG_PRESS_THRESHOLD","_handleLongDelay","touchableHandleResponderRelease","touchableHandleResponderMove","positionOnActivate","dimensionsOnActivate","pressRectOffset","touchableGetPressRectOffset","pressExpandLeft","pressExpandTop","pressExpandRight","pressExpandBottom","hitSlop","touchableGetHitSlop","_getDistanceBetweenPoints","touchableHandleFocus","touchableHandleBlur","_remeasureMetricsOnActivation","_handleQueryLayout","globalX","globalY","curState","_performSideEffectsForTransition","_isHighlight","_savePressInLocation","bX","bY","curIsHighlight","newIsHighlight","isInitialTransition","isActiveTransition","touchableHandleLongPress","_startHighlight","_endHighlight","hasLongPressHandler","pressIsLongButStillCallOnPress","touchableHandlePress","_playTouchSound","playTouchSound","touchableHandleActivePressIn","touchableHandleActivePressOut","touchableGetPressOutDelayMS","touchableHandleKeyEvent","withoutDefaultFocusAndBlur","TouchableMixinWithoutDefaultFocusAndBlur","Touchable","Mixin","TOUCH_TARGET_DEBUG","renderDebugView","debugHitSlopStyle","hexColor","createExtraStyles","underlayColor","underlay","hasPressHandler","TouchableHighlight","onHideUnderlay","onShowUnderlay","extraStyles","setExtraStyles","showUnderlay","hideUnderlay","only","MemoedTouchableHighlight","UnimplementedView","unimplementedViewStyles","accessibilityState","accessibilityValue","TouchableWithoutFeedback","elementProps","MemoedTouchableWithoutFeedback","YellowBox","ignoreWarnings","ignoreLogs","ignoreAllLogs","uninstall","install","useColorScheme","setColorScheme","useWindowDimensions","dims","setDims","handleChange","canUseDOM","useLayoutEffectImpl","createResponderEvent","forceUpdate","__self","__source","_status","Children","toArray","Profiler","PureComponent","StrictMode","act","cloneElement","_currentValue2","_threadCount","_defaultValue","_globalName","createFactory","createRef","isValidElement","lazy","startTransition","unstable_act","OwnPropertyKeys","CreateMethodProperty","setToStringTag","sortIndex","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","hasDescriptors","gOPD","$floor","functionLengthIsConfigurable","functionLengthIsWritable","deep","allocUnsafe","cloneBuffer","cloneSymbol","byteLength","cloneArrayBuffer","buffer","byteOffset","cloneTypedArray","lastIndex","cloneRegExp","inspect","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","$wm","$m","$o","assert","objects","listGet","listHas","listSet","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","bigIntValueOf","gOPS","symToString","hasShammedSymbols","gPO","addNumericSeparator","sepRegex","intStr","dec","utilInspect","inspectCustom","inspectSymbol","isSymbol","wrapQuotes","defaultStyle","quoteChar","quoteStyle","inspect_","seen","maxStringLength","customInspect","indent","numericSeparator","inspectString","bigIntStr","baseIndent","getIndent","noIndent","newOpts","nameOf","arrObjKeys","symString","markBoxed","HTMLElement","isElement","attrs","attributes","xs","singleLineValues","indentedJoin","cause","isMap","mapParts","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isBigInt","ys","protoTag","stringTag","trailer","lowbyte","lineJoiner","symMap","util","hasNativeMap","ArraySet","_array","_set","fromArray","aArray","aAllowDuplicates","aStr","sStr","toSetString","isDuplicate","at","aIdx","base64","aValue","digit","encoded","vlq","toVLQSigned","VLQ_BASE","aIndex","aOutParam","continuation","shifted","strLen","intToCharMap","recursiveSearch","aLow","aHigh","aNeedle","aHaystack","aCompare","aBias","cmp","LEAST_UPPER_BOUND","GREATEST_LOWER_BOUND","MappingList","_sorted","_last","generatedLine","generatedColumn","unsortedForEach","aCallback","aThisArg","aMapping","mappingA","mappingB","lineA","lineB","columnA","columnB","compareByGeneratedPositionsInflated","swap","ary","temp","doQuickSort","comparator","low","high","pivot","binarySearch","base64VLQ","quickSort","SourceMapConsumer","aSourceMap","aSourceMapURL","sourceMap","parseSourceMapInput","IndexedSourceMapConsumer","BasicSourceMapConsumer","getArg","names","sourceRoot","sourcesContent","mappings","file","_version","isAbsolute","relative","_names","_sources","_absoluteSources","computeSourceURL","_mappings","_sourceMapURL","Mapping","originalLine","originalColumn","lastOffset","line","column","_sections","offsetLine","offsetColumn","generatedOffset","fromSourceMap","__generatedMappings","_parseMappings","__originalMappings","_charIsMappingSeparator","aSourceRoot","GENERATED_ORDER","ORIGINAL_ORDER","eachMapping","aContext","aOrder","_generatedMappings","_originalMappings","allGeneratedPositionsFor","aArgs","needle","_findSourceIndex","_findMapping","compareByOriginalPositions","lastColumn","aSource","relativeSource","smc","_sourceRoot","_generateSourcesContent","_file","generatedMappings","destGeneratedMappings","destOriginalMappings","srcMapping","destMapping","previousGeneratedColumn","previousOriginalLine","previousOriginalColumn","previousSource","previousName","cachedSegments","originalMappings","compareByGeneratedPositionsDeflated","aMappings","aLineName","aColumnName","aComparator","computeColumnSpans","nextMapping","lastGeneratedColumn","originalPositionFor","hasContentsOfAllSources","some","sourceContentFor","nullOnMissing","urlParse","fileUriAbsPath","scheme","generatedPositionFor","bias","generatedPosition","sectionMappings","adjustedMapping","SourceMapGenerator","_skipValidation","_sourcesContents","aSourceMapConsumer","generator","newMapping","generated","original","addMapping","sourceFile","sourceRelative","setSourceContent","_validateMapping","aSourceFile","aSourceContent","applySourceMap","aSourceMapPath","newSources","newNames","aGenerated","aOriginal","aName","_serializeMappings","nameIdx","sourceIdx","previousGeneratedLine","aSources","REGEX_NEWLINE","isSourceNode","SourceNode","aLine","aColumn","aChunks","sourceContents","fromStringWithSourceMap","aGeneratedCode","aRelativePath","remainingLines","remainingLinesIndex","shiftNextLine","getNextLine","lastGeneratedLine","lastMapping","nextLine","addMappingWithCode","aChunk","chunk","aFn","aSep","newChildren","replaceRight","aPattern","aReplacement","walkSourceContents","fromSetString","toStringWithSourceMap","sourceMappingActive","lastOriginalSource","lastOriginalLine","lastOriginalColumn","lastOriginalName","sourceContent","aDefaultValue","urlRegexp","dataUrlRegexp","aUrl","auth","host","port","urlGenerate","aParsedUrl","aPath","up","aRoot","aPathUrl","aRootUrl","supportsNullProto","isProtoString","strcmp","aStr1","aStr2","onlyCompareOriginal","onlyCompareGenerated","sourceURL","sourceMapURL","parsed","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","tmp","lo","md51_array","subarray","rhex","hex","toUtf8","utf8Str2ArrayBuffer","returnUInt8Array","buff","arrayBuffer2Utf8Str","concatenateArrayBuffers","hexToBinaryString","bytes","SparkMD5","clamp","targetArray","sourceArray","appendBinary","contents","_buff","_length","raw","_finish","hashBinary","EventListener","eventOptions","unorderedBindings","bindingConnected","bindingDisconnected","handleEvent","extendedEvent","stopImmediatePropagation","immediatePropagationStopped","extendEvent","bindings","hasBindings","leftIndex","rightIndex","Dispatcher","application","eventListenerMaps","started","eventListeners","fetchEventListenerForBinding","clearEventListeners","clearEventListenersForBinding","handleError","removeMappedEventListenerFor","eventListenerMap","fetchEventListenerMapForEventTarget","fetchEventListener","createEventListener","defaultActionDescriptorFilters","prevent","descriptorPattern","parseEventTarget","eventTargetName","namespaceCamelize","isSomething","hasProperty","allModifiers","schema","defaultEventNames","getDefaultEventNameForElement","methodName","keyFilter","forToken","descriptorString","parseActionDescriptorString","eventFilter","shouldIgnoreKeyboardEvent","keyFilterDissatisfied","standardFilter","keyMappings","shouldIgnoreMouseEvent","typecast","ctrl","modifier","details","textarea","o_O","Binding","actionEvent","prepareActionEvent","willBeInvokedByEvent","applyEventModifiers","invokeWithEvent","controller","actionDescriptorFilters","passes","logDebugActivity","KeyboardEvent","MouseEvent","Element","scope","containsElement","ElementObserver","delegate","mutationObserverInit","subtree","elements","mutationObserver","MutationObserver","mutations","processMutations","refresh","pause","takeRecords","matchElementsInTree","removeElement","addElement","mutation","processMutation","processAttributeChange","processRemovedNodes","removedNodes","processAddedNodes","addedNodes","elementAttributeChanged","matchElement","elementFromNode","processTree","elementIsActive","tree","processor","ELEMENT_NODE","elementMatched","elementUnmatched","AttributeObserver","elementObserver","hasAttribute","elementMatchedAttribute","elementUnmatchedAttribute","elementAttributeValueChanged","del","prune","Multimap","valuesByKey","hasKey","hasValue","getValuesForKey","getKeysForValue","_values","SelectorObserver","_selector","matchesByElement","selectorMatchElement","selectorMatched","selectorUnmatched","_attributeName","matchedBefore","StringMapObserver","stringMap","attributeOldValue","knownAttributeNames","refreshAttribute","oldValue","getStringMapKeyForAttribute","stringMapKeyAdded","stringMapValueChanged","stringMapKeyRemoved","currentAttributeNames","recordedAttributeNames","attribute","TokenListObserver","attributeObserver","tokensByElement","tokensMatched","readTokensForElement","unmatchedTokens","matchedTokens","refreshTokensForElement","tokensUnmatched","tokenMatched","tokenUnmatched","previousTokens","currentTokens","firstDifferingIndex","zip","findIndex","previousToken","currentToken","tokenString","parseTokenString","ValueListObserver","tokenListObserver","parseResultsByToken","valuesByTokenByElement","fetchParseResultForToken","fetchValuesByTokenForElement","elementMatchedValue","elementUnmatchedValue","parseResult","parseToken","valuesByToken","parseValueForToken","BindingObserver","bindingsByAction","valueListObserver","actionAttribute","disconnectAllActions","connectAction","disconnectAction","ValueObserver","stringMapObserver","valueDescriptorMap","invokeChangedCallbacksForDefaultValues","invokeChangedCallback","writer","valueDescriptorNameMap","valueDescriptors","rawValue","rawOldValue","changedMethodName","changedMethod","reader","descriptors","hasMethodName","TargetObserver","targetsByName","disconnectAllTargets","connectTarget","disconnectTarget","targetConnected","targetDisconnected","readInheritableStaticArrayValues","ancestors","getAncestorsForConstructor","definition","getOwnStaticArrayValues","readInheritableStaticObjectPairs","pairs","getOwnStaticObjectPairs","reverse","OutletObserver","outletsByName","outletElementsByName","selectorObserverMap","attributeObserverMap","outletDefinitions","outletName","setupSelectorObserverForOutlet","setupAttributeObserverForOutlet","dependentContexts","disconnectAllOutlets","stopSelectorObservers","stopAttributeObservers","outlet","getOutlet","connectOutlet","getOutletFromMap","disconnectOutlet","hasOutlet","hasOutletController","controllerAttribute","getOutletNameFromOutletAttributeName","updateSelectorObserverForOutlet","outletConnected","outletDisconnected","selectorObserver","attributeNameForOutletName","outlets","getSelectorForOutletName","outletAttributeForScope","find","outletDependencies","router","modules","controllerConstructor","dependentControllerIdentifiers","identifiers","contexts","getControllerForElementAndIdentifier","Context","functionName","bindingObserver","dispatcher","valueObserver","targetObserver","outletObserver","initialize","parentElement","invokeControllerMethod","bless","shadowConstructor","shadowProperties","getOwnKeys","shadowingDescriptor","getShadowedDescriptor","getShadowProperties","blessings","blessedProperties","blessing","getBlessedProperties","extendWithReflect","extended","setPrototypeOf","testReflectExtension","Module","blessDefinition","contextsByScope","connectedContexts","connectContextForScope","fetchContextForScope","disconnectContextForScope","ClassMap","getDataKey","getAll","getAttributeName","getAttributeNameForKey","DataMap","Guide","warnedKeysByObject","warnedKeys","attributeValueContainsToken","TargetSet","targetName","targetNames","findTarget","findLegacyTarget","targets","findAllTargets","findAllLegacyTargets","getSelectorForTargetName","findElement","findAllElements","targetAttributeForScope","getLegacySelectorForTargetName","deprecate","targetDescriptor","targetAttribute","revisedAttributeName","guide","OutletSet","controllerElement","outletNames","findOutlet","findAllOutlets","queryElements","matchesElement","Scope","classes","closest","controllerSelector","documentScope","isDocumentScope","ScopeObserver","scopesByIdentifierByElement","scopeReferenceCounts","parseValueForElementAndIdentifier","scopesByIdentifier","fetchScopesByIdentifierForElement","createScopeForElementAndIdentifier","referenceCount","scopeConnected","scopeDisconnected","Router","scopeObserver","modulesByIdentifier","loadDefinition","unloadIdentifier","connectModule","afterLoad","disconnectModule","getContextForElementAndIdentifier","proposeToConnectScopeForElementAndIdentifier","defaultSchema","enter","tab","esc","space","down","home","page_up","page_down","objectFromEntries","Application","logFormattedMessage","register","registerActionOption","shouldLoad","unload","controllers","groupCollapsed","groupEnd","getOutletController","getControllerAndEnsureConnectedScope","outletController","parseValueDefinitionPair","typeDefinition","typeObject","typeFromObject","hasType","hasDefault","fullObject","onlyType","onlyDefault","parseValueTypeConstant","typeFromDefaultValue","parseValueTypeDefault","parseValueTypeObject","typeFromConstant","propertyPath","parseValueTypeDefinition","defaultValuesByType","constantFromType","defaultValueForDefinition","hasCustomDefaultValue","readers","writers","valueDescriptorForTokenAndTypeDefinition","boolean","writeJSON","Controller","_identifier","_application","CustomEvent","classDefinition","targetDefinition","propertiesForTargetDefinition","valueDefinitionPairs","propertyDescriptorMap","valueDefinitionPair","valueDescriptor","read","write","propertiesForValueDefinitionPair","outletDefinition","camelizedName","outletElement","propertiesForOutletDefinition","definitionsFromContext","logicalName","identifierForContextKey","definitionForModuleAndIdentifier","definitionForModuleWithContextAndKey","de_DE","days","shortDays","months","shortMonths","AM","PM","am","pm","en_CA","ordinalSuffixes","en_US","es_MX","fr_FR","it_IT","nl_NL","pt_BR","ru_RU","tr_TR","zh_CN","DefaultLocale","defaultStrftime","Strftime","customTimezoneOffset","useUtcTimezone","_cachedDate","_locale","_customTimezoneOffset","_useUtcBasedDate","_cachedDateTimestamp","_processFormat","resultString","isInScope","extendedTZ","currentCharCode","getDay","getMonth","padTill2","getFullYear","getHours","hours12","padTill3","getMinutes","getSeconds","weekNumber","getTimezoneName","day","ordinal","sign","getTimezoneOffset","sep","hours","mins","strftime","utcOffset","getTimestampToUtcOffsetFor","newUTCOffset","currentTimestamp","localize","localizeByIdentifier","localeIdentifier","timezone","useUtcBasedDate","timezoneType","utc","numberToPad","paddingChar","hour","firstWeekday","weekday","firstDayOfYearUtc","UTC","dateUtc","weekNum","tzString","toLocaleString","timeZoneName","getShortTimezoneName","getDefaultTimezoneName","createStyleq","disableCache","disableMix","definedProperties","nextCache","possibleStyle","classNameChunk","cacheEntry","definedPropertiesChunk","weakMap","subStyle","_prop","markerProp","compiledStyleIndex","_cachedStyles","_compiledStyle","compileStyle","cachedStyles","getRandomValues","randomUUID","crypto","rnds8","rng","byteToHex","unsafeStringify","rnds","callbacks","currentTime","toPropertyKey","_extends","_getRequireWildcardCache","getOwnPropertyDescriptors","toPrimitive","ReadersWriterLock","_debug","_readers","_writers","_processQueueTimeout","_readQueue","_writeQueue","_log","_readWithResolve","_writeWithResolve","_processRead","_processWrite","_processQueueLater","_processQueue","readQueueItem","writeQueueItem","FormDataToObject","formData","formDataFromObject","treatInitial","firstMatch","inputName","newResult","treatSecond","secondMatch","newRest","precision","numberParts","wholeNumbers","decimals","numberWithDelimiters","DefineOwnProperty","FromPropertyDescriptor","IsDataDescriptor","IsPropertyKey","SameValue","Type","isPropertyDescriptor","fromPropertyDescriptor","Desc","argument","$isNaN","ES5Type","$isEnumerable","$Array","$ownKeys","$pushApply","$SymbolValueOf","$gOPN","$gOPS","allowed","isData","IsAccessor","valuesSeen","uniqueArray","_defineProperty","_objectWithoutPropertiesLoose","response","BaseError","static","messageToUse","addResponseErrorsToErrorMessage","captureStackTrace","errorMessages","errorTypes","ApiMakerBaseModelColumn","columnData","getType","ApiMakerBaseModelAttribute","attributeData","getColumn","isColumn","isSelectedByDefault","isTranslated","ApiMakerBaseModelReflection","reflectionData","foreignKey","macro","modelClass","through","ApiMakerCanCan","abilities","abilitiesToLoad","abilitiesToLoadData","lock","currentApiMakerCanCan","can","ability","subject","abilityToUse","foundAbility","findAbility","subjectLabel","modelClassData","abilityData","abilityDataSubject","isAbilityLoaded","loadAbilities","async","promises","loadAbility","all","abilityToLoad","queueAbilitiesRequest","queueAbilitiesRequestTimeout","sendAbilitiesRequest","resetAbilities","sendRequest","request","Api","pathParams","requestLocal","headers","requestPath","getHost","xhr","XMLHttpRequest","withCredentials","headerName","setRequestHeader","executeXhr","_parseResponse","status","customError","peakflowParameters","_token","rawData","put","getCsrfToken","responseType","getResponseHeader","responseText","ApiMakerCommandSubmitData","filesCount","jsonData","traverseObject","getFilesCount","getJsonData","getRawData","getFormData","objectForFormData","json","convertDynamic","traverseArray","shouldSkip","File","newArray","newObject","DestroyError","apiMakerType","Serializer","serializeArgument","api_maker_type","model_class_name","model_id","offsetNumber","serializeArray","serializeObject","ApiMakerCommandsPool","addCommand","pool","instant","promiseResult","flushRunLast","currentApiMakerCommandsPool","flushCount","poolData","globalRequestData","commandType","commandName","collectionName","primary_key","primaryKey","commandsCount","commandSubmitData","updateSessionStatus","currentPool","currentPoolData","submitData","commandId","responses","commandResponse","commandResponseData","commandData","bugReportUrl","handleFailedResponse","error_type","validationErrors","model","errorMessage","errors","accessors","breakPoints","currenciesCollection","i18n","ApiMakerConfig","apiMakerConfigGlobal","accessorName","accessorData","camelizedAccessor","apiMakerConfig","CustomError","ApiMakerDeserializer","restObject","collection","cents","modelClassName","isNewRecord","ApiMakerDevise","callSignOutEvent","currentApiMakerDevise","addUserScope","currentMethodName","getCurrentScope","isSignedInMethodName","signIn","username","postData","updateSession","camelizedScopeName","currents","hasCurrentScope","setSignedOut","signOut","apiMakerSessionStatusUpdater","loadCurrentScope","hasGlobalCurrentScope","apiMakerDeviseCurrent","scopeData","parsedScopeData","UNKNOWN_FUNCTION","stackString","chromeRe","isNative","isEval","submatch","chromeEvalRe","lineNumber","parseChrome","winjsRe","parseWinjs","geckoRe","geckoEvalRe","parseGecko","nodeRe","parseNode","javaScriptCoreRe","parseJSC","SourceMapsLoader","isLoadingSourceMaps","sourceMaps","srcLoaded","loadSourceMapsForScriptTags","loadSourceMapsForScriptTagsCallback","sourceMapForSource","sourceMapForSourceCallback","loadSourceMaps","getSources","originalUrl","loadSourceMapForSource","getSourcesFromScripts","getSourcesFromError","uniqunize","trace","sourceMapUrl","getMapURL","scripts","loadUrl","origin","includeMapURL","loadXhr","parser","parseStackTrace","stackTrace","getStackTraceData","traceData","fileString","newSourceMap","sourceMapData","filePath","ErrorLogger","debugging","errorOccurred","isHandlingError","sourceMapsLoader","output","enable","connectOnError","connectUnhandledRejection","getErrors","hasErrorOccurred","isWorkingOnError","finally","onUnhandledRejection","backtrace","errorClass","testPromiseError","_resolve","ApiMakerLogger","isDebugging","setGlobalDebug","getDebug","getGlobalDebug","setDebug","modelName","requireName","AttributeNotLoadedError","CacheKeyGenerator","allModels","readModels","recordModelType","recordModel","filledModels","local","md5","feedModel","relationshipType","uniqueKey","isModelRecorded","fillModels","relationships","loadedRelationship","anotherModel","markedForDestruction","readAttributeUnderscore","ModelName","camelizedLower","human","countKey","argsToUse","i18nKey","defaultModelName","getI18n","paramKey","NotLoadedError","ApiMakerBaseModelScope","objectToUnderscore","BaseModel","attributeKey","newCustomEvent","ransack","findOrCreateBy","findOrCreateByArgs","additional_data","additionalData","find_or_create_by_args","resource_name","ransackableAssociations","reflections","relationshipData","ransackableAttributes","ransackableScopes","reflection","foundReflection","csrfTokenElement","changes","newRecord","relationshipsCache","_readModelDataFromArgs","modelData","assignAttributes","newAttributes","attributeUnderscore","applyChange","deleteChange","isAttributeLoaded","readAttribute","givenAbilityName","abilityName","isPersisted","keyParts","updatedAt","localCacheKey","fullCacheKey","getAttributes","dataToUse","save","parseValidationErrors","_refreshModelFromResponse","createRaw","objectData","_objectDataFromGivenRawData","_refreshModelDataFromResponse","query_params","handleResponseError","ensureAbilities","listOfAbilities","abilityInList","ransackParams","abilitiesParams","newAbilities","newAbility","identifierKey","_identifierKey","isAssociationLoaded","associationName","isAssociationLoadedUnderscore","associationNameUnderscore","isAssociationPresent","validation_errors","sendValidationErrorsEvent","throwValidationError","humanAttributeName","snakeCase","isAttributeChanged","attributeNameUnderscore","attributeNames","isChanged","savedChangeToAttribute","previousModelData","setNewModel","setNewModelData","relationshipName","relationshipCacheName","_isDateChanged","_isIntegerChanged","_isStringChanged","preload","queryArgs","select_columns","selectColumns","saveRaw","updateRaw","newModel","simple_model_errors","simpleModelErrors","isValid","isValidOnServer","valid","preloadRelationship","markForDestruction","_markedForDestruction","uniqueKeyValue","randomBetween","_callCollectionCommand","commandArgs","formOrDataObject","_callMemberCommand","_postDataFromArgs","_isPresent","_loadBelongsToReflection","reflectionName","_readBelongsToReflection","loadedRelationships","_loadHasManyReflection","models","_loadHasOneReflection","_readHasOneReflection","preloadedRelationships","_readPreloadedRelationships","preloaded","relationshipClassData","relationship","relationshipsList","relationshipId","getModel","ApiMakerModelRecipesModelLoader","modelRecipe","modelRecipesLoader","createClass","collection_commands","collectionCommands","member_commands","memberCommands","model_class_data","ModelClass","addAttributeMethodsToModelClass","addRelationshipsToModelClass","addQueryCommandsToModelClass","addMemberCommandsToModelClass","collectionCommandName","memberCommandName","active_record","activeRecordName","activeRecordPrimaryKey","class_name","klass","klassPrimaryKey","as","optionsAs","optionsPrimaryKey","optionsThrough","resourceName","loadMethodName","modelMethodName","defineBelongsToGetMethod","defineBelongsToLoadMethod","defineHasManyGetMethod","defineHasManyLoadMethod","defineHasOneGetMethd","defineHasOneLoadMethod","foreignKeyMethodName","getModelClass","hasManyParameters","queryParameters","primaryKeyColumnName","primaryKeyMethodName","ModelRecipesLoader","recipes","modelClasses","ApiMakerPreloaded","loadPreloadedModels","preloadedType","preloadedId","modelType","modelId","ModelsResponseReader","ApiMakerResult","currentPage","perPage","totalCount","totalPages","ApiMakerRoutesNative","getLocale","routeTranslationParts","loadRouteDefinitions","routeDefinitionArgs","rawPathParts","pathMethodName","urlMethodName","localized","localizedRoutes","variableCount","localizedPathParts","pathPart","translateRoute","pathParts","loadRouteTranslations","locales","routeTranslations","lastArg","restOptions","translatedRoute","addHostToRoute","fullUrl","hostToUse","portToUse","RunLast","flushTriggerCount","flushTrigger","flushTriggerQueue","flushTimeout","ApiMakerServices","currentApiMakerService","serviceName","service_args","service_name","ApiMakerSessionStatusUpdater","useMetaElement","connectOnlineEvent","connectWakeEvent","csrfToken","sessionStatus","onSignedOut","addEvent","startTimeout","updateTimeout","stopTimeout","updateMetaElementsFromResult","updateUserSessionsFromResult","csrf_token","scopeName","scopes","updateUserSessionScopeFromResult","deviseIsSignedInMethodName","currentlySignedIn","signedInOnBackend","signed_in","replaces","regexp","replaceAll","character","onCalled","onCalledCallback","ValidationError","getUnhandledErrorMessage","getErrorMessage","getUnhandledErrors","getValidationErrors","validationError","getHandled","hasUnhandledErrors","unhandledError","hasValidationErrorForAttribute","underscoredAttributeName","attributeType","input_name","handled","matchesAttributeAndInputName","getInputName","attributeNameIdMatch","attributeNameWithoutId","attributeUnderScoreName","inputNameWithoutId","getErrorMessages","getFullErrorMessages","fullErrorMessages","attributeHumanName","setHandled","ValidationErrors","rootModel","fullErrorMessage","getValidationErrorsForInput","onMatchValidationError","unhandledValidationErrors","unhandledValidationErrorMessages","unhandledValidationError","OnLocationChangedCallback","callbacksHandler","callCallback","CallbacksHandler","callCallbacks","connectInterval","givenCallback","onLocationMightHaveChanged","currentLocationHref","onLocationChangedCallbacksHandler","memoCompareProps","nextProps","simpleObjectValuesDifferent","setStates","__firstRenderCompleted","__rendering","__renderCallbacks","tt","fetchingObject","variables","statesList","stateName","_useState3","stateValue","anythingDifferent","ShapeClass","functionalComponent","actualProps","propsWithoutUndefined","validateProps","setup","digger","callFunctions","throwError","digged","currentPath","dig","digs","PropertyNotFoundError","fetchingObjectHandler","wrappedObject","ErrorHandlersRaiser","I18nOnSteroids","errorHandler","fallbacks","setLocale","setLocaleOnStrftime","monthNames","abbrMonthNames","strftimeLocales","scanRequireContext","contextLoader","_scanRecursive","scanObject","storage","formatValue","localesToTry","_lookup","toNumber","numberable","ErrorHandlersRaiseInBackground","namespace","I18n","updateLocale","incorporate","Incorporator","replaceArrayIfExistsValue","replaceArrayIfExists","mergeObjects","firstObject","mergeObjectsInto","mergeArraysInto","mergeIntoValue","arrays","mergeInto","ParentElementsResult","getElement","parentElements","breakAfterFirstFound","elementResult"],"sourceRoot":""}