{"version":3,"file":"static/js/main.da2aba36.js","mappings":"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","sources":["../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/utils.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/lodash.throttle/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-device-detect/dist/lib.js","../node_modules/react-device-detect/node_modules/ua-parser-js/dist/ua-parser.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-scroll/modules/components/Button.js","../node_modules/react-scroll/modules/components/Element.js","../node_modules/react-scroll/modules/components/Link.js","../node_modules/react-scroll/modules/index.js","../node_modules/react-scroll/modules/mixins/Helpers.js","../node_modules/react-scroll/modules/mixins/animate-scroll.js","../node_modules/react-scroll/modules/mixins/cancel-events.js","../node_modules/react-scroll/modules/mixins/passive-event-listeners.js","../node_modules/react-scroll/modules/mixins/scroll-element.js","../node_modules/react-scroll/modules/mixins/scroll-events.js","../node_modules/react-scroll/modules/mixins/scroll-hash.js","../node_modules/react-scroll/modules/mixins/scroll-link.js","../node_modules/react-scroll/modules/mixins/scroll-spy.js","../node_modules/react-scroll/modules/mixins/scroller.js","../node_modules/react-scroll/modules/mixins/smooth.js","../node_modules/react-scroll/modules/mixins/utils.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_to-integer.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_defined.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_string-at.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_global.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_core.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_a-function.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_ctx.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_is-object.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_an-object.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_fails.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_descriptors.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_dom-create.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_ie8-dom-define.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_to-primitive.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-dp.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_property-desc.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_hide.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_has.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_export.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_redefine.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_iterators.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_cof.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_iobject.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_to-iobject.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_to-length.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_to-absolute-index.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_array-includes.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_shared.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_uid.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_shared-key.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-keys-internal.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_enum-bug-keys.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-keys.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-dps.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_html.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-create.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_wks.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_set-to-string-tag.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_iter-create.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_to-object.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-gpo.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_iter-define.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.string.iterator.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_iter-step.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.array.iterator.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/web.dom.iterable.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_classof.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_an-instance.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_iter-call.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_is-array-iter.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/core.get-iterator-method.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_for-of.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_species-constructor.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_task.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_invoke.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_microtask.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_new-promise-capability.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_perform.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_user-agent.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_promise-resolve.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_redefine-all.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_set-species.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_iter-detect.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.promise.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.promise.finally.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.promise.try.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/promise.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/promise.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/asyncToGenerator.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_meta.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_wks-ext.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_wks-define.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-gops.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-pie.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_enum-keys.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_is-array.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-gopn.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-gopn-ext.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-gopd.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.symbol.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.symbol.observable.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/symbol.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/symbol/index.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/symbol/iterator.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/typeof.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.object.define-property.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/object/define-property.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.object.create.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/object/create.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-sap.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/object/create.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.object.get-prototype-of.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/object/get-prototype-of.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/object/get-prototype-of.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_set-proto.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.object.set-prototype-of.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/object/set-prototype-of.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/object/set-prototype-of.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/regeneratorRuntime.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/regenerator/index.js","../node_modules/scandit-sdk/node_modules/objectFitPolyfill/dist/objectFitPolyfill.min.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_bind.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.reflect.construct.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/reflect/construct.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/reflect/construct.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/createClass.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/classCallCheck.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/setPrototypeOf.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/inherits.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/typeof.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/assertThisInitialized.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/possibleConstructorReturn.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/getPrototypeOf.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_create-property.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.array.from.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/array/from.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/array/from.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_validate-collection.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_collection-strong.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_array-methods.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_array-species-constructor.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_collection.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.set.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_array-from-iterable.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_collection-to-json.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.set.to-json.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_set-collection-of.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.set.of.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_set-collection-from.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.set.from.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/set.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/set.js","../node_modules/scandit-sdk/node_modules/eventemitter3/index.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.map.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.map.to-json.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.map.of.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.map.from.js","../node_modules/scandit-sdk/src/lib/barcode.ts","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/map.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/map.js","../node_modules/scandit-sdk/node_modules/js-cookie/dist/js.cookie.mjs","../node_modules/scandit-sdk/node_modules/ua-parser-js/src/ua-parser.js","../node_modules/scandit-sdk/src/lib/browserCompatibility.ts","../node_modules/scandit-sdk/src/lib/browserHelper.ts","../node_modules/scandit-sdk/src/lib/workers/dataCaptureWorker.ts","../node_modules/scandit-sdk/src/lib/dataCaptureLoader.ts","../node_modules/scandit-sdk/src/lib/logger.ts","../node_modules/scandit-sdk/src/lib/blurryRecognitionPreloader.ts","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/isNativeReflectConstruct.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/construct.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/wrapNativeSuper.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/isNativeFunction.js","../node_modules/scandit-sdk/src/lib/customError.ts","../node_modules/scandit-sdk/src/lib/camera.ts","../node_modules/scandit-sdk/src/lib/unsupportedBrowserError.ts","../node_modules/scandit-sdk/node_modules/howler/dist/howler.core.min.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.array.is-array.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/array/is-array.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/array/is-array.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/arrayLikeToArray.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/toConsumableArray.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/arrayWithoutHoles.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/iterableToArray.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/unsupportedIterableToArray.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/helpers/esm/nonIterableSpread.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/json/stringify.js","../node_modules/scandit-sdk/src/lib/imageSettings.ts","../node_modules/scandit-sdk/src/lib/parser.ts","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/json/stringify.js","../node_modules/scandit-sdk/src/lib/recognizedText.ts","../node_modules/scandit-sdk/src/lib/scanResult.ts","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-to-array.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.object.values.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/object/values.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/object/values.js","../node_modules/scandit-sdk/src/lib/symbologySettings.ts","../node_modules/scandit-sdk/src/lib/textRecognitionSettings.ts","../node_modules/scandit-sdk/src/lib/scanSettings.ts","../node_modules/scandit-sdk/src/lib/scanner.ts","../node_modules/scandit-sdk/src/lib/singleImageModeSettings.ts","../node_modules/scandit-sdk/src/lib/assets/base64assets.ts","../node_modules/scandit-sdk/node_modules/core-js/library/fn/object/get-own-property-symbols.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_own-keys.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/object/get-own-property-descriptors.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptors.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_string-ws.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_string-trim.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_parse-int.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.parse-int.js","../node_modules/scandit-sdk/src/lib/cameraSettings.ts","../node_modules/scandit-sdk/src/lib/barcodePicker/cameraManager.ts","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/parse-int.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/parse-int.js","../node_modules/scandit-sdk/src/lib/cameraAccess.ts","../node_modules/scandit-sdk/src/lib/barcodePicker/dummyCameraManager.ts","../node_modules/scandit-sdk/node_modules/core-js/library/modules/_object-assign.js","../node_modules/scandit-sdk/node_modules/core-js/library/modules/es6.object.assign.js","../node_modules/scandit-sdk/node_modules/core-js/library/fn/object/assign.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../node_modules/scandit-sdk/node_modules/@babel/runtime-corejs2/core-js/object/assign.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/utils/freeze.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../node_modules/scandit-sdk/src/lib/barcodePicker/barcodePicker.ts","../node_modules/scandit-sdk/src/webComponent/schema.ts","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/utils/element.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/utils/global.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/utils/process.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../node_modules/scandit-sdk/node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../node_modules/scandit-sdk/src/lib/barcodePicker/gui.ts","../node_modules/scandit-sdk/src/webComponent/tsHelper.ts","../node_modules/scandit-sdk/src/webComponent/attributeConverter.ts","../node_modules/scandit-sdk/src/webComponent/lazyAttributeConverter.ts","../node_modules/scandit-sdk/node_modules/tslib/tslib.es6.js","../node_modules/scandit-sdk/src/webComponent/validator.ts","../node_modules/scandit-sdk/src/webComponent/controller.ts","../node_modules/scandit-sdk/src/webComponent/propertyConverter.ts","../node_modules/scandit-sdk/src/webComponent/index.ts","../node_modules/scandit-sdk/src/index.ts","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../../packages/react-router/lib/context.ts","../../packages/react-router/lib/router.ts","../../packages/react-router/lib/hooks.tsx","../../packages/react-router/lib/components.tsx","../../packages/react-router-dom/index.tsx","components/Navbar/images/logo-header.svg","helpers/scrollMeTo.js","components/Header/index.js","components/Navbar/index.js","components/HowItWork/images/szukaj.svg","components/HowItWork/images/formularz.svg","components/HowItWork/images/email.svg","components/HowItWork/images/przeglad.svg","components/HowItWork/images/raport.svg","components/HowItWork/index.js","components/Accordion/AccordionItem.js","components/Accordion/index.js","components/FAQSection/index.js","assets/icons/email.svg","assets/icons/phone.svg","components/Footer/images/logo-footer.svg","components/Footer/index.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-hook-form/src/utils/isCheckBoxInput.ts","../node_modules/react-hook-form/src/utils/isDateObject.ts","../node_modules/react-hook-form/src/utils/isNullOrUndefined.ts","../node_modules/react-hook-form/src/utils/isObject.ts","../node_modules/react-hook-form/src/logic/getEventValue.ts","../node_modules/react-hook-form/src/logic/isNameInFieldArray.ts","../node_modules/react-hook-form/src/logic/getNodeParentName.ts","../node_modules/react-hook-form/src/utils/compact.ts","../node_modules/react-hook-form/src/utils/isUndefined.ts","../node_modules/react-hook-form/src/utils/get.ts","../node_modules/react-hook-form/src/constants.ts","../node_modules/react-hook-form/src/logic/getProxyFormState.ts","../node_modules/react-hook-form/src/useFormContext.tsx","../node_modules/react-hook-form/src/utils/isEmptyObject.ts","../node_modules/react-hook-form/src/logic/shouldRenderFormState.ts","../node_modules/react-hook-form/src/utils/convertToArrayPayload.ts","../node_modules/react-hook-form/src/useSubscribe.ts","../node_modules/react-hook-form/src/utils/isString.ts","../node_modules/react-hook-form/src/logic/generateWatchOutput.ts","../node_modules/react-hook-form/src/utils/isFunction.ts","../node_modules/react-hook-form/src/utils/objectHasFunction.ts","../node_modules/react-hook-form/src/controller.tsx","../node_modules/react-hook-form/src/logic/appendErrors.ts","../node_modules/react-hook-form/src/utils/isKey.ts","../node_modules/react-hook-form/src/utils/stringToPath.ts","../node_modules/react-hook-form/src/utils/set.ts","../node_modules/react-hook-form/src/logic/focusFieldBy.ts","../node_modules/react-hook-form/src/logic/isWatched.ts","../node_modules/react-hook-form/src/utils/isWeb.ts","../node_modules/react-hook-form/src/utils/cloneObject.ts","../node_modules/react-hook-form/src/utils/unset.ts","../node_modules/react-hook-form/src/utils/createSubject.ts","../node_modules/react-hook-form/src/utils/isPrimitive.ts","../node_modules/react-hook-form/src/utils/deepEqual.ts","../node_modules/react-hook-form/src/utils/getValidationModes.ts","../node_modules/react-hook-form/src/utils/isBoolean.ts","../node_modules/react-hook-form/src/utils/isFileInput.ts","../node_modules/react-hook-form/src/utils/isHTMLElement.ts","../node_modules/react-hook-form/src/utils/isMultipleSelect.ts","../node_modules/react-hook-form/src/utils/isRadioInput.ts","../node_modules/react-hook-form/src/utils/isRadioOrCheckbox.ts","../node_modules/react-hook-form/src/utils/live.ts","../node_modules/react-hook-form/src/logic/getDirtyFields.ts","../node_modules/react-hook-form/src/logic/getCheckboxValue.ts","../node_modules/react-hook-form/src/logic/getFieldValueAs.ts","../node_modules/react-hook-form/src/logic/getRadioValue.ts","../node_modules/react-hook-form/src/logic/getFieldValue.ts","../node_modules/react-hook-form/src/logic/getResolverOptions.ts","../node_modules/react-hook-form/src/utils/isRegex.ts","../node_modules/react-hook-form/src/logic/getRuleValue.ts","../node_modules/react-hook-form/src/logic/hasValidation.ts","../node_modules/react-hook-form/src/logic/schemaErrorLookup.ts","../node_modules/react-hook-form/src/logic/skipValidation.ts","../node_modules/react-hook-form/src/logic/unsetEmptyArray.ts","../node_modules/react-hook-form/src/utils/isMessage.ts","../node_modules/react-hook-form/src/logic/getValidateError.ts","../node_modules/react-hook-form/src/logic/getValueAndMessage.ts","../node_modules/react-hook-form/src/logic/validateField.ts","../node_modules/react-hook-form/src/logic/createFormControl.ts","components/Input/index.js","components/FormSection/images/motocykl.svg","providers/QrCodeDataProvider.js","components/FormSection/images/sam_osobowy.svg","components/FormSection/images/sam_elektr.svg","components/FormSection/images/sam_ciezarowy.svg","components/FormSection/images/ciezarowy_z_zabudowa.svg","components/FormSection/images/autobus.svg","components/FormSection/images/maszyna_budowlana_rolnicza.svg","components/FormSection/images/ciagnik_rolniczy.svg","components/FormSection/images/samochod_premium.svg","components/FormSection/images/naczepa.svg","components/FormSection/images/wozek_widlowy.svg","components/FormSection/images/lock.svg","services/index.js","components/Loader/index.js","constants/makesList.js","constants/typeOfCarsCategory.js","components/Select/index.js","../node_modules/react-google-recaptcha/lib/esm/recaptcha.js","../node_modules/react-async-script/lib/esm/async-script-loader.js","../node_modules/react-google-recaptcha/lib/esm/recaptcha-wrapper.js","../node_modules/react-google-recaptcha/lib/esm/index.js","components/FormSection/index.js","../node_modules/react-hook-form/src/useForm.ts","components/UseExpertsServices/index.js","helpers/blockScroll.js","components/Scanner/index.js","components/OrderPricingButtons/index.js","pages/HomePage/index.js","pages/Page404/index.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\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 }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nmodule.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\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 objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\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 && (type == 'object' || type == 'function');\n}\n\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 && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or 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 a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\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","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nvar UAParser = require('ua-parser-js/dist/ua-parser.min');\n\nvar ClientUAInstance = new UAParser();\nvar browser = ClientUAInstance.getBrowser();\nvar cpu = ClientUAInstance.getCPU();\nvar device = ClientUAInstance.getDevice();\nvar engine = ClientUAInstance.getEngine();\nvar os = ClientUAInstance.getOS();\nvar ua = ClientUAInstance.getUA();\nvar setUa = function setUa(userAgentString) {\n return ClientUAInstance.setUA(userAgentString);\n};\nvar parseUserAgent = function parseUserAgent(userAgent) {\n if (!userAgent) {\n console.error('No userAgent string was provided');\n return;\n }\n\n var UserAgentInstance = new UAParser(userAgent);\n return {\n UA: UserAgentInstance,\n browser: UserAgentInstance.getBrowser(),\n cpu: UserAgentInstance.getCPU(),\n device: UserAgentInstance.getDevice(),\n engine: UserAgentInstance.getEngine(),\n os: UserAgentInstance.getOS(),\n ua: UserAgentInstance.getUA(),\n setUserAgent: function setUserAgent(userAgentString) {\n return UserAgentInstance.setUA(userAgentString);\n }\n };\n};\n\nvar UAHelper = /*#__PURE__*/Object.freeze({\n ClientUAInstance: ClientUAInstance,\n browser: browser,\n cpu: cpu,\n device: device,\n engine: engine,\n os: os,\n ua: ua,\n setUa: setUa,\n parseUserAgent: parseUserAgent\n});\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar DeviceTypes = {\n Mobile: 'mobile',\n Tablet: 'tablet',\n SmartTv: 'smarttv',\n Console: 'console',\n Wearable: 'wearable',\n Embedded: 'embedded',\n Browser: undefined\n};\nvar BrowserTypes = {\n Chrome: 'Chrome',\n Firefox: 'Firefox',\n Opera: 'Opera',\n Yandex: 'Yandex',\n Safari: 'Safari',\n InternetExplorer: 'Internet Explorer',\n Edge: 'Edge',\n Chromium: 'Chromium',\n Ie: 'IE',\n MobileSafari: 'Mobile Safari',\n EdgeChromium: 'Edge Chromium',\n MIUI: 'MIUI Browser',\n SamsungBrowser: 'Samsung Browser'\n};\nvar OsTypes = {\n IOS: 'iOS',\n Android: 'Android',\n WindowsPhone: 'Windows Phone',\n Windows: 'Windows',\n MAC_OS: 'Mac OS'\n};\nvar InitialDeviceTypes = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\n\nvar checkDeviceType = function checkDeviceType(type) {\n switch (type) {\n case DeviceTypes.Mobile:\n return {\n isMobile: true\n };\n\n case DeviceTypes.Tablet:\n return {\n isTablet: true\n };\n\n case DeviceTypes.SmartTv:\n return {\n isSmartTV: true\n };\n\n case DeviceTypes.Console:\n return {\n isConsole: true\n };\n\n case DeviceTypes.Wearable:\n return {\n isWearable: true\n };\n\n case DeviceTypes.Browser:\n return {\n isBrowser: true\n };\n\n case DeviceTypes.Embedded:\n return {\n isEmbedded: true\n };\n\n default:\n return InitialDeviceTypes;\n }\n};\nvar setUserAgent = function setUserAgent(userAgent) {\n return setUa(userAgent);\n};\nvar setDefaults = function setDefaults(p) {\n var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n return p ? p : d;\n};\nvar getNavigatorInstance = function getNavigatorInstance() {\n if (typeof window !== 'undefined') {\n if (window.navigator || navigator) {\n return window.navigator || navigator;\n }\n }\n\n return false;\n};\nvar isIOS13Check = function isIOS13Check(type) {\n var nav = getNavigatorInstance();\n return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\n\nvar browserPayload = function browserPayload(isBrowser, browser, engine, os, ua) {\n return {\n isBrowser: isBrowser,\n browserMajorVersion: setDefaults(browser.major),\n browserFullVersion: setDefaults(browser.version),\n browserName: setDefaults(browser.name),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n return _objectSpread2({}, type, {\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n os: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n ua: setDefaults(ua)\n });\n};\nvar smartTvPayload = function smartTvPayload(isSmartTV, engine, os, ua) {\n return {\n isSmartTV: isSmartTV,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n return {\n isConsole: isConsole,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar wearablePayload = function wearablePayload(isWearable, engine, os, ua) {\n return {\n isWearable: isWearable,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar embeddedPayload = function embeddedPayload(isEmbedded, device, engine, os, ua) {\n return {\n isEmbedded: isEmbedded,\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\n\nfunction deviceDetect(userAgent) {\n var _ref = userAgent ? parseUserAgent(userAgent) : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n engine = _ref.engine,\n os = _ref.os,\n ua = _ref.ua;\n\n var type = checkDeviceType(device.type);\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable,\n isEmbedded = type.isEmbedded;\n\n if (isBrowser) {\n return browserPayload(isBrowser, browser, engine, os, ua);\n }\n\n if (isSmartTV) {\n return smartTvPayload(isSmartTV, engine, os, ua);\n }\n\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isWearable) {\n return wearablePayload(isWearable, engine, os, ua);\n }\n\n if (isEmbedded) {\n return embeddedPayload(isEmbedded, device, engine, os, ua);\n }\n}\n\nvar isMobileType = function isMobileType(_ref) {\n var type = _ref.type;\n return type === DeviceTypes.Mobile;\n};\nvar isTabletType = function isTabletType(_ref2) {\n var type = _ref2.type;\n return type === DeviceTypes.Tablet;\n};\nvar isMobileAndTabletType = function isMobileAndTabletType(_ref3) {\n var type = _ref3.type;\n return type === DeviceTypes.Mobile || type === DeviceTypes.Tablet;\n};\nvar isSmartTVType = function isSmartTVType(_ref4) {\n var type = _ref4.type;\n return type === DeviceTypes.SmartTv;\n};\nvar isBrowserType = function isBrowserType(_ref5) {\n var type = _ref5.type;\n return type === DeviceTypes.Browser;\n};\nvar isWearableType = function isWearableType(_ref6) {\n var type = _ref6.type;\n return type === DeviceTypes.Wearable;\n};\nvar isConsoleType = function isConsoleType(_ref7) {\n var type = _ref7.type;\n return type === DeviceTypes.Console;\n};\nvar isEmbeddedType = function isEmbeddedType(_ref8) {\n var type = _ref8.type;\n return type === DeviceTypes.Embedded;\n};\nvar getMobileVendor = function getMobileVendor(_ref9) {\n var vendor = _ref9.vendor;\n return setDefaults(vendor);\n};\nvar getMobileModel = function getMobileModel(_ref10) {\n var model = _ref10.model;\n return setDefaults(model);\n};\nvar getDeviceType = function getDeviceType(_ref11) {\n var type = _ref11.type;\n return setDefaults(type, 'browser');\n}; // os types\n\nvar isAndroidType = function isAndroidType(_ref12) {\n var name = _ref12.name;\n return name === OsTypes.Android;\n};\nvar isWindowsType = function isWindowsType(_ref13) {\n var name = _ref13.name;\n return name === OsTypes.Windows;\n};\nvar isMacOsType = function isMacOsType(_ref14) {\n var name = _ref14.name;\n return name === OsTypes.MAC_OS;\n};\nvar isWinPhoneType = function isWinPhoneType(_ref15) {\n var name = _ref15.name;\n return name === OsTypes.WindowsPhone;\n};\nvar isIOSType = function isIOSType(_ref16) {\n var name = _ref16.name;\n return name === OsTypes.IOS;\n};\nvar getOsVersion = function getOsVersion(_ref17) {\n var version = _ref17.version;\n return setDefaults(version);\n};\nvar getOsName = function getOsName(_ref18) {\n var name = _ref18.name;\n return setDefaults(name);\n}; // browser types\n\nvar isChromeType = function isChromeType(_ref19) {\n var name = _ref19.name;\n return name === BrowserTypes.Chrome;\n};\nvar isFirefoxType = function isFirefoxType(_ref20) {\n var name = _ref20.name;\n return name === BrowserTypes.Firefox;\n};\nvar isChromiumType = function isChromiumType(_ref21) {\n var name = _ref21.name;\n return name === BrowserTypes.Chromium;\n};\nvar isEdgeType = function isEdgeType(_ref22) {\n var name = _ref22.name;\n return name === BrowserTypes.Edge;\n};\nvar isYandexType = function isYandexType(_ref23) {\n var name = _ref23.name;\n return name === BrowserTypes.Yandex;\n};\nvar isSafariType = function isSafariType(_ref24) {\n var name = _ref24.name;\n return name === BrowserTypes.Safari || name === BrowserTypes.MobileSafari;\n};\nvar isMobileSafariType = function isMobileSafariType(_ref25) {\n var name = _ref25.name;\n return name === BrowserTypes.MobileSafari;\n};\nvar isOperaType = function isOperaType(_ref26) {\n var name = _ref26.name;\n return name === BrowserTypes.Opera;\n};\nvar isIEType = function isIEType(_ref27) {\n var name = _ref27.name;\n return name === BrowserTypes.InternetExplorer || name === BrowserTypes.Ie;\n};\nvar isMIUIType = function isMIUIType(_ref28) {\n var name = _ref28.name;\n return name === BrowserTypes.MIUI;\n};\nvar isSamsungBrowserType = function isSamsungBrowserType(_ref29) {\n var name = _ref29.name;\n return name === BrowserTypes.SamsungBrowser;\n};\nvar getBrowserFullVersion = function getBrowserFullVersion(_ref30) {\n var version = _ref30.version;\n return setDefaults(version);\n};\nvar getBrowserVersion = function getBrowserVersion(_ref31) {\n var major = _ref31.major;\n return setDefaults(major);\n};\nvar getBrowserName = function getBrowserName(_ref32) {\n var name = _ref32.name;\n return setDefaults(name);\n}; // engine types\n\nvar getEngineName = function getEngineName(_ref33) {\n var name = _ref33.name;\n return setDefaults(name);\n};\nvar getEngineVersion = function getEngineVersion(_ref34) {\n var version = _ref34.version;\n return setDefaults(version);\n};\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent && nav.userAgent.toLowerCase();\n return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\nvar isEdgeChromiumType = function isEdgeChromiumType(ua) {\n return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n};\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\nvar getUseragent = function getUseragent(userAg) {\n return setDefaults(userAg);\n};\n\nfunction buildSelectorsObject(options) {\n var _ref = options ? options : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n os = _ref.os,\n engine = _ref.engine,\n ua = _ref.ua;\n\n return {\n isSmartTV: isSmartTVType(device),\n isConsole: isConsoleType(device),\n isWearable: isWearableType(device),\n isEmbedded: isEmbeddedType(device),\n isMobileSafari: isMobileSafariType(browser) || getIPad13(),\n isChromium: isChromiumType(browser),\n isMobile: isMobileAndTabletType(device) || getIPad13(),\n isMobileOnly: isMobileType(device),\n isTablet: isTabletType(device) || getIPad13(),\n isBrowser: isBrowserType(device),\n isDesktop: isBrowserType(device),\n isAndroid: isAndroidType(os),\n isWinPhone: isWinPhoneType(os),\n isIOS: isIOSType(os) || getIPad13(),\n isChrome: isChromeType(browser),\n isFirefox: isFirefoxType(browser),\n isSafari: isSafariType(browser),\n isOpera: isOperaType(browser),\n isIE: isIEType(browser),\n osVersion: getOsVersion(os),\n osName: getOsName(os),\n fullBrowserVersion: getBrowserFullVersion(browser),\n browserVersion: getBrowserVersion(browser),\n browserName: getBrowserName(browser),\n mobileVendor: getMobileVendor(device),\n mobileModel: getMobileModel(device),\n engineName: getEngineName(engine),\n engineVersion: getEngineVersion(engine),\n getUA: getUseragent(ua),\n isEdge: isEdgeType(browser) || isEdgeChromiumType(ua),\n isYandex: isYandexType(browser),\n deviceType: getDeviceType(device),\n isIOS13: getIOS13(),\n isIPad13: getIPad13(),\n isIPhone13: getIphone13(),\n isIPod13: getIPod13(),\n isElectron: isElectronType(),\n isEdgeChromium: isEdgeChromiumType(ua),\n isLegacyEdge: isEdgeType(browser) && !isEdgeChromiumType(ua),\n isWindows: isWindowsType(os),\n isMacOs: isMacOsType(os),\n isMIUI: isMIUIType(browser),\n isSamsungBrowser: isSamsungBrowserType(browser)\n };\n}\n\nvar isSmartTV = isSmartTVType(device);\nvar isConsole = isConsoleType(device);\nvar isWearable = isWearableType(device);\nvar isEmbedded = isEmbeddedType(device);\nvar isMobileSafari = isMobileSafariType(browser) || getIPad13();\nvar isChromium = isChromiumType(browser);\nvar isMobile = isMobileAndTabletType(device) || getIPad13();\nvar isMobileOnly = isMobileType(device);\nvar isTablet = isTabletType(device) || getIPad13();\nvar isBrowser = isBrowserType(device);\nvar isDesktop = isBrowserType(device);\nvar isAndroid = isAndroidType(os);\nvar isWinPhone = isWinPhoneType(os);\nvar isIOS = isIOSType(os) || getIPad13();\nvar isChrome = isChromeType(browser);\nvar isFirefox = isFirefoxType(browser);\nvar isSafari = isSafariType(browser);\nvar isOpera = isOperaType(browser);\nvar isIE = isIEType(browser);\nvar osVersion = getOsVersion(os);\nvar osName = getOsName(os);\nvar fullBrowserVersion = getBrowserFullVersion(browser);\nvar browserVersion = getBrowserVersion(browser);\nvar browserName = getBrowserName(browser);\nvar mobileVendor = getMobileVendor(device);\nvar mobileModel = getMobileModel(device);\nvar engineName = getEngineName(engine);\nvar engineVersion = getEngineVersion(engine);\nvar getUA = getUseragent(ua);\nvar isEdge = isEdgeType(browser) || isEdgeChromiumType(ua);\nvar isYandex = isYandexType(browser);\nvar deviceType = getDeviceType(device);\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType(ua);\nvar isLegacyEdge = isEdgeType(browser) && !isEdgeChromiumType(ua);\nvar isWindows = isWindowsType(os);\nvar isMacOs = isMacOsType(os);\nvar isMIUI = isMIUIType(browser);\nvar isSamsungBrowser = isSamsungBrowserType(browser);\nvar getSelectorsByUserAgent = function getSelectorsByUserAgent(userAgent) {\n if (!userAgent || typeof userAgent !== 'string') {\n console.error('No valid user agent string was provided');\n return;\n }\n\n var _UAHelper$parseUserAg = parseUserAgent(userAgent),\n device = _UAHelper$parseUserAg.device,\n browser = _UAHelper$parseUserAg.browser,\n os = _UAHelper$parseUserAg.os,\n engine = _UAHelper$parseUserAg.engine,\n ua = _UAHelper$parseUserAg.ua;\n\n return buildSelectorsObject({\n device: device,\n browser: browser,\n os: os,\n engine: engine,\n ua: ua\n });\n};\n\nvar AndroidView = function AndroidView(_ref) {\n var renderWithFragment = _ref.renderWithFragment,\n children = _ref.children,\n props = _objectWithoutProperties(_ref, [\"renderWithFragment\", \"children\"]);\n\n return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar BrowserView = function BrowserView(_ref2) {\n var renderWithFragment = _ref2.renderWithFragment,\n children = _ref2.children,\n props = _objectWithoutProperties(_ref2, [\"renderWithFragment\", \"children\"]);\n\n return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IEView = function IEView(_ref3) {\n var renderWithFragment = _ref3.renderWithFragment,\n children = _ref3.children,\n props = _objectWithoutProperties(_ref3, [\"renderWithFragment\", \"children\"]);\n\n return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IOSView = function IOSView(_ref4) {\n var renderWithFragment = _ref4.renderWithFragment,\n children = _ref4.children,\n props = _objectWithoutProperties(_ref4, [\"renderWithFragment\", \"children\"]);\n\n return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileView = function MobileView(_ref5) {\n var renderWithFragment = _ref5.renderWithFragment,\n children = _ref5.children,\n props = _objectWithoutProperties(_ref5, [\"renderWithFragment\", \"children\"]);\n\n return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar TabletView = function TabletView(_ref6) {\n var renderWithFragment = _ref6.renderWithFragment,\n children = _ref6.children,\n props = _objectWithoutProperties(_ref6, [\"renderWithFragment\", \"children\"]);\n\n return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WinPhoneView = function WinPhoneView(_ref7) {\n var renderWithFragment = _ref7.renderWithFragment,\n children = _ref7.children,\n props = _objectWithoutProperties(_ref7, [\"renderWithFragment\", \"children\"]);\n\n return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileOnlyView = function MobileOnlyView(_ref8) {\n var renderWithFragment = _ref8.renderWithFragment,\n children = _ref8.children,\n viewClassName = _ref8.viewClassName,\n style = _ref8.style,\n props = _objectWithoutProperties(_ref8, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar SmartTVView = function SmartTVView(_ref9) {\n var renderWithFragment = _ref9.renderWithFragment,\n children = _ref9.children,\n props = _objectWithoutProperties(_ref9, [\"renderWithFragment\", \"children\"]);\n\n return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar ConsoleView = function ConsoleView(_ref10) {\n var renderWithFragment = _ref10.renderWithFragment,\n children = _ref10.children,\n props = _objectWithoutProperties(_ref10, [\"renderWithFragment\", \"children\"]);\n\n return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WearableView = function WearableView(_ref11) {\n var renderWithFragment = _ref11.renderWithFragment,\n children = _ref11.children,\n props = _objectWithoutProperties(_ref11, [\"renderWithFragment\", \"children\"]);\n\n return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar CustomView = function CustomView(_ref12) {\n var renderWithFragment = _ref12.renderWithFragment,\n children = _ref12.children,\n viewClassName = _ref12.viewClassName,\n style = _ref12.style,\n condition = _ref12.condition,\n props = _objectWithoutProperties(_ref12, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\", \"condition\"]);\n\n return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\n\nfunction withOrientationChange(WrappedComponent) {\n return /*#__PURE__*/function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n _this.isEventListenerAdded = false;\n _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));\n _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));\n _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));\n _this.state = {\n isLandscape: false,\n isPortrait: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: \"handleOrientationChange\",\n value: function handleOrientationChange() {\n if (!this.isEventListenerAdded) {\n this.isEventListenerAdded = true;\n }\n\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n this.setState({\n isPortrait: orientation === 0,\n isLandscape: orientation === 90\n });\n }\n }, {\n key: \"onOrientationChange\",\n value: function onOrientationChange() {\n this.handleOrientationChange();\n }\n }, {\n key: \"onPageLoad\",\n value: function onPageLoad() {\n this.handleOrientationChange();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n if (!this.isEventListenerAdded) {\n this.handleOrientationChange();\n window.addEventListener(\"load\", this.onPageLoad, false);\n } else {\n window.removeEventListener(\"load\", this.onPageLoad, false);\n }\n\n window.addEventListener(\"resize\", this.onOrientationChange, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener(\"resize\", this.onOrientationChange, false);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React__default.createElement(WrappedComponent, _extends({}, this.props, {\n isLandscape: this.state.isLandscape,\n isPortrait: this.state.isPortrait\n }));\n }\n }]);\n\n return _class;\n }(React__default.Component);\n}\n\nfunction useMobileOrientation() {\n var _useState = React.useState(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n return {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n }),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var handleOrientationChange = React.useCallback(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n var next = {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n state.orientation !== next.orientation && setState(next);\n }, [state.orientation]);\n React.useEffect(function () {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n handleOrientationChange();\n window.addEventListener(\"load\", handleOrientationChange, false);\n window.addEventListener(\"resize\", handleOrientationChange, false);\n }\n\n return function () {\n window.removeEventListener(\"resize\", handleOrientationChange, false);\n window.removeEventListener(\"load\", handleOrientationChange, false);\n };\n }, [handleOrientationChange]);\n return state;\n}\n\nfunction useDeviceData(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n return parseUserAgent(hookUserAgent);\n}\n\nfunction useDeviceSelectors(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n var deviceData = useDeviceData(hookUserAgent);\n var selectors = buildSelectorsObject(deviceData);\n return [selectors, deviceData];\n}\n\nexports.AndroidView = AndroidView;\nexports.BrowserTypes = BrowserTypes;\nexports.BrowserView = BrowserView;\nexports.ConsoleView = ConsoleView;\nexports.CustomView = CustomView;\nexports.IEView = IEView;\nexports.IOSView = IOSView;\nexports.MobileOnlyView = MobileOnlyView;\nexports.MobileView = MobileView;\nexports.OsTypes = OsTypes;\nexports.SmartTVView = SmartTVView;\nexports.TabletView = TabletView;\nexports.WearableView = WearableView;\nexports.WinPhoneView = WinPhoneView;\nexports.browserName = browserName;\nexports.browserVersion = browserVersion;\nexports.deviceDetect = deviceDetect;\nexports.deviceType = deviceType;\nexports.engineName = engineName;\nexports.engineVersion = engineVersion;\nexports.fullBrowserVersion = fullBrowserVersion;\nexports.getSelectorsByUserAgent = getSelectorsByUserAgent;\nexports.getUA = getUA;\nexports.isAndroid = isAndroid;\nexports.isBrowser = isBrowser;\nexports.isChrome = isChrome;\nexports.isChromium = isChromium;\nexports.isConsole = isConsole;\nexports.isDesktop = isDesktop;\nexports.isEdge = isEdge;\nexports.isEdgeChromium = isEdgeChromium;\nexports.isElectron = isElectron;\nexports.isEmbedded = isEmbedded;\nexports.isFirefox = isFirefox;\nexports.isIE = isIE;\nexports.isIOS = isIOS;\nexports.isIOS13 = isIOS13;\nexports.isIPad13 = isIPad13;\nexports.isIPhone13 = isIPhone13;\nexports.isIPod13 = isIPod13;\nexports.isLegacyEdge = isLegacyEdge;\nexports.isMIUI = isMIUI;\nexports.isMacOs = isMacOs;\nexports.isMobile = isMobile;\nexports.isMobileOnly = isMobileOnly;\nexports.isMobileSafari = isMobileSafari;\nexports.isOpera = isOpera;\nexports.isSafari = isSafari;\nexports.isSamsungBrowser = isSamsungBrowser;\nexports.isSmartTV = isSmartTV;\nexports.isTablet = isTablet;\nexports.isWearable = isWearable;\nexports.isWinPhone = isWinPhone;\nexports.isWindows = isWindows;\nexports.isYandex = isYandex;\nexports.mobileModel = mobileModel;\nexports.mobileVendor = mobileVendor;\nexports.osName = osName;\nexports.osVersion = osVersion;\nexports.parseUserAgent = parseUserAgent;\nexports.setUserAgent = setUserAgent;\nexports.useDeviceData = useDeviceData;\nexports.useDeviceSelectors = useDeviceSelectors;\nexports.useMobileOrientation = useMobileOrientation;\nexports.withOrientationChange = withOrientationChange;\n","/* UAParser.js v1.0.33\n Copyright © 2012-2021 Faisal Salman \n MIT License */\n(function(window,undefined){\"use strict\";var LIBVERSION=\"0.7.33\",EMPTY=\"\",UNKNOWN=\"?\",FUNC_TYPE=\"function\",UNDEF_TYPE=\"undefined\",OBJ_TYPE=\"object\",STR_TYPE=\"string\",MAJOR=\"major\",MODEL=\"model\",NAME=\"name\",TYPE=\"type\",VENDOR=\"vendor\",VERSION=\"version\",ARCHITECTURE=\"architecture\",CONSOLE=\"console\",MOBILE=\"mobile\",TABLET=\"tablet\",SMARTTV=\"smarttv\",WEARABLE=\"wearable\",EMBEDDED=\"embedded\",UA_MAX_LENGTH=350;var AMAZON=\"Amazon\",APPLE=\"Apple\",ASUS=\"ASUS\",BLACKBERRY=\"BlackBerry\",BROWSER=\"Browser\",CHROME=\"Chrome\",EDGE=\"Edge\",FIREFOX=\"Firefox\",GOOGLE=\"Google\",HUAWEI=\"Huawei\",LG=\"LG\",MICROSOFT=\"Microsoft\",MOTOROLA=\"Motorola\",OPERA=\"Opera\",SAMSUNG=\"Samsung\",SHARP=\"Sharp\",SONY=\"Sony\",XIAOMI=\"Xiaomi\",ZEBRA=\"Zebra\",FACEBOOK=\"Facebook\";var extend=function(regexes,extensions){var mergedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){mergedRegexes[i]=extensions[i].concat(regexes[i])}else{mergedRegexes[i]=regexes[i]}}return mergedRegexes},enumerize=function(arr){var enums={};for(var i=0;i0){if(q.length===2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length===3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length===4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},strMapper=function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;jUA_MAX_LENGTH?trim(ua,UA_MAX_LENGTH):ua;return this};this.setUA(_ua);return this};UAParser.VERSION=LIBVERSION;UAParser.BROWSER=enumerize([NAME,VERSION,MAJOR]);UAParser.CPU=enumerize([ARCHITECTURE]);UAParser.DEVICE=enumerize([MODEL,VENDOR,TYPE,CONSOLE,MOBILE,SMARTTV,TABLET,WEARABLE,EMBEDDED]);UAParser.ENGINE=UAParser.OS=enumerize([NAME,VERSION]);if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{if(typeof define===FUNC_TYPE&&define.amd){define(function(){return UAParser})}else if(typeof window!==UNDEF_TYPE){window.UAParser=UAParser}}var $=typeof window!==UNDEF_TYPE&&(window.jQuery||window.Zepto);if($&&!$.ua){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}})(typeof window===\"object\"?window:this);\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\"),ba=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function t(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 t(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 t(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new t(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new t(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 t(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new t(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new t(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new t(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new t(a,5,!1,a.toLowerCase(),null,!1,!1)});var qa=/[\\-:]([a-z])/g;function ra(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(qa,\nra);z[b]=new t(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(qa,ra);z[b]=new t(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(qa,ra);z[b]=new t(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new t(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new t(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new t(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction sa(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{Ma=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?La(a):\"\"}\nfunction Oa(a){switch(a.tag){case 5:return La(a.type);case 16:return La(\"Lazy\");case 13:return La(\"Suspense\");case 19:return La(\"SuspenseList\");case 0:case 2:case 15:return a=Na(a.type,!1),a;case 11:return a=Na(a.type.render,!1),a;case 1:return a=Na(a.type,!0),a;default:return\"\"}}\nfunction Pa(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 wa:return\"Fragment\";case va:return\"Portal\";case za:return\"Profiler\";case xa:return\"StrictMode\";case Da:return\"Suspense\";case Ea:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ba:return(a.displayName||\"Context\")+\".Consumer\";case Aa:return(a._context.displayName||\"Context\")+\".Provider\";case Ca:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Fa:return b=a.displayName||null,null!==b?b:Pa(a.type)||\"Memo\";case Ga:b=a._payload;a=a._init;try{return Pa(a(b))}catch(c){}}return null}\nfunction Qa(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 Pa(b);case 8:return b===xa?\"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 Ra(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Sa(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ta(a){var b=Sa(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 Ua(a){a._valueTracker||(a._valueTracker=Ta(a))}function Va(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Sa(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Wa(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 Xa(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 Ya(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Ra(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 Za(a,b){b=b.checked;null!=b&&sa(a,\"checked\",b,!1)}\nfunction $a(a,b){Za(a,b);var c=Ra(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\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Ra(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(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 bb(a,b,c){if(\"number\"!==b||Wa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var db=Array.isArray;\nfunction eb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=lb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction nb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar ob={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},pb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(ob).forEach(function(a){pb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);ob[b]=ob[a]})});function qb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||ob.hasOwnProperty(a)&&ob[a]?(\"\"+b).trim():b+\"px\"}\nfunction rb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=qb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var sb=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 tb(a,b){if(b){if(sb[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 ub(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 vb=null;function wb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var xb=null,yb=null,zb=null;\nfunction Ab(a){if(a=Bb(a)){if(\"function\"!==typeof xb)throw Error(p(280));var b=a.stateNode;b&&(b=Cb(b),xb(a.stateNode,a.type,b))}}function Db(a){yb?zb?zb.push(a):zb=[a]:yb=a}function Eb(){if(yb){var a=yb,b=zb;zb=yb=null;Ab(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(oc(a)/pc|0)|0}var qc=64,rc=4194304;\nfunction sc(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 tc(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=sc(h):(f&=g,0!==f&&(d=sc(f)))}else g=c&~e,0!==g?d=sc(g):0!==f&&(d=sc(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 zc(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-nc(b);a[b]=c}function Ac(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=ae),de=String.fromCharCode(32),ee=!1;\nfunction fe(a,b){switch(a){case \"keyup\":return-1!==Zd.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function ge(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var he=!1;function ie(a,b){switch(a){case \"compositionend\":return ge(b);case \"keypress\":if(32!==b.which)return null;ee=!0;return de;case \"textInput\":return a=b.data,a===de&&ee?null:a;default:return null}}\nfunction je(a,b){if(he)return\"compositionend\"===a||!$d&&fe(a,b)?(a=md(),ld=kd=jd=null,he=!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=Ie(c)}}function Ke(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Ke(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Le(){for(var a=window,b=Wa();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=Wa(a.document)}return b}function Me(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 Ne(a){var b=Le(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Ke(c.ownerDocument.documentElement,c)){if(null!==d&&Me(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=Je(c,f);var g=Je(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,Pe=null,Qe=null,Re=null,Se=!1;\nfunction Te(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Se||null==Pe||Pe!==Wa(d)||(d=Pe,\"selectionStart\"in d&&Me(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}),Re&&He(Re,d)||(Re=d,d=ne(Qe,\"onSelect\"),0Sf||(a.current=Rf[Sf],Rf[Sf]=null,Sf--)}function G(a,b){Sf++;Rf[Sf]=a.current;a.current=b}var Uf={},H=Tf(Uf),Vf=Tf(!1),Wf=Uf;function Xf(a,b){var c=a.type.contextTypes;if(!c)return Uf;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 Yf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Zf(){E(Vf);E(H)}function $f(a,b,c){if(H.current!==Uf)throw Error(p(168));G(H,b);G(Vf,c)}function ag(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,Qa(a)||\"Unknown\",e));return A({},c,d)}\nfunction bg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Uf;Wf=H.current;G(H,a);G(Vf,Vf.current);return!0}function cg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=ag(a,b,Wf),d.__reactInternalMemoizedMergedChildContext=a,E(Vf),E(H),G(H,a)):E(Vf);G(Vf,c)}var dg=null,eg=!1,fg=!1;function gg(a){null===dg?dg=[a]:dg.push(a)}function hg(a){eg=!0;gg(a)}\nfunction ig(){if(!fg&&null!==dg){fg=!0;var a=0,b=C;try{var c=dg;for(C=1;a>=g;e-=g;Yg=1<<32-nc(b)+e|c<m?(x=r,r=null):x=r.sibling;var v=q(e,r,h[m],k);if(null===v){null===r&&(r=x);break}a&&r&&null===v.alternate&&b(e,r);g=f(v,g,m);null===n?l=v:n.sibling=v;n=v;r=x}if(m===h.length)return c(e,r),I&&$g(e,m),l;if(null===r){for(;mr?(x=m,m=null):x=m.sibling;var w=q(e,m,v.value,k);if(null===w){null===m&&(m=x);break}a&&m&&null===w.alternate&&b(e,m);g=f(w,g,r);null===n?l=w:n.sibling=w;n=w;m=x}if(v.done)return c(e,\nm),I&&$g(e,r),l;if(null===m){for(;!v.done;r++,v=h.next())v=u(e,v.value,k),null!==v&&(g=f(v,g,r),null===n?l=v:n.sibling=v,n=v);I&&$g(e,r);return l}for(m=d(e,m);!v.done;r++,v=h.next())v=y(m,e,r,v.value,k),null!==v&&(a&&null!==v.alternate&&m.delete(null===v.key?r:v.key),g=f(v,g,r),null===n?l=v:n.sibling=v,n=v);a&&m.forEach(function(a){return b(e,a)});I&&$g(e,r);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===wa&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case ua:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===wa){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===Ga&&rh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=ph(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===wa?(d=xh(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=vh(f.type,f.key,f.props,null,a.mode,h),h.ref=ph(a,d,f),h.return=a,a=h)}return g(a);case va: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=wh(f,a.mode,h);d.return=a;a=d}return g(a);case Ga:return l=f._init,J(a,d,l(f._payload),h)}if(db(f))return m(a,d,f,h);if(Ja(f))return w(a,d,f,h);qh(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=uh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var yh=sh(!0),zh=sh(!1),Ah={},Bh=Tf(Ah),Ch=Tf(Ah),Dh=Tf(Ah);function Eh(a){if(a===Ah)throw Error(p(174));return a}function Fh(a,b){G(Dh,b);G(Ch,a);G(Bh,Ah);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:kb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=kb(b,a)}E(Bh);G(Bh,b)}function Gh(){E(Bh);E(Ch);E(Dh)}\nfunction Hh(a){Eh(Dh.current);var b=Eh(Bh.current);var c=kb(b,a.type);b!==c&&(G(Ch,a),G(Bh,c))}function Ih(a){Ch.current===a&&(E(Bh),E(Ch))}var K=Tf(0);\nfunction Jh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Kh=[];\nfunction Lh(){for(var a=0;ac?c:4;a(!0);var d=Nh.transition;Nh.transition={};try{a(!1),b()}finally{C=c,Nh.transition=d}}function Bi(){return ai().memoizedState}\nfunction Ci(a,b,c){var d=Kg(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};Di(a)?Ei(b,c):(Fi(a,b,c),c=Jg(),a=Lg(a,d,c),null!==a&&Gi(a,b,d))}\nfunction ni(a,b,c){var d=Kg(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Di(a))Ei(b,e);else{Fi(a,b,e);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(Ge(h,g))return}catch(k){}finally{}c=Jg();a=Lg(a,d,c);null!==a&&Gi(a,b,d)}}function Di(a){var b=a.alternate;return a===L||null!==b&&b===L}\nfunction Ei(a,b){Qh=Ph=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Fi(a,b,c){Bg(a)?(a=b.interleaved,null===a?(c.next=c,null===vg?vg=[b]:vg.push(b)):(c.next=a.next,a.next=c),b.interleaved=c):(a=b.pending,null===a?c.next=c:(c.next=a.next,a.next=c),b.pending=c)}function Gi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Bc(a,c)}}\nvar Yh={readContext:ug,useCallback:O,useContext:O,useEffect:O,useImperativeHandle:O,useInsertionEffect:O,useLayoutEffect:O,useMemo:O,useReducer:O,useRef:O,useState:O,useDebugValue:O,useDeferredValue:O,useTransition:O,useMutableSource:O,useSyncExternalStore:O,useId:O,unstable_isNewReconciler:!1},Vh={readContext:ug,useCallback:function(a,b){$h().memoizedState=[a,void 0===b?null:b];return a},useContext:ug,useEffect:ri,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return pi(4194308,\n4,ui.bind(null,b,a),c)},useLayoutEffect:function(a,b){return pi(4194308,4,a,b)},useInsertionEffect:function(a,b){return pi(4,2,a,b)},useMemo:function(a,b){var c=$h();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=$h();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=Ci.bind(null,L,a);return[d.memoizedState,a]},useRef:function(a){var b=\n$h();a={current:a};return b.memoizedState=a},useState:mi,useDebugValue:wi,useDeferredValue:function(a){return $h().memoizedState=a},useTransition:function(){var a=mi(!1),b=a[0];a=Ai.bind(null,a[1]);$h().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=L,e=$h();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===P)throw Error(p(349));0!==(Oh&30)||ki(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;ri(hi.bind(null,d,\nf,a),[a]);d.flags|=2048;ii(9,ji.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=$h(),b=P.identifierPrefix;if(I){var c=Zg;var d=Yg;c=(d&~(1<<32-nc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Rh++;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[Nf]=b;a[Of]=d;Ti(a,b,!1,!1);b.stateNode=a;a:{g=ub(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;eaj&&(b.flags|=\n128,d=!0,Xi(f,!1),b.lanes=4194304)}else{if(!d)if(a=Jh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Xi(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return Q(b),null}else 2*B()-f.renderingStartTime>aj&&1073741824!==c&&(b.flags|=128,d=!0,Xi(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=b,f.tail=b.sibling,f.renderingStartTime=\nB(),b.sibling=null,c=K.current,G(K,d?c&1|2:c&1),b;Q(b);return null;case 22:case 23:return bj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(cj&1073741824)&&(Q(b),b.subtreeFlags&6&&(b.flags|=8192)):Q(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}var dj=ta.ReactCurrentOwner,tg=!1;function ej(a,b,c,d){b.child=null===a?zh(b,null,c,d):yh(b,a.child,c,d)}\nfunction fj(a,b,c,d,e){c=c.render;var f=b.ref;sg(b,e);d=Uh(a,b,c,d,f,e);c=Zh();if(null!==a&&!tg)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,gj(a,b,e);I&&c&&bh(b);b.flags|=1;ej(a,b,d,e);return b.child}\nfunction hj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!ij(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,jj(a,b,f,d,e);a=vh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:He;if(c(g,d)&&a.ref===b.ref)return gj(a,b,e)}b.flags|=1;a=th(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction jj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(He(f,d)&&a.ref===b.ref)if(tg=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(tg=!0);else return b.lanes=a.lanes,gj(a,b,e)}return kj(a,b,c,d,e)}\nfunction lj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(mj,cj),cj|=c;else if(0!==(c&1073741824))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},d=null!==f?f.baseLanes:c,G(mj,cj),cj|=d;else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(mj,cj),cj|=a,null;\nelse null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(mj,cj),cj|=d;ej(a,b,e,c);return b.child}function nj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function kj(a,b,c,d,e){var f=Yf(c)?Wf:H.current;f=Xf(b,f);sg(b,e);c=Uh(a,b,c,d,f,e);d=Zh();if(null!==a&&!tg)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,gj(a,b,e);I&&d&&bh(b);b.flags|=1;ej(a,b,c,e);return b.child}\nfunction oj(a,b,c,d,e){if(Yf(c)){var f=!0;bg(b)}else f=!1;sg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),Og(b,c,d),Qg(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=ug(l):(l=Yf(c)?Wf:H.current,l=Xf(b,l));var n=c.getDerivedStateFromProps,u=\"function\"===typeof n||\"function\"===typeof g.getSnapshotBeforeUpdate;u||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Pg(b,g,d,l);wg=!1;var q=b.memoizedState;g.state=q;Eg(b,d,g,e);k=b.memoizedState;h!==d||q!==k||Vf.current||wg?(\"function\"===typeof n&&(Ig(b,c,n,d),k=b.memoizedState),(h=wg||Ng(b,c,h,d,q,k,l))?(u||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.flags|=4194308)):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;yg(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:kg(b.type,h);g.props=l;u=b.pendingProps;q=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=ug(k):(k=Yf(c)?Wf:H.current,k=Xf(b,k));var y=c.getDerivedStateFromProps;(n=\"function\"===\ntypeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==u||q!==k)&&Pg(b,g,d,k);wg=!1;q=b.memoizedState;g.state=q;Eg(b,d,g,e);var m=b.memoizedState;h!==u||q!==m||Vf.current||wg?(\"function\"===typeof y&&(Ig(b,c,y,d),m=b.memoizedState),(l=wg||Ng(b,c,l,d,q,m,k)||!1)?(n||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&\ng.componentWillUpdate(d,m,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,m,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=m),g.props=d,g.state=m,g.context=\nk,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=1024),d=!1)}return pj(a,b,c,d,f,e)}\nfunction pj(a,b,c,d,e,f){nj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&cg(b,c,!1),gj(a,b,f);d=b.stateNode;dj.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=yh(b,a.child,null,f),b.child=yh(b,null,h,f)):ej(a,b,h,f);b.memoizedState=d.state;e&&cg(b,c,!0);return b.child}function qj(a){var b=a.stateNode;b.pendingContext?$f(a,b.pendingContext,b.pendingContext!==b.context):b.context&&$f(a,b.context,!1);Fh(a,b.containerInfo)}\nfunction rj(a,b,c,d,e){nh();oh(e);b.flags|=256;ej(a,b,c,d);return b.child}var sj={dehydrated:null,treeContext:null,retryLane:0};function tj(a){return{baseLanes:a,cachePool:null,transitions:null}}function uj(a,b){return{baseLanes:a.baseLanes|b,cachePool:null,transitions:a.transitions}}\nfunction vj(a,b,c){var d=b.pendingProps,e=K.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(K,e&1);if(null===a){kh(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;e=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,e={mode:\"hidden\",children:e},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ne):f=wj(e,d,0,null),a=xh(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=tj(c),b.memoizedState=sj,a):xj(b,e)}e=a.memoizedState;if(null!==e){h=e.dehydrated;if(null!==h){if(g){if(b.flags&256)return b.flags&=-257,yj(a,b,c,Error(p(422)));if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=wj({mode:\"visible\",children:d.children},e,0,null);f=xh(f,e,c,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&yh(b,a.child,\nnull,c);b.child.memoizedState=tj(c);b.memoizedState=sj;return f}if(0===(b.mode&1))b=yj(a,b,c,null);else if(\"$!\"===h.data)b=yj(a,b,c,Error(p(419)));else if(d=0!==(c&a.childLanes),tg||d){d=P;if(null!==d){switch(c&-c){case 4:f=2;break;case 16:f=8;break;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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:f=32;break;case 536870912:f=\n268435456;break;default:f=0}d=0!==(f&(d.suspendedLanes|c))?0:f;0!==d&&d!==e.retryLane&&(e.retryLane=d,Lg(a,d,-1))}$i();b=yj(a,b,c,Error(p(421)))}else\"$?\"===h.data?(b.flags|=128,b.child=a.child,b=zj.bind(null,a),h._reactRetry=b,b=null):(c=e.treeContext,eh=Kf(h.nextSibling),dh=b,I=!0,fh=null,null!==c&&(Vg[Wg++]=Yg,Vg[Wg++]=Zg,Vg[Wg++]=Xg,Yg=c.id,Zg=c.overflow,Xg=b),b=xj(b,b.pendingProps.children),b.flags|=4096);return b}if(f)return d=Aj(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,\nf.memoizedState=null===e?tj(c):uj(e,c),f.childLanes=a.childLanes&~c,b.memoizedState=sj,d;c=Bj(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=Aj(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?tj(c):uj(e,c),f.childLanes=a.childLanes&~c,b.memoizedState=sj,d;c=Bj(a,b,d.children,c);b.memoizedState=null;return c}function xj(a,b){b=wj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}\nfunction Bj(a,b,c,d){var e=a.child;a=e.sibling;c=th(e,{mode:\"visible\",children:c});0===(b.mode&1)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(d=b.deletions,null===d?(b.deletions=[a],b.flags|=16):d.push(a));return b.child=c}\nfunction Aj(a,b,c,d,e){var f=b.mode;a=a.child;var g=a.sibling,h={mode:\"hidden\",children:c};0===(f&1)&&b.child!==a?(c=b.child,c.childLanes=0,c.pendingProps=h,b.deletions=null):(c=th(a,h),c.subtreeFlags=a.subtreeFlags&14680064);null!==g?d=th(g,d):(d=xh(d,f,e,null),d.flags|=2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function yj(a,b,c,d){null!==d&&oh(d);yh(b,a.child,null,c);a=xj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction Cj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);rg(a.return,b,c)}function Dj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction Ej(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;ej(a,b,d.children,c);d=K.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&Cj(a,c,b);else if(19===a.tag)Cj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(K,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Jh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);Dj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Jh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}Dj(b,!0,c,null,f);break;case \"together\":Dj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction gj(a,b,c){null!==a&&(b.dependencies=a.dependencies);Fg|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=th(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=th(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction Fj(a,b,c){switch(b.tag){case 3:qj(b);nh();break;case 5:Hh(b);break;case 1:Yf(b.type)&&bg(b);break;case 4:Fh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(lg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(K,K.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return vj(a,b,c);G(K,K.current&1);a=gj(a,b,c);return null!==a?a.sibling:null}G(K,K.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return Ej(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(K,K.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,lj(a,b,c)}return gj(a,b,c)}\nfunction Gj(a,b){ch(b);switch(b.tag){case 1:return Yf(b.type)&&Zf(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Gh(),E(Vf),E(H),Lh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Ih(b),null;case 13:E(K);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));nh()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(K),null;case 4:return Gh(),null;case 10:return qg(b.type._context),null;case 22:case 23:return bj(),\nnull;case 24:return null;default:return null}}var Hj=!1,S=!1,Ij=\"function\"===typeof WeakSet?WeakSet:Set,T=null;function Jj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){U(a,b,d)}else c.current=null}function Kj(a,b,c){try{c()}catch(d){U(a,b,d)}}var Lj=!1;\nfunction Mj(a,b){Bf=cd;a=Le();if(Me(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(Z){c=null;break a}var g=0,h=-1,k=-1,l=0,n=0,u=a,q=null;b:for(;;){for(var y;;){u!==c||0!==e&&3!==u.nodeType||(h=g+e);u!==f||0!==d&&3!==u.nodeType||(k=g+d);3===u.nodeType&&(g+=\nu.nodeValue.length);if(null===(y=u.firstChild))break;q=u;u=y}for(;;){if(u===a)break b;q===c&&++l===e&&(h=g);q===f&&++n===d&&(k=g);if(null!==(y=u.nextSibling))break;u=q;q=u.parentNode}u=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Cf={focusedElem:a,selectionRange:c};cd=!1;for(T=b;null!==T;)if(b=T,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,T=a;else for(;null!==T;){b=T;try{var m=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==m){var w=m.memoizedProps,J=m.memoizedState,v=b.stateNode,x=v.getSnapshotBeforeUpdate(b.elementType===b.type?w:kg(b.type,w),J);v.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var r=b.stateNode.containerInfo;if(1===r.nodeType)r.textContent=\"\";else if(9===r.nodeType){var F=r.body;null!=F&&(F.textContent=\"\")}break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(Z){U(b,b.return,Z)}a=b.sibling;if(null!==a){a.return=b.return;T=a;break}T=b.return}m=Lj;Lj=!1;return m}\nfunction Nj(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&&Kj(b,c,f)}e=e.next}while(e!==d)}}function Oj(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 Pj(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 Qj(a){var b=a.alternate;null!==b&&(a.alternate=null,Qj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Nf],delete b[Of],delete b[nf],delete b[Pf],delete b[Qf]));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 Rj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Sj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Rj(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 Tj(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=Af));else if(4!==d&&(a=a.child,null!==a))for(Tj(a,b,c),a=a.sibling;null!==a;)Tj(a,b,c),a=a.sibling}\nfunction Uj(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(Uj(a,b,c),a=a.sibling;null!==a;)Uj(a,b,c),a=a.sibling}var V=null,Vj=!1;function Wj(a,b,c){for(c=c.child;null!==c;)Xj(a,b,c),c=c.sibling}\nfunction Xj(a,b,c){if(kc&&\"function\"===typeof kc.onCommitFiberUnmount)try{kc.onCommitFiberUnmount(jc,c)}catch(h){}switch(c.tag){case 5:S||Jj(c,b);case 6:var d=V,e=Vj;V=null;Wj(a,b,c);V=d;Vj=e;null!==V&&(Vj?(a=V,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):V.removeChild(c.stateNode));break;case 18:null!==V&&(Vj?(a=V,c=c.stateNode,8===a.nodeType?Jf(a.parentNode,c):1===a.nodeType&&Jf(a,c),ad(a)):Jf(V,c.stateNode));break;case 4:d=V;e=Vj;V=c.stateNode.containerInfo;Vj=!0;\nWj(a,b,c);V=d;Vj=e;break;case 0:case 11:case 14:case 15:if(!S&&(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)?Kj(c,b,g):0!==(f&4)&&Kj(c,b,g));e=e.next}while(e!==d)}Wj(a,b,c);break;case 1:if(!S&&(Jj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){U(c,b,h)}Wj(a,b,c);break;case 21:Wj(a,b,c);break;case 22:c.mode&1?(S=(d=S)||null!==\nc.memoizedState,Wj(a,b,c),S=d):Wj(a,b,c);break;default:Wj(a,b,c)}}function Yj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Ij);b.forEach(function(b){var d=Zj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ak(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*jk(d/1960))-d;if(10a?16:a;if(null===uk)var d=!1;else{a=uk;uk=null;vk=0;if(0!==(W&6))throw Error(p(331));var e=W;W|=4;for(T=a.current;null!==T;){var f=T,g=f.child;if(0!==(T.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-dk?Jk(a,0):pk|=c);Ck(a,b)}function Xk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=rc,rc<<=1,0===(rc&130023424)&&(rc=4194304)));var c=Jg();a=Ak(a,b);null!==a&&(zc(a,b,c),Ck(a,c))}function zj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Xk(a,c)}\nfunction Zj(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);Xk(a,c)}var Uk;\nUk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Vf.current)tg=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return tg=!1,Fj(a,b,c);tg=0!==(a.flags&131072)?!0:!1}else tg=!1,I&&0!==(b.flags&1048576)&&ah(b,Ug,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;var e=Xf(b,H.current);sg(b,c);e=Uh(null,b,d,a,e,c);var f=Zh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?\n(b.tag=1,b.memoizedState=null,b.updateQueue=null,Yf(d)?(f=!0,bg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,xg(b),e.updater=Mg,b.stateNode=e,e._reactInternals=b,Qg(b,d,a,c),b=pj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&bh(b),ej(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Yk(d);a=kg(d,a);switch(e){case 0:b=kj(null,b,d,a,c);break a;case 1:b=oj(null,b,\nd,a,c);break a;case 11:b=fj(null,b,d,a,c);break a;case 14:b=hj(null,b,d,kg(d.type,a),c);break a}throw Error(p(306,d,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),kj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),oj(a,b,d,e,c);case 3:a:{qj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;yg(a,b);Eg(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,\ncache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=f,b.memoizedState=f,b.flags&256){e=Error(p(423));b=rj(a,b,d,c,e);break a}else if(d!==e){e=Error(p(424));b=rj(a,b,d,c,e);break a}else for(eh=Kf(b.stateNode.containerInfo.firstChild),dh=b,I=!0,fh=null,c=zh(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{nh();if(d===e){b=gj(a,b,c);break a}ej(a,b,d,c)}b=b.child}return b;case 5:return Hh(b),null===a&&kh(b),d=b.type,e=\nb.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Df(d,e)?g=null:null!==f&&Df(d,f)&&(b.flags|=32),nj(a,b),ej(a,b,g,c),b.child;case 6:return null===a&&kh(b),null;case 13:return vj(a,b,c);case 4:return Fh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=yh(b,null,d,c):ej(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),fj(a,b,d,e,c);case 7:return ej(a,b,b.pendingProps,c),b.child;case 8:return ej(a,b,b.pendingProps.children,c),b.child;case 12:return ej(a,\nb,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;g=e.value;G(lg,d._currentValue);d._currentValue=g;if(null!==f)if(Ge(f.value,g)){if(f.children===e.children&&!Vf.current){b=gj(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=zg(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var n=l.pending;null===n?k.next=\nk:(k.next=n.next,n.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);rg(f.return,c,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);rg(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}ej(a,b,e.children,c);b=b.child}return b;\ncase 9:return e=b.type,d=b.pendingProps.children,sg(b,c),e=ug(e),d=d(e),b.flags|=1,ej(a,b,d,c),b.child;case 14:return d=b.type,e=kg(d,b.pendingProps),e=kg(d.type,e),hj(a,b,d,e,c);case 15:return jj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,Yf(d)?(a=!0,bg(b)):a=!1,sg(b,c),Og(b,d,e),Qg(b,d,e,c),pj(null,b,d,!0,a,c);case 19:return Ej(a,b,c);case 22:return lj(a,b,c)}throw Error(p(156,\nb.tag));};function Ek(a,b){return $b(a,b)}function Zk(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 hh(a,b,c,d){return new Zk(a,b,c,d)}\nfunction ij(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Yk(a){if(\"function\"===typeof a)return ij(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Ca)return 11;if(a===Fa)return 14}return 2}\nfunction th(a,b){var c=a.alternate;null===c?(c=hh(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 vh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)ij(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case wa:return xh(c.children,e,f,b);case xa:g=8;e|=8;break;case za:return a=hh(12,c,b,e|2),a.elementType=za,a.lanes=f,a;case Da:return a=hh(13,c,b,e),a.elementType=Da,a.lanes=f,a;case Ea:return a=hh(19,c,b,e),a.elementType=Ea,a.lanes=f,a;case Ha:return wj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Aa:g=10;break a;case Ba:g=9;break a;case Ca:g=11;\nbreak a;case Fa:g=14;break a;case Ga:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=hh(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function xh(a,b,c,d){a=hh(7,a,d,b);a.lanes=c;return a}function wj(a,b,c,d){a=hh(22,a,d,b);a.elementType=Ha;a.lanes=c;a.stateNode={};return a}function uh(a,b,c){a=hh(6,a,null,b);a.lanes=c;return a}\nfunction wh(a,b,c){b=hh(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 $k(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=yc(0);this.expirationTimes=yc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=yc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function al(a,b,c,d,e,f,g,h,k){a=new $k(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=hh(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};xg(f);return a}function bl(a,b,c){var d=3= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n var isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && scrollHash.getHash() === to) {\n scrollHash.changeHash();\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({ active: false });\n _this2.props.onSetInactive && _this2.props.onSetInactive();\n }\n\n return scrollSpy.updateStates();\n }\n\n if (isInside && activeLink !== to) {\n scroller.setActiveLink(to);\n\n _this2.props.hashSpy && scrollHash.changeHash(to);\n\n if (_this2.props.spy) {\n _this2.setState({ active: true });\n _this2.props.onSetActive && _this2.props.onSetActive(to);\n }\n return scrollSpy.updateStates();\n }\n };\n };\n\n ;\n\n Scroll.propTypes = protoTypes;\n\n Scroll.defaultProps = { offset: 0 };\n\n return Scroll;\n },\n Element: function Element(Component) {\n\n console.warn(\"Helpers.Element is deprecated since v1.7.0\");\n\n var Element = function (_React$Component2) {\n _inherits(Element, _React$Component2);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this3 = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this3.childBindings = {\n domNode: null\n };\n return _this3;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n defaultScroller.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n defaultScroller.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(Component, _extends({}, this.props, { parentBindings: this.childBindings }));\n }\n }]);\n\n return Element;\n }(React.Component);\n\n ;\n\n Element.propTypes = {\n name: PropTypes.string,\n id: PropTypes.string\n };\n\n return Element;\n }\n};\n\nmodule.exports = Helpers;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _smooth = require('./smooth');\n\nvar _smooth2 = _interopRequireDefault(_smooth);\n\nvar _cancelEvents = require('./cancel-events');\n\nvar _cancelEvents2 = _interopRequireDefault(_cancelEvents);\n\nvar _scrollEvents = require('./scroll-events');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\r\n * Gets the easing type from the smooth prop within options.\r\n */\nvar getAnimationType = function getAnimationType(options) {\n return _smooth2.default[options.smooth] || _smooth2.default.defaultEasing;\n};\n/*\r\n * Function helper\r\n */\nvar functionWrapper = function functionWrapper(value) {\n return typeof value === 'function' ? value : function () {\n return value;\n };\n};\n/*\r\n * Wraps window properties to allow server side rendering\r\n */\nvar currentWindowProperties = function currentWindowProperties() {\n if (typeof window !== 'undefined') {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame;\n }\n};\n\n/*\r\n * Helper function to never extend 60fps on the webpage.\r\n */\nvar requestAnimationFrameHelper = function () {\n return currentWindowProperties() || function (callback, element, delay) {\n window.setTimeout(callback, delay || 1000 / 60, new Date().getTime());\n };\n}();\n\nvar makeData = function makeData() {\n return {\n currentPosition: 0,\n startPosition: 0,\n targetPosition: 0,\n progress: 0,\n duration: 0,\n cancel: false,\n\n target: null,\n containerElement: null,\n to: null,\n start: null,\n delta: null,\n percent: null,\n delayTimeout: null\n };\n};\n\nvar currentPositionX = function currentPositionX(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollLeft;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n }\n};\n\nvar currentPositionY = function currentPositionY(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollTop;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n }\n};\n\nvar scrollContainerWidth = function scrollContainerWidth(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollWidth - containerElement.offsetWidth;\n } else {\n var body = document.body;\n var html = document.documentElement;\n\n return Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n }\n};\n\nvar scrollContainerHeight = function scrollContainerHeight(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollHeight - containerElement.offsetHeight;\n } else {\n var body = document.body;\n var html = document.documentElement;\n\n return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n }\n};\n\nvar animateScroll = function animateScroll(easing, options, timestamp) {\n var data = options.data;\n\n // Cancel on specific events\n if (!options.ignoreCancelEvents && data.cancel) {\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPositionY);\n }\n return;\n };\n\n data.delta = Math.round(data.targetPosition - data.startPosition);\n\n if (data.start === null) {\n data.start = timestamp;\n }\n\n data.progress = timestamp - data.start;\n\n data.percent = data.progress >= data.duration ? 1 : easing(data.progress / data.duration);\n\n data.currentPosition = data.startPosition + Math.ceil(data.delta * data.percent);\n\n if (data.containerElement && data.containerElement !== document && data.containerElement !== document.body) {\n if (options.horizontal) {\n data.containerElement.scrollLeft = data.currentPosition;\n } else {\n data.containerElement.scrollTop = data.currentPosition;\n }\n } else {\n if (options.horizontal) {\n window.scrollTo(data.currentPosition, 0);\n } else {\n window.scrollTo(0, data.currentPosition);\n }\n }\n\n if (data.percent < 1) {\n var easedAnimate = animateScroll.bind(null, easing, options);\n requestAnimationFrameHelper.call(window, easedAnimate);\n return;\n }\n\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPosition);\n }\n};\n\nvar setContainer = function setContainer(options) {\n options.data.containerElement = !options ? null : options.containerId ? document.getElementById(options.containerId) : options.container && options.container.nodeType ? options.container : document;\n};\n\nvar animateTopScroll = function animateTopScroll(scrollOffset, options, to, target) {\n options.data = options.data || makeData();\n\n window.clearTimeout(options.data.delayTimeout);\n\n _cancelEvents2.default.subscribe(function () {\n options.data.cancel = true;\n });\n\n setContainer(options);\n\n options.data.start = null;\n options.data.cancel = false;\n options.data.startPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n options.data.targetPosition = options.absolute ? scrollOffset : scrollOffset + options.data.startPosition;\n\n if (options.data.startPosition === options.data.targetPosition) {\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](options.data.to, options.data.target, options.data.currentPosition);\n }\n return;\n }\n\n options.data.delta = Math.round(options.data.targetPosition - options.data.startPosition);\n\n options.data.duration = functionWrapper(options.duration)(options.data.delta);\n options.data.duration = isNaN(parseFloat(options.data.duration)) ? 1000 : parseFloat(options.data.duration);\n options.data.to = to;\n options.data.target = target;\n\n var easing = getAnimationType(options);\n var easedAnimate = animateScroll.bind(null, easing, options);\n\n if (options && options.delay > 0) {\n options.data.delayTimeout = window.setTimeout(function () {\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n }\n requestAnimationFrameHelper.call(window, easedAnimate);\n }, options.delay);\n return;\n }\n\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n }\n requestAnimationFrameHelper.call(window, easedAnimate);\n};\n\nvar proceedOptions = function proceedOptions(options) {\n options = _extends({}, options);\n options.data = options.data || makeData();\n options.absolute = true;\n return options;\n};\n\nvar scrollToTop = function scrollToTop(options) {\n animateTopScroll(0, proceedOptions(options));\n};\n\nvar scrollTo = function scrollTo(toPosition, options) {\n animateTopScroll(toPosition, proceedOptions(options));\n};\n\nvar scrollToBottom = function scrollToBottom(options) {\n options = proceedOptions(options);\n setContainer(options);\n animateTopScroll(options.horizontal ? scrollContainerWidth(options) : scrollContainerHeight(options), options);\n};\n\nvar scrollMore = function scrollMore(toPosition, options) {\n options = proceedOptions(options);\n setContainer(options);\n var currentPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n animateTopScroll(toPosition + currentPosition, options);\n};\n\nexports.default = {\n animateTopScroll: animateTopScroll,\n getAnimationType: getAnimationType,\n scrollToTop: scrollToTop,\n scrollToBottom: scrollToBottom,\n scrollTo: scrollTo,\n scrollMore: scrollMore\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nvar events = ['mousedown', 'mousewheel', 'touchmove', 'keydown'];\n\nexports.default = {\n subscribe: function subscribe(cancelEvent) {\n return typeof document !== 'undefined' && events.forEach(function (event) {\n return (0, _passiveEventListeners.addPassiveEventListener)(document, event, cancelEvent);\n });\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*\r\n * Tell the browser that the event listener won't prevent a scroll.\r\n * Allowing the browser to continue scrolling without having to\r\n * to wait for the listener to return.\r\n */\nvar addPassiveEventListener = exports.addPassiveEventListener = function addPassiveEventListener(target, eventName, listener) {\n var supportsPassiveOption = function () {\n var supportsPassiveOption = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassiveOption = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n return supportsPassiveOption;\n }();\n target.addEventListener(eventName, listener, supportsPassiveOption ? { passive: true } : false);\n};\n\nvar removePassiveEventListener = exports.removePassiveEventListener = function removePassiveEventListener(target, eventName, listener) {\n target.removeEventListener(eventName, listener);\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _scroller = require('./scroller');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nexports.default = function (Component) {\n var Element = function (_React$Component) {\n _inherits(Element, _React$Component);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this.childBindings = {\n domNode: null\n };\n return _this;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n _scroller2.default.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n _scroller2.default.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(Component, _extends({}, this.props, { parentBindings: this.childBindings }));\n }\n }]);\n\n return Element;\n }(_react2.default.Component);\n\n ;\n\n Element.propTypes = {\n name: _propTypes2.default.string,\n id: _propTypes2.default.string\n };\n\n return Element;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar Events = {\n\tregistered: {},\n\tscrollEvent: {\n\t\tregister: function register(evtName, callback) {\n\t\t\tEvents.registered[evtName] = callback;\n\t\t},\n\t\tremove: function remove(evtName) {\n\t\t\tEvents.registered[evtName] = null;\n\t\t}\n\t}\n};\n\nexports.default = Events;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar scrollHash = {\n mountFlag: false,\n initialized: false,\n scroller: null,\n containers: {},\n\n mount: function mount(scroller) {\n this.scroller = scroller;\n\n this.handleHashChange = this.handleHashChange.bind(this);\n window.addEventListener('hashchange', this.handleHashChange);\n\n this.initStateFromHash();\n this.mountFlag = true;\n },\n mapContainer: function mapContainer(to, container) {\n this.containers[to] = container;\n },\n isMounted: function isMounted() {\n return this.mountFlag;\n },\n isInitialized: function isInitialized() {\n return this.initialized;\n },\n initStateFromHash: function initStateFromHash() {\n var _this = this;\n\n var hash = this.getHash();\n if (hash) {\n window.setTimeout(function () {\n _this.scrollTo(hash, true);\n _this.initialized = true;\n }, 10);\n } else {\n this.initialized = true;\n }\n },\n scrollTo: function scrollTo(to, isInit) {\n var scroller = this.scroller;\n var element = scroller.get(to);\n if (element && (isInit || to !== scroller.getActiveLink())) {\n var container = this.containers[to] || document;\n scroller.scrollTo(to, { container: container });\n }\n },\n getHash: function getHash() {\n return _utils2.default.getHash();\n },\n changeHash: function changeHash(to, saveHashHistory) {\n if (this.isInitialized() && _utils2.default.getHash() !== to) {\n _utils2.default.updateHash(to, saveHashHistory);\n }\n },\n handleHashChange: function handleHashChange() {\n this.scrollTo(this.getHash());\n },\n unmount: function unmount() {\n this.scroller = null;\n this.containers = null;\n window.removeEventListener('hashchange', this.handleHashChange);\n }\n};\n\nexports.default = scrollHash;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollSpy = require('./scroll-spy');\n\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\n\nvar _scroller = require('./scroller');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _scrollHash = require('./scroll-hash');\n\nvar _scrollHash2 = _interopRequireDefault(_scrollHash);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar protoTypes = {\n to: _propTypes2.default.string.isRequired,\n containerId: _propTypes2.default.string,\n container: _propTypes2.default.object,\n activeClass: _propTypes2.default.string,\n spy: _propTypes2.default.bool,\n horizontal: _propTypes2.default.bool,\n smooth: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]),\n offset: _propTypes2.default.number,\n delay: _propTypes2.default.number,\n isDynamic: _propTypes2.default.bool,\n onClick: _propTypes2.default.func,\n duration: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n absolute: _propTypes2.default.bool,\n onSetActive: _propTypes2.default.func,\n onSetInactive: _propTypes2.default.func,\n ignoreCancelEvents: _propTypes2.default.bool,\n hashSpy: _propTypes2.default.bool,\n saveHashHistory: _propTypes2.default.bool,\n spyThrottle: _propTypes2.default.number\n};\n\nexports.default = function (Component, customScroller) {\n\n var scroller = customScroller || _scroller2.default;\n\n var Link = function (_React$PureComponent) {\n _inherits(Link, _React$PureComponent);\n\n function Link(props) {\n _classCallCheck(this, Link);\n\n var _this = _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n active: false\n };\n return _this;\n }\n\n _createClass(Link, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n\n if (containerId && !container) {\n return document.getElementById(containerId);\n }\n\n if (container && container.nodeType) {\n return container;\n }\n\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n\n if (!_scrollSpy2.default.isMounted(scrollSpyContainer)) {\n _scrollSpy2.default.mount(scrollSpyContainer, this.props.spyThrottle);\n }\n\n if (this.props.hashSpy) {\n if (!_scrollHash2.default.isMounted()) {\n _scrollHash2.default.mount(scroller);\n }\n _scrollHash2.default.mapContainer(this.props.to, scrollSpyContainer);\n }\n\n _scrollSpy2.default.addSpyHandler(this.spyHandler, scrollSpyContainer);\n\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _scrollSpy2.default.unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n\n var props = _extends({}, this.props);\n\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n\n props.className = className;\n props.onClick = this.handleClick;\n\n return _react2.default.createElement(Component, props);\n }\n }]);\n\n return Link;\n }(_react2.default.PureComponent);\n\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n\n this.handleClick = function (event) {\n\n /*\r\n * give the posibility to override onClick\r\n */\n\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n\n /*\r\n * dont bubble the navigation\r\n */\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n\n /*\r\n * do the magic!\r\n */\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n\n this.spyHandler = function (x, y) {\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n\n if (_scrollHash2.default.isMounted() && !_scrollHash2.default.isInitialized()) {\n return;\n }\n\n var horizontal = _this2.props.horizontal;\n\n var to = _this2.props.to;\n var element = null;\n var isInside = void 0;\n var isOutside = void 0;\n\n if (horizontal) {\n var elemLeftBound = 0;\n var elemRightBound = 0;\n var containerLeft = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerLeft = containerCords.left;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n if (!element) {\n return;\n }\n\n var cords = element.getBoundingClientRect();\n elemLeftBound = cords.left - containerLeft + x;\n elemRightBound = elemLeftBound + cords.width;\n }\n\n var offsetX = x - _this2.props.offset;\n isInside = offsetX >= Math.floor(elemLeftBound) && offsetX < Math.floor(elemRightBound);\n isOutside = offsetX < Math.floor(elemLeftBound) || offsetX >= Math.floor(elemRightBound);\n } else {\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var _containerCords = scrollSpyContainer.getBoundingClientRect();\n containerTop = _containerCords.top;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n if (!element) {\n return;\n }\n\n var _cords = element.getBoundingClientRect();\n elemTopBound = _cords.top - containerTop + y;\n elemBottomBound = elemTopBound + _cords.height;\n }\n\n var offsetY = y - _this2.props.offset;\n isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n }\n\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && _scrollHash2.default.getHash() === to) {\n var _props$saveHashHistor = _this2.props.saveHashHistory,\n saveHashHistory = _props$saveHashHistor === undefined ? false : _props$saveHashHistor;\n\n _scrollHash2.default.changeHash(\"\", saveHashHistory);\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({ active: false });\n _this2.props.onSetInactive && _this2.props.onSetInactive(to, element);\n }\n }\n\n if (isInside && (activeLink !== to || _this2.state.active === false)) {\n scroller.setActiveLink(to);\n\n var _props$saveHashHistor2 = _this2.props.saveHashHistory,\n _saveHashHistory = _props$saveHashHistor2 === undefined ? false : _props$saveHashHistor2;\n\n _this2.props.hashSpy && _scrollHash2.default.changeHash(to, _saveHashHistory);\n\n if (_this2.props.spy) {\n _this2.setState({ active: true });\n _this2.props.onSetActive && _this2.props.onSetActive(to, element);\n }\n }\n };\n };\n\n ;\n\n Link.propTypes = protoTypes;\n\n Link.defaultProps = { offset: 0 };\n\n return Link;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _lodash = require('lodash.throttle');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// The eventHandler will execute at a rate of 15fps by default\nvar eventThrottler = function eventThrottler(eventHandler) {\n var throttleAmount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 66;\n return (0, _lodash2.default)(eventHandler, throttleAmount);\n};\n\nvar scrollSpy = {\n\n spyCallbacks: [],\n spySetState: [],\n scrollSpyContainers: [],\n\n mount: function mount(scrollSpyContainer, throttle) {\n if (scrollSpyContainer) {\n var eventHandler = eventThrottler(function (event) {\n scrollSpy.scrollHandler(scrollSpyContainer);\n }, throttle);\n scrollSpy.scrollSpyContainers.push(scrollSpyContainer);\n (0, _passiveEventListeners.addPassiveEventListener)(scrollSpyContainer, 'scroll', eventHandler);\n }\n },\n isMounted: function isMounted(scrollSpyContainer) {\n return scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer) !== -1;\n },\n currentPositionX: function currentPositionX(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageYOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n } else {\n return scrollSpyContainer.scrollLeft;\n }\n },\n currentPositionY: function currentPositionY(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n } else {\n return scrollSpyContainer.scrollTop;\n }\n },\n scrollHandler: function scrollHandler(scrollSpyContainer) {\n var callbacks = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)].spyCallbacks || [];\n callbacks.forEach(function (c) {\n return c(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n });\n },\n addStateHandler: function addStateHandler(handler) {\n scrollSpy.spySetState.push(handler);\n },\n addSpyHandler: function addSpyHandler(handler, scrollSpyContainer) {\n var container = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)];\n\n if (!container.spyCallbacks) {\n container.spyCallbacks = [];\n }\n\n container.spyCallbacks.push(handler);\n\n handler(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n },\n updateStates: function updateStates() {\n scrollSpy.spySetState.forEach(function (s) {\n return s();\n });\n },\n unmount: function unmount(stateHandler, spyHandler) {\n scrollSpy.scrollSpyContainers.forEach(function (c) {\n return c.spyCallbacks && c.spyCallbacks.length && c.spyCallbacks.splice(c.spyCallbacks.indexOf(spyHandler), 1);\n });\n\n if (scrollSpy.spySetState && scrollSpy.spySetState.length) {\n scrollSpy.spySetState.splice(scrollSpy.spySetState.indexOf(stateHandler), 1);\n }\n\n document.removeEventListener('scroll', scrollSpy.scrollHandler);\n },\n\n\n update: function update() {\n return scrollSpy.scrollSpyContainers.forEach(function (c) {\n return scrollSpy.scrollHandler(c);\n });\n }\n};\n\nexports.default = scrollSpy;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _animateScroll = require('./animate-scroll');\n\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\n\nvar _scrollEvents = require('./scroll-events');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar __mapped = {};\nvar __activeLink = void 0;\n\nexports.default = {\n\n unmount: function unmount() {\n __mapped = {};\n },\n\n register: function register(name, element) {\n __mapped[name] = element;\n },\n\n unregister: function unregister(name) {\n delete __mapped[name];\n },\n\n get: function get(name) {\n return __mapped[name] || document.getElementById(name) || document.getElementsByName(name)[0] || document.getElementsByClassName(name)[0];\n },\n\n setActiveLink: function setActiveLink(link) {\n return __activeLink = link;\n },\n\n getActiveLink: function getActiveLink() {\n return __activeLink;\n },\n\n scrollTo: function scrollTo(to, props) {\n\n var target = this.get(to);\n\n if (!target) {\n console.warn(\"target Element not found\");\n return;\n }\n\n props = _extends({}, props, { absolute: false });\n\n var containerId = props.containerId;\n var container = props.container;\n\n var containerElement = void 0;\n if (containerId) {\n containerElement = document.getElementById(containerId);\n } else if (container && container.nodeType) {\n containerElement = container;\n } else {\n containerElement = document;\n }\n\n props.absolute = true;\n\n var horizontal = props.horizontal;\n var scrollOffset = _utils2.default.scrollOffset(containerElement, target, horizontal) + (props.offset || 0);\n\n /*\r\n * if animate is not provided just scroll into the view\r\n */\n if (!props.smooth) {\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](to, target);\n }\n\n if (containerElement === document) {\n if (props.horizontal) {\n window.scrollTo(scrollOffset, 0);\n } else {\n window.scrollTo(0, scrollOffset);\n }\n } else {\n containerElement.scrollTop = scrollOffset;\n }\n\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](to, target);\n }\n\n return;\n }\n\n /*\r\n * Animate scrolling\r\n */\n\n _animateScroll2.default.animateTopScroll(scrollOffset, props, to, target);\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n /*\r\n * https://github.com/oblador/angular-scroll (duScrollDefaultEasing)\r\n */\n defaultEasing: function defaultEasing(x) {\n if (x < 0.5) {\n return Math.pow(x * 2, 2) / 2;\n }\n return 1 - Math.pow((1 - x) * 2, 2) / 2;\n },\n /*\r\n * https://gist.github.com/gre/1650294\r\n */\n // no easing, no acceleration\n linear: function linear(x) {\n return x;\n },\n // accelerating from zero velocity\n easeInQuad: function easeInQuad(x) {\n return x * x;\n },\n // decelerating to zero velocity\n easeOutQuad: function easeOutQuad(x) {\n return x * (2 - x);\n },\n // acceleration until halfway, then deceleration\n easeInOutQuad: function easeInOutQuad(x) {\n return x < .5 ? 2 * x * x : -1 + (4 - 2 * x) * x;\n },\n // accelerating from zero velocity \n easeInCubic: function easeInCubic(x) {\n return x * x * x;\n },\n // decelerating to zero velocity π\n easeOutCubic: function easeOutCubic(x) {\n return --x * x * x + 1;\n },\n // acceleration until halfway, then deceleration \n easeInOutCubic: function easeInOutCubic(x) {\n return x < .5 ? 4 * x * x * x : (x - 1) * (2 * x - 2) * (2 * x - 2) + 1;\n },\n // accelerating from zero velocity \n easeInQuart: function easeInQuart(x) {\n return x * x * x * x;\n },\n // decelerating to zero velocity \n easeOutQuart: function easeOutQuart(x) {\n return 1 - --x * x * x * x;\n },\n // acceleration until halfway, then deceleration\n easeInOutQuart: function easeInOutQuart(x) {\n return x < .5 ? 8 * x * x * x * x : 1 - 8 * --x * x * x * x;\n },\n // accelerating from zero velocity\n easeInQuint: function easeInQuint(x) {\n return x * x * x * x * x;\n },\n // decelerating to zero velocity\n easeOutQuint: function easeOutQuint(x) {\n return 1 + --x * x * x * x * x;\n },\n // acceleration until halfway, then deceleration \n easeInOutQuint: function easeInOutQuint(x) {\n return x < .5 ? 16 * x * x * x * x * x : 1 + 16 * --x * x * x * x * x;\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar updateHash = function updateHash(hash, historyUpdate) {\n var hashVal = hash.indexOf(\"#\") === 0 ? hash.substring(1) : hash;\n var hashToUpdate = hashVal ? \"#\" + hashVal : \"\";\n var curLoc = window && window.location;\n var urlToPush = hashToUpdate ? curLoc.pathname + curLoc.search + hashToUpdate : curLoc.pathname + curLoc.search;\n historyUpdate ? history.pushState(history.state, \"\", urlToPush) : history.replaceState(history.state, \"\", urlToPush);\n};\n\nvar getHash = function getHash() {\n return window.location.hash.replace(/^#/, \"\");\n};\n\nvar filterElementInContainer = function filterElementInContainer(container) {\n return function (element) {\n return container.contains ? container != element && container.contains(element) : !!(container.compareDocumentPosition(element) & 16);\n };\n};\n\nvar isPositioned = function isPositioned(element) {\n return getComputedStyle(element).position !== \"static\";\n};\n\nvar getElementOffsetInfoUntil = function getElementOffsetInfoUntil(element, predicate) {\n var offsetTop = element.offsetTop;\n var currentOffsetParent = element.offsetParent;\n\n while (currentOffsetParent && !predicate(currentOffsetParent)) {\n offsetTop += currentOffsetParent.offsetTop;\n currentOffsetParent = currentOffsetParent.offsetParent;\n }\n\n return { offsetTop: offsetTop, offsetParent: currentOffsetParent };\n};\n\nvar scrollOffset = function scrollOffset(c, t, horizontal) {\n if (horizontal) {\n return c === document ? t.getBoundingClientRect().left + (window.scrollX || window.pageXOffset) : getComputedStyle(c).position !== \"static\" ? t.offsetLeft : t.offsetLeft - c.offsetLeft;\n } else {\n if (c === document) {\n return t.getBoundingClientRect().top + (window.scrollY || window.pageYOffset);\n }\n\n // The offsetParent of an element, according to MDN, is its nearest positioned\n // (an element whose position is anything other than static) ancestor. The offsetTop\n // of an element is taken with respect to its offsetParent which may not neccessarily\n // be its parentElement except the parent itself is positioned.\n\n // So if containerElement is positioned, then it must be an offsetParent somewhere\n // If it happens that targetElement is a descendant of the containerElement, and there\n // is not intermediate positioned element between the two of them, i.e.\n // targetElement\"s offsetParent is the same as the containerElement, then the\n // distance between the two will be the offsetTop of the targetElement.\n // If, on the other hand, there are intermediate positioned elements between the\n // two entities, the distance between the targetElement and the containerElement\n // will be the accumulation of the offsetTop of the element and that of its\n // subsequent offsetParent until the containerElement is reached, since it\n // will also be an offsetParent at some point due to the fact that it is positioned.\n\n // If the containerElement is not positioned, then it can\"t be an offsetParent,\n // which means that the offsetTop of the targetElement would not be with respect to it.\n // However, if the two of them happen to have the same offsetParent, then\n // the distance between them will be the difference between their offsetTop\n // since they are both taken with respect to the same entity.\n // The last resort would be to accumulate their offsetTop until a common\n // offsetParent is reached (usually the document) and taking the difference\n // between the accumulated offsetTops\n\n if (isPositioned(c)) {\n if (t.offsetParent !== c) {\n var isContainerElementOrDocument = function isContainerElementOrDocument(e) {\n return e === c || e === document;\n };\n\n var _getElementOffsetInfo = getElementOffsetInfoUntil(t, isContainerElementOrDocument),\n offsetTop = _getElementOffsetInfo.offsetTop,\n offsetParent = _getElementOffsetInfo.offsetParent;\n\n if (offsetParent !== c) {\n throw new Error(\"Seems containerElement is not an ancestor of the Element\");\n }\n\n return offsetTop;\n }\n\n return t.offsetTop;\n }\n\n if (t.offsetParent === c.offsetParent) {\n return t.offsetTop - c.offsetTop;\n }\n\n var isDocument = function isDocument(e) {\n return e === document;\n };\n return getElementOffsetInfoUntil(t, isDocument).offsetTop - getElementOffsetInfoUntil(c, isDocument).offsetTop;\n }\n};\n\nexports.default = {\n updateHash: updateHash,\n getHash: getHash,\n filterElementInContainer: filterElementInContainer,\n scrollOffset: scrollOffset\n};","/**\n * @license React\n * react-jsx-runtime.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 f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\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 0 ? floor : ceil)(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = require('./_hide');\n","module.exports = {};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n","module.exports = require(\"core-js/library/fn/promise\");","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n","import _Promise from \"@babel/runtime-corejs2/core-js/promise\";\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n _Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new _Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = Object.getOwnPropertySymbols;\n","exports.f = {}.propertyIsEnumerable;\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","module.exports = require(\"core-js/library/fn/symbol\");","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","module.exports = require(\"core-js/library/fn/symbol/iterator\");","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","var _Symbol = require(\"@babel/runtime-corejs2/core-js/symbol\");\n\nvar _Symbol$iterator = require(\"@babel/runtime-corejs2/core-js/symbol/iterator\");\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof _Symbol && \"symbol\" == typeof _Symbol$iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof _Symbol && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","module.exports = require(\"core-js/library/fn/object/define-property\");","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","module.exports = require(\"core-js/library/fn/object/create\");","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n","module.exports = require(\"core-js/library/fn/object/get-prototype-of\");","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","module.exports = require(\"core-js/library/fn/object/set-prototype-of\");","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nvar _Symbol = require(\"@babel/runtime-corejs2/core-js/symbol\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\nvar _Object$create = require(\"@babel/runtime-corejs2/core-js/object/create\");\n\nvar _Object$getPrototypeOf = require(\"@babel/runtime-corejs2/core-js/object/get-prototype-of\");\n\nvar _Object$setPrototypeOf = require(\"@babel/runtime-corejs2/core-js/object/set-prototype-of\");\n\nvar _Promise = require(\"@babel/runtime-corejs2/core-js/promise\");\n\nfunction _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof _Symbol ? _Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return _Object$defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = _Object$create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = _Object$getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = _Object$create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = _Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\n\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","!function(){\"use strict\";if(\"undefined\"!=typeof window){var t=window.navigator.userAgent.match(/Edge\\/(\\d{2})\\./),e=t?parseInt(t[1],10):null,n=!!e&&(16<=e&&e<=18);if(!(\"objectFit\"in document.documentElement.style!=!1)||n){var o=function(t,e,i){var n,o,l,a,d;if((i=i.split(\" \")).length<2&&(i[1]=i[0]),\"x\"===t)n=i[0],o=i[1],l=\"left\",a=\"right\",d=e.clientWidth;else{if(\"y\"!==t)return;n=i[1],o=i[0],l=\"top\",a=\"bottom\",d=e.clientHeight}if(n!==l&&o!==l){if(n!==a&&o!==a)return\"center\"===n||\"50%\"===n?(e.style[l]=\"50%\",void(e.style[\"margin-\"+l]=d/-2+\"px\")):void(0<=n.indexOf(\"%\")?(n=parseInt(n,10))<50?(e.style[l]=n+\"%\",e.style[\"margin-\"+l]=d*(n/-100)+\"px\"):(n=100-n,e.style[a]=n+\"%\",e.style[\"margin-\"+a]=d*(n/-100)+\"px\"):e.style[l]=n);e.style[a]=\"0\"}else e.style[l]=\"0\"},l=function(t){var e=t.dataset?t.dataset.objectFit:t.getAttribute(\"data-object-fit\"),i=t.dataset?t.dataset.objectPosition:t.getAttribute(\"data-object-position\");e=e||\"cover\",i=i||\"50% 50%\";var n=t.parentNode;return function(t){var e=window.getComputedStyle(t,null),i=e.getPropertyValue(\"position\"),n=e.getPropertyValue(\"overflow\"),o=e.getPropertyValue(\"display\");i&&\"static\"!==i||(t.style.position=\"relative\"),\"hidden\"!==n&&(t.style.overflow=\"hidden\"),o&&\"inline\"!==o||(t.style.display=\"block\"),0===t.clientHeight&&(t.style.height=\"100%\"),-1===t.className.indexOf(\"object-fit-polyfill\")&&(t.className=t.className+\" object-fit-polyfill\")}(n),function(t){var e=window.getComputedStyle(t,null),i={\"max-width\":\"none\",\"max-height\":\"none\",\"min-width\":\"0px\",\"min-height\":\"0px\",top:\"auto\",right:\"auto\",bottom:\"auto\",left:\"auto\",\"margin-top\":\"0px\",\"margin-right\":\"0px\",\"margin-bottom\":\"0px\",\"margin-left\":\"0px\"};for(var n in i)e.getPropertyValue(n)!==i[n]&&(t.style[n]=i[n])}(t),t.style.position=\"absolute\",t.style.width=\"auto\",t.style.height=\"auto\",\"scale-down\"===e&&(e=t.clientWidthn.clientWidth||\"contain\"===e&&t.clientWidth 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n","module.exports = require(\"core-js/library/fn/array/from\");","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar meta = require('./_meta');\nvar fails = require('./_fails');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar setToStringTag = require('./_set-to-string-tag');\nvar dP = require('./_object-dp').f;\nvar each = require('./_array-methods')(0);\nvar DESCRIPTORS = require('./_descriptors');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME, '_c');\n target._c = new Base();\n if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);\n });\n each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {\n anInstance(this, C, KEY);\n if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;\n var result = this._c[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n });\n IS_WEAK || dP(C.prototype, 'size', {\n get: function () {\n return this._c.size;\n }\n });\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F, O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof');\nvar from = require('./_array-from-iterable');\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') });\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\nrequire('./_set-collection-of')('Set');\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar ctx = require('./_ctx');\nvar forOf = require('./_for-of');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\nrequire('./_set-collection-from')('Set');\n","module.exports = require(\"core-js/library/fn/set\");","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.set');\nrequire('../modules/es7.set.to-json');\nrequire('../modules/es7.set.of');\nrequire('../modules/es7.set.from');\nmodule.exports = require('../modules/_core').Set;\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') });\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\nrequire('./_set-collection-of')('Map');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\nrequire('./_set-collection-from')('Map');\n","import { BarcodeEncodingRange } from \"./barcodeEncodingRange\";\nimport { Quadrilateral } from \"./quadrilateral\";\n\n/**\n * A barcode result.\n */\nexport interface Barcode {\n /**\n * The symbology type.\n */\n readonly symbology: Barcode.Symbology;\n /**\n * The data encoded in the barcode interpreted as a UTF-8 string.\n * If the raw data is not a valid UTF-8 string, this field will be an empty string; information from [[rawData]]\n * and [[encodingArray]] can be used to reconstruct a string.\n */\n readonly data: string;\n /**\n * The raw data encoded in the barcode, given as an array of bytes.\n * To interpret this correctly you may have to use the information contained in [[encodingArray]].\n */\n readonly rawData: Uint8Array;\n /**\n * The location of the barcode.\n */\n readonly location: Quadrilateral;\n /**\n * Whether the barcode is part of a composite code.\n */\n readonly compositeFlag: Barcode.CompositeFlag;\n /**\n * Whether the barcode is a GS1 data carrier.\n */\n readonly isGs1DataCarrier: boolean;\n /**\n * The data encoding of the data in the barcode, given as an array of encoding ranges.\n */\n readonly encodingArray: BarcodeEncodingRange[];\n}\n\n/**\n * @hidden\n */\nexport type BarcodeWASMResult = {\n readonly symbology: Barcode.Symbology;\n readonly rawData: number[];\n readonly location: number[][];\n readonly compositeFlag: Barcode.CompositeFlag;\n readonly isGs1DataCarrier: boolean;\n readonly encodingArray: BarcodeEncodingRange[];\n readonly isRecognized: boolean;\n};\n\nexport namespace Barcode {\n // Deprecated but useful function for easy UTF-8 handling\n /**\n * @hidden\n */\n declare function escape(s: string): string;\n\n /**\n * @hidden\n *\n * Create a [[Barcode]] object from a partial object returned by the external Scandit Data Capture library.\n * The *rawData* and *data* fields are computed and stored.\n *\n * @param result The barcode result coming from the external Scandit Data Capture library.\n * @returns The generated [[Barcode]] object.\n */\n export function createFromWASMResult(result: BarcodeWASMResult): Barcode {\n let decodedData: string;\n try {\n decodedData = decodeURIComponent(escape(String.fromCharCode.apply(null, result.rawData)));\n } catch {\n decodedData = \"\";\n }\n\n return {\n symbology: result.symbology,\n data: decodedData,\n rawData: new Uint8Array(result.rawData),\n location: {\n topLeft: { x: result.location[0][0], y: result.location[0][1] },\n topRight: { x: result.location[1][0], y: result.location[1][1] },\n bottomRight: { x: result.location[2][0], y: result.location[2][1] },\n bottomLeft: { x: result.location[3][0], y: result.location[3][1] },\n },\n compositeFlag: result.compositeFlag,\n isGs1DataCarrier: result.isGs1DataCarrier,\n encodingArray: result.encodingArray,\n };\n }\n\n /**\n * Barcode symbology type.\n */\n export enum Symbology {\n AZTEC = \"aztec\",\n CODABAR = \"codabar\",\n CODE11 = \"code11\",\n CODE128 = \"code128\",\n CODE25 = \"code25\",\n CODE32 = \"code32\",\n CODE39 = \"code39\",\n CODE93 = \"code93\",\n DATA_MATRIX = \"data-matrix\",\n DOTCODE = \"dotcode\",\n EAN13 = \"ean13\",\n EAN8 = \"ean8\",\n FIVE_DIGIT_ADD_ON = \"five-digit-add-on\",\n GS1_DATABAR = \"databar\",\n GS1_DATABAR_EXPANDED = \"databar-expanded\",\n GS1_DATABAR_LIMITED = \"databar-limited\",\n IATA_2_OF_5 = \"iata2of5\",\n INTERLEAVED_2_OF_5 = \"itf\",\n KIX = \"kix\",\n LAPA4SC = \"lapa4sc\",\n MATRIX_2_OF_5 = \"matrix2of5\",\n MAXICODE = \"maxicode\",\n MICRO_PDF417 = \"micropdf417\",\n MICRO_QR = \"microqr\",\n MSI_PLESSEY = \"msi-plessey\",\n PDF417 = \"pdf417\",\n QR = \"qr\",\n RM4SCC = \"rm4scc\",\n TWO_DIGIT_ADD_ON = \"two-digit-add-on\",\n UPCA = \"upca\",\n UPCE = \"upce\",\n USPS_INTELLIGENT_MAIL = \"usps-intelligent-mail\",\n }\n\n /**\n * Flags to hint that two codes form a composite code.\n */\n export enum CompositeFlag {\n /**\n * Code is not part of a composite code.\n */\n NONE = 0x0,\n /**\n * Code could be part of a composite code. This flag is set by linear (1D) symbologies that have\n * no composite flag support but can be part of a composite code like the EAN/UPC symbology family.\n */\n UNKNOWN = 0x1,\n /**\n * Code is the linear component of a composite code. This flag can be set by GS1 DataBar or GS1-128 (Code 128).\n */\n LINKED = 0x2,\n /**\n * Code is a GS1 Composite Code Type A (CC - A).This flag can be set by MicroPDF417 codes.\n */\n GS1_A = 0x4,\n /**\n * Code is a GS1 Composite Code Type B (CC-B). This flag can be set by MicroPDF417 codes.\n */\n GS1_B = 0x8,\n /**\n * Code is a GS1 Composite Code Type C (CC-C). This flag can be set by PDF417 codes.\n */\n GS1_C = 0x10,\n }\n\n // istanbul ignore next\n export namespace Symbology {\n /**\n * @hidden\n */\n // tslint:disable:no-unnecessary-qualifier\n const humanizedSymbologyNames: Map = new Map([\n [Symbology.AZTEC, \"Aztec\"],\n [Symbology.CODABAR, \"Codabar\"],\n [Symbology.CODE11, \"Code 11\"],\n [Symbology.CODE128, \"Code 128\"],\n [Symbology.CODE25, \"Code 25\"],\n [Symbology.CODE32, \"Code 32\"],\n [Symbology.CODE39, \"Code 39\"],\n [Symbology.CODE93, \"Code 93\"],\n [Symbology.DATA_MATRIX, \"Data Matrix\"],\n [Symbology.DOTCODE, \"DotCode\"],\n [Symbology.EAN13, \"EAN-13\"],\n [Symbology.EAN8, \"EAN-8\"],\n [Symbology.FIVE_DIGIT_ADD_ON, \"Five-Digit Add-On\"],\n [Symbology.GS1_DATABAR_EXPANDED, \"GS1 DataBar Expanded\"],\n [Symbology.GS1_DATABAR_LIMITED, \"GS1 DataBar Limited\"],\n [Symbology.GS1_DATABAR, \"GS1 DataBar 14\"],\n [Symbology.IATA_2_OF_5, \"IATA 2 of 5\"],\n [Symbology.INTERLEAVED_2_OF_5, \"Interleaved 2 of 5\"],\n [Symbology.KIX, \"KIX\"],\n [Symbology.LAPA4SC, \"LAPA4SC\"],\n [Symbology.MATRIX_2_OF_5, \"Matrix 2 of 5\"],\n [Symbology.MAXICODE, \"MaxiCode\"],\n [Symbology.MICRO_PDF417, \"MicroPDF417\"],\n [Symbology.MICRO_QR, \"Micro QR\"],\n [Symbology.MSI_PLESSEY, \"MSI-Plessey\"],\n [Symbology.PDF417, \"PDF417\"],\n [Symbology.QR, \"QR\"],\n [Symbology.RM4SCC, \"RM4SCC\"],\n [Symbology.TWO_DIGIT_ADD_ON, \"Two-Digit Add-On\"],\n [Symbology.UPCA, \"UPC-A\"],\n [Symbology.UPCE, \"UPC-E\"],\n [Symbology.USPS_INTELLIGENT_MAIL, \"USPS Intelligent Mail\"],\n ]);\n\n /**\n * @hidden\n */\n const jsonSymbologyNames: Map = new Map([\n [Symbology.AZTEC, \"aztec\"],\n [Symbology.CODABAR, \"codabar\"],\n [Symbology.CODE11, \"code11\"],\n [Symbology.CODE128, \"code128\"],\n [Symbology.CODE25, \"code25\"],\n [Symbology.CODE32, \"code32\"],\n [Symbology.CODE39, \"code39\"],\n [Symbology.CODE93, \"code93\"],\n [Symbology.DATA_MATRIX, \"data-matrix\"],\n [Symbology.DOTCODE, \"dotcode\"],\n [Symbology.EAN13, \"ean13\"],\n [Symbology.EAN8, \"ean8\"],\n [Symbology.FIVE_DIGIT_ADD_ON, \"five-digit-add-on\"],\n [Symbology.GS1_DATABAR_EXPANDED, \"databar-expanded\"],\n [Symbology.GS1_DATABAR_LIMITED, \"databar-limited\"],\n [Symbology.GS1_DATABAR, \"databar\"],\n [Symbology.IATA_2_OF_5, \"iata2of5\"],\n [Symbology.INTERLEAVED_2_OF_5, \"itf\"],\n [Symbology.KIX, \"kix\"],\n [Symbology.LAPA4SC, \"lapa4sc\"],\n [Symbology.MATRIX_2_OF_5, \"matrix2of5\"],\n [Symbology.MAXICODE, \"maxicode\"],\n [Symbology.MICRO_PDF417, \"micropdf417\"],\n [Symbology.MICRO_QR, \"microqr\"],\n [Symbology.MSI_PLESSEY, \"msi-plessey\"],\n [Symbology.PDF417, \"pdf417\"],\n [Symbology.QR, \"qr\"],\n [Symbology.RM4SCC, \"rm4scc\"],\n [Symbology.TWO_DIGIT_ADD_ON, \"two-digit-add-on\"],\n [Symbology.UPCA, \"upca\"],\n [Symbology.UPCE, \"upce\"],\n [Symbology.USPS_INTELLIGENT_MAIL, \"usps-intelligent-mail\"],\n ]);\n // tslint:enable:no-unnecessary-qualifier\n\n /**\n * Get the humanized name of a symbology.\n *\n * @param symbology The symbology for which to retrieve the name.\n * @returns The humanized name of the symbology.\n */\n export function toHumanizedName(symbology: Symbology): string {\n return humanizedSymbologyNames.get(symbology.toLowerCase()) ?? \"Unknown\";\n }\n\n /**\n * Get the JSON key name of a symbology, used for JSON-formatted ScanSettings and the external Scandit Data Capture\n * library.\n *\n * @param symbology The symbology for which to retrieve the name.\n * @returns The json key name of the symbology.\n */\n export function toJSONName(symbology: Symbology): string {\n return jsonSymbologyNames.get(symbology.toLowerCase()) ?? \"unknown\";\n }\n }\n}\n","module.exports = require(\"core-js/library/fn/map\");","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nrequire('../modules/es7.map.to-json');\nrequire('../modules/es7.map.of');\nrequire('../modules/es7.map.from');\nmodule.exports = require('../modules/_core').Map;\n","/*! js-cookie v3.0.1 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport default api;\n","/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v1.0.2\n Copyright © 2012-2021 Faisal Salman \n MIT License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '1.0.2',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major',\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded',\n UA_MAX_LENGTH = 255;\n\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n OPERA = 'Opera',\n SAMSUNG = 'Samsung',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook';\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i=0; i 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n },\n windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n };\n\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n\n browser : [[\n\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i, // Baidu Browser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\n /\\bqbcore\\/([\\w\\.]+)/i // WeChat Desktop for Windows Built-in Browser\n ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /yabrowser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI '+BROWSER]], [\n /fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihu|(qi?ho?o?|360)browser/i // 360\n ], [[NAME, '360 '+BROWSER]], [\n /(oculus|samsung|sailfish)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1 '+BROWSER], VERSION], [ // Oculus/Samsung/Sailfish Browser\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/Baidu App/2345 Browser\n ], [NAME, VERSION], [\n /(metasr)[\\/ ]?([\\w\\.]+)/i, // SouGouBrowser\n /(lbbrowser)/i // LieBao Browser\n ], [NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram\n ], [NAME, VERSION], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n /version\\/([\\w\\.]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i // Links\n ], [NAME, VERSION]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n // Ordered by popularity\n /////////////////////////\n\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[pt]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\n /\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /\\((ip(?:hone|od)[\\w ]*);/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n\n // Huawei\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\n /(?:huawei|honor)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}-[atu]?[ln][01259x][012359][an]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /\\b(poco[\\w ]+)(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [\n\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n\n // Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [\n\n // Google\n /(pixel c)\\b/i // Google Pixel C\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n // Sony\n /droid.+ ([c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi)( bui|\\))/i, // Kindle Fire without Silk\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\n\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, MOBILE]], [\n\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n /\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n /\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n /\\b(tm\\d{3}\\w+) b/i\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n /\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n /\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n /\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n /(playstation [345portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /droid.+aft(\\w)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i // Sharp\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ], [[TYPE, SMARTTV]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /((pebble))app/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n /(quest( 2)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i // iCab\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows) nt 6\\.2; (arm)/i, // Windows RT\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i, // Windows Phone\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[NAME, 'Windows'], [VERSION, strMapper, windowsVersionMap]], [\n\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86)/i // Android-x86\n ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [\n\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME+'cast']], [\n /(cros) [\\w]+ ([\\w\\.]+\\w)/i // Chromium OS\n ], [[NAME, 'Chromium OS'], VERSION],[\n\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _ua = ua || ((typeof window !== UNDEF_TYPE && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY);\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser.major = majorize(_browser.version);\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n return _os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\n","/**\n * An object containing details about the support level of the used OS/browser combination regarding\n * the features needed by this library.\n */\nexport interface BrowserCompatibility {\n /**\n * Whether the full set of features required to have continuous camera video streaming are supported.\n */\n readonly fullSupport: boolean;\n /**\n * Whether the set of features required to use a [[Scanner]] to perform scans (Single Image Mode) are supported.\n */\n readonly scannerSupport: boolean;\n /**\n * The list of features that are missing.\n */\n readonly missingFeatures: BrowserCompatibility.Feature[];\n}\n\nexport namespace BrowserCompatibility {\n /**\n * Browser feature.\n */\n export enum Feature {\n /**\n * [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) -\n * [current support?](https://caniuse.com/#feat=blobbuilder)\n */\n BLOB = \"blob\",\n /**\n * [MediaDevices/getUserMedia](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia) -\n * [current support?](https://caniuse.com/#feat=stream)\n */\n MEDIA_DEVICES = \"mediaDevices\",\n /**\n * [OffscreenCanvas](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas) -\n * [current support?](https://caniuse.com/#feat=offscreencanvas)\n */\n OFFSCREEN_CANVAS = \"offscreenCanvas\",\n // tslint:disable: max-line-length\n /**\n * [Http/Https protocol](https://wiki.developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web#Scheme_or_protocol)\n */\n HTTP_PROTOCOL = \"httpProtocol\",\n /**\n * [Secure context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts)\n */\n SECURE_CONTEXT = \"secureContext\",\n /**\n * [URL/createObjectURL](https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL) -\n * [current support?](https://caniuse.com/#feat=bloburls)\n */\n URL_OBJECT = \"urlObject\",\n /**\n * [Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) -\n * [current support?](https://caniuse.com/#feat=webworkers)\n */\n WEB_WORKERS = \"webWorkers\",\n /**\n * [WebAssembly](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/WebAssembly) -\n * [current support?](https://caniuse.com/#feat=wasm)\n */\n WEB_ASSEMBLY = \"webAssembly\",\n /**\n * WebAssembly without memory corruption (specific iOS version 11.2.2/11.2.5/11.2.6 bug)\n */\n WEB_ASSEMBLY_ERROR_FREE = \"webAssemblyErrorFree\",\n /**\n * [WebGL](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API) -\n * [current support?](https://caniuse.com/#feat=webgl)\n */\n WEBGL = \"webgl\",\n }\n}\n","import Cookies from \"js-cookie\";\nimport UAParser from \"ua-parser-js\";\nexport { UAParser };\n\nimport { BrowserCompatibility } from \"./browserCompatibility\";\n\nexport namespace BrowserHelper {\n /**\n * @hidden\n */\n interface Browser {\n name?: string;\n version?: string;\n }\n\n /**\n * @hidden\n */\n interface CPU {\n architecture?: string;\n }\n\n /**\n * @hidden\n */\n interface Device {\n model?: string;\n vendor?: string;\n // tslint:disable-next-line:no-reserved-keywords\n type?: string;\n }\n\n /**\n * @hidden\n */\n interface Engine {\n name?: string;\n version?: string;\n }\n\n /**\n * @hidden\n */\n interface OS {\n name?: string;\n version?: string;\n }\n\n /**\n * @hidden\n */\n export const userAgentInfo: {\n getBrowser(): Browser;\n getOS(): OS;\n getEngine(): Engine;\n getDevice(): Device;\n getCPU(): CPU;\n getUA(): string;\n setUA(uastring: string): void;\n } = new UAParser(navigator.userAgent);\n\n /**\n * @hidden\n */\n export const canvas: HTMLCanvasElement = document.createElement(\"canvas\"); // For some reason, export is needed!\n\n /**\n * @hidden\n *\n * @returns Whether the device is a desktop/laptop for sure.\n */\n export function isDesktopDevice(): boolean {\n if (\"orientation\" in window) {\n // Only mobile browsers have this (deprecated but still available) property\n return false;\n } else {\n // Query for no \"coarse\" pointing device available (finger, touchscreen)\n const query: string = \"(any-pointer: coarse)\"; // Spaces matter!\n const mediaQueryList: MediaQueryList | undefined = window.matchMedia?.(query);\n // If the device doesn't have a touchscreen, it's a computer\n if (navigator.maxTouchPoints === 0 || (mediaQueryList?.media === query && mediaQueryList?.matches === false)) {\n return true;\n } else {\n return false;\n }\n }\n }\n\n /**\n * @returns The built [[BrowserCompatibility]] object representing the current OS/Browser's support for features.\n */\n export function checkBrowserCompatibility(): BrowserCompatibility {\n function objectHasPropertyWithType(object: object, propertyNames: string[], propertyType: string): boolean {\n // tslint:disable-next-line:no-any\n const objectProperty: any = (object)[propertyNames[0]];\n if (objectProperty == null) {\n return false;\n }\n if (propertyNames.length === 1) {\n return typeof objectProperty === propertyType;\n } else {\n return (\n (typeof objectProperty === \"function\" || typeof objectProperty === \"object\") &&\n objectHasPropertyWithType(objectProperty, propertyNames.slice(1), propertyType)\n );\n }\n }\n\n function isBrokenWebAssemblyOS(os: OS): boolean {\n return os.name === \"iOS\" && os.version != null && [\"11.2.2\", \"11.2.5\", \"11.2.6\"].includes(os.version);\n }\n\n let fullSupport: boolean = true;\n let scannerSupport: boolean = true;\n const missingFeatures: BrowserCompatibility.Feature[] = [];\n\n if (!location.protocol.startsWith(\"http\")) {\n missingFeatures.push(BrowserCompatibility.Feature.HTTP_PROTOCOL);\n fullSupport = scannerSupport = false;\n }\n\n if (objectHasPropertyWithType(window, [\"isSecureContext\"], \"boolean\") && window.isSecureContext === false) {\n missingFeatures.push(BrowserCompatibility.Feature.SECURE_CONTEXT);\n // Don't disable full support in case browser is set to allow camera video streaming access in insecure contexts\n }\n\n if (\n !objectHasPropertyWithType(navigator, [\"mediaDevices\", \"getUserMedia\"], \"function\") &&\n !objectHasPropertyWithType(navigator, [\"enumerateDevices\"], \"function\") &&\n !objectHasPropertyWithType(window, [\"MediaStreamTrack\", \"getSources\"], \"function\")\n ) {\n missingFeatures.push(BrowserCompatibility.Feature.MEDIA_DEVICES);\n fullSupport = false;\n }\n\n if (!objectHasPropertyWithType(window, [\"Worker\"], \"function\")) {\n missingFeatures.push(BrowserCompatibility.Feature.WEB_WORKERS);\n fullSupport = scannerSupport = false;\n }\n\n if (!objectHasPropertyWithType(window, [\"WebAssembly\"], \"object\")) {\n missingFeatures.push(BrowserCompatibility.Feature.WEB_ASSEMBLY);\n fullSupport = scannerSupport = false;\n }\n\n if (!objectHasPropertyWithType(window, [\"Blob\"], \"function\")) {\n missingFeatures.push(BrowserCompatibility.Feature.BLOB);\n fullSupport = scannerSupport = false;\n }\n\n if (!objectHasPropertyWithType(window, [\"URL\", \"createObjectURL\"], \"function\")) {\n missingFeatures.push(BrowserCompatibility.Feature.URL_OBJECT);\n fullSupport = scannerSupport = false;\n }\n\n if (!objectHasPropertyWithType(window, [\"OffscreenCanvas\"], \"function\")) {\n missingFeatures.push(BrowserCompatibility.Feature.OFFSCREEN_CANVAS);\n }\n\n try {\n if (\n !objectHasPropertyWithType(window, [\"WebGLRenderingContext\"], \"function\") ||\n (canvas.getContext(\"webgl\") == null && canvas.getContext(\"experimental-webgl\") == null)\n ) {\n throw new Error();\n }\n } catch {\n missingFeatures.push(BrowserCompatibility.Feature.WEBGL);\n }\n\n const userAgentOS: OS = userAgentInfo.getOS();\n if (isBrokenWebAssemblyOS(userAgentOS)) {\n missingFeatures.push(BrowserCompatibility.Feature.WEB_ASSEMBLY_ERROR_FREE);\n fullSupport = scannerSupport = false;\n }\n\n return {\n fullSupport,\n scannerSupport,\n missingFeatures,\n };\n }\n\n /**\n * @hidden\n *\n * Get a device id for the current browser.\n *\n * When available it's retrieved from localStorage, as fallback from cookies (used by older library versions),\n * when not available it's randomly generated and stored in localStorage to be retrieved by later calls and returned.\n *\n * @returns The device id for the current browser.\n */\n export function getDeviceId(): string {\n const devideIdKey: string = \"scandit-device-id\";\n let deviceId: string | undefined | null = localStorage.getItem(devideIdKey);\n if (deviceId != null && deviceId !== \"\") {\n return deviceId;\n }\n\n deviceId = Cookies.get(devideIdKey);\n if (deviceId != null && deviceId !== \"\") {\n localStorage.setItem(devideIdKey, deviceId);\n\n return deviceId;\n }\n\n const randomDeviceIdBytes: Uint8Array = new Uint8Array(20);\n crypto.getRandomValues(randomDeviceIdBytes);\n deviceId = Array.from(randomDeviceIdBytes)\n .map((byteNumber) => {\n const byteHex: string = byteNumber.toString(16);\n\n return byteHex.length === 1 ? /* istanbul ignore next */ `0${byteHex}` : byteHex;\n })\n .join(\"\");\n\n localStorage.setItem(devideIdKey, deviceId);\n\n return deviceId;\n }\n\n /**\n * @hidden\n *\n * Check if a given object is a valid HTMLElement\n *\n * @param object The object to check.\n * @returns Whether the given object is a valid HTMLElement.\n */\n // tslint:disable-next-line:no-any\n export function isValidHTMLElement(object: any): boolean {\n return (\n object instanceof HTMLElement ||\n (object != null && typeof object === \"object\" && typeof object.tagName === \"string\")\n );\n }\n}\n","import { Barcode, BarcodeWASMResult } from \"../barcode\";\nimport { Camera } from \"../camera\";\nimport { ImageSettings } from \"../imageSettings\";\nimport { Logger } from \"../logger\";\nimport { Parser } from \"../parser\";\nimport { ScanSettings } from \"../scanSettings\";\n\n// WARNING\n// ==========\n// The \"dataCapture\" function is extracted and executed in isolation as a WebWorker in the browser.\n// We currently cannot use too advanced language features here as the code will not get transformed/polyfilled correctly\n// by Rollup and Babel as it might refer to other externally defined variables/functions.\n// This means we also cannot import and use variables from the rest of the project.\n// The used language features should be compatible with (supported by) the browsers mentioned in the documentation.\n// See rollup.config.js and .browserslistrc.worker for more details.\n// TODO: This should be fixed...\n\n// tslint:disable:no-any\n\ndeclare const self: any;\ndeclare const importScripts: (...urls: string[]) => Promise | undefined; // Promise is used only during testing\ndeclare const postMessage: (message: DataCaptureSentMessageData, transfer?: Transferable[]) => void;\n// Defined here as we cannot use too recent typescript type definitions\ndeclare namespace WebAssembly {\n interface Instance {\n readonly exports: any;\n }\n\n interface WebAssemblyInstantiatedSource {\n instance: Instance;\n // tslint:disable-next-line:no-reserved-keywords\n module: {};\n }\n}\n\n// tslint:enable:no-any\n\ninterface Module extends EmscriptenModule {\n callMain(): void;\n _create_context(\n licenseKeyPointer: number,\n writableDataPathPointer: number,\n delayedRegistration: boolean,\n highEndBlurryRecognition: boolean,\n resourceFilesDataPathPointer: number,\n debug: boolean\n ): void;\n _scanner_settings_new_from_json(\n barcodeJsonSettingsPointer: number,\n textJsonSettingsPointer: number,\n barcodeCaptureEnabled: boolean,\n textCaptureEnabled: boolean,\n blurryRecognitionEnabled: boolean,\n matrixScanEnabled: boolean,\n highQualitySingleFrameMode: boolean,\n gpuEnabled: boolean\n ): number;\n _scanner_image_settings_new(width: number, height: number, channels: number): void;\n _scanner_session_clear(): void;\n _can_hide_logo(): number;\n _scanner_scan(imageDataPointer: number): number;\n _parser_parse_string(\n parserType: number,\n stringDataPointer: number,\n stringDataLength: number,\n optionsPointer: number\n ): number;\n _create_blurry_table(symbologyPointer: number): void;\n _report_camera_properties(frontFacingDirection: boolean, adjustsFocus: boolean): void;\n _set_device_name(deviceNamePointer: number): void;\n}\n\ndeclare let Module: Module;\n\ndeclare type ScanWorkUnit = {\n requestId: number;\n data: Uint8Array;\n highQualitySingleFrameMode: boolean;\n};\n\ndeclare type ParseWorkUnit = {\n requestId: number;\n dataFormat: Parser.DataFormat;\n data: string | Uint8Array;\n options: string;\n};\n\n// tslint:disable:no-reserved-keywords\n/**\n * @hidden\n */\nexport declare type DataCaptureReceivedMessageData =\n | {\n type: \"load-library\";\n deviceId: string;\n libraryLocation: string;\n path: string;\n preload: boolean;\n delayedRegistration: boolean;\n highEndBlurryRecognition: boolean;\n textRecognition: boolean;\n licenseKey?: string;\n deviceModelName?: string;\n }\n | {\n type: \"scan-settings\";\n settings: string;\n blurryRecognitionAvailable: boolean;\n blurryRecognitionRequiresUpdate: boolean;\n }\n | { type: \"image-settings\"; imageSettings: ImageSettings }\n | {\n type: \"scan-image\";\n requestId: number;\n data: Uint8Array;\n highQualitySingleFrameMode: boolean;\n }\n | { type: \"parse\"; requestId: number; dataFormat: Parser.DataFormat; data: string | Uint8Array; options: string }\n | { type: \"clear-session\" }\n | { type: \"create-blurry-table\"; symbology: Barcode.Symbology }\n | { type: \"camera-properties\"; cameraType: Camera.Type; autofocus: boolean }\n | { type: \"device-name\"; deviceName: string }\n | { type: \"reset\" };\n// tslint:enable:no-reserved-keywords\n/**\n * @hidden\n */\nexport declare type DataCaptureSentMessageData =\n // tslint:disable-next-line: no-any\n | [\"log\", { level: Exclude; data: any[] }]\n | [\"library-loaded\"]\n | [\"context-created\", object]\n | [\"work-result\", { requestId: number; result: { barcodes: BarcodeWASMResult[]; texts: string[] } }, Uint8Array]\n | [\"work-error\", { requestId: number; error: { errorCode: number; errorMessage: string } }, Uint8Array]\n | [\"parse-result\", { requestId: number; result: string }]\n | [\"parse-error\", { requestId: number; error: { errorCode: number; errorMessage: string } }]\n | [\"create-blurry-table-result\", Barcode.Symbology];\n\n/**\n * @hidden\n */\nexport interface DataCaptureWorker extends Worker {\n onmessage: ((this: Worker, ev: MessageEvent & { data: DataCaptureSentMessageData }) => void) | null;\n postMessage(message: DataCaptureReceivedMessageData, transfer: Transferable[]): void;\n postMessage(\n message: DataCaptureReceivedMessageData,\n options?: {\n // tslint:disable-next-line: no-any\n transfer?: any[];\n } // Use custom object instead of PostMessageOptions to support TypeScript < 3.5\n ): void;\n}\n\n/**\n * @hidden\n */\nexport declare type DataCapture = {\n loadLibrary(\n deviceId: string,\n libraryLocation: string,\n locationPath: string,\n preload: boolean,\n delayedRegistration: boolean,\n highEndBlurryRecognition: boolean,\n textRecognition: boolean,\n licenseKey?: string,\n deviceModelName?: string\n ): Promise;\n setScanSettings(\n newScanSettings: string,\n blurryRecognitionAvailable: boolean,\n blurryRecognitionRequiresUpdate: boolean\n ): void;\n setImageSettings(imageSettings: ImageSettings): void;\n workOnScanQueue(): void;\n workOnParseQueue(): void;\n addScanWorkUnit(scanWorkUnit: ScanWorkUnit): void;\n addParseWorkUnit(parseWorkUnit: ParseWorkUnit): void;\n clearSession(): void;\n createBlurryTable(symbology: Barcode.Symbology): void;\n setCameraProperties(cameraType: Camera.Type, autofocus: boolean): void;\n setDeviceName(deviceName: string): void;\n reset(): void;\n};\n\n/**\n * @hidden\n *\n * @returns DataCapture\n */\n// tslint:disable-next-line:max-func-body-length\nexport function dataCapture(): DataCapture {\n const writableDataPathPreload: string = \"/scandit_sync_folder_preload\";\n const writableDataPathStandard: string = \"/scandit_sync_folder\";\n const resourceFilesSubfolder: string = \"resources\";\n const scanQueue: ScanWorkUnit[] = [];\n const parseQueue: ParseWorkUnit[] = [];\n const gpuAccelerationAvailable: boolean = typeof self.OffscreenCanvas === \"function\";\n\n let originalFSSyncfs: typeof FS.syncfs | undefined;\n let imageBufferPointer: number | undefined;\n let imageBufferSize: number | undefined;\n let preloading: boolean;\n let writableDataPath: string;\n let resourceFilesDataPath: string;\n let delayedRegistration: boolean | undefined;\n let highEndBlurryRecognition: boolean;\n let licenseKey: string | undefined;\n let scanSettings: string | undefined;\n let imageSettings: ImageSettings | undefined;\n let recognitionMode: ScanSettings.RecognitionMode | undefined;\n let cameraProperties: { cameraType: Camera.Type; autofocus: boolean } | undefined;\n let deviceName: string | undefined;\n let blurryRecognitionAvailable: boolean = false;\n let workSubmitted: boolean = false;\n let loadingInProgress: boolean = false;\n let fileSystemSynced: boolean = false;\n let runtimeLoaded: boolean = false;\n let wasmReady: boolean = false;\n let scannerSettingsReady: boolean = false;\n let scannerImageSettingsReady: boolean = false;\n let contextAvailable: boolean = false;\n let fsSyncPromise: Promise = Promise.resolve();\n let fsSyncInProgress: boolean = false;\n let fsSyncScheduled: boolean = false;\n\n // Public\n\n // Promise result is used only during testing\n // tslint:disable-next-line: parameters-max-number\n function loadLibrary(\n deviceId: string,\n libraryLocation: string,\n locationPath: string,\n preload: boolean,\n newDelayedRegistration: boolean,\n newHighEndBlurryRecognition: boolean,\n textRecognition: boolean,\n newLicenseKey?: string,\n deviceModelName?: string\n ): Promise {\n function reportLoadSuccess(): void {\n postMessage([\"library-loaded\"]);\n createContext(newDelayedRegistration, newHighEndBlurryRecognition, newLicenseKey);\n }\n\n function start(): void {\n if (!wasmReady && fileSystemSynced && runtimeLoaded) {\n loadingInProgress = false;\n Module.callMain();\n wasmReady = true;\n reportLoadSuccess();\n if (!newDelayedRegistration) {\n workOnScanQueue();\n workOnParseQueue();\n }\n }\n }\n\n if (loadingInProgress) {\n return Promise.resolve();\n }\n\n if (wasmReady) {\n reportLoadSuccess();\n\n return Promise.resolve();\n }\n\n loadingInProgress = true;\n\n // Sample WebAssembly WAT SIMD Program, containing i8x16.popcnt as part of one of the latest SIMD opcodes\n // (module\n // (func (result v128)\n // i32.const 1\n // i8x16.splat\n // i8x16.popcnt\n // )\n // )\n const simdSupport: boolean = WebAssembly.validate(\n new Uint8Array([\n 0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 1, 253, 15, 253, 98, 11,\n ])\n );\n\n const { jsURI, wasmURI } = getLibraryLocationURIs(libraryLocation, textRecognition, simdSupport);\n preloading = preload;\n writableDataPath = preload ? writableDataPathPreload : writableDataPathStandard;\n resourceFilesDataPath = `${libraryLocation}${resourceFilesSubfolder}/`;\n highEndBlurryRecognition = newHighEndBlurryRecognition;\n self.window = self.document = self; // Fix some Emscripten quirks\n self.path = locationPath; // Used by the Scandit Data Capture library\n self.deviceModelName = deviceModelName; // Used by the Scandit Data Capture library\n Module = ({\n arguments: [deviceId],\n canvas: gpuAccelerationAvailable ? new self.OffscreenCanvas(32, 32) : /* istanbul ignore next */ undefined,\n instantiateWasm: (importObject: object, successCallback: (instance: WebAssembly.Instance) => void) => {\n // wasmJSVersion is globally defined inside scandit-engine-sdk.min.js\n const wasmJSVersion: string = self.wasmJSVersion ?? \"undefined\";\n // istanbul ignore if\n if (wasmJSVersion !== \"%VERSION%\") {\n log(\n \"error\",\n `The Scandit Data Capture library JS file found at ${jsURI} seems invalid: ` +\n `expected version doesn't match (received: ${wasmJSVersion}, expected: ${\"%VERSION%\"}). ` +\n `Please ensure the correct Scandit Data Capture file (with correct version) is retrieved.`\n );\n }\n\n if (typeof self.WebAssembly.instantiateStreaming === \"function\") {\n instantiateWebAssemblyStreaming(importObject, wasmURI, textRecognition, simdSupport, successCallback);\n } else {\n instantiateWebAssembly(importObject, wasmURI, textRecognition, simdSupport, successCallback);\n }\n\n return {};\n },\n noInitialRun: true,\n preRun: [\n () => {\n return setupFS()\n .catch((error) => {\n log(\"debug\", \"No IndexedDB support, some data will not be persisted:\", error);\n })\n .then(() => {\n fileSystemSynced = true;\n start();\n });\n },\n ],\n onRuntimeInitialized: () => {\n runtimeLoaded = true;\n start();\n },\n // tslint:disable-next-line: no-any\n print: (...data: any[]) => {\n log(\"info\", ...data);\n },\n // tslint:disable-next-line: no-any\n printErr: (...data: any[]) => {\n log(\"error\", ...data);\n },\n });\n\n function tryImportScripts(): Promise {\n try {\n return importScripts(jsURI) ?? Promise.resolve();\n } catch (error) {\n return Promise.reject(error);\n }\n }\n\n return retryWithExponentialBackoff(tryImportScripts, 250, 4000, (error) => {\n log(\"warn\", error);\n log(\"warn\", `Couldn't retrieve Scandit Data Capture library at ${jsURI}, retrying...`);\n }).catch((error) => {\n log(\"error\", error);\n log(\n \"error\",\n `Couldn't retrieve Scandit Data Capture library at ${jsURI}, did you configure the path for it correctly?`\n );\n\n return Promise.resolve(error); // Promise is used only during testing\n });\n }\n\n function createContext(\n // tslint:disable-next-line: bool-param-default\n newDelayedRegistration?: boolean,\n // tslint:disable-next-line: bool-param-default\n newHighEndBlurryRecognition?: boolean,\n newLicenseKey?: string\n ): void {\n function completeCreateContext(): void {\n postMessage([\n \"context-created\",\n {\n hiddenScanditLogoAllowed: Module._can_hide_logo() === 1,\n },\n ]);\n }\n\n if (contextAvailable) {\n return completeCreateContext();\n }\n\n if (newDelayedRegistration != null) {\n delayedRegistration = newDelayedRegistration;\n }\n if (newHighEndBlurryRecognition != null) {\n highEndBlurryRecognition = newHighEndBlurryRecognition;\n }\n if (newLicenseKey != null) {\n licenseKey = newLicenseKey;\n }\n if (\n !wasmReady ||\n delayedRegistration == null ||\n highEndBlurryRecognition == null ||\n (!workSubmitted && !delayedRegistration) ||\n licenseKey == null\n ) {\n return;\n }\n\n const licenseKeyLength: number = lengthBytesUTF8(licenseKey) + 1;\n const licenseKeyPointer: number = Module._malloc(licenseKeyLength);\n stringToUTF8(licenseKey, licenseKeyPointer, licenseKeyLength);\n const writableDataPathLength: number = lengthBytesUTF8(writableDataPath) + 1;\n const writableDataPathPointer: number = Module._malloc(writableDataPathLength);\n stringToUTF8(writableDataPath, writableDataPathPointer, writableDataPathLength);\n const resourceFilesDataPathLength: number = lengthBytesUTF8(resourceFilesDataPath) + 1;\n const resourceFilesDataPathPointer: number = Module._malloc(resourceFilesDataPathLength);\n stringToUTF8(resourceFilesDataPath, resourceFilesDataPathPointer, resourceFilesDataPathLength);\n Module._create_context(\n licenseKeyPointer,\n writableDataPathPointer,\n delayedRegistration,\n highEndBlurryRecognition,\n resourceFilesDataPathPointer,\n false\n );\n Module._free(licenseKeyPointer);\n Module._free(writableDataPathPointer);\n Module._free(resourceFilesDataPathPointer);\n\n contextAvailable = true;\n\n reportCameraProperties();\n reportDeviceName();\n completeCreateContext();\n }\n\n function setScanSettings(\n newScanSettings: string,\n newBlurryRecognitionAvailable: boolean,\n blurryRecognitionRequiresUpdate: boolean\n ): void {\n function completeSetScanSettings(): void {\n scanSettings = newScanSettings;\n blurryRecognitionAvailable = newBlurryRecognitionAvailable;\n applyScanSettings();\n workOnScanQueue();\n }\n\n scanSettings = undefined;\n scannerSettingsReady = false;\n\n if (newBlurryRecognitionAvailable && blurryRecognitionRequiresUpdate) {\n syncFS(true, false, true).then(completeSetScanSettings).catch(completeSetScanSettings);\n } else {\n completeSetScanSettings();\n }\n }\n\n function setImageSettings(newImageSettings: ImageSettings): void {\n imageSettings = newImageSettings;\n applyImageSettings();\n workOnScanQueue();\n }\n\n function augmentErrorInformation(error: { errorCode: number; errorMessage: string }): void {\n if (error.errorCode === 260) {\n let hostname: string;\n // istanbul ignore if\n if (location.href?.indexOf(\"blob:null/\") === 0) {\n hostname = \"localhost\";\n } else {\n hostname = new URL(\n location.pathname != null && location.pathname !== \"\" && !location.pathname.startsWith(\"/\")\n ? /* istanbul ignore next */ location.pathname\n : location.origin\n ).hostname;\n }\n // istanbul ignore next\n if (hostname[0].startsWith(\"[\") && hostname.endsWith(\"]\")) {\n hostname = hostname.slice(1, -1);\n }\n error.errorMessage = error.errorMessage.replace(\"domain name\", `domain name (${hostname})`);\n }\n\n // License Key related error codes from 6 to 25 and 260\n if (\n [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 260].includes(error.errorCode) &&\n licenseKey != null &&\n licenseKey.length > 0\n ) {\n error.errorMessage += ` License Key: ${licenseKey.slice(0, 15)}...`;\n }\n }\n\n function processScanWorkUnit(scanWorkUnit: ScanWorkUnit): void {\n if (scanWorkUnit.highQualitySingleFrameMode) {\n applyScanSettings(true);\n }\n const resultData: string = scanImage(scanWorkUnit.data);\n if (scanWorkUnit.highQualitySingleFrameMode) {\n applyScanSettings(false);\n }\n const result: {\n barcodeResult?: BarcodeWASMResult[];\n textResult?: string[];\n error?: { errorCode: number; errorMessage: string };\n } = JSON.parse(resultData);\n if (result.error != null) {\n augmentErrorInformation(result.error);\n postMessage(\n [\n \"work-error\",\n {\n requestId: scanWorkUnit.requestId,\n error: result.error,\n },\n scanWorkUnit.data,\n ],\n [scanWorkUnit.data.buffer]\n );\n } else {\n // istanbul ignore else\n if (result.barcodeResult != null && result.textResult != null) {\n postMessage(\n [\n \"work-result\",\n {\n requestId: scanWorkUnit.requestId,\n result: {\n barcodes: result.barcodeResult,\n texts: result.textResult,\n },\n },\n scanWorkUnit.data,\n ],\n [scanWorkUnit.data.buffer]\n );\n }\n }\n }\n\n function workOnScanQueue(): void {\n if (!wasmReady || scanQueue.length === 0) {\n return;\n }\n\n // Initialization for first submitted work unit\n if (!contextAvailable) {\n createContext();\n }\n if (!scannerSettingsReady) {\n applyScanSettings();\n }\n if (!scannerImageSettingsReady) {\n applyImageSettings();\n }\n\n if (!contextAvailable || !scannerSettingsReady || !scannerImageSettingsReady) {\n return;\n }\n\n while (scanQueue.length !== 0) {\n if (\n scanQueue[0].highQualitySingleFrameMode &&\n // TODO: For now it's not possible to use imported variables as the worker doesn't have access at runtime\n recognitionMode?.includes(\"code\") === true &&\n !blurryRecognitionAvailable\n ) {\n break;\n }\n processScanWorkUnit(scanQueue.shift());\n }\n }\n\n function processParseWorkUnit(parseWorkUnit: ParseWorkUnit): void {\n const resultData: string = parse(parseWorkUnit.dataFormat, parseWorkUnit.data, parseWorkUnit.options);\n const result: { result?: string; error?: { errorCode: number; errorMessage: string } } = JSON.parse(resultData);\n if (result.error != null) {\n augmentErrorInformation(result.error);\n postMessage([\n \"parse-error\",\n {\n requestId: parseWorkUnit.requestId,\n error: result.error,\n },\n ]);\n } else {\n // istanbul ignore else\n if (result.result != null) {\n postMessage([\n \"parse-result\",\n {\n requestId: parseWorkUnit.requestId,\n result: result.result,\n },\n ]);\n }\n }\n }\n\n function workOnParseQueue(): void {\n if (!wasmReady || parseQueue.length === 0) {\n return;\n }\n\n // Initialization for first submitted work unit\n if (!contextAvailable) {\n createContext();\n if (!contextAvailable) {\n return;\n }\n }\n\n while (parseQueue.length !== 0) {\n processParseWorkUnit(parseQueue.shift());\n }\n }\n\n function addScanWorkUnit(scanWorkUnit: ScanWorkUnit): void {\n workSubmitted = true;\n scanQueue.push(scanWorkUnit);\n workOnScanQueue();\n }\n\n function addParseWorkUnit(parseWorkUnit: ParseWorkUnit): void {\n workSubmitted = true;\n parseQueue.push(parseWorkUnit);\n workOnParseQueue();\n }\n\n function clearSession(): void {\n if (scannerSettingsReady) {\n Module._scanner_session_clear();\n }\n }\n\n function createBlurryTable(symbology: Barcode.Symbology): void {\n function reportResult(): void {\n postMessage([\"create-blurry-table-result\", symbology]);\n }\n\n if (!wasmReady || !contextAvailable) {\n return;\n }\n\n const symbologyLength: number = lengthBytesUTF8(symbology) + 1;\n const symbologyPointer: number = Module._malloc(symbologyLength);\n stringToUTF8(symbology, symbologyPointer, symbologyLength);\n Module._create_blurry_table(symbologyPointer);\n Module._free(symbologyPointer);\n\n // FS.syncfs is called by data capture if needed: the current promise is the one to wait for\n fsSyncPromise.then(reportResult).catch(\n // istanbul ignore next\n reportResult\n );\n }\n\n function setCameraProperties(cameraType: Camera.Type, autofocus: boolean): void {\n cameraProperties = {\n cameraType,\n autofocus,\n };\n reportCameraProperties();\n }\n\n function setDeviceName(newDeviceName: string): void {\n if (deviceName !== newDeviceName) {\n deviceName = newDeviceName;\n reportDeviceName();\n }\n }\n\n function reset(): void {\n clearSession();\n scanQueue.length = 0;\n parseQueue.length = 0;\n scanSettings = undefined;\n imageSettings = undefined;\n workSubmitted = false;\n scannerSettingsReady = false;\n scannerImageSettingsReady = false;\n }\n\n // Private\n\n // TODO: For now it's not possible to use imported variables as the worker doesn't have access at runtime\n // tslint:disable-next-line: no-any\n function log(level: \"debug\" | \"info\" | \"warn\" | \"error\", ...data: any[]): void {\n data.forEach((dataArgument, index) => {\n if (dataArgument instanceof Error) {\n const errorObject: Error = {\n name: dataArgument.name,\n message: dataArgument.message,\n stack: dataArgument.stack,\n };\n data[index] = errorObject;\n }\n });\n postMessage([\n \"log\",\n {\n level: >level,\n data,\n },\n ]);\n }\n\n function retryWithExponentialBackoff(\n handler: () => Promise,\n backoffMs: number,\n maxBackoffMs: number,\n singleTryRejectionCallback: (error: Error) => void\n ): Promise {\n return new Promise((resolve, reject) => {\n handler()\n .then(resolve)\n .catch((error) => {\n const newBackoffMs: number = backoffMs * 2;\n if (newBackoffMs > maxBackoffMs) {\n return reject(error);\n }\n singleTryRejectionCallback(error);\n setTimeout(() => {\n retryWithExponentialBackoff(handler, newBackoffMs, maxBackoffMs, singleTryRejectionCallback)\n .then(resolve)\n .catch(reject);\n }, backoffMs);\n });\n });\n }\n\n function getLibraryLocationURIs(\n libraryLocation: string,\n textRecognition: boolean,\n simdSupport: boolean\n ): { jsURI: string; wasmURI: string } {\n let cdnURI: boolean = false;\n\n if (/^https?:\\/\\/([^\\/.]*\\.)*cdn.jsdelivr.net\\//.test(libraryLocation)) {\n libraryLocation = \"https://cdn.jsdelivr.net/npm/scandit-sdk@%VERSION%/build/\";\n cdnURI = true;\n } else if (/^https?:\\/\\/([^\\/.]*\\.)*unpkg.com\\//.test(libraryLocation)) {\n libraryLocation = \"https://unpkg.com/scandit-sdk@%VERSION%/build/\";\n cdnURI = true;\n }\n\n let fileExtension: string = \"\";\n if (textRecognition) {\n fileExtension += \"-ocr\";\n if (simdSupport) {\n fileExtension += \"-simd\";\n }\n }\n\n if (cdnURI) {\n return {\n jsURI: `${libraryLocation}scandit-engine-sdk${fileExtension}.min.js`,\n wasmURI: `${libraryLocation}scandit-engine-sdk${fileExtension}.wasm`,\n };\n }\n\n return {\n jsURI: `${libraryLocation}scandit-engine-sdk${fileExtension}.min.js?v=%VERSION%`,\n wasmURI: `${libraryLocation}scandit-engine-sdk${fileExtension}.wasm?v=%VERSION%`,\n };\n }\n\n function arrayBufferToHexString(arrayBuffer: ArrayBuffer): string {\n return Array.from(new Uint8Array(arrayBuffer))\n .map((byteNumber) => {\n const byteHex: string = byteNumber.toString(16);\n\n return byteHex.length === 1 ? /* istanbul ignore next */ `0${byteHex}` : byteHex;\n })\n .join(\"\");\n }\n\n function applyScanSettings(highQualitySingleFrameMode: boolean = false): void {\n if (!wasmReady || !contextAvailable || !workSubmitted || scanSettings == null) {\n return;\n }\n\n scannerSettingsReady = false;\n\n const parsedSettings: {\n recognitionMode?: ScanSettings.RecognitionMode;\n textRecognitionSettings?: string;\n matrixScanEnabled?: boolean;\n gpuAcceleration?: boolean;\n blurryRecognition?: boolean;\n } = JSON.parse(scanSettings);\n recognitionMode = parsedSettings.recognitionMode;\n parsedSettings.textRecognitionSettings ??= JSON.stringify({});\n const scanSettingsLength: number = lengthBytesUTF8(scanSettings) + 1;\n const scanSettingsPointer: number = Module._malloc(scanSettingsLength);\n stringToUTF8(scanSettings, scanSettingsPointer, scanSettingsLength);\n const textRecognitionSettingsLength: number = lengthBytesUTF8(parsedSettings.textRecognitionSettings) + 1;\n const textRecognitionSettingsPointer: number = Module._malloc(textRecognitionSettingsLength);\n stringToUTF8(parsedSettings.textRecognitionSettings, textRecognitionSettingsPointer, textRecognitionSettingsLength);\n const resultPointer: number = Module._scanner_settings_new_from_json(\n scanSettingsPointer,\n textRecognitionSettingsPointer,\n // TODO: For now it's not possible to use imported variables as the worker doesn't have access at runtime\n recognitionMode?.includes(\"code\") === true,\n recognitionMode?.includes(\"text\") === true,\n parsedSettings.blurryRecognition === true && blurryRecognitionAvailable,\n parsedSettings.matrixScanEnabled ?? false,\n highQualitySingleFrameMode,\n parsedSettings.gpuAcceleration === true && gpuAccelerationAvailable\n );\n Module._free(scanSettingsPointer);\n\n const result: string = UTF8ToString(resultPointer);\n if (result !== \"\") {\n scannerSettingsReady = true;\n log(\"debug\", \"External Scandit Data Capture scan settings:\", JSON.parse(result));\n }\n }\n\n function applyImageSettings(): void {\n if (!wasmReady || !contextAvailable || !workSubmitted || imageSettings == null) {\n return;\n }\n\n scannerImageSettingsReady = false;\n\n let channels: number;\n // TODO: For now it's not possible to use imported variables as the worker doesn't have access at runtime\n if (imageSettings.format.valueOf() === 1) {\n // RGB_8U\n channels = 3;\n } else if (imageSettings.format.valueOf() === 2) {\n // RGBA_8U\n channels = 4;\n } else {\n // GRAY_8U\n channels = 1;\n }\n Module._scanner_image_settings_new(imageSettings.width, imageSettings.height, channels);\n if (imageBufferPointer != null) {\n Module._free(imageBufferPointer);\n }\n imageBufferSize = imageSettings.width * imageSettings.height * channels;\n imageBufferPointer = Module._malloc(imageBufferSize);\n\n scannerImageSettingsReady = true;\n }\n\n function reportCameraProperties(): void {\n if (!wasmReady || !contextAvailable || cameraProperties == null) {\n return;\n }\n // TODO: For now it's not possible to use imported variables as the worker doesn't have access at runtime\n Module._report_camera_properties(cameraProperties.cameraType === \"front\", cameraProperties.autofocus);\n }\n\n function reportDeviceName(): void {\n if (!wasmReady || !contextAvailable || deviceName == null) {\n return;\n }\n const deviceNameLength: number = lengthBytesUTF8(deviceName) + 1;\n const deviceNamePointer: number = Module._malloc(deviceNameLength);\n stringToUTF8(deviceName, deviceNamePointer, deviceNameLength);\n Module._set_device_name(deviceNamePointer);\n Module._free(deviceNamePointer);\n }\n\n function scanImage(imageData: Uint8Array): string {\n if (imageData.byteLength !== imageBufferSize) {\n // This could happen in unexpected situations and should be temporary\n return JSON.stringify({ barcodeResult: [], textResult: [] });\n }\n\n Module.HEAPU8.set(imageData, imageBufferPointer);\n\n return UTF8ToString(Module._scanner_scan(imageBufferPointer));\n }\n\n function parse(dataFormat: Parser.DataFormat, data: string | Uint8Array, options: string): string {\n const dataLength: number = typeof data === \"string\" ? lengthBytesUTF8(data) + 1 : data.byteLength;\n const dataPointer: number = Module._malloc(dataLength);\n if (typeof data === \"string\") {\n stringToUTF8(data, dataPointer, dataLength);\n } else {\n Module.HEAPU8.set(data, dataPointer);\n }\n const optionsLength: number = lengthBytesUTF8(options) + 1;\n const optionsPointer: number = Module._malloc(optionsLength);\n stringToUTF8(options, optionsPointer, optionsLength);\n const resultPointer: number = Module._parser_parse_string(\n dataFormat.valueOf(),\n dataPointer,\n dataLength - 1,\n optionsPointer\n );\n Module._free(dataPointer);\n Module._free(optionsPointer);\n\n return UTF8ToString(resultPointer);\n }\n\n function verifiedWasmFetch(\n wasmURI: string,\n textRecognition: boolean,\n simdSupport: boolean,\n awaitFullResponse: boolean\n ): Promise {\n function verifyResponseData(responseData: ArrayBuffer): void {\n // istanbul ignore else\n if (typeof crypto?.subtle?.digest === \"function\") {\n crypto.subtle\n .digest(\"SHA-256\", responseData)\n .then((hash) => {\n const hashString: string = arrayBufferToHexString(hash);\n let expectedHashString: string = \"%SDC_WASM_HASH%\";\n if (textRecognition) {\n expectedHashString = simdSupport ? \"%SDC_OCR_SIMD_WASM_HASH%\" : \"%SDC_OCR_WASM_HASH%\";\n }\n\n // istanbul ignore if\n if (hashString !== expectedHashString) {\n log(\n \"error\",\n `The Scandit Data Capture library WASM file found at ${wasmURI} seems invalid: ` +\n `expected file hash doesn't match (received: ${hashString}, ` +\n `expected: ${expectedHashString}). ` +\n `Please ensure the correct Scandit Data Capture file (with correct version) is retrieved.`\n );\n }\n })\n .catch(\n /* istanbul ignore next */ () => {\n // Ignored\n }\n );\n } else {\n log(\n \"warn\",\n \"Insecure context (see https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts): \" +\n `The hash of the Scandit Data Capture library WASM file found at ${wasmURI} could not be verified`\n );\n }\n }\n\n function tryFetch(): Promise {\n return new Promise((resolve, reject) => {\n fetch(wasmURI)\n .then((response) => {\n // istanbul ignore else\n if (response.ok) {\n response\n .clone()\n .arrayBuffer()\n .then((responseData) => {\n if (awaitFullResponse) {\n resolve(response);\n }\n verifyResponseData(responseData);\n })\n .catch(\n // istanbul ignore next\n (error) => {\n if (awaitFullResponse) {\n reject(error);\n }\n }\n );\n\n if (!awaitFullResponse) {\n resolve(response);\n }\n } else {\n reject(new Error(\"HTTP status code is not ok\"));\n }\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n return retryWithExponentialBackoff(tryFetch, 250, 4000, (error) => {\n log(\"warn\", error);\n log(\"warn\", `Couldn't retrieve Scandit Data Capture library at ${wasmURI}, retrying...`);\n }).catch((error) => {\n log(\"error\", error);\n log(\n \"error\",\n `Couldn't retrieve/instantiate Scandit Data Capture library at ${wasmURI}, ` +\n \"did you configure the path for it correctly?\"\n );\n\n return Promise.reject(error);\n });\n }\n\n function instantiateWebAssembly(\n importObject: object,\n wasmURI: string,\n textRecognition: boolean,\n simdSupport: boolean,\n successCallback: (instance: WebAssembly.Instance) => void,\n existingResponse?: Response\n ): void {\n (existingResponse != null\n ? Promise.resolve(existingResponse)\n : verifiedWasmFetch(wasmURI, textRecognition, simdSupport, true)\n )\n .then((response) => {\n return response.arrayBuffer();\n })\n .then((bytes) => {\n return self.WebAssembly.instantiate(bytes, importObject)\n .then((results: WebAssembly.WebAssemblyInstantiatedSource) => {\n successCallback(results.instance);\n })\n .catch((error: Error) => {\n log(\"error\", error);\n log(\n \"error\",\n `Couldn't instantiate Scandit Data Capture library at ${wasmURI}, ` +\n \"did you configure the path for it correctly?\"\n );\n });\n })\n .catch(\n /* istanbul ignore next */ () => {\n // Ignored\n }\n );\n }\n\n function instantiateWebAssemblyStreaming(\n importObject: object,\n wasmURI: string,\n textRecognition: boolean,\n simdSupport: boolean,\n successCallback: (instance: WebAssembly.Instance) => void\n ): void {\n verifiedWasmFetch(wasmURI, textRecognition, simdSupport, false)\n .then((response) => {\n self.WebAssembly.instantiateStreaming(response, importObject)\n .then((results: WebAssembly.WebAssemblyInstantiatedSource) => {\n successCallback(results.instance);\n })\n .catch((error: Error) => {\n log(\"warn\", error);\n log(\n \"warn\",\n \"WebAssembly streaming compile failed. \" +\n \"Falling back to ArrayBuffer instantiation (this will make things slower)\"\n );\n instantiateWebAssembly(importObject, wasmURI, textRecognition, simdSupport, successCallback, response);\n });\n })\n .catch(\n /* istanbul ignore next */ () => {\n // Ignored\n }\n );\n }\n\n function syncFSMergePreloadedData(): Promise {\n const fsObjectStoreName: string = \"FILE_DATA\";\n let resolveCallback: (value: number | PromiseLike) => void;\n let openDbSourceRequest: IDBOpenDBRequest;\n let openDbTargetRequest: IDBOpenDBRequest;\n\n function handleError(this: IDBOpenDBRequest | IDBTransaction | IDBRequest | { error: Error }): void {\n openDbSourceRequest?.result?.close();\n openDbTargetRequest?.result?.close();\n // this.error\n resolveCallback(0);\n }\n\n function performMerge(): void {\n try {\n const objects: { value: object; primaryKey: IDBValidKey }[] = [];\n const sourceTransaction: IDBTransaction = openDbSourceRequest.result.transaction(fsObjectStoreName, \"readonly\");\n sourceTransaction.onerror = handleError;\n const cursorRequest: IDBRequest = sourceTransaction\n .objectStore(fsObjectStoreName)\n .openCursor();\n cursorRequest.onsuccess = () => {\n const cursor: IDBCursorWithValue | null = cursorRequest.result;\n if (cursor == null) {\n try {\n let mergedObjectsCount: number = 0;\n const targetTransaction: IDBTransaction = openDbTargetRequest.result.transaction(\n fsObjectStoreName,\n \"readwrite\"\n );\n const targetObjectStore: IDBObjectStore = targetTransaction.objectStore(fsObjectStoreName);\n targetTransaction.onerror = handleError;\n targetTransaction.oncomplete = () => {\n openDbSourceRequest.result.close();\n openDbTargetRequest.result.close();\n\n return resolveCallback(mergedObjectsCount);\n };\n for (const object of objects) {\n const countRequest: IDBRequest = targetObjectStore.count(object.primaryKey);\n countRequest.onsuccess = () => {\n if (countRequest.result === 0) {\n ++mergedObjectsCount;\n targetObjectStore.add(object.value, object.primaryKey);\n }\n };\n }\n } catch (error) {\n // istanbul ignore next\n handleError.call({ error });\n }\n } else {\n objects.push({\n value: cursor.value,\n primaryKey: cursor.primaryKey\n .toString()\n .replace(`${writableDataPathPreload}/`, `${writableDataPathStandard}/`),\n });\n cursor.continue();\n }\n };\n cursorRequest.onerror = handleError;\n } catch (error) {\n // istanbul ignore next\n handleError.call({ error });\n }\n }\n\n return new Promise((resolve) => {\n resolveCallback = resolve;\n openDbSourceRequest = indexedDB.open(writableDataPathPreload);\n openDbSourceRequest.onupgradeneeded = () => {\n try {\n openDbSourceRequest.result.createObjectStore(fsObjectStoreName);\n } catch (error) {\n // Ignored\n }\n };\n openDbSourceRequest.onsuccess = () => {\n if (!Array.from(openDbSourceRequest.result.objectStoreNames).includes(fsObjectStoreName)) {\n return resolve(0);\n }\n\n openDbTargetRequest = indexedDB.open(writableDataPathStandard);\n openDbTargetRequest.onupgradeneeded = () => {\n try {\n openDbTargetRequest.result.createObjectStore(fsObjectStoreName);\n } catch (error) {\n // Ignored\n }\n };\n openDbTargetRequest.onsuccess = () => {\n performMerge();\n };\n openDbTargetRequest.onblocked = openDbTargetRequest.onerror = handleError;\n };\n openDbSourceRequest.onblocked = openDbSourceRequest.onerror = handleError;\n });\n }\n\n function syncFSPromisified(populate: boolean, initialPopulation: boolean): Promise {\n // istanbul ignore if\n if (originalFSSyncfs == null) {\n return Promise.resolve();\n }\n fsSyncInProgress = true;\n\n return new Promise((resolve, reject) => {\n // Merge with data coming from preloading workers if needed\n (!preloading && populate ? syncFSMergePreloadedData() : Promise.resolve(0))\n .then((mergedObjects) => {\n if (!preloading && populate && !initialPopulation && mergedObjects === 0) {\n fsSyncInProgress = false;\n\n return resolve();\n }\n // tslint:disable-next-line: no-non-null-assertion\n originalFSSyncfs!(populate, (error) => {\n fsSyncInProgress = false;\n // istanbul ignore if\n if (error != null) {\n return reject(error);\n }\n resolve();\n });\n })\n .catch(reject);\n });\n }\n\n function syncFS(\n populate: boolean,\n initialPopulation: boolean = false,\n forceScheduling: boolean = false\n ): Promise {\n if (!fsSyncScheduled || forceScheduling) {\n if (fsSyncInProgress) {\n fsSyncScheduled = true;\n fsSyncPromise = fsSyncPromise.then(() => {\n fsSyncScheduled = false;\n\n return syncFSPromisified(populate, initialPopulation);\n });\n } else {\n fsSyncPromise = syncFSPromisified(populate, initialPopulation);\n }\n }\n\n return fsSyncPromise;\n }\n\n function setupFS(): Promise {\n // FS.syncfs is also called by data capture on file storage, ensure everything is coordinated nicely\n originalFSSyncfs = FS.syncfs;\n FS.syncfs = ((populate: boolean, callback: (e: Error | void) => void) => {\n const originalCallback: typeof callback = callback;\n callback = (error) => {\n originalCallback(error);\n };\n syncFS(populate).then(callback).catch(callback);\n });\n\n try {\n FS.mkdir(writableDataPath);\n } catch (error) {\n // istanbul ignore next\n if (error.code !== \"EEXIST\") {\n originalFSSyncfs = undefined;\n\n return Promise.reject(error);\n }\n }\n FS.mount(IDBFS, {}, writableDataPath);\n\n return syncFS(true, true);\n }\n\n return {\n loadLibrary,\n setScanSettings,\n setImageSettings,\n workOnScanQueue,\n workOnParseQueue,\n addScanWorkUnit,\n addParseWorkUnit,\n clearSession,\n createBlurryTable,\n setCameraProperties,\n setDeviceName,\n reset,\n };\n}\n\n// istanbul ignore next\nfunction edataCaptureWorkerFunction(): void {\n const dataCaptureInstance: DataCapture = dataCapture();\n\n onmessage = (e) => {\n // Creating context triggers license key verification and activation: delay until first frame processed\n const data: DataCaptureReceivedMessageData = e.data;\n switch (data.type) {\n case \"load-library\":\n // tslint:disable-next-line: no-floating-promises\n dataCaptureInstance.loadLibrary(\n data.deviceId,\n data.libraryLocation,\n data.path,\n data.preload,\n data.delayedRegistration,\n data.highEndBlurryRecognition,\n data.textRecognition,\n data.licenseKey,\n data.deviceModelName\n );\n break;\n case \"scan-settings\":\n dataCaptureInstance.setScanSettings(\n data.settings,\n data.blurryRecognitionAvailable,\n data.blurryRecognitionRequiresUpdate\n );\n break;\n case \"image-settings\":\n dataCaptureInstance.setImageSettings(data.imageSettings);\n break;\n case \"scan-image\":\n dataCaptureInstance.addScanWorkUnit({\n requestId: data.requestId,\n data: data.data,\n highQualitySingleFrameMode: data.highQualitySingleFrameMode,\n });\n break;\n case \"parse\":\n dataCaptureInstance.addParseWorkUnit({\n requestId: data.requestId,\n dataFormat: data.dataFormat,\n data: data.data,\n options: data.options,\n });\n break;\n case \"clear-session\":\n dataCaptureInstance.clearSession();\n break;\n case \"create-blurry-table\":\n dataCaptureInstance.createBlurryTable(data.symbology);\n break;\n case \"camera-properties\":\n dataCaptureInstance.setCameraProperties(data.cameraType, data.autofocus);\n break;\n case \"device-name\":\n dataCaptureInstance.setDeviceName(data.deviceName);\n break;\n case \"reset\":\n dataCaptureInstance.reset();\n break;\n default:\n break;\n }\n };\n}\n\n/**\n * @hidden\n */\nexport const dataCaptureWorkerBlob: Blob = new Blob(\n [`var Module;${dataCapture.toString()}(${edataCaptureWorkerFunction.toString()})()`],\n {\n type: \"text/javascript\",\n }\n);\n","import {\n deviceId,\n highEndBlurryRecognition,\n scanditDataCaptureLocation,\n textRecognition,\n userLicenseKey,\n} from \"../index\";\nimport { BrowserHelper } from \"./browserHelper\";\nimport { DataCaptureWorker, dataCaptureWorkerBlob } from \"./workers/dataCaptureWorker\";\n\nexport class DataCaptureLoader {\n private preloadedDataCaptureWorker?: DataCaptureWorker;\n private preloadedDataCaptureWorkerAvailable: boolean;\n\n constructor(preload: boolean) {\n if (preload) {\n this.preloadedDataCaptureWorker = new Worker(URL.createObjectURL(dataCaptureWorkerBlob));\n DataCaptureLoader.load(this.preloadedDataCaptureWorker);\n }\n this.preloadedDataCaptureWorkerAvailable = preload;\n }\n\n public static load(\n dataCaptureWorker: DataCaptureWorker,\n preload: boolean = false,\n delayedRegistration: boolean = false\n ): void {\n dataCaptureWorker.postMessage({\n type: \"load-library\",\n deviceId,\n libraryLocation: scanditDataCaptureLocation,\n path: window.location.pathname,\n preload,\n delayedRegistration,\n highEndBlurryRecognition,\n textRecognition,\n licenseKey: userLicenseKey,\n deviceModelName: BrowserHelper.userAgentInfo.getDevice().model,\n });\n }\n\n public getDataCaptureWorker(): DataCaptureWorker {\n if (this.preloadedDataCaptureWorkerAvailable && this.preloadedDataCaptureWorker != null) {\n this.preloadedDataCaptureWorkerAvailable = false;\n\n return this.preloadedDataCaptureWorker;\n } else {\n return new Worker(URL.createObjectURL(dataCaptureWorkerBlob));\n }\n }\n\n public returnDataCaptureWorker(dataCaptureWorker: DataCaptureWorker): void {\n if (this.preloadedDataCaptureWorker == null) {\n this.preloadedDataCaptureWorker = dataCaptureWorker;\n }\n if (this.preloadedDataCaptureWorker === dataCaptureWorker) {\n this.preloadedDataCaptureWorker.onmessage = null;\n this.preloadedDataCaptureWorker.postMessage({\n type: \"reset\",\n });\n this.preloadedDataCaptureWorkerAvailable = true;\n } else {\n dataCaptureWorker.terminate();\n }\n }\n}\n","/* tslint:disable:no-console */\nexport namespace Logger {\n /**\n * Log level.\n */\n export enum Level {\n DEBUG = \"debug\",\n INFO = \"info\",\n WARN = \"warn\",\n ERROR = \"error\",\n QUIET = \"quiet\",\n }\n\n const levelToNumber: Map = new Map([\n [Level.DEBUG, 1],\n [Level.INFO, 2],\n [Level.WARN, 3],\n [Level.ERROR, 4],\n [Level.QUIET, 5],\n ]);\n\n let currentLevel: Level = Level.DEBUG;\n\n /**\n * @hidden\n *\n * @param level The log level.\n */\n export function setLevel(level: Level): void {\n currentLevel = level;\n }\n\n /**\n * @hidden\n *\n * @param level The log level.\n * @param data The log contents.\n */\n // tslint:disable-next-line: no-any\n export function log(level: Exclude, ...data: any[]): void {\n // tslint:disable-next-line: no-non-null-assertion\n if (levelToNumber.get(currentLevel)! > levelToNumber.get(level)!) {\n return;\n }\n switch (level) {\n case Level.DEBUG:\n console.debug(...data);\n break;\n case Level.INFO:\n console.log(...data);\n break;\n case Level.WARN:\n console.warn(...data);\n break;\n case Level.ERROR:\n console.error(...data);\n break;\n default:\n break;\n }\n }\n}\n","import { EventEmitter, ListenerFn } from \"eventemitter3\";\n\nimport { highEndBlurryRecognition } from \"..\";\nimport { Barcode } from \"./barcode\";\nimport { BrowserHelper } from \"./browserHelper\";\nimport { DataCaptureLoader } from \"./dataCaptureLoader\";\nimport { Logger } from \"./logger\";\nimport { ScanSettings } from \"./scanSettings\";\nimport { DataCaptureSentMessageData, DataCaptureWorker, dataCaptureWorkerBlob } from \"./workers/dataCaptureWorker\";\n\ntype EventName = \"blurryTablesUpdate\";\n\nclass BlurryRecognitionPreloaderEventEmitter extends EventEmitter {}\n\nexport class BlurryRecognitionPreloader {\n private static readonly writableDataPath: string = \"/scandit_sync_folder_preload\";\n private static readonly fsObjectStoreName: string = \"FILE_DATA\";\n // From AndroidLowEnd\n private static readonly defaultBlurryTableFiles: string[] = [\n \"/20919bc5228479679a264521447f9c87.scandit\", // codabar\n \"/855b1fdf70718074e40e97328ea23039.scandit\", // codabar\n \"/92038ea8367cfcdfebed31e0ad1c5c6d.scandit\", // codabar\n \"/1c02d3aa478da28ebf5756c342565017.scandit\", // code32, code39\n \"/ce00c525c9f8160b0cd12b09fa739fbf.scandit\", // code32, code39\n \"/e5e60e4cc82ecb0f1b7f7bfaabfe7a8c.scandit\", // code32, code39\n \"/3a63262b342a4f603b3626a98565e174.scandit\", // code93\n \"/e9bb1a0e5ec3ddd037a91497c09d8daa.scandit\", // code93\n \"/f6f53a0c00683f6b349f29ff76107662.scandit\", // code93\n \"/41db165d92b2369b4e7c841e29ced06a.scandit\", // code128\n \"/4571aa251af4c3d3bd63f47a0b54d30d.scandit\", // code128\n \"/94c3ff79d8c922c01f048c1deac9d89b.scandit\", // code128\n \"/7a1d15cb731e1a8fd146427bb7920922.scandit\", // ean13, ean8, upca, upce\n \"/b874f8f9aa42b909b68c8cb59db5b2aa.scandit\", // ean13, ean8, upca, upce\n \"/f867458021a0bd9b2bd2448958e98d9b.scandit\", // ean13, ean8, upca, upce\n \"/828281aceea050a47657fab7fc470b2c.scandit\", // itf\n \"/9e06fc65990c496de0da6c71376758b3.scandit\", // itf\n \"/ef939d962bc030919393e822be1ba6f7.scandit\", // itf\n \"/04c912268484e863833dcf31c8ad7898.scandit\", // msi-plessey\n \"/401b20aa6d4551f9d001c20581ece64e.scandit\", // msi-plessey\n \"/b8f73417d6947f4c4fc205329703804c.scandit\", // msi-plessey\n ].map((path) => {\n return `${BlurryRecognitionPreloader.writableDataPath}${path}`;\n });\n // From AndroidGeneric\n private static readonly highEndBlurryTableFiles: string[] = [\n \"/9acb7e350bb910f2a1309b31214f9a4e.scandit\", // codabar\n \"/b2dc1168d2bb679c233068f078944e41.scandit\", // codabar\n \"/4b93e8f2d0a529874f5737e04b9784c1.scandit\", // codabar\n \"/4e9821a5898a46445b8beed46626581f.scandit\", // codabar\n \"/260b8a8fdf8e5fbf2526e138c7c0bbb5.scandit\", // codabar\n \"/8c561caef1b9c4b852811f5c2374bb8e.scandit\", // codabar\n \"/f63809050de2702c9527eb1891b337e5.scandit\", // code32, code39\n \"/576639d5aa0b5f5d19bfe3864eab749a.scandit\", // code32, code39\n \"/e645b5549783972888fc1cf69163de27.scandit\", // code32, code39\n \"/9dd619e2ae39d75ecbc1cb9391b04aad.scandit\", // code32, code39\n \"/0fa0b08a89e9ce63edc91beab6206461.scandit\", // code32, code39\n \"/c0a273dbcef08a1e4a9cc387752b4c0e.scandit\", // code32, code39\n \"/00caaf030fbdfcec26df3f8d3a400f2e.scandit\", // code93\n \"/b53f643fcc542977ffe8ce30d1f8beb0.scandit\", // code93\n \"/825a85c14ca9e19e2bc211c8e82c1e53.scandit\", // code93\n \"/23b2c91f549629488800b671406ed399.scandit\", // code93\n \"/7c43295d738875ce8265ecf037fa1b12.scandit\", // code93\n \"/3f9b28270bc4a077fde6b547574d5780.scandit\", // code93\n \"/814cf529041339e4f6598e6b69b7c608.scandit\", // code128\n \"/ddc7990e91e2293216c98e6bb1ac024a.scandit\", // code128\n \"/75e3eaabf7987fdb433be1d1fe92032a.scandit\", // code128\n \"/497112cbe8674c21c4c8bd7f0e957b71.scandit\", // code128\n \"/94ae9b357c6061d489c10d7ac73e3139.scandit\", // code128\n \"/df4383c06c7a85a8e8c2a1d86b61e6bc.scandit\", // code128\n \"/5aee7e2ea252b3b05145493721caa9b1.scandit\", // ean13, ean8, upca, upce\n \"/aeb733f6d7a86c4115826b2c89df2720.scandit\", // ean13, ean8, upca, upce\n \"/c22f49a08f466b877208c4a31569bd9d.scandit\", // ean13, ean8, upca, upce\n \"/1524b7b4fa54aee57369c54b86bd65f4.scandit\", // ean13, ean8, upca, upce\n \"/cf3110c18bec369705b94e50aae077ab.scandit\", // ean13, ean8, upca, upce\n \"/bb7b0c63371cfa0787a90b19c3650587.scandit\", // ean13, ean8, upca, upce\n \"/6e4454c7a20910115e6653b1cd607e12.scandit\", // itf\n \"/492339332477a5c9efa2cb6701f754d3.scandit\", // itf\n \"/50919ffed0c9a78f19ff465bdfd4f2b8.scandit\", // itf\n \"/c0795f18a2ebfd0b6835be5ad787a040.scandit\", // itf\n \"/1e0a5fb89be9e843b96174b0c182727b.scandit\", // itf\n \"/14126c0d924e0128f6caca76ecdceb6d.scandit\", // itf\n \"/5f43256a6a2032966dd44c6a3eef53eb.scandit\", // msi-plessey\n \"/83bb18bb71dead54a013fe2cc85ad4f7.scandit\", // msi-plessey\n \"/6ee5a2338030d3282516040607182b26.scandit\", // msi-plessey\n \"/7a341c4ba35f02335fd3200ec02ff205.scandit\", // msi-plessey\n \"/6ebdbff2f3739b35ba8f68517451eb37.scandit\", // msi-plessey\n \"/a5ba033b43d4a2c80dab49eaa2d90162.scandit\", // msi-plessey\n ].map((path) => {\n return `${BlurryRecognitionPreloader.writableDataPath}${path}`;\n });\n // Roughly ordered by priority\n private static readonly availableBlurryRecognitionSymbologies: Set = new Set([\n Barcode.Symbology.EAN13, // Shared with EAN8, UPCA, UPCE\n Barcode.Symbology.EAN8, // Shared with EAN13, UPCA, UPCE\n Barcode.Symbology.CODE32, // Shared with CODE39\n Barcode.Symbology.CODE39, // Shared with CODE32\n Barcode.Symbology.CODE128,\n Barcode.Symbology.CODE93,\n Barcode.Symbology.INTERLEAVED_2_OF_5,\n Barcode.Symbology.MSI_PLESSEY,\n Barcode.Symbology.CODABAR,\n Barcode.Symbology.UPCA, // Shared with EAN8, EAN13, UPCE\n Barcode.Symbology.UPCE, // Shared with EAN8, EAN13, UPCA\n ]);\n\n private readonly eventEmitter: BlurryRecognitionPreloaderEventEmitter = new EventEmitter();\n private readonly preload: boolean;\n\n private queuedBlurryRecognitionSymbologies: Barcode.Symbology[] = Array.from(\n BlurryRecognitionPreloader.availableBlurryRecognitionSymbologies.values()\n );\n private readyBlurryRecognitionSymbologies: Set = new Set();\n private dataCaptureWorker: DataCaptureWorker;\n\n private constructor(preload: boolean) {\n this.preload = preload;\n }\n\n public static async create(preload: boolean): Promise {\n if (preload) {\n // Edge <= 18 doesn't support IndexedDB in blob Web Workers so data wouldn't be persisted,\n // hence it would be useless to preload barcode blurry recognition as data couldn't be saved.\n // Verify support for IndexedDB in blob Web Workers.\n const browserName: string | undefined = BrowserHelper.userAgentInfo.getBrowser().name;\n if (browserName != null && browserName.includes(\"Edge\")) {\n const worker: Worker = new Worker(\n URL.createObjectURL(\n new Blob([`(${BlurryRecognitionPreloader.workerIndexedDBSupportTestFunction.toString()})()`], {\n type: \"text/javascript\",\n })\n )\n );\n\n return new Promise((resolve) => {\n worker.onmessage = (message) => {\n worker.terminate();\n resolve(new BlurryRecognitionPreloader(message.data));\n };\n });\n }\n }\n\n return new BlurryRecognitionPreloader(preload);\n }\n\n // istanbul ignore next\n private static workerIndexedDBSupportTestFunction(): void {\n try {\n indexedDB.deleteDatabase(\"scandit_indexeddb_support_test\");\n // @ts-ignore\n postMessage(true);\n } catch (error) {\n // @ts-ignore\n postMessage(false);\n }\n }\n\n public async prepareBlurryTables(): Promise {\n let alreadyAvailable: boolean = true;\n if (this.preload) {\n try {\n alreadyAvailable = await this.checkBlurryTablesAlreadyAvailable();\n } catch (error) {\n // istanbul ignore next\n Logger.log(Logger.Level.ERROR, error);\n }\n }\n if (alreadyAvailable) {\n this.queuedBlurryRecognitionSymbologies = [];\n this.readyBlurryRecognitionSymbologies = new Set(\n BlurryRecognitionPreloader.availableBlurryRecognitionSymbologies\n );\n this.eventEmitter.emit(\"blurryTablesUpdate\", new Set(this.readyBlurryRecognitionSymbologies));\n } else {\n this.dataCaptureWorker = new Worker(URL.createObjectURL(dataCaptureWorkerBlob));\n this.dataCaptureWorker.onmessage = this.dataCaptureWorkerOnMessage.bind(this);\n DataCaptureLoader.load(this.dataCaptureWorker, true, true);\n }\n }\n\n public on(eventName: EventName, listener: ListenerFn): void {\n // istanbul ignore else\n if (eventName === \"blurryTablesUpdate\") {\n if (\n this.readyBlurryRecognitionSymbologies.size ===\n BlurryRecognitionPreloader.availableBlurryRecognitionSymbologies.size\n ) {\n listener(this.readyBlurryRecognitionSymbologies);\n } else {\n this.eventEmitter.on(eventName, listener);\n }\n }\n }\n\n public updateBlurryRecognitionPriority(scanSettings: ScanSettings): void {\n const newQueuedBlurryRecognitionSymbologies: Barcode.Symbology[] = this.queuedBlurryRecognitionSymbologies.slice();\n this.getEnabledSymbologies(scanSettings).forEach((symbology) => {\n const symbologyQueuePosition: number = newQueuedBlurryRecognitionSymbologies.indexOf(symbology);\n if (symbologyQueuePosition !== -1) {\n newQueuedBlurryRecognitionSymbologies.unshift(\n newQueuedBlurryRecognitionSymbologies.splice(symbologyQueuePosition, 1)[0]\n );\n }\n });\n this.queuedBlurryRecognitionSymbologies = newQueuedBlurryRecognitionSymbologies;\n }\n\n public isBlurryRecognitionAvailable(scanSettings: ScanSettings): boolean {\n const enabledBlurryRecognitionSymbologies: Barcode.Symbology[] = this.getEnabledSymbologies(scanSettings);\n\n return enabledBlurryRecognitionSymbologies.every((symbology) => {\n return this.readyBlurryRecognitionSymbologies.has(symbology);\n });\n }\n\n public getEnabledSymbologies(scanSettings: ScanSettings): Barcode.Symbology[] {\n return Array.from(BlurryRecognitionPreloader.availableBlurryRecognitionSymbologies.values()).filter((symbology) => {\n return scanSettings.isSymbologyEnabled(symbology);\n });\n }\n\n private createNextBlurryTableSymbology(): void {\n let symbology: Barcode.Symbology | undefined;\n do {\n symbology = this.queuedBlurryRecognitionSymbologies.shift();\n } while (symbology != null && this.readyBlurryRecognitionSymbologies.has(symbology));\n // istanbul ignore else\n if (symbology != null) {\n this.dataCaptureWorker.postMessage({\n type: \"create-blurry-table\",\n symbology,\n });\n }\n }\n\n private checkBlurryTablesAlreadyAvailable(): Promise {\n return new Promise((resolve) => {\n const openDbRequest: IDBOpenDBRequest = indexedDB.open(BlurryRecognitionPreloader.writableDataPath);\n function handleErrorOrNew(this: IDBOpenDBRequest | IDBTransaction | IDBRequest | { error: Error }): void {\n openDbRequest?.result?.close();\n // this.error\n resolve(false);\n }\n\n openDbRequest.onupgradeneeded = () => {\n try {\n openDbRequest.result.createObjectStore(BlurryRecognitionPreloader.fsObjectStoreName);\n } catch (error) {\n // Ignored\n }\n };\n openDbRequest.onsuccess = () => {\n try {\n const transaction: IDBTransaction = openDbRequest.result.transaction(\n BlurryRecognitionPreloader.fsObjectStoreName,\n \"readonly\"\n );\n transaction.onerror = handleErrorOrNew;\n const storeKeysRequest: IDBRequest = transaction\n .objectStore(BlurryRecognitionPreloader.fsObjectStoreName)\n .getAllKeys();\n storeKeysRequest.onsuccess = () => {\n openDbRequest.result.close();\n if (\n (highEndBlurryRecognition\n ? BlurryRecognitionPreloader.highEndBlurryTableFiles\n : BlurryRecognitionPreloader.defaultBlurryTableFiles\n ).every((file) => {\n return storeKeysRequest.result.indexOf(file) !== -1;\n })\n ) {\n return resolve(true);\n } else {\n return resolve(false);\n }\n };\n storeKeysRequest.onerror = handleErrorOrNew;\n } catch (error) {\n handleErrorOrNew.call({ error });\n }\n };\n openDbRequest.onblocked = openDbRequest.onerror = handleErrorOrNew;\n });\n }\n\n private dataCaptureWorkerOnMessage(ev: MessageEvent): void {\n const data: DataCaptureSentMessageData = ev.data;\n\n // istanbul ignore else\n if (data[1] != null) {\n switch (data[0]) {\n case \"context-created\":\n this.createNextBlurryTableSymbology();\n break;\n case \"create-blurry-table-result\":\n this.readyBlurryRecognitionSymbologies.add(data[1]);\n if (\n [Barcode.Symbology.EAN8, Barcode.Symbology.EAN13, Barcode.Symbology.UPCA, Barcode.Symbology.UPCE].includes(\n data[1]\n )\n ) {\n this.readyBlurryRecognitionSymbologies.add(Barcode.Symbology.EAN13);\n this.readyBlurryRecognitionSymbologies.add(Barcode.Symbology.EAN8);\n this.readyBlurryRecognitionSymbologies.add(Barcode.Symbology.UPCA);\n this.readyBlurryRecognitionSymbologies.add(Barcode.Symbology.UPCE);\n } else if ([Barcode.Symbology.CODE32, Barcode.Symbology.CODE39].includes(data[1])) {\n this.readyBlurryRecognitionSymbologies.add(Barcode.Symbology.CODE32);\n this.readyBlurryRecognitionSymbologies.add(Barcode.Symbology.CODE39);\n }\n this.eventEmitter.emit(\"blurryTablesUpdate\", new Set(this.readyBlurryRecognitionSymbologies));\n if (\n this.readyBlurryRecognitionSymbologies.size ===\n BlurryRecognitionPreloader.availableBlurryRecognitionSymbologies.size\n ) {\n // Avoid data not being persisted if IndexedDB operations in WebWorker are slow\n setTimeout(() => {\n this.dataCaptureWorker.terminate();\n }, 250);\n } else {\n this.createNextBlurryTableSymbology();\n }\n break;\n // istanbul ignore next\n default:\n break;\n }\n }\n }\n}\n","import _Reflect$construct from \"@babel/runtime-corejs2/core-js/reflect/construct\";\nexport default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !_Reflect$construct) return false;\n if (_Reflect$construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import _Reflect$construct from \"@babel/runtime-corejs2/core-js/reflect/construct\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = _Reflect$construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import _Map from \"@babel/runtime-corejs2/core-js/map\";\nimport _Object$create from \"@babel/runtime-corejs2/core-js/object/create\";\nimport getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof _Map === \"function\" ? new _Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = _Object$create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","/**\n * @hidden\n */\nexport class CustomError extends Error {\n // istanbul ignore next\n constructor({\n name = \"\",\n message = \"\",\n }: {\n name?: string;\n message?: string;\n } = {}) {\n super(message);\n Object.setPrototypeOf(this, CustomError.prototype);\n this.name = name;\n }\n}\n","/**\n * A camera for video input available to be used on the device.\n */\nexport interface Camera {\n /**\n * The unique identifier for the device, can change between page loads.\n */\n readonly deviceId: string;\n /**\n * The label describing the device.\n */\n readonly label: string;\n /**\n * The type (facing mode/direction) of camera: back (environment) or front (user).\n *\n * Not guaranteed to be correct: depending on device, browser and camera it could not correspond to the camera's real\n * type.\n */\n readonly cameraType: Camera.Type;\n /**\n * The current video resolution if and when the camera is in use, given as width and height in pixels.\n */\n currentResolution?: { width: number; height: number };\n}\n\nexport namespace Camera {\n /**\n * Camera type (facing mode/direction).\n *\n * Not guaranteed to be correct: depending on device, browser and camera it could not correspond to the camera's real\n * type.\n */\n export enum Type {\n /**\n * Front (user) facing camera.\n */\n FRONT = \"front\",\n /**\n * Back (environment) facing camera.\n */\n BACK = \"back\",\n }\n}\n","import { BrowserCompatibility } from \"./browserCompatibility\";\nimport { CustomError } from \"./customError\";\n\nexport class UnsupportedBrowserError extends CustomError {\n public readonly data?: BrowserCompatibility;\n\n // istanbul ignore next\n constructor(browserCompatibility: BrowserCompatibility) {\n super({\n name: \"UnsupportedBrowserError\",\n message: `This OS / browser has one or more missing features preventing it from working correctly (${browserCompatibility.missingFeatures.join(\n \", \"\n )})`,\n });\n this.data = browserCompatibility;\n }\n}\n","/*! howler.js v2.2.3 | (c) 2013-2020, James Simpson of GoldFire Studios | MIT License | howlerjs.com */\n!function(){\"use strict\";var e=function(){this.init()};e.prototype={init:function(){var e=this||n;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent=\"canplaythrough\",e._navigator=\"undefined\"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var o=this||n;if(e=parseFloat(e),o.ctx||_(),void 0!==e&&e>=0&&e<=1){if(o._volume=e,o._muted)return o;o.usingWebAudio&&o.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var t=0;t=0;o--)e._howls[o].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,_()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,\"\")]},_setup:function(){var e=this||n;if(e.state=e.ctx?e.ctx.state||\"suspended\":\"suspended\",e._autoSuspend(),!e.usingWebAudio)if(\"undefined\"!=typeof Audio)try{var o=new Audio;void 0===o.oncanplaythrough&&(e._canPlayEvent=\"canplay\")}catch(n){e.noAudio=!0}else e.noAudio=!0;try{var o=new Audio;o.muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||n,o=null;try{o=\"undefined\"!=typeof Audio?new Audio:null}catch(n){return e}if(!o||\"function\"!=typeof o.canPlayType)return e;var t=o.canPlayType(\"audio/mpeg;\").replace(/^no$/,\"\"),r=e._navigator?e._navigator.userAgent:\"\",a=r.match(/OPR\\/([0-6].)/g),u=a&&parseInt(a[0].split(\"/\")[1],10)<33,d=-1!==r.indexOf(\"Safari\")&&-1===r.indexOf(\"Chrome\"),i=r.match(/Version\\/(.*?) /),_=d&&i&&parseInt(i[1],10)<15;return e._codecs={mp3:!(u||!t&&!o.canPlayType(\"audio/mp3;\").replace(/^no$/,\"\")),mpeg:!!t,opus:!!o.canPlayType('audio/ogg; codecs=\"opus\"').replace(/^no$/,\"\"),ogg:!!o.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/,\"\"),oga:!!o.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/,\"\"),wav:!!(o.canPlayType('audio/wav; codecs=\"1\"')||o.canPlayType(\"audio/wav\")).replace(/^no$/,\"\"),aac:!!o.canPlayType(\"audio/aac;\").replace(/^no$/,\"\"),caf:!!o.canPlayType(\"audio/x-caf;\").replace(/^no$/,\"\"),m4a:!!(o.canPlayType(\"audio/x-m4a;\")||o.canPlayType(\"audio/m4a;\")||o.canPlayType(\"audio/aac;\")).replace(/^no$/,\"\"),m4b:!!(o.canPlayType(\"audio/x-m4b;\")||o.canPlayType(\"audio/m4b;\")||o.canPlayType(\"audio/aac;\")).replace(/^no$/,\"\"),mp4:!!(o.canPlayType(\"audio/x-mp4;\")||o.canPlayType(\"audio/mp4;\")||o.canPlayType(\"audio/aac;\")).replace(/^no$/,\"\"),weba:!(_||!o.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/,\"\")),webm:!(_||!o.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/,\"\")),dolby:!!o.canPlayType('audio/mp4; codecs=\"ec-3\"').replace(/^no$/,\"\"),flac:!!(o.canPlayType(\"audio/x-flac;\")||o.canPlayType(\"audio/flac;\")).replace(/^no$/,\"\")},e},_unlockAudio:function(){var e=this||n;if(!e._audioUnlocked&&e.ctx){e._audioUnlocked=!1,e.autoUnlock=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var o=function(n){for(;e._html5AudioPool.length0?d._seek:t._sprite[e][0]/1e3),s=Math.max(0,(t._sprite[e][0]+t._sprite[e][1])/1e3-_),l=1e3*s/Math.abs(d._rate),c=t._sprite[e][0]/1e3,f=(t._sprite[e][0]+t._sprite[e][1])/1e3;d._sprite=e,d._ended=!1;var p=function(){d._paused=!1,d._seek=_,d._start=c,d._stop=f,d._loop=!(!d._loop&&!t._sprite[e][2])};if(_>=f)return void t._ended(d);var m=d._node;if(t._webAudio){var v=function(){t._playLock=!1,p(),t._refreshBuffer(d);var e=d._muted||t._muted?0:d._volume;m.gain.setValueAtTime(e,n.ctx.currentTime),d._playStart=n.ctx.currentTime,void 0===m.bufferSource.start?d._loop?m.bufferSource.noteGrainOn(0,_,86400):m.bufferSource.noteGrainOn(0,_,s):d._loop?m.bufferSource.start(0,_,86400):m.bufferSource.start(0,_,s),l!==1/0&&(t._endTimers[d._id]=setTimeout(t._ended.bind(t,d),l)),o||setTimeout(function(){t._emit(\"play\",d._id),t._loadQueue()},0)};\"running\"===n.state&&\"interrupted\"!==n.ctx.state?v():(t._playLock=!0,t.once(\"resume\",v),t._clearTimer(d._id))}else{var h=function(){m.currentTime=_,m.muted=d._muted||t._muted||n._muted||m.muted,m.volume=d._volume*n.volume(),m.playbackRate=d._rate;try{var r=m.play();if(r&&\"undefined\"!=typeof Promise&&(r instanceof Promise||\"function\"==typeof r.then)?(t._playLock=!0,p(),r.then(function(){t._playLock=!1,m._unlocked=!0,o?t._loadQueue():t._emit(\"play\",d._id)}).catch(function(){t._playLock=!1,t._emit(\"playerror\",d._id,\"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.\"),d._ended=!0,d._paused=!0})):o||(t._playLock=!1,p(),t._emit(\"play\",d._id)),m.playbackRate=d._rate,m.paused)return void t._emit(\"playerror\",d._id,\"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.\");\"__default\"!==e||d._loop?t._endTimers[d._id]=setTimeout(t._ended.bind(t,d),l):(t._endTimers[d._id]=function(){t._ended(d),m.removeEventListener(\"ended\",t._endTimers[d._id],!1)},m.addEventListener(\"ended\",t._endTimers[d._id],!1))}catch(e){t._emit(\"playerror\",d._id,e)}};\"data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA\"===m.src&&(m.src=t._src,m.load());var y=window&&window.ejecta||!m.readyState&&n._navigator.isCocoonJS;if(m.readyState>=3||y)h();else{t._playLock=!0,t._state=\"loading\";var g=function(){t._state=\"loaded\",h(),m.removeEventListener(n._canPlayEvent,g,!1)};m.addEventListener(n._canPlayEvent,g,!1),t._clearTimer(d._id)}}return d._id},pause:function(e){var n=this;if(\"loaded\"!==n._state||n._playLock)return n._queue.push({event:\"pause\",action:function(){n.pause(e)}}),n;for(var o=n._getSoundIds(e),t=0;t=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else r.length>=2&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var a;if(!(void 0!==e&&e>=0&&e<=1))return a=o?t._soundById(o):t._sounds[0],a?a._volume:0;if(\"loaded\"!==t._state||t._playLock)return t._queue.push({event:\"volume\",action:function(){t.volume.apply(t,r)}}),t;void 0===o&&(t._volume=e),o=t._getSoundIds(o);for(var u=0;u0?t/_:t),l=Date.now();e._fadeTo=o,e._interval=setInterval(function(){var r=(Date.now()-l)/t;l=Date.now(),d+=i*r,d=Math.round(100*d)/100,d=i<0?Math.max(o,d):Math.min(o,d),u._webAudio?e._volume=d:u.volume(d,e._id,!0),a&&(u._volume=d),(on&&d>=o)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,u.volume(o,e._id),u._emit(\"fade\",e._id))},s)},_stopFade:function(e){var o=this,t=o._soundById(e);return t&&t._interval&&(o._webAudio&&t._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(t._interval),t._interval=null,o.volume(t._fadeTo,e),t._fadeTo=null,o._emit(\"fade\",e)),o},loop:function(){var e,n,o,t=this,r=arguments;if(0===r.length)return t._loop;if(1===r.length){if(\"boolean\"!=typeof r[0])return!!(o=t._soundById(parseInt(r[0],10)))&&o._loop;e=r[0],t._loop=e}else 2===r.length&&(e=r[0],n=parseInt(r[1],10));for(var a=t._getSoundIds(n),u=0;u=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var d;if(\"number\"!=typeof e)return d=t._soundById(o),d?d._rate:t._rate;if(\"loaded\"!==t._state||t._playLock)return t._queue.push({event:\"rate\",action:function(){t.rate.apply(t,r)}}),t;void 0===o&&(t._rate=e),o=t._getSoundIds(o);for(var i=0;i=0?o=parseInt(r[0],10):t._sounds.length&&(o=t._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));if(void 0===o)return 0;if(\"number\"==typeof e&&(\"loaded\"!==t._state||t._playLock))return t._queue.push({event:\"seek\",action:function(){t.seek.apply(t,r)}}),t;var d=t._soundById(o);if(d){if(!(\"number\"==typeof e&&e>=0)){if(t._webAudio){var i=t.playing(o)?n.ctx.currentTime-d._playStart:0,_=d._rateSeek?d._rateSeek-d._seek:0;return d._seek+(_+i*Math.abs(d._rate))}return d._node.currentTime}var s=t.playing(o);s&&t.pause(o,!0),d._seek=e,d._ended=!1,t._clearTimer(o),t._webAudio||!d._node||isNaN(d._node.duration)||(d._node.currentTime=e);var l=function(){s&&t.play(o,!0),t._emit(\"seek\",o)};if(s&&!t._webAudio){var c=function(){t._playLock?setTimeout(c,0):l()};setTimeout(c,0)}else l()}return t},playing:function(e){var n=this;if(\"number\"==typeof e){var o=n._soundById(e);return!!o&&!o._paused}for(var t=0;t=0&&n._howls.splice(a,1);var u=!0;for(t=0;t=0){u=!1;break}return r&&u&&delete r[e._src],n.noAudio=!1,e._state=\"unloaded\",e._sounds=[],e=null,null},on:function(e,n,o,t){var r=this,a=r[\"_on\"+e];return\"function\"==typeof n&&a.push(t?{id:o,fn:n,once:t}:{id:o,fn:n}),r},off:function(e,n,o){var t=this,r=t[\"_on\"+e],a=0;if(\"number\"==typeof n&&(o=n,n=null),n||o)for(a=0;a=0;a--)r[a].id&&r[a].id!==n&&\"load\"!==e||(setTimeout(function(e){e.call(this,n,o)}.bind(t,r[a].fn),0),r[a].once&&t.off(e,r[a].fn,r[a].id));return t._loadQueue(e),t},_loadQueue:function(e){var n=this;if(n._queue.length>0){var o=n._queue[0];o.event===e&&(n._queue.shift(),n._loadQueue()),e||o.action()}return n},_ended:function(e){var o=this,t=e._sprite;if(!o._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime=0;t--){if(o<=n)return;e._sounds[t]._ended&&(e._webAudio&&e._sounds[t]._node&&e._sounds[t]._node.disconnect(0),e._sounds.splice(t,1),o--)}}},_getSoundIds:function(e){var n=this;if(void 0===e){for(var o=[],t=0;t=0;if(n._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),t))try{e.bufferSource.buffer=n._scratchBuffer}catch(e){}return e.bufferSource=null,o},_clearSound:function(e){/MSIE |Trident\\//.test(n._navigator&&n._navigator.userAgent)||(e.src=\"data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA\")}};var t=function(e){this._parent=e,this.init()};t.prototype={init:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite=\"__default\",e._id=++n._counter,o._sounds.push(e),e.create(),e},create:function(){var e=this,o=e._parent,t=n._muted||e._muted||e._parent._muted?0:e._volume;return o._webAudio?(e._node=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),e._node.gain.setValueAtTime(t,n.ctx.currentTime),e._node.paused=!0,e._node.connect(n.masterGain)):n.noAudio||(e._node=n._obtainHtml5Audio(),e._errorFn=e._errorListener.bind(e),e._node.addEventListener(\"error\",e._errorFn,!1),e._loadFn=e._loadListener.bind(e),e._node.addEventListener(n._canPlayEvent,e._loadFn,!1),e._endFn=e._endListener.bind(e),e._node.addEventListener(\"ended\",e._endFn,!1),e._node.src=o._src,e._node.preload=!0===o._preload?\"auto\":o._preload,e._node.volume=t*n.volume(),e._node.load()),e},reset:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite=\"__default\",e._id=++n._counter,e},_errorListener:function(){var e=this;e._parent._emit(\"loaderror\",e._id,e._node.error?e._node.error.code:0),e._node.removeEventListener(\"error\",e._errorFn,!1)},_loadListener:function(){var e=this,o=e._parent;o._duration=Math.ceil(10*e._node.duration)/10,0===Object.keys(o._sprite).length&&(o._sprite={__default:[0,1e3*o._duration]}),\"loaded\"!==o._state&&(o._state=\"loaded\",o._emit(\"load\"),o._loadQueue()),e._node.removeEventListener(n._canPlayEvent,e._loadFn,!1)},_endListener:function(){var e=this,n=e._parent;n._duration===1/0&&(n._duration=Math.ceil(10*e._node.duration)/10,n._sprite.__default[1]===1/0&&(n._sprite.__default[1]=1e3*n._duration),n._ended(e)),e._node.removeEventListener(\"ended\",e._endFn,!1)}};var r={},a=function(e){var n=e._src;if(r[n])return e._duration=r[n].duration,void i(e);if(/^data:[^;]+;base64,/.test(n)){for(var o=atob(n.split(\",\")[1]),t=new Uint8Array(o.length),a=0;a0?(r[o._src]=e,i(o,e)):t()};\"undefined\"!=typeof Promise&&1===n.ctx.decodeAudioData.length?n.ctx.decodeAudioData(e).then(a).catch(t):n.ctx.decodeAudioData(e,a,t)},i=function(e,n){n&&!e._duration&&(e._duration=n.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),\"loaded\"!==e._state&&(e._state=\"loaded\",e._emit(\"load\"),e._loadQueue())},_=function(){if(n.usingWebAudio){try{\"undefined\"!=typeof AudioContext?n.ctx=new AudioContext:\"undefined\"!=typeof webkitAudioContext?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch(e){n.usingWebAudio=!1}n.ctx||(n.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),o=n._navigator&&n._navigator.appVersion.match(/OS (\\d+)_(\\d+)_?(\\d+)?/),t=o?parseInt(o[1],10):null;if(e&&t&&t<9){var r=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());n._navigator&&!r&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:n._volume,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()}};\"function\"==typeof define&&define.amd&&define([],function(){return{Howler:n,Howl:o}}),\"undefined\"!=typeof exports&&(exports.Howler=n,exports.Howl=o),\"undefined\"!=typeof global?(global.HowlerGlobal=e,global.Howler=n,global.Howl=o,global.Sound=t):\"undefined\"!=typeof window&&(window.HowlerGlobal=e,window.Howler=n,window.Howl=o,window.Sound=t)}();","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","require('../../modules/es6.array.is-array');\nmodule.exports = require('../../modules/_core').Array.isArray;\n","module.exports = require(\"core-js/library/fn/array/is-array\");","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import _Array$isArray from \"@babel/runtime-corejs2/core-js/array/is-array\";\nimport arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (_Array$isArray(arr)) return arrayLikeToArray(arr);\n}","import _Symbol from \"@babel/runtime-corejs2/core-js/symbol\";\nimport _Symbol$iterator from \"@babel/runtime-corejs2/core-js/symbol/iterator\";\nimport _Array$from from \"@babel/runtime-corejs2/core-js/array/from\";\nexport default function _iterableToArray(iter) {\n if (typeof _Symbol !== \"undefined\" && iter[_Symbol$iterator] != null || iter[\"@@iterator\"] != null) return _Array$from(iter);\n}","import _Array$from from \"@babel/runtime-corejs2/core-js/array/from\";\nimport arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n 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}","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n","/**\n * A configuration object to define the properties of an image to be scanned.\n */\nexport interface ImageSettings {\n /**\n * The width of the image (columns of pixels).\n */\n readonly width: number;\n /**\n * The height of the image (rows of pixels).\n */\n readonly height: number;\n /**\n * The format of the pixel data, meaning the mapping of array bytes to image pixels.\n */\n readonly format: ImageSettings.Format;\n}\n\nexport namespace ImageSettings {\n // Warning: the values of Format are important as the data capture web worker relies on them without type checking.\n /**\n * Image bytes format/layout.\n */\n export enum Format {\n /**\n * Single-channel 8-bit gray scale image.\n */\n GRAY_8U = 0,\n /**\n * RGB image with 8 bits per color channel.\n */\n RGB_8U = 1,\n /**\n * RGBA image with 8 bits per color channel.\n */\n RGBA_8U = 2,\n }\n}\n","import { ParserResult } from \"./parserResult\";\nimport { Scanner } from \"./scanner\";\n\n// Deprecated but useful function for easy UTF-8 handling\n/**\n * @hidden\n */\ndeclare function escape(s: string): string;\n\n/**\n * A data string parser.\n *\n * Parsers are capable of parsing one particular data format, which is passed to them during construction.\n *\n * The parser is created through [[BarcodePicker.createParserForFormat]] or [[Scanner.createParserForFormat]].\n *\n * Note that you need to have a valid license key with the parsing feature enabled to use the parser functionalities.\n *\n * For documentation on the available formats, check the official parser library documentation here:\n * https://docs.scandit.com/parser/formats.html.\n */\nexport class Parser {\n private options?: object;\n\n /**\n * @hidden\n *\n * @param scanner The [[Scanner]] object used to interact with the external Scandit library.\n * @param dataFormat The data format for this parser.\n */\n constructor(private readonly scanner: Scanner, private readonly dataFormat: Parser.DataFormat) {}\n\n /**\n * Apply the option map to the parser, allowing the user to fine-tune the behaviour of the parser.\n * Available options depend on the data format and are specified in the respective documentation.\n *\n * @param options The new options to be applied (replacing previous ones, if any).\n */\n public setOptions(options?: object): void {\n this.options = options;\n }\n\n /**\n * Process the given raw (byte array) data with the parser, retrieving the result as a [[ParserResult]] object.\n *\n * Multiple requests done without waiting for previous results will be queued and handled in order.\n *\n * If parsing of the data fails the returned promise is rejected with a `ScanditEngineError` error.\n *\n * @param rawData The raw (byte array) data to be parsed.\n * @returns A promise resolving to the [[ParserResult]] object.\n */\n public parseRawData(rawData: Uint8Array): Promise {\n return this.scanner.parse(this.dataFormat, rawData, this.options);\n }\n\n /**\n * Process the given string data with the parser, retrieving the result as a [[ParserResult]] object.\n *\n * Multiple requests done without waiting for previous results will be queued and handled in order.\n *\n * If parsing of the data fails the returned promise is rejected with a `ScanditEngineError` error.\n *\n * Note that you should use [[parseRawData]] whenever possible: some codes, such as those found on driving licenses,\n * might have non-printable characters and will need to use [[Barcode.rawData]] information to be parsed correctly.\n *\n * @param data The string data to be parsed.\n * @returns A promise resolving to the [[ParserResult]] object.\n */\n public parseString(data: string): Promise {\n return this.scanner.parse(this.dataFormat, data, this.options);\n }\n}\n\n// istanbul ignore next\nexport namespace Parser {\n /**\n * Data format of a string to be parsed into a set of key-value mappings by the Scandit Parser Library.\n *\n * See https://docs.scandit.com/parser/formats.html for more details.\n */\n export enum DataFormat {\n /**\n * GS1 Application Identifier (AI).\n *\n * See: http://www.gs1.org/docs/barcodes/GS1_General_Specifications.pdf.\n */\n GS1_AI = 1,\n /**\n * Health Industry Bar Code (HIBC).\n *\n * See: http://www.hibcc.org.\n */\n HIBC = 2,\n /**\n * AAMVA Driver License/Identification (DL/ID).\n *\n * See: http://www.aamva.org.\n */\n DLID = 3,\n /**\n * ICAO Machine Readable Travel Document (MRTD).\n *\n * See: https://www.icao.int.\n */\n MRTD = 4,\n /**\n * Swiss QR ISO 20022.\n *\n * See: https://www.paymentstandards.ch.\n */\n SWISSQR = 5,\n /**\n * Vehicle Identification Number (VIN).\n *\n * See: https://www.iso.org/standard/52200.html.\n */\n VIN = 6,\n /**\n * US Uniformed Services ID.\n *\n * See: https://www.cac.mil.\n */\n US_USID = 7,\n }\n}\n","module.exports = require(\"core-js/library/fn/json/stringify\");","import { Quadrilateral } from \"./quadrilateral\";\n\n/**\n * A text result.\n */\nexport interface RecognizedText {\n /**\n * The location of the text.\n */\n readonly location: Quadrilateral;\n /**\n * The value of the text.\n */\n readonly value: string;\n}\n\n/**\n * @hidden\n */\nexport type RecognizedTextWASMResult = {\n readonly location: number[][];\n readonly value: string;\n};\n\nexport namespace RecognizedText {\n /**\n * @hidden\n *\n * Create a [[RecognizedText]] object from a partial object returned by the external Scandit Data Capture library.\n *\n * @param result The text result coming from the external Scandit Data Capture library.\n * @returns The generated [[RecognizedText]] object.\n */\n export function createFromWASMResult(result: RecognizedTextWASMResult): RecognizedText {\n return {\n location: {\n topLeft: { x: result.location[0][0], y: result.location[0][1] },\n topRight: { x: result.location[1][0], y: result.location[1][1] },\n bottomRight: { x: result.location[2][0], y: result.location[2][1] },\n bottomLeft: { x: result.location[3][0], y: result.location[3][1] },\n },\n value: result.value,\n };\n }\n}\n","import { Barcode, BarcodeWASMResult } from \"./barcode\";\nimport { ImageSettings } from \"./imageSettings\";\nimport { RecognizedText, RecognizedTextWASMResult } from \"./recognizedText\";\n\n/**\n * A result of a scanning operation on an image.\n */\nexport class ScanResult {\n /**\n * The list of barcodes found in the image (can be empty).\n */\n public readonly barcodes: Barcode[];\n /**\n * The list of texts found in the image (can be empty).\n */\n public readonly texts: RecognizedText[];\n /**\n * The image data given as a byte array, formatted accordingly to the set settings ([[imageSettings]]).\n */\n public readonly imageData: Uint8Array;\n\n /**\n * The configuration object defining the properties of the processed image ([[imageData]]).\n */\n public readonly imageSettings: ImageSettings;\n\n /**\n * @hidden\n *\n * The list of manually rejected barcodes.\n */\n public readonly rejectedCodes: Set;\n\n /**\n * @hidden\n *\n * The list of manually rejected texts.\n */\n public readonly rejectedTexts: Set;\n\n /**\n * @hidden\n *\n * Create a ScanResult instance.\n *\n * @param barcodes The list of barcodes found in the image.\n * @param texts The list of texts found in the image.\n * @param imageData The image data given as a byte array, formatted accordingly to the set settings.\n * @param imageSettings The configuration object defining the properties of the processed image.\n */\n constructor(\n barcodes: BarcodeWASMResult[],\n texts: RecognizedTextWASMResult[],\n imageData: Uint8Array,\n imageSettings: ImageSettings\n ) {\n this.barcodes = [];\n barcodes.forEach((barcode) => {\n this.barcodes.push(Barcode.createFromWASMResult(barcode));\n });\n this.texts = [];\n texts.forEach((text) => {\n this.texts.push(RecognizedText.createFromWASMResult(text));\n });\n this.imageData = imageData;\n this.imageSettings = imageSettings;\n this.rejectedCodes = new Set();\n this.rejectedTexts = new Set();\n }\n\n /**\n * Prevent playing a sound, vibrating or flashing the GUI for a particular code.\n * If all codes and texts in the result are rejected (or no barcode/text is present), sound, vibration and GUI\n * flashing will be suppressed.\n *\n * Rejected codes will still be part of the [[ScanResult.barcodes]] property like all other codes.\n *\n * @param barcode The barcode to be rejected.\n */\n public rejectCode(barcode: Barcode): void {\n this.rejectedCodes.add(barcode);\n }\n\n /**\n * Prevent playing a sound, vibrating or flashing the GUI for a particular text.\n * If all codes and texts in the result are rejected (or no barcode/text is present), sound, vibration and GUI\n * flashing will be suppressed.\n *\n * Rejected texts will still be part of the [[ScanResult.texts]] property like all other texts.\n *\n * @param text The text to be rejected.\n */\n public rejectText(text: RecognizedText): void {\n this.rejectedTexts.add(text);\n }\n}\n","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n","module.exports = require(\"core-js/library/fn/object/values\");","import { Barcode } from \"./barcode\";\n\n/**\n * A symbology-specific configuration object.\n *\n * See https://docs.scandit.com/stable/c_api/symbologies.html for more details.\n *\n * Note that modified [[ScanSettings]] (due to [[SymbologySettings]] changes) need to be applied to a scanner via\n * [[BarcodePicker.applyScanSettings]] or [[Scanner.applyScanSettings]] to take effect.\n */\nexport class SymbologySettings {\n private readonly symbology: Barcode.Symbology;\n private enabled: boolean;\n private colorInvertedEnabled: boolean;\n private activeSymbolCounts: number[];\n private extensions: Set;\n private checksums: Set;\n\n /**\n * @hidden\n *\n * Create a SymbologySettings instance.\n *\n * @param symbology The symbology for which to create the settings.\n * @param enabled
Default = false
\n * Whether the symbology is enabled for recognition.\n */\n constructor(symbology: Barcode.Symbology, enabled: boolean = false) {\n this.symbology = symbology;\n this.enabled = enabled;\n this.colorInvertedEnabled = false;\n this.activeSymbolCounts = SymbologySettings.defaultActiveSymbolCounts[symbology] ?? [];\n this.extensions = new Set(SymbologySettings.defaultExtensions[symbology] ?? []);\n this.checksums = new Set(SymbologySettings.defaultChecksums[symbology] ?? []);\n }\n\n /**\n * @returns Whether the symbology enabled for recognition.\n */\n public isEnabled(): boolean {\n return this.enabled;\n }\n\n /**\n * Enable or disable recognition of the symbology.\n *\n * @param enabled Whether the symbology is enabled for recognition.\n * @returns The updated [[SymbologySettings]] object.\n */\n public setEnabled(enabled: boolean): SymbologySettings {\n this.enabled = enabled;\n\n return this;\n }\n\n /**\n * @returns Whether color inverted recognition is enabled.\n */\n public isColorInvertedEnabled(): boolean {\n return this.colorInvertedEnabled;\n }\n\n /**\n * Enable or disable recognition of inverted-color symbology (in addition to normal colors).\n *\n * @param enabled Whether color inverted recognition is enabled.\n * @returns The updated [[SymbologySettings]] object.\n */\n public setColorInvertedEnabled(enabled: boolean): SymbologySettings {\n this.colorInvertedEnabled = enabled;\n\n return this;\n }\n\n /**\n * Get the current list of active symbol counts.\n *\n * @returns The list of active symbol counts.\n */\n public getActiveSymbolCounts(): number[] {\n return this.activeSymbolCounts;\n }\n\n /**\n * Set the list of active symbol counts.\n *\n * If an empty or invalid symbol count range is given, the range will be set to its default value.\n *\n * @param activeSymbolCounts The list of active symbol counts.\n * @returns The updated [[SymbologySettings]] object.\n */\n public setActiveSymbolCounts(activeSymbolCounts: number[]): SymbologySettings {\n this.activeSymbolCounts = activeSymbolCounts;\n if (this.activeSymbolCounts.length === 0) {\n this.activeSymbolCounts = SymbologySettings.defaultActiveSymbolCounts[this.symbology] ?? [];\n }\n\n return this;\n }\n\n /**\n * Set the (inclusive) range of active symbol counts.\n *\n * If an empty or invalid symbol count range is given, the range will be set to its default value.\n *\n * @param minCount The minimum accepted number of symbols.\n * @param maxCount The maximum accepted number of symbols.\n * @returns The updated [[SymbologySettings]] object.\n */\n public setActiveSymbolCountsRange(minCount: number, maxCount: number): SymbologySettings {\n this.activeSymbolCounts = SymbologySettings.getNumberRange(minCount, maxCount);\n if (this.activeSymbolCounts.length === 0) {\n this.activeSymbolCounts = SymbologySettings.defaultActiveSymbolCounts[this.symbology] ?? [];\n }\n\n return this;\n }\n\n /**\n * Get the current set of enabled optional extensions.\n *\n * Note that the external Scandit Data Capture library will also use any applicable mandatory extension for the\n * symbology.\n *\n * @returns The set of enabled extensions.\n */\n public getEnabledExtensions(): Set {\n return this.extensions;\n }\n\n /**\n * Enable an optional extension or list/set of optional extensions\n *\n * @param extension The single extension or list/set of extensions to enable.\n * @returns The updated [[SymbologySettings]] object.\n */\n public enableExtensions(\n extension: SymbologySettings.Extension | SymbologySettings.Extension[] | Set\n ): SymbologySettings {\n if (typeof extension === \"object\") {\n this.extensions = new Set([\n ...this.extensions,\n ...Array.from(extension).filter((e) => {\n return this.isValidExtension(e);\n }),\n ]);\n } else if (this.isValidExtension(extension)) {\n this.extensions.add(extension);\n }\n\n return this;\n }\n\n /**\n * Disable an optional extension or list/set of optional extensions.\n *\n * @param extension The single extension or list/set of extensions to disable.\n * @returns The updated [[SymbologySettings]] object.\n */\n public disableExtensions(\n extension: SymbologySettings.Extension | SymbologySettings.Extension[] | Set\n ): SymbologySettings {\n if (typeof extension === \"object\") {\n this.extensions = new Set(\n [...this.extensions].filter((x) => {\n return extension instanceof Array ? !extension.includes(x) : !extension.has(x);\n })\n );\n } else if (this.isValidExtension(extension)) {\n this.extensions.delete(extension);\n }\n\n return this;\n }\n\n /**\n * Get the current set of enabled optional checksums.\n *\n * Note that the external Scandit Data Capture library will also use any applicable mandatory checksum for the\n * symbology.\n *\n * @returns The set of enabled checksums.\n */\n public getEnabledChecksums(): Set {\n return this.checksums;\n }\n\n /**\n * Enable an optional checksum or list/set of optional checksums.\n *\n * @param checksum The single checksum or list/set of checksums to enable.\n * @returns The updated [[SymbologySettings]] object.\n */\n public enableChecksums(\n checksum: SymbologySettings.Checksum | SymbologySettings.Checksum[] | Set\n ): SymbologySettings {\n if (typeof checksum === \"object\") {\n this.checksums = new Set([\n ...this.checksums,\n ...Array.from(checksum).filter((c) => {\n return this.isValidChecksum(c);\n }),\n ]);\n } else if (this.isValidChecksum(checksum)) {\n this.checksums.add(checksum);\n }\n\n return this;\n }\n\n /**\n * Disable an optional checksum or list/set of optional checksums.\n *\n * @param checksum The single checksum or list/set of checksums to disable.\n * @returns The updated [[SymbologySettings]] object.\n */\n public disableChecksums(\n checksum: SymbologySettings.Checksum | SymbologySettings.Checksum[] | Set\n ): SymbologySettings {\n if (typeof checksum === \"object\") {\n this.checksums = new Set(\n [...this.checksums].filter((x) => {\n return checksum instanceof Array ? !checksum.includes(x) : !checksum.has(x);\n })\n );\n } else if (this.isValidChecksum(checksum)) {\n this.checksums.delete(checksum);\n }\n\n return this;\n }\n\n protected toJSON(): object {\n return {\n enabled: this.enabled,\n colorInvertedEnabled: this.colorInvertedEnabled,\n activeSymbolCounts: this.activeSymbolCounts.length === 0 ? undefined : this.activeSymbolCounts,\n extensions: Array.from(this.extensions),\n checksums: Array.from(this.checksums),\n };\n }\n\n private isValidExtension(extension: string | SymbologySettings.Extension): boolean {\n return (\n extension in SymbologySettings.Extension ||\n (Object.values(SymbologySettings.Extension)).includes(extension.toLowerCase())\n );\n }\n\n private isValidChecksum(checksum: string | SymbologySettings.Checksum): boolean {\n return (\n checksum in SymbologySettings.Checksum ||\n (Object.values(SymbologySettings.Checksum)).includes(checksum.toLowerCase())\n );\n }\n}\n\n// istanbul ignore next\nexport namespace SymbologySettings {\n /**\n * @hidden\n *\n * Get a range of numbers.\n *\n * @param from The range start (inclusive).\n * @param to The range end (inclusive).\n * @returns The range of numbers.\n */\n export function getNumberRange(from: number, to: number): number[] {\n return Array.from({ length: to - from + 1 }, (_, k) => {\n return k + from;\n });\n }\n\n /**\n * Symbology extensions for particular functionalities, only applicable to specific barcodes.\n * See: https://docs.scandit.com/stable/c_api/symbologies.html.\n */\n export enum Extension {\n /**\n * Improve scan performance when reading direct part marked (DPM) Data Matrix codes.\n * Enabling this extension comes at the cost of increased frame processing times.\n */\n DIRECT_PART_MARKING_MODE = \"direct_part_marking_mode\",\n /**\n * Interpret the Code 39 / Code 93 code data using two symbols per output character to encode all ASCII characters.\n */\n FULL_ASCII = \"full_ascii\",\n /**\n * Enable scanning codes that have quiet zones (white area before and after the code) significantly smaller\n * than what's allowed by the symbology specification.\n */\n RELAXED_SHARP_QUIET_ZONE_CHECK = \"relaxed_sharp_quiet_zone_check\",\n /**\n * Remove the leading zero digit from the result.\n */\n REMOVE_LEADING_ZERO = \"remove_leading_zero\",\n /**\n * Remove the leading zero digit from the result if the UPC-A representation extension \"RETURN_AS_UPCA\" is enabled.\n */\n REMOVE_LEADING_UPCA_ZERO = \"remove_leading_upca_zero\",\n /**\n * Transform the UPC-E result into its UPC-A representation.\n */\n RETURN_AS_UPCA = \"return_as_upca\",\n /**\n * Enforce strict standard adherence to eliminate false positives in blurry, irregular or damaged barcodes at the\n * cost of reduced scan performance.\n */\n STRICT = \"strict\",\n /**\n * Remove the leading FNC1 character that indicates a GS1 code.\n */\n STRIP_LEADING_FNC1 = \"strip_leading_fnc1\",\n /**\n * @hidden\n */\n DEBUG_CONTROL_CHARACTERS = \"debug_control_characters\",\n /**\n * @hidden\n */\n GUESS_ENCODING = \"guess_encoding\",\n /**\n * @hidden\n */\n MIRRORED = \"mirrored\",\n /**\n * @hidden\n */\n NO_BLURRY_DECODING = \"no_blurry_decoding\",\n /**\n * @hidden\n */\n USE_UTF8_AS_DEFAULT_ENCODING = \"use_utf8_as_default_encoding\",\n }\n\n /**\n * Checksum algorithms, only applicable to specific barcodes.\n * See: https://docs.scandit.com/stable/c_api/symbologies.html.\n */\n export enum Checksum {\n /**\n * Modulo 10 checksum.\n */\n MOD_10 = \"mod10\",\n /**\n * Modulo 11 checksum.\n */\n MOD_11 = \"mod11\",\n /**\n * Modulo 16 checksum.\n */\n MOD_16 = \"mod16\",\n /**\n * Modulo 43 checksum.\n */\n MOD_43 = \"mod43\",\n /**\n * Modulo 47 checksum.\n */\n MOD_47 = \"mod47\",\n /**\n * Modulo 103 checksum.\n */\n MOD_103 = \"mod103\",\n /**\n * Two modulo 10 checksums.\n */\n MOD_1010 = \"mod1010\",\n /**\n * Modulo 11 and modulo 10 checksum.\n */\n MOD_1110 = \"mod1110\",\n }\n\n /**\n * @hidden\n */\n export const defaultActiveSymbolCounts: Partial> = {\n [Barcode.Symbology.CODABAR]: getNumberRange(7, 20),\n [Barcode.Symbology.CODE11]: getNumberRange(7, 20),\n [Barcode.Symbology.CODE128]: getNumberRange(6, 40),\n [Barcode.Symbology.CODE25]: getNumberRange(7, 20),\n [Barcode.Symbology.CODE32]: [8],\n [Barcode.Symbology.CODE39]: getNumberRange(6, 40),\n [Barcode.Symbology.CODE93]: getNumberRange(6, 40),\n [Barcode.Symbology.EAN13]: [12],\n [Barcode.Symbology.EAN8]: [8],\n [Barcode.Symbology.FIVE_DIGIT_ADD_ON]: [5],\n [Barcode.Symbology.GS1_DATABAR_EXPANDED]: getNumberRange(1, 11),\n [Barcode.Symbology.GS1_DATABAR_LIMITED]: [1],\n [Barcode.Symbology.GS1_DATABAR]: [2],\n [Barcode.Symbology.IATA_2_OF_5]: getNumberRange(7, 20),\n [Barcode.Symbology.INTERLEAVED_2_OF_5]: getNumberRange(6, 40),\n [Barcode.Symbology.KIX]: getNumberRange(7, 24),\n [Barcode.Symbology.LAPA4SC]: [16],\n [Barcode.Symbology.MSI_PLESSEY]: getNumberRange(6, 32),\n [Barcode.Symbology.RM4SCC]: getNumberRange(7, 24),\n [Barcode.Symbology.TWO_DIGIT_ADD_ON]: [2],\n [Barcode.Symbology.UPCA]: [12],\n [Barcode.Symbology.UPCE]: [6],\n };\n\n /**\n * @hidden\n */\n export const defaultExtensions: Partial> = {\n [Barcode.Symbology.CODE128]: [Extension.STRIP_LEADING_FNC1],\n [Barcode.Symbology.DATA_MATRIX]: [Extension.STRIP_LEADING_FNC1],\n };\n\n /**\n * @hidden\n */\n export const defaultChecksums: Partial> = {\n [Barcode.Symbology.MSI_PLESSEY]: [Checksum.MOD_10],\n [Barcode.Symbology.CODE11]: [Checksum.MOD_11],\n };\n}\n","/**\n * A configuration object for text recognition options.\n *\n * Text recognition settings need to be assigned (once) to scanning options via\n * [[ScanSettings.setTextRecognitionSettings]] and said modified [[ScanSettings]] (due to [[TextRecognitionSettings]]\n * changes) need to be applied to a scanner via [[BarcodePicker.applyScanSettings]] or [[Scanner.applyScanSettings]] to\n * take effect.\n */\nexport class TextRecognitionSettings {\n private readonly properties: Map;\n private readonly recognizer: string;\n\n private regex?: string;\n private characterWhitelist?: string;\n private textDuplicateFilter: number;\n\n /**\n * @hidden\n *\n * @param recognizer
Default = \"mrzFullScreen\"
\n * The text recognition backend.\n */\n\n /**\n * @hidden Not functional for MRZ OCR\n *\n * @param characterWhitelist
Default = undefined
\n * The whitelist of recognizable characters. If the whitelist is defined and not empty, a recognition result will\n * never contain characters that are not included in the list.\n */\n\n /**\n * Create a TextRecognitionSettings instance.\n *\n * @param regex
Default = undefined
\n * The regular expression for filtering the recognized characters. Text that does not match the regular expression is\n * ignored. You must set a regex in order for text recognition to work.\n * @param textDuplicateFilter
Default = 0
\n * The duplicate filter specifying how often a text can be scanned.\n * When the filter is set to -1, each unique text is only scanned once. When set to 0,\n * duplicate filtering is disabled. Otherwise the duplicate filter specifies an interval in milliseconds.\n * When the same text is scanned within the specified interval it is filtered out as a duplicate.\n */\n constructor({\n /**\n * @hidden\n */\n recognizer = \"mrzFullScreen\",\n regex,\n /**\n * @hidden\n */\n characterWhitelist,\n textDuplicateFilter = 0,\n }: {\n /**\n * @hidden\n */\n recognizer?: string;\n regex?: string | RegExp;\n /**\n * @hidden\n */\n characterWhitelist?: string;\n textDuplicateFilter?: number;\n } = {}) {\n this.recognizer = recognizer;\n this.regex = regex instanceof RegExp ? regex.source : regex;\n this.characterWhitelist = characterWhitelist;\n this.textDuplicateFilter = textDuplicateFilter;\n this.properties = new Map();\n }\n\n /**\n * @returns The configuration object as a JSON string.\n */\n public toJSONString(): string {\n const properties: { [key: string]: number } = {};\n this.properties.forEach((value, key) => {\n properties[key] = value;\n });\n\n return JSON.stringify({\n recognizer: this.recognizer,\n regex: this.regex,\n characterWhitelist: this.characterWhitelist,\n duplicateFilter: this.textDuplicateFilter,\n properties,\n });\n }\n\n /**\n * Get the regular expression for filtering the recognized characters.\n *\n * By default, no regex is set. You must set a regex in order for text recognition to work.\n *\n * @returns The regular expression.\n */\n public getRegex(): string | undefined {\n return this.regex;\n }\n\n /**\n * Set the regular expression for filtering the recognized characters.\n *\n * Text that does not match the regular expression is ignored.\n *\n * Using a regex with a capture group will make results contain only the text matching the capture group. To return\n * the full text matching the regex, use a non-capturing group.\n *\n * By default, no regex is set. You must set a regex in order for text recognition to work.\n *\n * @param regex The new regular expression.\n * @returns The updated [[TextRecognitionSettings]] object.\n */\n public setRegex(regex?: string | RegExp): TextRecognitionSettings {\n this.regex = regex instanceof RegExp ? regex.source : regex;\n\n return this;\n }\n\n /**\n * @hidden Not functional for MRZ OCR\n *\n * Get the whitelist of recognizable characters.\n *\n * By default there is no whitelist and all characters will be recognized.\n *\n * @returns The character whitelist.\n */\n public getCharacterWhitelist(): string | undefined {\n return this.characterWhitelist;\n }\n\n /**\n * @hidden Not functional for MRZ OCR\n *\n * Set the whitelist of recognizable characters.\n *\n * If the whitelist is defined and not empty, a recognition result will never contain characters that are not included\n * in the list.\n *\n * By default there is no whitelist and all characters will be recognized.\n *\n * @param characterWhitelist The new character whitelist.\n * @returns The updated [[TextRecognitionSettings]] object.\n */\n public setCharacterWhitelist(characterWhitelist?: string): TextRecognitionSettings {\n this.characterWhitelist = characterWhitelist;\n\n return this;\n }\n\n /**\n * Get the text duplicate filter value.\n *\n * By default duplicate filtering is disabled.\n *\n * @returns The text duplicate filter value.\n */\n public getTextDuplicateFilter(): number {\n return this.textDuplicateFilter;\n }\n\n /**\n * Set the text duplicate filter value.\n *\n * When the filter is set to -1, each unique text is only scanned once. When set to 0,\n * duplicate filtering is disabled. Otherwise the duplicate filter specifies an interval in milliseconds.\n *\n * By default duplicate filtering is disabled.\n *\n * @param durationMilliseconds The new value (-1, 0, or positive integer).\n * @returns The updated [[TextRecognitionSettings]] object.\n */\n public setTextDuplicateFilter(durationMilliseconds: number): TextRecognitionSettings {\n this.textDuplicateFilter = durationMilliseconds;\n\n return this;\n }\n\n /**\n * Get a Scandit Data Capture library text recognition property.\n *\n * This function is for internal use only and any functionality that can be accessed through it can and will vanish\n * without public notice from one version to the next. Do not call this function unless you specifically have to.\n *\n * @param key The property name.\n * @returns The property value. For properties not previously set, -1 is returned.\n */\n public getProperty(key: string): number {\n if (this.properties.has(key)) {\n return this.properties.get(key);\n }\n\n return -1;\n }\n\n /**\n * Set a Scandit Data Capture library text recognition property.\n *\n * This function is for internal use only and any functionality that can be accessed through it can and will vanish\n * without public notice from one version to the next. Do not call this function unless you specifically have to.\n *\n * @param key The property name.\n * @param value The property value.\n * @returns The updated [[TextRecognitionSettings]] object.\n */\n public setProperty(key: string, value: number): TextRecognitionSettings {\n this.properties.set(key, value);\n\n return this;\n }\n}\n","import { textRecognition } from \"..\";\nimport { Barcode } from \"./barcode\";\nimport { Logger } from \"./logger\";\nimport { SearchArea } from \"./searchArea\";\nimport { SymbologySettings } from \"./symbologySettings\";\nimport { TextRecognitionSettings } from \"./textRecognitionSettings\";\n\n/**\n * @hidden\n */\ntype SymbologyParameter = Barcode.Symbology | Barcode.Symbology[] | Set;\n\n/**\n * A configuration object for scanning options.\n *\n * Modified [[ScanSettings]] need to be applied to a scanner via\n * [[BarcodePicker.applyScanSettings]] or [[Scanner.applyScanSettings]] to take effect.\n */\nexport class ScanSettings {\n private readonly symbologySettings: Map;\n private readonly properties: Map;\n\n private textRecognitionSettings: TextRecognitionSettings;\n private recognitionMode: ScanSettings.RecognitionMode;\n private codeDuplicateFilter: number;\n private maxNumberOfCodesPerFrame: number;\n private baseSearchArea: SearchArea;\n private searchArea: SearchArea;\n private gpuAcceleration: boolean;\n private blurryRecognition: boolean;\n private codeDirectionHint: ScanSettings.CodeDirection;\n private deviceName?: string;\n\n /**\n * Create a ScanSettings instance.\n *\n * @param textRecognitionSettings
Default = new TextRecognitionSettings()
\n * The configuration object for text recognition options (text recognition disabled by default).\n * @param recognitionMode
Default = RecognitionMode.CODE
\n * The recognition mode deciding whether codes and/or text are recognized.\n * @param enabledSymbologies
Default = []
\n * The single symbology or list/set of symbologies that should be initialized as enabled for recognition.\n * @param codeDuplicateFilter
Default = 0
\n * The duplicate filter specifying how often a code can be scanned.\n * When the filter is set to -1, each unique code is only scanned once. When set to 0,\n * duplicate filtering is disabled. Otherwise the duplicate filter specifies an interval in milliseconds.\n * When the same code (data/symbology) is scanned within the specified interval it is filtered out as a duplicate.\n * @param maxNumberOfCodesPerFrame
Default = 1
\n * The maximum number of barcodes to be recognized every frame.\n * @param searchArea
Default = { x: 0, y: 0, width: 1.0, height: 1.0 }
\n * The area of the image in which barcodes/texts are searched.\n * @param gpuAcceleration
Default = true
\n * Whether to enable/disable GPU support via WebGL, to provide faster and more accurate barcode localization.\n * The GPU can and will be used only if the browser also supports the needed technologies\n * ([WebGL](https://caniuse.com/#feat=webgl) and [OffscreenCanvas](https://caniuse.com/#feat=offscreencanvas)).\n * @param blurryRecognition
Default = true
\n * Whether to enable/disable barcode blurry recognition, to allow accurate scanning capabilities for out-of-focus (1D)\n * codes. If enabled, more advanced algorithms are executed (and more resources/time is spent) every frame in order\n * to successfully locate/scan difficult codes.\n * @param codeDirectionHint
Default = CodeDirection.LEFT_TO_RIGHT
\n * The code direction hint telling in what direction 1D codes are most likely orientated.\n * More advanced algorithms are executed (and more resources/time is spent) every frame in order to successfully\n * locate/scan difficult codes for each of the possible directions resulting by the direction hint. Note that this\n * results in slow performance for `none` hints, average performance for `horizontal` and `vertical` hints and fast\n * performance for the remaining hints.\n * @param deviceName
Default = undefined
\n * The descriptive device name to identify the current device when looking at analytics tools.\n */\n constructor({\n textRecognitionSettings = new TextRecognitionSettings(),\n recognitionMode = ScanSettings.RecognitionMode.CODE,\n enabledSymbologies = [],\n codeDuplicateFilter = 0,\n maxNumberOfCodesPerFrame = 1,\n searchArea = { x: 0, y: 0, width: 1.0, height: 1.0 },\n gpuAcceleration = true,\n blurryRecognition = true,\n codeDirectionHint = ScanSettings.CodeDirection.LEFT_TO_RIGHT,\n deviceName,\n }: {\n textRecognitionSettings?: TextRecognitionSettings;\n recognitionMode?: ScanSettings.RecognitionMode;\n enabledSymbologies?: SymbologyParameter;\n codeDuplicateFilter?: number;\n maxNumberOfCodesPerFrame?: number;\n searchArea?: SearchArea;\n gpuAcceleration?: boolean;\n blurryRecognition?: boolean;\n codeDirectionHint?: ScanSettings.CodeDirection;\n deviceName?: string;\n } = {}) {\n this.symbologySettings = new Map();\n this.textRecognitionSettings = textRecognitionSettings;\n this.setRecognitionMode(recognitionMode);\n this.enableSymbologies(enabledSymbologies);\n this.codeDuplicateFilter = codeDuplicateFilter;\n this.maxNumberOfCodesPerFrame = maxNumberOfCodesPerFrame;\n this.baseSearchArea = { x: 0, y: 0, width: 1.0, height: 1.0 };\n this.searchArea = searchArea;\n this.gpuAcceleration = gpuAcceleration;\n this.blurryRecognition = blurryRecognition;\n this.codeDirectionHint = codeDirectionHint;\n this.deviceName = deviceName;\n this.properties = new Map([[\"advanced_localization\", 0]]);\n }\n\n /**\n * @returns The configuration object as a JSON string.\n */\n public toJSONString(): string {\n const symbologies: { [jsonSymbologyName: string]: SymbologySettings } = {};\n this.symbologySettings.forEach((symbologySettings, symbology) => {\n symbologies[Barcode.Symbology.toJSONName(symbology)] = symbologySettings;\n });\n const properties: { [key: string]: number } = {};\n this.properties.forEach((value, key) => {\n properties[key] = value;\n });\n\n const combinedSearchArea: SearchArea = {\n x: Math.max(0, Math.min(1, this.baseSearchArea.x + this.searchArea.x * this.baseSearchArea.width)),\n y: Math.max(0, Math.min(1, this.baseSearchArea.y + this.searchArea.y * this.baseSearchArea.height)),\n width: Math.max(0, Math.min(1, this.baseSearchArea.width * this.searchArea.width)),\n height: Math.max(0, Math.min(1, this.baseSearchArea.height * this.searchArea.height)),\n };\n\n const isFullSearchArea: boolean =\n Math.round(combinedSearchArea.x * 100) === 0 &&\n Math.round(combinedSearchArea.y * 100) === 0 &&\n Math.round(combinedSearchArea.width * 100) === 100 &&\n Math.round(combinedSearchArea.height * 100) === 100;\n\n return JSON.stringify({\n textRecognitionSettings: this.textRecognitionSettings.toJSONString(),\n recognitionMode: this.recognitionMode,\n symbologies,\n codeDuplicateFilter: this.codeDuplicateFilter,\n maxNumberOfCodesPerFrame: this.maxNumberOfCodesPerFrame,\n searchArea: combinedSearchArea,\n codeLocation1d: isFullSearchArea\n ? undefined\n : {\n area: {\n x: combinedSearchArea.x,\n y: combinedSearchArea.y + (combinedSearchArea.height * 0.75) / 2,\n width: combinedSearchArea.width,\n height: combinedSearchArea.height * 0.25,\n },\n },\n codeLocation2d: isFullSearchArea\n ? undefined\n : {\n area: combinedSearchArea,\n },\n gpuAcceleration: this.gpuAcceleration,\n blurryRecognition: this.blurryRecognition,\n codeDirectionHint: this.codeDirectionHint,\n properties,\n });\n }\n\n /**\n * Get the current text recognition settings.\n *\n * @returns The text recognition settings.\n */\n public getTextRecognitionSettings(): TextRecognitionSettings {\n return this.textRecognitionSettings;\n }\n\n /**\n * Set the text recognition settings.\n *\n * Note that modified [[ScanSettings]] (due to [[TextRecognitionSettings]] changes) need to be applied to a scanner\n * via [[BarcodePicker.applyScanSettings]] or [[Scanner.applyScanSettings]] to take effect.\n *\n * @param textRecognitionSettings The new text recognition settings.\n * @returns The updated [[ScanSettings]] object.\n */\n public setTextRecognitionSettings(textRecognitionSettings: TextRecognitionSettings): ScanSettings {\n this.textRecognitionSettings = textRecognitionSettings;\n\n return this;\n }\n\n /**\n * Get the recognition mode deciding whether codes and/or text are recognized.\n *\n * @returns The recognition mode.\n */\n public getRecognitionMode(): ScanSettings.RecognitionMode {\n return this.recognitionMode;\n }\n\n /**\n * Set the recognition mode deciding whether codes and/or text are recognized.\n *\n * @param recognitionMode The new recognition mode.\n * @returns The updated [[ScanSettings]] object.\n */\n public setRecognitionMode(recognitionMode: ScanSettings.RecognitionMode): ScanSettings {\n this.recognitionMode = recognitionMode;\n if (recognitionMode.includes(\"text\") && !textRecognition) {\n Logger.log(\n Logger.Level.WARN,\n \"The library has not been configured to load text recognition (ScanditSDK.configure() - loadTextRecognition option): ScanSettings' recognition mode for text will be ignored\"\n );\n }\n\n return this;\n }\n\n /**\n * Get the configuration object for a symbology (which can then be modified).\n *\n * @param symbology The symbology for which to retrieve the configuration.\n * @returns The symbology configuration object for the specified symbology.\n */\n public getSymbologySettings(symbology: Barcode.Symbology): SymbologySettings {\n if (this.symbologySettings.has(symbology)) {\n return this.symbologySettings.get(symbology);\n } else {\n if (symbology in Barcode.Symbology || Object.values(Barcode.Symbology).includes(symbology)) {\n this.symbologySettings.set(symbology, new SymbologySettings(symbology));\n\n return this.symbologySettings.get(symbology);\n } else {\n throw new TypeError(`Invalid symbology \"${symbology}\"`);\n }\n }\n }\n\n /**\n * Get the recognition enabled status for a symbology.\n *\n * By default no symbologies are enabled.\n *\n * @param symbology The symbology for which to retrieve the recognition enabled status.\n * @returns Whether the symbology enabled for recognition.\n */\n public isSymbologyEnabled(symbology: Barcode.Symbology): boolean {\n return (\n this.symbologySettings.has(symbology) && (this.symbologySettings.get(symbology)).isEnabled()\n );\n }\n\n /**\n * Enable recognition of a symbology or list/set of symbologies.\n *\n * By default no symbologies are enabled.\n *\n * @param symbology The single symbology or list/set of symbologies to enable.\n * @returns The updated [[ScanSettings]] object.\n */\n public enableSymbologies(symbology: SymbologyParameter): ScanSettings {\n return this.setSymbologiesEnabled(symbology, true);\n }\n\n /**\n * Disable recognition of a symbology or list/set of symbologies.\n *\n * By default no symbologies are enabled.\n *\n * @param symbology The single symbology or list/set of symbologies to disable.\n * @returns The updated [[ScanSettings]] object.\n */\n public disableSymbologies(symbology: SymbologyParameter): ScanSettings {\n return this.setSymbologiesEnabled(symbology, false);\n }\n\n /**\n * Get the code duplicate filter value.\n *\n * By default duplicate filtering is disabled.\n *\n * @returns The code duplicate filter value.\n */\n public getCodeDuplicateFilter(): number {\n return this.codeDuplicateFilter;\n }\n\n /**\n * Set the code duplicate filter value.\n *\n * When the filter is set to -1, each unique code is only scanned once. When set to 0,\n * duplicate filtering is disabled. Otherwise the duplicate filter specifies an interval in milliseconds.\n *\n * By default duplicate filtering is disabled.\n *\n * @param durationMilliseconds The new value (-1, 0, or positive integer).\n * @returns The updated [[ScanSettings]] object.\n */\n public setCodeDuplicateFilter(durationMilliseconds: number): ScanSettings {\n this.codeDuplicateFilter = durationMilliseconds;\n\n return this;\n }\n\n /**\n * Get the maximum number of barcodes to be recognized every frame.\n *\n * By default the maximum number of barcodes per frame is 1.\n *\n * @returns The maximum number of barcodes per frame.\n */\n public getMaxNumberOfCodesPerFrame(): number {\n return this.maxNumberOfCodesPerFrame;\n }\n\n /**\n * Set the maximum number of barcodes to be recognized every frame.\n *\n * By default the maximum number of barcodes per frame is 1.\n *\n * @param limit The new maximum number of barcodes per frame alue (non-zero positive integer).\n * @returns The updated [[ScanSettings]] object.\n */\n public setMaxNumberOfCodesPerFrame(limit: number): ScanSettings {\n this.maxNumberOfCodesPerFrame = limit;\n\n return this;\n }\n\n /**\n * Get the area of the image in which barcodes/texts are searched.\n *\n * By default the whole area is searched.\n *\n * @returns The search area.\n */\n public getSearchArea(): SearchArea {\n return this.searchArea;\n }\n\n /**\n * Set the area of the image in which barcodes/texts are searched.\n *\n * By default the whole area is searched.\n *\n * @param searchArea The new search area.\n * @returns The updated [[ScanSettings]] object.\n */\n public setSearchArea(searchArea: SearchArea): ScanSettings {\n this.searchArea = searchArea;\n\n return this;\n }\n\n /**\n * @hidden\n *\n * @returns The base area of the image in which barcodes/texts are searched.\n */\n public getBaseSearchArea(): SearchArea {\n return this.baseSearchArea;\n }\n\n /**\n * @hidden\n *\n * Set the base area of the image in which barcodes/texts are searched, this is set automatically by a\n * [[BarcodePicker]] and is combined with the searchArea to obtain the final combined search area.\n *\n * @param baseSearchArea The new base search area.\n * @returns The updated [[ScanSettings]] object.\n */\n public setBaseSearchArea(baseSearchArea: SearchArea): ScanSettings {\n this.baseSearchArea = baseSearchArea;\n\n return this;\n }\n\n /**\n * Get the GPU acceleration enabled status.\n *\n * By default GPU acceleration is enabled.\n *\n * @returns Whether GPU acceleration is configured to be enabled ot not.\n */\n public isGpuAccelerationEnabled(): boolean {\n return this.gpuAcceleration;\n }\n\n /**\n * Enable or disable GPU acceleration.\n *\n * By default GPU acceleration is enabled.\n *\n * Provide faster and more accurate barcode localization.\n * The GPU will in any case be used only if the browser also supports the needed technologies\n * ([WebGL](https://caniuse.com/#feat=webgl) and [OffscreenCanvas](https://caniuse.com/#feat=offscreencanvas)).\n *\n * @param enabled Whether to enable or disable GPU acceleration.\n * @returns The updated [[ScanSettings]] object.\n */\n public setGpuAccelerationEnabled(enabled: boolean): ScanSettings {\n this.gpuAcceleration = enabled;\n\n return this;\n }\n\n /**\n * Get the barcode blurry recognition enabled status.\n *\n * By default barcode blurry recognition is enabled.\n *\n * @returns Whether barcode blurry recognition is configured to be enabled ot not.\n */\n public isBlurryRecognitionEnabled(): boolean {\n return this.blurryRecognition;\n }\n\n /**\n * Enable or disable barcode blurry recognition.\n *\n * Allow accurate scanning capabilities for out-of-focus (1D) codes.\n * If enabled, more advanced algorithms are executed (and more resources/time is spent) every frame in order\n * to successfully locate/scan difficult codes.\n *\n * By default barcode blurry recognition is enabled.\n *\n * @param enabled Whether to enable or disable barcode blurry recognition.\n * @returns The updated [[ScanSettings]] object.\n */\n public setBlurryRecognitionEnabled(enabled: boolean): ScanSettings {\n this.blurryRecognition = enabled;\n\n return this;\n }\n\n /**\n * Get the code direction hint telling in what direction 1D codes are most likely orientated.\n *\n * By default `left-to-right` is used.\n *\n * @returns The code direction hint.\n */\n public getCodeDirectionHint(): ScanSettings.CodeDirection {\n return this.codeDirectionHint;\n }\n\n /**\n * Set the code direction hint telling in what direction 1D codes are most likely orientated.\n *\n * More advanced algorithms are executed (and more resources/time is spent) every frame in order to successfully\n * locate/scan difficult codes for each of the possible directions resulting by the direction hint. Note that this\n * results in slow performance for `none` hints, average performance for `horizontal` and `vertical` hints and fast\n * performance for the remaining hints.\n *\n * By default `left-to-right` is used.\n *\n * @param codeDirectionHint The new code direction hint.\n * @returns The updated [[ScanSettings]] object.\n */\n public setCodeDirectionHint(codeDirectionHint: ScanSettings.CodeDirection): ScanSettings {\n this.codeDirectionHint = codeDirectionHint;\n\n return this;\n }\n\n /**\n * Get the descriptive device name to identify the current device when looking at analytics tools.\n *\n * By default no name is used (the device is identified by its unique ID only).\n *\n * @returns The device name.\n */\n public getDeviceName(): string | undefined {\n return this.deviceName;\n }\n\n /**\n * Set the descriptive device name to identify the current device when looking at analytics tools.\n *\n * By default no name is used (the device is identified by its unique ID only).\n *\n * @param deviceName The new device name.\n * @returns The updated [[ScanSettings]] object.\n */\n public setDeviceName(deviceName: string | undefined): ScanSettings {\n this.deviceName = deviceName;\n\n return this;\n }\n\n /**\n * Get a Scandit Data Capture library scanning property.\n *\n * This function is for internal use only and any functionality that can be accessed through it can and will vanish\n * without public notice from one version to the next. Do not call this function unless you specifically have to.\n *\n * @param key The property name.\n * @returns The property value. For properties not previously set, -1 is returned.\n */\n public getProperty(key: string): number {\n if (this.properties.has(key)) {\n return this.properties.get(key);\n }\n\n return -1;\n }\n\n /**\n * Set a Scandit Data Capture library scanning property.\n *\n * This function is for internal use only and any functionality that can be accessed through it can and will vanish\n * without public notice from one version to the next. Do not call this function unless you specifically have to.\n *\n * @param key The property name.\n * @param value The property value.\n * @returns The updated [[ScanSettings]] object.\n */\n public setProperty(key: string, value: number): ScanSettings {\n this.properties.set(key, value);\n\n return this;\n }\n\n private setSingleSymbologyEnabled(symbology: Barcode.Symbology, enabled: boolean): void {\n if (symbology in Barcode.Symbology || Object.values(Barcode.Symbology).includes(symbology)) {\n if (this.symbologySettings.has(symbology)) {\n (this.symbologySettings.get(symbology)).setEnabled(enabled);\n } else {\n this.symbologySettings.set(symbology, new SymbologySettings(symbology, enabled));\n }\n } else {\n throw new TypeError(`Invalid symbology \"${symbology}\"`);\n }\n }\n\n private setMultipleSymbologiesEnabled(\n symbology: Barcode.Symbology[] | Set,\n enabled: boolean\n ): void {\n for (const s of symbology) {\n if (!(s in Barcode.Symbology || Object.values(Barcode.Symbology).includes(s))) {\n throw new TypeError(`Invalid symbology \"${s}\"`);\n }\n }\n for (const s of symbology) {\n if (this.symbologySettings.has(s)) {\n (this.symbologySettings.get(s)).setEnabled(enabled);\n } else {\n this.symbologySettings.set(s, new SymbologySettings(s, enabled));\n }\n }\n }\n\n private setSymbologiesEnabled(symbology: SymbologyParameter, enabled: boolean): ScanSettings {\n if (typeof symbology === \"object\") {\n this.setMultipleSymbologiesEnabled(symbology, enabled);\n } else {\n this.setSingleSymbologyEnabled(symbology, enabled);\n }\n\n return this;\n }\n}\n\n// istanbul ignore next\nexport namespace ScanSettings {\n /**\n * Scanning recognition mode.\n */\n export enum RecognitionMode {\n /**\n * Codes only.\n */\n CODE = \"code\",\n /**\n * Text only.\n */\n TEXT = \"text\",\n /**\n * Codes and text at the same time.\n */\n CODE_AND_TEXT = \"code-and-text\",\n }\n /**\n * Code direction used to hint 1D codes' orientation.\n */\n export enum CodeDirection {\n /**\n * Left to right.\n */\n LEFT_TO_RIGHT = \"left-to-right\",\n /**\n * Right to left.\n */\n RIGHT_TO_LEFT = \"right-to-left\",\n /**\n * Bottom to top.\n */\n BOTTOM_TO_TOP = \"bottom-to-top\",\n /**\n * Top to bottom.\n */\n TOP_TO_BOTTOM = \"top-to-bottom\",\n /**\n * Left to right or right to left.\n */\n HORIZONTAL = \"horizontal\",\n /**\n * Bottom to top or top to bottom.\n */\n VERTICAL = \"vertical\",\n /**\n * Unknown.\n */\n NONE = \"none\",\n }\n}\n","import { EventEmitter, ListenerFn } from \"eventemitter3\";\n\nimport { DataCaptureSentMessageData, DataCaptureWorker } from \"./workers/dataCaptureWorker\";\n\nimport { blurryRecognitionPreloader, configurePhase, dataCaptureLoader } from \"../index\";\nimport { Barcode, BarcodeWASMResult } from \"./barcode\";\nimport { BrowserCompatibility } from \"./browserCompatibility\";\nimport { BrowserHelper } from \"./browserHelper\";\nimport { Camera } from \"./camera\";\nimport { CustomError } from \"./customError\";\nimport { DataCaptureLoader } from \"./dataCaptureLoader\";\nimport { ImageSettings } from \"./imageSettings\";\nimport { Logger } from \"./logger\";\nimport { Parser } from \"./parser\";\nimport { ParserField } from \"./parserField\";\nimport { ParserResult } from \"./parserResult\";\nimport { RecognizedTextWASMResult } from \"./recognizedText\";\nimport { ScanResult } from \"./scanResult\";\nimport { ScanSettings } from \"./scanSettings\";\nimport { UnsupportedBrowserError } from \"./unsupportedBrowserError\";\n\n/**\n * @hidden\n */\ntype EventName = \"ready\" | \"contextCreated\" | \"newScanSettings\";\n\n/**\n * @hidden\n */\nclass ScannerEventEmitter extends EventEmitter {}\n\n/**\n * A low-level scanner interacting with the external Scandit Data Capture library.\n * Used to set up scan / image settings and to process single image frames.\n *\n * The loading of the external Scandit Data Capture library can take some time, the [[on]] method targeting the\n * [[ready]] event can be used to set up a listener function to be called when the library is loaded and the [[isReady]]\n * method can return the current status. The scanner will be ready to start scanning when the library is fully loaded.\n *\n * By default the external Scandit Data Capture library is preloaded in order to reduce the initialization time as much\n * as possible.\n *\n * In the special case where a single [[Scanner]] instance is shared between multiple active [[BarcodePicker]]\n * instances, the fairness in resource allocation for processing images between the different pickers is not guaranteed.\n */\nexport class Scanner {\n private static workerScanRequestId: number = 0;\n\n private readonly dataCaptureWorker: DataCaptureWorker;\n private readonly eventEmitter: ScannerEventEmitter;\n\n private scanSettings: ScanSettings;\n private imageSettings?: ImageSettings;\n private workerParseRequestId: number;\n private workerScanQueueLength: number;\n private isReadyToWork: boolean;\n private licenseKeyFeatures?: object;\n private imageDataConversionContext?: CanvasRenderingContext2D;\n private activeBlurryRecognitionSymbologies: Set;\n private blurryRecognitionAvailable: boolean;\n\n /**\n * Create a Scanner instance.\n *\n * It is required to having configured the library via [[configure]] before this object can be created.\n *\n * Before processing an image the relative settings must also have been set.\n *\n * Depending on library configuration, browser features and user permissions for camera access, any of the following\n * errors could be thrown:\n * - `LibraryNotConfiguredError`\n * - `UnsupportedBrowserError`\n *\n * @param scanSettings
Default = new ScanSettings()
\n * The configuration object for scanning options (all symbologies disabled by default).\n * @param imageSettings
Default = undefined
\n * The configuration object to define the properties of an image to be scanned.\n */\n constructor({\n scanSettings = new ScanSettings(),\n imageSettings,\n }: {\n scanSettings?: ScanSettings;\n imageSettings?: ImageSettings;\n } = {}) {\n const browserCompatibility: BrowserCompatibility = BrowserHelper.checkBrowserCompatibility();\n if (!browserCompatibility.scannerSupport) {\n throw new UnsupportedBrowserError(browserCompatibility);\n }\n if (configurePhase !== \"done\") {\n throw new CustomError({\n name: \"LibraryNotConfiguredError\",\n message:\n configurePhase === \"started\"\n ? `The library has not completed its configuration yet, please call 'configure' and wait for the returned\n promise's resolution`\n : `The library was not configured yet, 'configure' must be called with valid parameters before instantiating\n the Scanner`,\n });\n }\n\n this.eventEmitter = new EventEmitter();\n this.isReadyToWork = false;\n this.workerScanQueueLength = 0;\n this.workerParseRequestId = 0;\n\n this.dataCaptureWorker = dataCaptureLoader.getDataCaptureWorker();\n this.dataCaptureWorker.onmessage = this.dataCaptureWorkerOnMessage.bind(this);\n DataCaptureLoader.load(this.dataCaptureWorker);\n\n this.activeBlurryRecognitionSymbologies = new Set();\n this.blurryRecognitionAvailable = false;\n\n this.applyScanSettings(scanSettings);\n if (imageSettings != null) {\n this.applyImageSettings(imageSettings);\n }\n\n blurryRecognitionPreloader.on(\"blurryTablesUpdate\", this.handleBlurryTablesUpdate.bind(this));\n }\n\n /**\n * Fired when the external Scandit Data Capture library has been loaded and the scanner can thus start to scan\n * barcodes/texts.\n *\n * @event\n */\n // istanbul ignore next\n public static ready(): void {\n // Ignored\n }\n\n /**\n * Stop/reset the internal WebWorker and destroy the scanner itself; ensuring complete cleanup.\n *\n * This method should be called after you don't plan to use the scanner anymore,\n * before the object is automatically cleaned up by JavaScript.\n * The scanner must not be used in any way after this call.\n */\n public destroy(): void {\n if (this.dataCaptureWorker != null) {\n dataCaptureLoader.returnDataCaptureWorker(this.dataCaptureWorker);\n }\n this.eventEmitter.removeAllListeners();\n }\n\n /**\n * Apply a new set of scan settings to the scanner (replacing old settings).\n *\n * @param scanSettings The scan configuration object to be applied to the scanner.\n * @returns The updated [[Scanner]] object.\n */\n public applyScanSettings(scanSettings: ScanSettings): Scanner {\n this.scanSettings = scanSettings;\n blurryRecognitionPreloader.updateBlurryRecognitionPriority(this.scanSettings);\n const activeBlurryRecognitionSymbologies: Barcode.Symbology[] = blurryRecognitionPreloader.getEnabledSymbologies(\n this.scanSettings\n );\n this.blurryRecognitionAvailable = blurryRecognitionPreloader.isBlurryRecognitionAvailable(this.scanSettings);\n this.dataCaptureWorker.postMessage({\n type: \"scan-settings\",\n settings: this.scanSettings.toJSONString(),\n blurryRecognitionAvailable: this.blurryRecognitionAvailable,\n blurryRecognitionRequiresUpdate: activeBlurryRecognitionSymbologies.some((symbology) => {\n return !this.activeBlurryRecognitionSymbologies.has(symbology);\n }),\n });\n const deviceName: string | undefined = this.scanSettings.getDeviceName();\n if (deviceName != null) {\n this.dataCaptureWorker.postMessage({\n type: \"device-name\",\n deviceName,\n });\n }\n if (this.blurryRecognitionAvailable) {\n this.activeBlurryRecognitionSymbologies = new Set([\n ...this.activeBlurryRecognitionSymbologies,\n ...activeBlurryRecognitionSymbologies,\n ]);\n }\n this.eventEmitter.emit(\"newScanSettings\", this.scanSettings);\n\n return this;\n }\n\n /**\n * Apply a new set of image settings to the scanner (replacing old settings).\n *\n * @param imageSettings The image configuration object to be applied to the scanner.\n * @returns The updated [[Scanner]] object.\n */\n public applyImageSettings(imageSettings: ImageSettings): Scanner {\n this.imageSettings = imageSettings;\n this.dataCaptureWorker.postMessage({\n type: \"image-settings\",\n imageSettings,\n });\n\n return this;\n }\n\n /**\n * Clear the scanner session.\n *\n * This removes all recognized barcodes/texts from the scanner session and allows them to be scanned again in case a\n * custom *codeDuplicateFilter* and/or *textDuplicateFilter* option was set in the [[ScanSettings]].\n *\n * @returns The updated [[Scanner]] object.\n */\n public clearSession(): Scanner {\n this.dataCaptureWorker.postMessage({\n type: \"clear-session\",\n });\n\n return this;\n }\n\n /**\n * Process a given image using the previously set scanner and image settings,\n * recognizing codes/texts and retrieving the result as a list of barcodes/texts (if any).\n *\n * Multiple requests done without waiting for previous results will be queued and handled in order.\n *\n * If *highQualitySingleFrameMode* is enabled the image will be processed with really accurate barcode internal\n * settings, resulting in much slower but more precise scanning results. This should be used only for single images\n * not part of a continuous video stream.\n *\n * Passing image data as a *Uint8Array* is the fastest option, passing a *HTMLImageElement*\n * will incur in additional operations.\n *\n * Data passed to this function is \"detached\"/\"neutered\" becoming unusable as it's being passed to the external\n * Scandit Data Capture library. You can access the same data once it's returned in the [[ScanResult.imageData]]\n * property.\n *\n * Depending on the current image settings, given *imageData* and scanning execution, any of the following errors\n * could be the rejected result of the returned promise:\n * - `NoImageSettings`\n * - `ImageSettingsDataMismatch`\n * - `ScanditEngineError`\n *\n * @param imageData The image data given as byte array or image element, complying with the previously set\n * image settings.\n * @param highQualitySingleFrameMode Whether to process the image as a high quality single frame.\n * @returns A promise resolving to the [[ScanResult]] object.\n */\n public async processImage(\n imageData: Uint8Array | HTMLImageElement,\n highQualitySingleFrameMode: boolean = false\n ): Promise {\n if (this.imageSettings == null) {\n throw new CustomError({ name: \"NoImageSettings\", message: \"No image settings set up in the scanner\" });\n }\n\n if (imageData instanceof HTMLImageElement) {\n if (this.imageDataConversionContext == null) {\n this.imageDataConversionContext = document.createElement(\"canvas\").getContext(\"2d\");\n }\n this.imageDataConversionContext.canvas.width = imageData.naturalWidth;\n this.imageDataConversionContext.canvas.height = imageData.naturalHeight;\n this.imageDataConversionContext.drawImage(imageData, 0, 0, imageData.naturalWidth, imageData.naturalHeight);\n imageData = new Uint8Array(\n this.imageDataConversionContext.getImageData(0, 0, imageData.naturalWidth, imageData.naturalHeight).data.buffer\n );\n }\n\n let channels: number;\n switch (this.imageSettings.format.valueOf()) {\n case ImageSettings.Format.GRAY_8U:\n channels = 1;\n break;\n case ImageSettings.Format.RGB_8U:\n channels = 3;\n break;\n case ImageSettings.Format.RGBA_8U:\n channels = 4;\n break;\n default:\n channels = 1;\n break;\n }\n\n if (this.imageSettings.width * this.imageSettings.height * channels !== imageData.length) {\n throw new CustomError({\n name: \"ImageSettingsDataMismatch\",\n message: \"The provided image data doesn't match the previously set image settings\",\n });\n }\n\n Scanner.workerScanRequestId++;\n this.workerScanQueueLength++;\n\n return new Promise((resolve, reject) => {\n const workResultEvent: string = `workResult-${Scanner.workerScanRequestId}`;\n const workErrorEvent: string = `workError-${Scanner.workerScanRequestId}`;\n this.eventEmitter.once(\n workResultEvent,\n (\n workResult: { barcodes: BarcodeWASMResult[]; texts: RecognizedTextWASMResult[] },\n returnedImageData: Uint8Array\n ) => {\n this.eventEmitter.removeAllListeners(workErrorEvent);\n this.workerScanQueueLength--;\n resolve(\n new ScanResult(workResult.barcodes, workResult.texts, returnedImageData, this.imageSettings)\n );\n }\n );\n this.eventEmitter.once(workErrorEvent, (error: { errorCode: number; errorMessage: string }, _: Uint8Array) => {\n Logger.log(Logger.Level.ERROR, `Scandit Data Capture error (${error.errorCode}):`, error.errorMessage);\n this.eventEmitter.removeAllListeners(workResultEvent);\n this.workerScanQueueLength--;\n const errorObject: Error = new CustomError({\n name: \"ScanditEngineError\",\n message: `${error.errorMessage} (${error.errorCode})`,\n });\n reject(errorObject);\n });\n this.dataCaptureWorker.postMessage(\n {\n type: \"scan-image\",\n requestId: Scanner.workerScanRequestId,\n data: imageData,\n highQualitySingleFrameMode,\n },\n [(imageData).buffer]\n );\n });\n }\n\n /**\n * @returns Whether the scanner is currently busy processing an image.\n */\n public isBusyProcessing(): boolean {\n return this.workerScanQueueLength !== 0;\n }\n\n /**\n * @returns Whether the scanner has loaded the external Scandit Data Capture library and is ready to scan.\n */\n public isReady(): boolean {\n return this.isReadyToWork;\n }\n\n /**\n * Add the listener function to the listeners array for an event.\n *\n * No checks are made to see if the listener has already been added.\n * Multiple calls passing the same listener will result in the listener being added, and called, multiple times.\n *\n * @param eventName The name of the event to listen to.\n * @param listener The listener function.\n * @returns The updated [[Scanner]] object.\n */\n // tslint:disable-next-line:bool-param-default\n public on(eventName: EventName, listener: ListenerFn): Scanner;\n /**\n * Add the listener function to the listeners array for the [[ready]] event, fired only once when the external\n * Scandit Data Capture library has been loaded and the scanner can thus start to scan barcodes/texts.\n * If the external Scandit Data Capture library has already been loaded the listener is called immediately.\n *\n * No checks are made to see if the listener has already been added.\n * Multiple calls passing the same listener will result in the listener being added, and called, multiple times.\n *\n * @param eventName The name of the event to listen to.\n * @param listener The listener function.\n * @returns The updated [[Scanner]] object.\n */\n public on(eventName: \"ready\", listener: () => void): Scanner;\n public on(eventName: EventName, listener: ListenerFn): Scanner {\n if (eventName === \"ready\") {\n if (this.isReadyToWork) {\n listener();\n } else {\n this.eventEmitter.once(eventName, listener, this);\n }\n } else if (eventName === \"contextCreated\") {\n if (this.licenseKeyFeatures != null) {\n listener(this.licenseKeyFeatures);\n } else {\n this.eventEmitter.once(eventName, listener, this);\n }\n } else {\n this.eventEmitter.on(eventName, listener, this);\n }\n\n return this;\n }\n\n /**\n * *See the [[on]] method.*\n *\n * @param eventName The name of the event to listen to.\n * @param listener The listener function.\n * @returns The updated [[Scanner]] object.\n */\n public addListener(eventName: EventName, listener: ListenerFn): Scanner {\n return this.on(eventName, listener);\n }\n\n /**\n * Create a new parser object.\n *\n * @param dataFormat The format of the input data for the parser.\n * @returns The newly created parser.\n */\n public createParserForFormat(dataFormat: Parser.DataFormat): Parser {\n return new Parser(this, dataFormat);\n }\n\n /**\n * Return the current image settings.\n *\n * Note that modifying this object won't directly apply these settings: the [[applyImageSettings]] method must be\n * called with the updated object.\n *\n * @returns The current image settings.\n */\n public getImageSettings(): ImageSettings | undefined {\n return this.imageSettings;\n }\n\n /**\n * Return the current scan settings.\n *\n * Note that modifying this object won't directly apply these settings: the [[applyScanSettings]] method must be\n * called with the updated object.\n *\n * @returns The current scan settings.\n */\n public getScanSettings(): ScanSettings {\n return this.scanSettings;\n }\n\n /**\n * @hidden\n *\n * Process a given string or byte array using the Scandit Parser library,\n * parsing the data in the given format and retrieving the result as a [[ParserResult]] object.\n *\n * Multiple requests done without waiting for previous results will be queued and handled in order.\n *\n * If parsing of the data fails the returned promise is rejected with a `ScanditEngineError` error.\n *\n * @param dataFormat The format of the given data.\n * @param data The string or byte array containing the data to be parsed.\n * @param options Options for the specific data format parser.\n * @returns A promise resolving to the [[ParserResult]] object.\n */\n public async parse(\n dataFormat: Parser.DataFormat,\n data: string | Uint8Array,\n options?: object\n ): Promise {\n this.workerParseRequestId++;\n\n return new Promise((resolve, reject) => {\n const parseResultEvent: string = `parseResult-${this.workerParseRequestId}`;\n const parseErrorEvent: string = `parseError-${this.workerParseRequestId}`;\n this.eventEmitter.once(parseResultEvent, (result: string) => {\n this.eventEmitter.removeAllListeners(parseErrorEvent);\n const parserResult: ParserResult = {\n jsonString: result,\n fields: [],\n fieldsByName: {},\n };\n (JSON.parse(result)).forEach((parserField) => {\n parserResult.fields.push(parserField);\n parserResult.fieldsByName[parserField.name] = parserField;\n });\n resolve(parserResult);\n });\n this.eventEmitter.once(parseErrorEvent, (error: { errorCode: number; errorMessage: string }) => {\n Logger.log(Logger.Level.ERROR, `Scandit Data Capture error (${error.errorCode}):`, error.errorMessage);\n this.eventEmitter.removeAllListeners(parseResultEvent);\n const errorObject: Error = new CustomError({\n name: \"ScanditEngineError\",\n message: `${error.errorMessage} (${error.errorCode})`,\n });\n reject(errorObject);\n });\n this.dataCaptureWorker.postMessage({\n type: \"parse\",\n requestId: this.workerParseRequestId,\n dataFormat,\n data,\n options: options == null ? \"{}\" : JSON.stringify(options),\n });\n });\n }\n\n /**\n * @hidden\n *\n * Report new camera properties.\n *\n * This ensures optimal settings usage and detailed analytics information.\n *\n * @param cameraType The camera type (facing mode/direction).\n * @param autofocus Whether the camera supports autofocus, by default it's assumed it does.\n * @returns The updated [[Scanner]] object.\n */\n public reportCameraProperties(cameraType: Camera.Type, autofocus: boolean = true): Scanner {\n this.dataCaptureWorker.postMessage({\n type: \"camera-properties\",\n cameraType,\n autofocus,\n });\n\n return this;\n }\n\n /**\n * Remove the specified listener from the given event's listener array.\n *\n * @param eventName The name of the event from which to remove the listener.\n * @param listener The listener function to be removed.\n * @returns The updated [[Scanner]] object.\n */\n public removeListener(eventName: string, listener: ListenerFn): Scanner {\n this.eventEmitter.removeListener(eventName, listener);\n\n return this;\n }\n\n /**\n * Remove all listeners from the given event's listener array.\n *\n * @param eventName The name of the event from which to remove all listeners.\n * @returns The updated [[Scanner]] object.\n */\n public removeAllListeners(eventName: EventName): Scanner {\n this.eventEmitter.removeAllListeners(eventName);\n\n return this;\n }\n\n private handleBlurryTablesUpdate(): void {\n if (this.blurryRecognitionAvailable) {\n return;\n }\n this.blurryRecognitionAvailable = blurryRecognitionPreloader.isBlurryRecognitionAvailable(this.scanSettings);\n if (this.blurryRecognitionAvailable) {\n this.activeBlurryRecognitionSymbologies = new Set([\n ...this.activeBlurryRecognitionSymbologies,\n ...blurryRecognitionPreloader.getEnabledSymbologies(this.scanSettings),\n ]);\n this.dataCaptureWorker.postMessage({\n type: \"scan-settings\",\n settings: this.scanSettings.toJSONString(),\n blurryRecognitionAvailable: true,\n blurryRecognitionRequiresUpdate: true,\n });\n }\n }\n\n private dataCaptureWorkerOnMessage(ev: MessageEvent): void {\n const data: DataCaptureSentMessageData = ev.data;\n\n if (data[0] === \"log\") {\n data[1].data.forEach((dataArgument, index) => {\n if (dataArgument.name != null && dataArgument.message != null) {\n const error: Error = new CustomError({ name: dataArgument.name, message: dataArgument.message });\n error.stack = dataArgument.stack;\n data[1].data[index] = error;\n }\n });\n Logger.log(data[1].level, ...data[1].data);\n\n return;\n }\n\n if (data[0] === \"library-loaded\") {\n this.isReadyToWork = true;\n this.eventEmitter.emit(\"ready\");\n\n return;\n }\n\n if (data[1] != null) {\n switch (data[0]) {\n case \"context-created\":\n this.licenseKeyFeatures = data[1];\n this.eventEmitter.emit(\"contextCreated\", this.licenseKeyFeatures);\n break;\n case \"work-result\":\n this.eventEmitter.emit(`workResult-${data[1].requestId}`, data[1].result, data[2]);\n break;\n case \"work-error\":\n this.eventEmitter.emit(`workError-${data[1].requestId}`, data[1].error, data[2]);\n break;\n case \"parse-result\":\n this.eventEmitter.emit(`parseResult-${data[1].requestId}`, data[1].result);\n break;\n case \"parse-error\":\n this.eventEmitter.emit(`parseError-${data[1].requestId}`, data[1].error);\n break;\n // istanbul ignore next\n default:\n break;\n }\n }\n }\n}\n","import * as CSS from \"csstype\";\n\nimport { cameraImage, folderImage } from \"./assets/base64assets\";\n\n/**\n * A configuration object for Single Image Mode options for multiple platforms.\n */\n\nexport interface SingleImageModeSettings {\n /**\n * Settings to be applied when the device is a desktop/laptop.\n * On these devices the user will be requested to pick an image from the filesystem (see\n * [https://w3c.github.io/html-media-capture/](https://w3c.github.io/html-media-capture/).\n */\n desktop?: SingleImageModePlatformSettings;\n /**\n * Settings to be applied when the device is a smartphone/tablet.\n * On these devices the user will be requested to take a picture directly via the camera (see\n * [https://w3c.github.io/html-media-capture/](https://w3c.github.io/html-media-capture/).\n */\n mobile?: SingleImageModePlatformSettings;\n}\n\n/**\n * A configuration object for Single Image Mode options for a specific platform.\n *\n * The Single Image Mode screen is composed of information at the top and a button at the bottom.\n */\nexport interface SingleImageModePlatformSettings {\n /**\n *
Default = [[UsageStrategy.FALLBACK]]
\n *\n * Execution strategy (when to run).\n *\n * By default use only if the OS/browser doesn't support continuous camera video stream scanning.\n */\n usageStrategy?: SingleImageModeSettings.UsageStrategy;\n /**\n *
Default = <HTMLElement>
\n *\n * HTML element to override information contents.\n */\n informationElement?: HTMLElement;\n /**\n *
Default = <SVGElement>
\n *\n * HTML/SVG element to override button contents (SVG recommended).\n */\n buttonElement?: HTMLElement | SVGElement;\n /**\n *
Default = { backgroundColor: \"#333333\" }
\n *\n * [CSS properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Properties_Reference) to override\n * the surrounding container's [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style).\n */\n containerStyle?: CSS.Properties;\n /**\n *
Default = { color: \"#FFFFFF\" }
\n *\n * [CSS properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Properties_Reference) to override\n * the information text's [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style).\n */\n informationStyle?: CSS.Properties;\n /**\n *
Default = { borderColor: \"#FFFFFF\", color: \"#FFFFFF\", fill: \"#FFFFFF\" }\n *
\n *\n * [CSS properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Properties_Reference) to override\n * the button's [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style).\n *\n * Note: *borderColor* is used for the border, *color* for the flash animation, *fill* for the SVG icon.\n */\n buttonStyle?: CSS.Properties;\n}\n\nexport namespace SingleImageModeSettings {\n /**\n * @hidden\n *\n * Create a default [[SingleImageModePlatformSettings]] object.\n *\n * @param text The text to display at the top.\n * @param base64image The image to display at the bottom as a button.\n * @returns The generated [[SingleImageModePlatformSettings]] object.\n */\n function getDefaultSingleImageModeSettings(text: string, base64image: string): SingleImageModePlatformSettings {\n return {\n informationElement: document.createRange().createContextualFragment(text).firstElementChild,\n buttonElement: document.createRange().createContextualFragment(atob(base64image)).firstElementChild,\n containerStyle: { backgroundColor: \"#333333\" },\n informationStyle: { color: \"#FFFFFF\" },\n buttonStyle: { borderColor: \"#FFFFFF\", color: \"#FFFFFF\", fill: \"#FFFFFF\" },\n };\n }\n /**\n * Single Image Mode usage strategy.\n */\n export enum UsageStrategy {\n /**\n * Never use Single Image Mode (an error is thrown on [[BarcodePicker]] creation if the OS/browser doesn't support\n * continuous camera video stream scanning).\n */\n NEVER = \"never\",\n /**\n * Use Single Image Mode as fallback: only if the OS/browser doesn't support continuous camera video stream\n * scanning.\n */\n FALLBACK = \"fallback\",\n /**\n * Force Single Image Mode over continuous camera video stream scanning in all situations.\n */\n ALWAYS = \"always\",\n }\n\n /**\n * @hidden\n */\n export const defaultDesktop: SingleImageModePlatformSettings = getDefaultSingleImageModeSettings(\n \"

To scan:
1. Click on the folder icon
2. Select the picture to scan

\",\n folderImage\n );\n /**\n * @hidden\n */\n export const defaultMobile: SingleImageModePlatformSettings = getDefaultSingleImageModeSettings(\n \"

To scan:
1. Tap the camera icon
2. Take a picture of the code(s)

\",\n cameraImage\n );\n}\n","// TODO: gracefully load assets from files inside build process\nexport const beepSound: string =\n // tslint:disable-next-line:max-line-length\n \"data:audio/mp3;base64,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4LAkByw1k3LVZpl+pNlGNZem5stM2Wr6j1Z9AMMBYjily+nv/WqtU3SzFdqLW+g9ay+GvQb2oJMhV52tK+eZCvrd0BNqdIzFngHBYCQQIIaJ1PtUjVq//qP+ohdCZhgRJDlF/////zoi5C6lVAABQCoDYQD4ZCwVB9kTFKkiv9NQcExMLk3ipgtxrzPf8LZgdNYHsgYIPgbIgAEXEAwCgpAie4XVi5BaBlBUxSQfMO7yfQPFcsGReNjIgX0QvmASaIgQc3SJkgpqr+myNNNNJSSX/n1Hw/4CgwqkXN3qSMTVX//U2skkQuTq9JJEy/+ybvT6p1IjCCpfiL/+SuQupVQAAUAqA2EA+GQsFQfZExSpIr/TUHBMTC5N4qYLca8z3/C2YHTWB7IGCD4GyIABFxAMAoKQInuF1YuQWgZQVMUkHzDu8n0DxXLBkXjYyIF9EL5gEmiIEHN0iZIKaq/psjTTTSUkl/59R8P+AoMKpFzd6kjE1V//1NrJJELk6vSSRMv/sm70+qdSIwgqX4i//klMQU1FMy45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+7IAAA/wAABpBwAACAAADSDgAAEAAAGkAAAAIAAANIAAAARMQU1FMy45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk5LjVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=\";\nexport const scanditLogoImage: string =\n // tslint:disable-next-line:max-line-length\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUcAAAAhCAMAAAB9TZmqAAABgFBMVEVHcEyCgoL+/v6Kior///+FhYXW1tbn5+eAgIDp6en+/v6BgYH///////////+BgYH///////////+wsLCCgoL4+PiBgYH///+srKyAgID////s7OyCgoKBgYGDg4P///+BgYH6+vqBgYH////MzMz39/f///+BgYGbm5uDg4OMjIyBgYG+vr6QkJD///////+BgYGDg4P+/v7Hx8eOjo6BgYH09PT7+/v///////+MjIz9/f3////////Y2Nj6+vrPz8+BgYH9/f3///+3t7f///+Ghob///+AgICDg4P///+IiIj///////+CgoL6+vqmpqb////////t7e3////////////b29vj4+PNzc3y8vLl5eXv7+/U1NTDw8O8vLyRkZH////x8fGJiYmZmZnDw8Pf39/S0tLT09PCwsKfn5/4+PjV1dWlpaWwsLCjo6OsrKzj4+OZmZnCwsLq6uqurq7///+AgICfn5+Tk5OFhYXCwsLJycmYmJjU1NS/v79wPZvPAAAAdnRSTlMAcvoPxiTEAsby9L8p/eusNEoJBlEZ2Pb67nz25fVGOv1Eh+RW7oyC/ToXzkALzmqTe8BJHmf9Uu+n/B2Dnt7/+6MvEP2ZKrmzXHIx2dScYv6wkf3o3SL+/uDhqLbnuNrVV4u4ie7LNGlhweeUnrTsZOjkis/PjpWtfQAACfhJREFUaN7tmXlbGksWxtlMEwRUVjUgrSQqEAQccXdQQRUVVYxqoolqjGa9WW7uW25Xv/pUdxe9q2TM88zMM55/aE5V1/Lr03XeqrZYHuzBHuzB/vPmX+hzgdmcyh/sXrIx95LKPQ64/JoG5oaHHVztzya8Ssl0rV1PfO6A03YbR4xdzUBnblbgXphZm2hv+W0z9bW0+H7tjmL9d2w6VDPon7XX/CsuxR2fTcr1hervk+oWBM9KDa0bLqVys5pOn1vTrxfvG6SrCT3HpwNiS3O1Gzt/E8dN5RHVadNAsL6aXB9ch3/9zWyUdDF/Bqh8/ngm2Shpkp+QB49xEdJy3MbgW4UjaVQ42nola73ywDWt5XhKpIcWbP4h9F3CIOuOEOodiwNz4wvdDsDW/N/PMYPhb1GiGOMY82CiSeWWObYgXsI2SWo4tq7jusOco9xC7yAG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\";\nexport const laserActiveImage: string =\n // tslint:disable-next-line:max-line-length\n \"data:image/png;base64,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\";\nexport const laserPausedImage: string =\n // tslint:disable-next-line:max-line-length\n \"data:image/png;base64,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\";\nexport const cameraImage: string =\n // tslint:disable-next-line:max-line-length\n \"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MCA1MCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Ik0xNyA1Yy0uOCAwLTEuNC41LTEuOCAxLS40LjUtLjcgMS0xLjEgMS41cy0uNiAxLS44IDEuM2wtLjMuM0gzYy0xLjYgMC0zIDEuNC0zIDN2MjdjMCAxLjYgMS40IDMgMyAzaDQ0YzEuNiAwIDMtMS40IDMtM3YtMjdjMC0xLjYtMS40LTMtMy0zSDM3bC0uMy0uM2MtLjItLjMtLjUtLjctLjgtMS4ycy0uNi0xLTEuMS0xLjVjLS40LS41LTEtMS0xLjgtMXptMCAyaDE2Yy0uMSAwIC4xIDAgLjMuM3MuNS44LjggMS4zLjcgMSAxLjEgMS41IDEgMSAxLjggMWgxMGMuNiAwIDEgLjQgMSAxdjI3YzAgLjYtLjQgMS0xIDFIM2MtLjYgMC0xLS40LTEtMXYtMjdjMC0uNi40LTEgMS0xaDEwYy44IDAgMS40LS41IDEuOC0xcy44LTEgMS4xLTEuNS42LTEgLjgtMS4yLjQtLjMuMy0uM3ptOCA0Yy03LjIgMC0xMyA1LjgtMTMgMTNzNS44IDEzIDEzIDEzIDEzLTUuOCAxMy0xMy01LjgtMTMtMTMtMTN6bTAgMmM2LjEgMCAxMSA0LjkgMTEgMTFzLTQuOSAxMS0xMSAxMS0xMS00LjktMTEtMTEgNC45LTExIDExLTExek04IDE0Yy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMmgxYzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMnptMTcgMWMtNSAwLTkgNC05IDlzNCA5IDkgOSA5LTQgOS05LTQtOS05LTl6bTAgMmMzLjkgMCA3IDMuMSA3IDdzLTMuMSA3LTcgNy03LTMuMS03LTcgMy4xLTcgNy03eiIvPjwvc3ZnPgo=\";\nexport const folderImage: string =\n // tslint:disable-next-line:max-line-length\n \"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzIgMTcyIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iI2ZmZiI+PHBhdGggZD0iTTEwLjMgMTMuOEM0LjcgMTMuOCAwIDE4LjQgMCAyNHYxMjdjLS4yLjctLjEgMS42LjIgMi4zIDEgNC43IDUuMiA4LjMgMTAuMSA4LjNoMTM0LjJjNS4xIDAgOS4zLTMuOSAxMC04LjhsLjItLjd2LS4ybC4xLS41di0uMWwxNy05Mi4zLjItLjN2LS4zYzAtNS43LTQuNy0xMC4zLTEwLjMtMTAuM1YzNy44YzAtNS42LTQuNy0xMC4zLTEwLjMtMTAuM0g2MmE3IDcgMCAwIDEtMS0xYy0uOS0xLTEuOS0yLjUtMy00LjItMS0xLjgtMi4yLTMuNi0zLjYtNS4ycy0zLjQtMy4zLTYuMi0zLjN6bTAgNi44aDM3LjljLS4zIDAgLjIgMCAxIDEgLjkgMSAxLjkgMi42IDMgNC4zYTQxIDQxIDAgMCAwIDMuNiA1LjJjMS40IDEuNiAzLjMgMy4zIDYuMSAzLjNoODkuNWMxLjkgMCAzLjQgMS41IDMuNCAzLjR2MTAuNEgyNy41Yy01LjQgMC05LjcgNC4zLTEwIDkuNmgtLjJsLS4xLjctMTAuMyA1NS43VjI0YzAtMiAxLjUtMy41IDMuNC0zLjV6TTI3LjUgNTVoMTM0LjJjMiAwIDMuNCAxLjUgMy40IDMuNWwtMTYuOSA5MS4ydi4zbC0uMi40VjE1MWwtLjIuNnYuN2EzLjQgMy40IDAgMCAxLTMuMyAyLjRIMTAuM2MtMiAwLTMuNC0xLjUtMy40LTMuNGwxNy05Mi4zLjItLjN2LS4zYzAtMiAxLjUtMy41IDMuNC0zLjV6Ii8+PC9zdmc+Cg==\";\nexport const switchCameraImage: string =\n // tslint:disable-next-line:max-line-length\n \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Ik0yNi4xNCA4YTQuOTkgNC45OSAwIDAgMC00LjE2IDIuMjI3bC0yLjIxOCAzLjMyOGExLjAwMyAxLjAwMyAwIDAgMS0uODMyLjQ0NUgxOHYtMmMwLTEuMTAyLS44OTgtMi0yLTJoLTZjLTEuMTAyIDAtMiAuODk4LTIgMnYySDVjLTEuNjUyIDAtMyAxLjM0OC0zIDN2MzZjMCAxLjY1MiAxLjM0OCAzIDMgM2g1NGMxLjY1MiAwIDMtMS4zNDggMy0zVjE3YzAtMS42NTItMS4zNDgtMy0zLTNoLTN2LTFjMC0xLjEwMi0uODk4LTItMi0yaC0yYy0xLjEwMiAwLTIgLjg5OC0yIDJ2MWgtNC45MzhhLjk5Ny45OTcgMCAwIDEtLjgyOC0uNDQxbC0yLjI1NC0zLjM1MkE1LjAwMSA1LjAwMSAwIDAgMCAzNy44MjggOHptMCAyaDExLjY4OGMxIDAgMS45MzQuNDk2IDIuNDkyIDEuMzI0bDIuMjU0IDMuMzUyQTIuOTk4IDIuOTk4IDAgMCAwIDQ1LjA2MyAxNkg1OWMuNTUgMCAxIC40NSAxIDF2MzZjMCAuNTUtLjQ1IDEtMSAxSDVjLS41NSAwLTEtLjQ1LTEtMVYxN2MwLS41NS40NS0xIDEtMWgxMy45M2MxLjAwNCAwIDEuOTM3LS41IDIuNDk2LTEuMzM2bDIuMjE5LTMuMzI4QTIuOTk4IDIuOTk4IDAgMCAxIDI2LjE0IDEwek0xMCAxMmg2djJoLTZ6bTQyIDFoMnYxaC0yem0tMjAgNWMtNS4yOSAwLTEwLjI0NiAyLjgzNi0xMi45MzQgNy4zOThhLjk5Ni45OTYgMCAwIDAgLjM1NiAxLjM2OC45OTcuOTk3IDAgMCAwIDEuMzY3LS4zNTZBMTMuMDY1IDEzLjA2NSAwIDAgMSAzMiAyMGM3LjE2OCAwIDEzIDUuODMyIDEzIDEzIDAgLjE4OC0uMDE2LjM3NS0uMDIzLjU2M2wtMi4yNy0yLjI3YTEgMSAwIDEgMC0xLjQxNCAxLjQxNGw0IDRjLjE5NS4xOTUuNDUuMjkzLjcwNy4yOTNhLjk5My45OTMgMCAwIDAgLjcwNy0uMjkzbDQtNGExIDEgMCAxIDAtMS40MTQtMS40MTRsLTIuMzIgMi4zMTZjLjAxMS0uMjAzLjAyNy0uNDA2LjAyNy0uNjA5IDAtOC4yNy02LjczLTE1LTE1LTE1ek0xOCAyOWExIDEgMCAwIDAtLjcwNy4yOTNsLTQgNGExIDEgMCAxIDAgMS40MTQgMS40MTRsMi4zMTMtMi4zMTZjLS4wMDguMjAzLS4wMi40MDYtLjAyLjYwOSAwIDguMjcgNi43MyAxNSAxNSAxNSA1LjM2NyAwIDEwLjM2LTIuODk4IDEzLjAyNy03LjU2M2EuOTk5Ljk5OSAwIDEgMC0xLjczNC0uOTkyQTEzLjA0MiAxMy4wNDIgMCAwIDEgMzIgNDZjLTcuMTY4IDAtMTMtNS44MzItMTMtMTMgMC0uMTg4LjAxMi0uMzc5LjAyLS41NjZsMi4yNzMgMi4yNzNjLjE5NS4xOTUuNDUuMjkzLjcwNy4yOTNhMSAxIDAgMCAwIC43MDctMS43MDdsLTQtNEExIDEgMCAwIDAgMTggMjl6bTkgMmMtLjU1NSAwLTEgLjQ0NS0xIDF2MmMwIC41NTUuNDQ1IDEgMSAxIC41NTUgMCAxLS40NDUgMS0xdi0yYzAtLjU1NS0uNDQ1LTEtMS0xem01IDBjLS41NTUgMC0xIC40NDUtMSAxdjJjMCAuNTU1LjQ0NSAxIDEgMSAuNTU1IDAgMS0uNDQ1IDEtMXYtMmMwLS41NTUtLjQ0NS0xLTEtMXptNSAwYy0uNTU1IDAtMSAuNDQ1LTEgMXYyYzAgLjU1NS40NDUgMSAxIDEgLjU1NSAwIDEtLjQ0NSAxLTF2LTJjMC0uNTU1LS40NDUtMS0xLTF6Ii8+PC9zdmc+Cg==\";\nexport const toggleTorchImage: string =\n // tslint:disable-next-line:max-line-length\n \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Ik0zMC45MzggMWMtLjQ0Ni4wMi0xIC4yMy0xLjMxMy42NTZhMS4zMDIgMS4zMDIgMCAwIDAtLjA2My4wOTRsLTYuNzggMTIuMDYzLS4wNjMuMDkzYy0uNTU1Ljc4NS0uNzI3IDEuNzMtLjU5NCAyLjY1NmwtMjAuNSAyMi41NjMtLjAzMS4wMzFjLTEuMDcgMS4yMTktLjY2NCAzLjAxMi40NjggNC4xNTdoLjAzMmw0LjU5NCA0LjU5M2MuNTcuNTcgMS4yNjUuOTUgMiAxLjA2My43MzQuMTEzIDEuNTQ2LS4wNTUgMi4xNTYtLjU5NGguMDMxbDIyLjU2My0yMC41Yy45My4xMjkgMS44Ny0uMDQzIDIuNjU2LS41OTQuMDItLjAxNS4wNDMtLjAxNS4wNjItLjAzMWwuMDYzLS4wMzEgMTIuMDMxLTYuNzgyYy4wMzEtLjAxOS4wNjMtLjAzOS4wOTQtLjA2Mi40MjItLjMxMy42MzYtLjg2Ny42NTYtMS4zMTMuMDItLjQ0NS0uMDk4LS44NC0uMjUtMS4yNS0uMzA1LS44Mi0uODI4LTEuNjktMS41MzEtMi42ODctMS40MDctMS45OTItMy41MTYtNC4zOS01Ljc1LTYuNjI1LTIuMjM1LTIuMjM0LTQuNjAyLTQuMzEzLTYuNTk0LTUuNzE5LS45OTYtLjcwMy0xLjg2Ny0xLjIyNi0yLjY4OC0xLjUzMS0uNDEtLjE1Mi0uODA0LS4yNy0xLjI1LS4yNXptLjIxOCAyLjAzMWMuMDc4LjAxMi4xNTMuMDI0LjM0NC4wOTQuNTIuMTkxIDEuMy42MzMgMi4yMTkgMS4yODEgMS44MzYgMS4yOTcgNC4xNjggMy4zNTYgNi4zNDMgNS41MzIgMi4xNzYgMi4xNzUgNC4yMzUgNC40NzYgNS41MzIgNi4zMTIuNjQ4LjkxOCAxLjA5IDEuNzMgMS4yODEgMi4yNS4wNy4xOTEuMDgyLjI2Ni4wOTQuMzQ0TDM1LjEyNSAyNS41M2EuOTQ5Ljk0OSAwIDAgMC0uMTI1LjA5NGMtLjMxNi4yNDItLjg2LjMyOC0xLjQzOC4yMTlhMS4wNTYgMS4wNTYgMCAwIDAtLjE4Ny0uMDYzIDMuMTEzIDMuMTEzIDAgMCAxLTEuNDM4LS44MTJsLTYuOTA2LTYuOTA3Yy0uOTc2LS45ODQtMS4xMjktMi40MzctLjY1Ni0zLjA2MmEuNTMyLjUzMiAwIDAgMCAuMDk0LS4wOTR6bS04LjIxOCAxNS41OTRjLjE5OS4yOTcuNDMuNTg2LjY4Ny44NDRsNi45MDYgNi45MDZjLjI2Mi4yNjIuNTQzLjQ4OC44NDQuNjg4TDkuNTMxIDQ2LjkwNmMtLjA4Ni4wNzgtLjI1NC4xMzctLjUzMS4wOTQtLjI3Ny0uMDQzLS42MjktLjIyMy0uOTA2LS41TDMuNSA0MS45MDZjLS41NTktLjU2Ni0uNTYzLTEuMjYxLS40MDYtMS40Mzd6bS0yLjg3NSA4LjMxM2MtLjc3IDAtMS41NDMuMjkyLTIuMTI1Ljg3NWwtMi4xMjUgMi4xMjVhMy4wMjMgMy4wMjMgMCAwIDAgMCA0LjI1IDMuMDIzIDMuMDIzIDAgMCAwIDQuMjUgMGwyLjEyNS0yLjEyNmEzLjAyMyAzLjAyMyAwIDAgMCAwLTQuMjUgMy4wMDIgMy4wMDIgMCAwIDAtMi4xMjUtLjg3NXptMCAyYy4yNTMgMCAuNTE5LjA4Mi43MTguMjguMzk5LjQuMzk5IDEuMDQgMCAxLjQzOGwtMi4xMjUgMi4xMjVhMS4wMTQgMS4wMTQgMCAwIDEtMS40MzcgMCAxLjAxNCAxLjAxNCAwIDAgMSAwLTEuNDM3Yy40MjItLjQyMiAxLjY5OS0xLjY5NiAyLjEyNS0yLjEyNS4xOTktLjIuNDY1LS4yODIuNzE4LS4yODJ6Ii8+PC9zdmc+Cg==\";\n","require('../../modules/es6.symbol');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertySymbols;\n","module.exports = require(\"core-js/library/fn/object/get-own-property-symbols\");","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","require('../../modules/es7.object.get-own-property-descriptors');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertyDescriptors;\n","module.exports = require(\"core-js/library/fn/object/get-own-property-descriptors\");","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","/**\n * A configuration object to request custom capabilities when accessing a camera.\n */\nexport interface CameraSettings {\n /**\n * The preferred video frame resolution.\n *\n * Not guaranteed to be precise: depending on device, browser and camera it could be different/lower than requested.\n *\n * Note that higher resolutions lead to slower processing times and higher memory requirements.\n */\n readonly resolutionPreference: CameraSettings.ResolutionPreference;\n}\n\nexport namespace CameraSettings {\n /**\n * Video frame resolution request.\n *\n * Not guaranteed to be precise: depending on device, browser and camera it could be different/lower than requested.\n *\n * Note that higher resolutions lead to slower processing times and higher memory requirements.\n */\n export enum ResolutionPreference {\n /**\n * Resolution of around 3840 x 2160.\n */\n ULTRA_HD = \"ultra-hd\",\n /**\n * Resolution of around 1920 x 1080.\n */\n FULL_HD = \"full-hd\",\n /**\n * Resolution of around 1280 x 720.\n */\n HD = \"hd\",\n }\n}\n","import { BrowserHelper } from \"../browserHelper\";\nimport { Camera } from \"../camera\";\nimport { CameraAccess } from \"../cameraAccess\";\nimport { CameraSettings } from \"../cameraSettings\";\nimport { CustomError } from \"../customError\";\nimport { Logger } from \"../logger\";\nimport { Scanner } from \"../scanner\";\nimport { GUI } from \"./gui\";\n\nexport enum MeteringMode {\n CONTINUOUS = \"continuous\",\n MANUAL = \"manual\",\n NONE = \"none\",\n SINGLE_SHOT = \"single-shot\",\n}\n\nexport enum CameraResolutionConstraint {\n ULTRA_HD = 0,\n FULL_HD = 1,\n HD = 2,\n SD = 3,\n NONE = 4,\n}\n\nexport interface ExtendedMediaTrackCapabilities extends MediaTrackCapabilities {\n focusMode?: MeteringMode[];\n torch?: boolean;\n zoom?: {\n max: number;\n min: number;\n step: number;\n };\n}\n\nexport interface ExtendedMediaTrackConstraintSet extends MediaTrackConstraintSet {\n focusMode?: MeteringMode;\n torch?: boolean;\n zoom?: number;\n}\n\n/**\n * A barcode picker utility class used to handle camera interaction.\n */\nexport class CameraManager {\n private static readonly cameraAccessTimeoutMs: number = 4000;\n private static readonly videoMetadataCheckTimeoutMs: number = 4000;\n private static readonly videoMetadataCheckIntervalMs: number = 50;\n private static readonly getCapabilitiesTimeoutMs: number = 500;\n private static readonly autofocusIntervalMs: number = 1500;\n private static readonly manualToAutofocusResumeTimeoutMs: number = 5000;\n private static readonly manualFocusWaitTimeoutMs: number = 400;\n private static readonly noCameraErrorParameters: { name: string; message: string } = {\n name: \"NoCameraAvailableError\",\n message: \"No camera available\",\n };\n private static readonly notReadableErrorParameters: { name: string; message: string } = {\n name: \"NotReadableError\",\n message: \"Could not initialize camera correctly\",\n };\n\n public selectedCamera?: Camera;\n public activeCamera?: Camera;\n public activeCameraSettings?: CameraSettings;\n\n private readonly scanner: Scanner;\n private readonly triggerCameraAccessError: (error: Error) => void;\n private readonly gui: GUI;\n private readonly postStreamInitializationListener: () => void = this.postStreamInitialization.bind(this);\n private readonly videoResizeListener: () => void = this.videoResizeHandle.bind(this);\n private readonly videoTrackEndedListener: () => void = this.videoTrackEndedRecovery.bind(this);\n private readonly videoTrackMuteListener: (event: Event) => void = this.videoTrackMuteRecovery.bind(this);\n private readonly triggerManualFocusListener: () => void = this.triggerManualFocus.bind(this);\n private readonly triggerZoomStartListener: () => void = this.triggerZoomStart.bind(this);\n private readonly triggerZoomMoveListener: () => void = this.triggerZoomMove.bind(this);\n private readonly checkCameraVideoStreamAccessIfVisibleListener: () => void =\n this.checkCameraVideoStreamAccessIfVisible.bind(this);\n\n private cameraType: Camera.Type;\n private selectedCameraSettings?: CameraSettings;\n private mediaStream?: MediaStream;\n private mediaTrackCapabilities?: ExtendedMediaTrackCapabilities;\n private cameraAccessTimeout: number;\n private cameraAccessRejectCallback?: (reason?: Error) => void;\n private videoMetadataCheckInterval: number;\n private getCapabilitiesTimeout: number;\n private autofocusInterval: number;\n private manualToAutofocusResumeTimeout: number;\n private manualFocusWaitTimeout: number;\n private cameraSwitcherEnabled: boolean;\n private torchToggleEnabled: boolean;\n private tapToFocusEnabled: boolean;\n private pinchToZoomEnabled: boolean;\n private pinchToZoomDistance?: number;\n private pinchToZoomInitialZoom: number;\n private torchEnabled: boolean;\n private cameraInitializationPromise?: Promise;\n private abortedCameraInitializationResolveCallback?: (value: void | PromiseLike) => void;\n private cameraSetupPromise?: Promise;\n\n constructor(scanner: Scanner, triggerCameraAccessError: (error: Error) => void, gui: GUI) {\n this.scanner = scanner;\n this.triggerCameraAccessError = triggerCameraAccessError;\n this.gui = gui;\n this.cameraType = Camera.Type.BACK;\n }\n\n public setInteractionOptions(\n cameraSwitcherEnabled: boolean,\n torchToggleEnabled: boolean,\n tapToFocusEnabled: boolean,\n pinchToZoomEnabled: boolean\n ): void {\n this.cameraSwitcherEnabled = cameraSwitcherEnabled;\n this.torchToggleEnabled = torchToggleEnabled;\n this.tapToFocusEnabled = tapToFocusEnabled;\n this.pinchToZoomEnabled = pinchToZoomEnabled;\n }\n\n public isCameraSwitcherEnabled(): boolean {\n return this.cameraSwitcherEnabled;\n }\n\n public async setCameraSwitcherEnabled(enabled: boolean): Promise {\n this.cameraSwitcherEnabled = enabled;\n\n if (this.cameraSwitcherEnabled) {\n const cameras: Camera[] = await CameraAccess.getCameras();\n if (cameras.length > 1) {\n this.gui.setCameraSwitcherVisible(true);\n }\n } else {\n this.gui.setCameraSwitcherVisible(false);\n }\n }\n\n public isTorchToggleEnabled(): boolean {\n return this.torchToggleEnabled;\n }\n\n public setTorchToggleEnabled(enabled: boolean): void {\n this.torchToggleEnabled = enabled;\n\n if (this.torchToggleEnabled) {\n if (this.mediaStream != null && this.mediaTrackCapabilities?.torch === true) {\n this.gui.setTorchTogglerVisible(true);\n }\n } else {\n this.gui.setTorchTogglerVisible(false);\n }\n }\n\n public isTapToFocusEnabled(): boolean {\n return this.tapToFocusEnabled;\n }\n\n public setTapToFocusEnabled(enabled: boolean): void {\n this.tapToFocusEnabled = enabled;\n\n if (this.mediaStream != null) {\n if (this.tapToFocusEnabled) {\n this.enableTapToFocusListeners();\n } else {\n this.disableTapToFocusListeners();\n }\n }\n }\n\n public isPinchToZoomEnabled(): boolean {\n return this.pinchToZoomEnabled;\n }\n\n public setPinchToZoomEnabled(enabled: boolean): void {\n this.pinchToZoomEnabled = enabled;\n\n if (this.mediaStream != null) {\n if (this.pinchToZoomEnabled) {\n this.enablePinchToZoomListeners();\n } else {\n this.disablePinchToZoomListeners();\n }\n }\n }\n\n public setInitialCameraType(cameraType: Camera.Type): void {\n this.cameraType = cameraType;\n }\n\n public async setCameraType(cameraType: Camera.Type): Promise {\n this.setInitialCameraType(cameraType);\n const mainCameraForType: Camera | undefined = CameraAccess.getMainCameraForType(\n await CameraAccess.getCameras(),\n cameraType\n );\n if (mainCameraForType != null && mainCameraForType !== this.selectedCamera) {\n return this.initializeCameraWithSettings(mainCameraForType, this.selectedCameraSettings);\n }\n }\n\n public setSelectedCamera(camera?: Camera): void {\n this.selectedCamera = camera;\n }\n\n public setSelectedCameraSettings(cameraSettings?: CameraSettings): void {\n this.selectedCameraSettings = cameraSettings;\n }\n\n public async setupCameras(): Promise {\n if (this.cameraSetupPromise != null) {\n return this.cameraSetupPromise;\n }\n this.cameraSetupPromise = this.setupCamerasAndStream();\n\n return this.cameraSetupPromise;\n }\n\n public async stopStream(cameraInitializationFailure: boolean = false): Promise {\n if (this.activeCamera != null) {\n this.activeCamera.currentResolution = undefined;\n }\n\n this.activeCamera = undefined;\n\n if (this.mediaStream != null) {\n Logger.log(\n Logger.Level.DEBUG,\n `Stop camera video stream access${cameraInitializationFailure ? \" (abort access detection)\" : \"\"}:`,\n this.mediaStream\n );\n document.removeEventListener(\"visibilitychange\", this.checkCameraVideoStreamAccessIfVisibleListener);\n\n window.clearTimeout(this.cameraAccessTimeout);\n window.clearInterval(this.videoMetadataCheckInterval);\n window.clearTimeout(this.getCapabilitiesTimeout);\n window.clearTimeout(this.manualFocusWaitTimeout);\n window.clearTimeout(this.manualToAutofocusResumeTimeout);\n window.clearInterval(this.autofocusInterval);\n\n // Pause video and asynchronously stop tracks to prevent bug on some Android devices freezing the camera on Chrome\n this.gui.videoElement.pause();\n\n return new Promise((resolve) => {\n setTimeout(() => {\n this.mediaStream?.getVideoTracks().forEach((track) => {\n track.removeEventListener(\"ended\", this.videoTrackEndedListener);\n track.stop();\n });\n this.gui.videoElement.srcObject = null;\n this.mediaStream = undefined;\n this.mediaTrackCapabilities = undefined;\n if (!cameraInitializationFailure) {\n this.abortedCameraInitializationResolveCallback?.();\n }\n resolve();\n }, 0);\n });\n }\n }\n\n public async applyCameraSettings(cameraSettings?: CameraSettings): Promise {\n this.selectedCameraSettings = cameraSettings;\n\n if (this.activeCamera == null) {\n throw new CustomError(CameraManager.noCameraErrorParameters);\n }\n\n return this.initializeCameraWithSettings(this.activeCamera, cameraSettings);\n }\n\n public async reinitializeCamera(): Promise {\n if (this.activeCamera == null) {\n // If the initial camera isn't active yet, do nothing: if and when the camera is later confirmed to be the correct\n // (main with wanted type or only) one this method will be called again after the camera is set to be active\n Logger.log(Logger.Level.DEBUG, \"Camera reinitialization delayed\");\n } else {\n Logger.log(Logger.Level.DEBUG, \"Reinitialize camera:\", this.activeCamera);\n try {\n await this.initializeCameraWithSettings(this.activeCamera, this.activeCameraSettings);\n } catch (error) {\n Logger.log(Logger.Level.WARN, \"Couldn't access camera:\", this.activeCamera, error);\n this.triggerCameraAccessError(error);\n throw error;\n }\n }\n }\n\n public async initializeCameraWithSettings(camera: Camera, cameraSettings?: CameraSettings): Promise {\n if (this.cameraInitializationPromise != null) {\n await this.cameraInitializationPromise;\n }\n this.setSelectedCamera(camera);\n this.selectedCameraSettings = this.activeCameraSettings = cameraSettings;\n this.cameraInitializationPromise = this.initializeCameraAndCheckUpdatedSettings(camera);\n\n return this.cameraInitializationPromise;\n }\n\n public async setTorchEnabled(enabled: boolean): Promise {\n if (this.mediaStream != null && this.mediaTrackCapabilities?.torch === true) {\n this.torchEnabled = enabled;\n const videoTracks: MediaStreamTrack[] = this.mediaStream.getVideoTracks();\n // istanbul ignore else\n if (videoTracks.length !== 0 && typeof videoTracks[0].applyConstraints === \"function\") {\n await videoTracks[0].applyConstraints({ advanced: [{ torch: enabled }] });\n }\n }\n }\n\n public async toggleTorch(): Promise {\n this.torchEnabled = !this.torchEnabled;\n await this.setTorchEnabled(this.torchEnabled);\n }\n\n public async setZoom(zoomPercentage: number, currentZoom?: number): Promise {\n if (this.mediaStream != null && this.mediaTrackCapabilities?.zoom != null) {\n const videoTracks: MediaStreamTrack[] = this.mediaStream.getVideoTracks();\n // istanbul ignore else\n if (videoTracks.length !== 0 && typeof videoTracks[0].applyConstraints === \"function\") {\n const zoomRange: number = this.mediaTrackCapabilities.zoom.max - this.mediaTrackCapabilities.zoom.min;\n const targetZoom: number = Math.max(\n this.mediaTrackCapabilities.zoom.min,\n Math.min(\n (currentZoom ?? this.mediaTrackCapabilities.zoom.min) + zoomRange * zoomPercentage,\n this.mediaTrackCapabilities.zoom.max\n )\n );\n await videoTracks[0].applyConstraints({\n advanced: [{ zoom: targetZoom }],\n });\n }\n }\n }\n\n private async recoverStreamIfNeeded(): Promise {\n // Due to non-standard behaviour, it could happen that the stream got interrupted while getting the list of\n // cameras, this isn't handled by the existing \"ended\" event listener as the active camera wasn't set until\n // before this, so manually reinitialize camera if needed\n const videoTracks: MediaStreamTrack[] | undefined = this.mediaStream?.getVideoTracks();\n if (videoTracks?.[0]?.readyState === \"ended\") {\n await this.reinitializeCamera();\n }\n }\n\n private async setupCamerasAndStream(): Promise {\n try {\n let initialCamera: Camera | undefined;\n if (this.selectedCamera == null) {\n this.gui.setVideoVisible(false);\n initialCamera = await this.accessInitialCamera();\n }\n const cameras: Camera[] = await CameraAccess.getCameras(false, true);\n\n if (this.cameraSwitcherEnabled && cameras.length > 1) {\n this.gui.setCameraSwitcherVisible(true);\n }\n\n // Get but don't save deviceId in initialCamera to differentiate it from final cameras\n const initialCameraDeviceId: string | undefined = this.mediaStream?.getVideoTracks()[0]?.getSettings?.().deviceId;\n if (this.mediaStream != null && initialCamera != null) {\n // We successfully accessed the initial camera\n const activeCamera: Camera | undefined =\n cameras.length === 1\n ? cameras[0]\n : cameras.find((camera) => {\n return (\n camera.deviceId === initialCameraDeviceId ||\n (camera.label !== \"\" && camera.label === initialCamera?.label)\n );\n });\n if (activeCamera != null) {\n CameraAccess.adjustCameraFromMediaStream(this.mediaStream, activeCamera);\n if (BrowserHelper.isDesktopDevice()) {\n // When the device is a desktop/laptop, we store the initial camera as it should be considered the main one\n // for its camera type and the currently set camera type (which might be different)\n CameraAccess.mainCameraForTypeOverridesOnDesktop.set(this.cameraType, activeCamera);\n CameraAccess.mainCameraForTypeOverridesOnDesktop.set(activeCamera.cameraType, activeCamera);\n }\n if (cameras.length === 1 || CameraAccess.getMainCameraForType(cameras, this.cameraType) === activeCamera) {\n Logger.log(\n Logger.Level.DEBUG,\n \"Initial camera access was correct (main camera), keep camera:\",\n activeCamera\n );\n this.setSelectedCamera(activeCamera);\n this.updateActiveCameraCurrentResolution(activeCamera);\n await this.recoverStreamIfNeeded();\n\n return;\n } else {\n Logger.log(Logger.Level.DEBUG, \"Initial camera access was incorrect (not main camera), change camera\", {\n ...initialCamera,\n deviceId: initialCameraDeviceId,\n });\n }\n } else {\n Logger.log(Logger.Level.DEBUG, \"Initial camera access was incorrect (unknown camera), change camera\", {\n ...initialCamera,\n deviceId: initialCameraDeviceId,\n });\n }\n }\n\n if (this.selectedCamera == null) {\n return await this.accessAutoselectedCamera(cameras);\n } else {\n return await this.initializeCameraWithSettings(this.selectedCamera, this.selectedCameraSettings);\n }\n } finally {\n this.gui.setVideoVisible(true);\n this.cameraSetupPromise = undefined;\n }\n }\n\n private getInitialCameraResolutionConstraint(): CameraResolutionConstraint {\n let cameraResolutionConstraint: CameraResolutionConstraint;\n switch (this.activeCameraSettings?.resolutionPreference) {\n case CameraSettings.ResolutionPreference.ULTRA_HD:\n cameraResolutionConstraint = CameraResolutionConstraint.ULTRA_HD;\n break;\n case CameraSettings.ResolutionPreference.FULL_HD:\n cameraResolutionConstraint = CameraResolutionConstraint.FULL_HD;\n break;\n case CameraSettings.ResolutionPreference.HD:\n default:\n cameraResolutionConstraint = CameraResolutionConstraint.HD;\n break;\n }\n\n return cameraResolutionConstraint;\n }\n\n private async accessAutoselectedCamera(cameras: Camera[]): Promise {\n cameras = CameraAccess.sortCamerasForCameraType(cameras, this.cameraType);\n\n let autoselectedCamera: Camera | undefined = cameras.shift();\n while (autoselectedCamera != null) {\n try {\n return await this.initializeCameraWithSettings(autoselectedCamera, this.selectedCameraSettings);\n } catch (error) {\n this.setSelectedCamera();\n if (cameras.length === 1) {\n this.gui.setCameraSwitcherVisible(false);\n }\n if (cameras.length >= 1) {\n Logger.log(Logger.Level.WARN, \"Couldn't access camera:\", autoselectedCamera, error);\n autoselectedCamera = cameras.shift();\n continue;\n }\n throw error;\n }\n }\n throw new CustomError(CameraManager.noCameraErrorParameters);\n }\n\n private async accessInitialCamera(): Promise {\n // Note that the initial camera's information (except deviceId) will be updated after a successful access\n const initialCamera: Camera = {\n deviceId: \"\",\n label: \"\",\n cameraType: this.cameraType,\n };\n\n try {\n await this.initializeCameraWithSettings(initialCamera, this.selectedCameraSettings);\n } catch {\n // Ignored\n } finally {\n this.setSelectedCamera();\n }\n\n return initialCamera;\n }\n\n private updateActiveCameraCurrentResolution(camera: Camera): void {\n if (this.gui.videoElement.videoWidth > 2 && this.gui.videoElement.videoHeight > 2) {\n camera.currentResolution = {\n width: this.gui.videoElement.videoWidth,\n height: this.gui.videoElement.videoHeight,\n };\n }\n // If it's the initial camera, do nothing: if and when the camera is later confirmed to be the\n // correct (main with wanted type or only) one this method will be called again with the right camera object\n if (camera.deviceId !== \"\") {\n this.activeCamera = camera;\n this.gui.setMirrorImageEnabled(this.gui.isMirrorImageEnabled(), false);\n }\n }\n\n private postStreamInitialization(): void {\n window.clearTimeout(this.getCapabilitiesTimeout);\n this.getCapabilitiesTimeout = window.setTimeout(() => {\n this.storeStreamCapabilities();\n this.setupAutofocus();\n if (this.torchToggleEnabled && this.mediaStream != null && this.mediaTrackCapabilities?.torch === true) {\n this.gui.setTorchTogglerVisible(true);\n }\n }, CameraManager.getCapabilitiesTimeoutMs);\n }\n\n private videoResizeHandle(): void {\n if (this.activeCamera != null) {\n this.updateActiveCameraCurrentResolution(this.activeCamera);\n }\n }\n\n private checkCameraVideoStreamAccessIfVisible(): void {\n if (document.visibilityState === \"visible\") {\n Logger.log(Logger.Level.DEBUG, \"Page is visible again, waiting for camera video stream start...\");\n document.removeEventListener(\"visibilitychange\", this.checkCameraVideoStreamAccessIfVisibleListener);\n this.setCameraAccessTimeout();\n }\n }\n\n private async videoTrackEndedRecovery(): Promise {\n Logger.log(Logger.Level.DEBUG, 'Detected video track \"ended\" event, try to reinitialize camera');\n if (document.visibilityState !== \"visible\") {\n Logger.log(Logger.Level.DEBUG, \"Page is currently not visible, delay camera reinitialization until visible\");\n document.addEventListener(\"visibilitychange\", this.checkCameraVideoStreamAccessIfVisibleListener);\n } else {\n try {\n await this.reinitializeCamera();\n } catch {\n // Ignored\n }\n }\n }\n\n private async videoTrackMuteRecovery(event: Event): Promise {\n if (this.gui.videoElement.onloadeddata != null) {\n Logger.log(\n Logger.Level.DEBUG,\n `Detected video track \"${event.type}\" event, delay camera video stream access detection`\n );\n this.setCameraAccessTimeout();\n\n return;\n }\n\n const isMuteEvent: boolean = event.type === \"mute\";\n if (isMuteEvent !== this.gui.isCameraRecoveryVisible()) {\n Logger.log(\n Logger.Level.DEBUG,\n `Detected video track \"${event.type}\" event, ${isMuteEvent ? \"enable\" : \"disable\"} camera recovery`\n );\n this.gui.setCameraRecoveryVisible(isMuteEvent);\n }\n }\n\n private async triggerManualFocusForContinuous(): Promise {\n if (this.mediaStream == null) {\n return;\n }\n\n this.manualToAutofocusResumeTimeout = window.setTimeout(async () => {\n await this.triggerFocusMode(MeteringMode.CONTINUOUS);\n }, CameraManager.manualToAutofocusResumeTimeoutMs);\n\n let manualFocusResetNeeded: boolean = true;\n const videoTracks: MediaStreamTrack[] = this.mediaStream.getVideoTracks();\n // istanbul ignore else\n if (videoTracks.length !== 0 && typeof videoTracks[0].getConstraints === \"function\") {\n manualFocusResetNeeded =\n videoTracks[0].getConstraints().advanced?.some((constraint: ExtendedMediaTrackConstraintSet) => {\n return constraint.focusMode === MeteringMode.MANUAL;\n }) === true;\n }\n if (manualFocusResetNeeded) {\n await this.triggerFocusMode(MeteringMode.CONTINUOUS);\n this.manualFocusWaitTimeout = window.setTimeout(async () => {\n await this.triggerFocusMode(MeteringMode.MANUAL);\n }, CameraManager.manualFocusWaitTimeoutMs);\n } else {\n await this.triggerFocusMode(MeteringMode.MANUAL);\n }\n }\n\n private async triggerManualFocusForSingleShot(): Promise {\n window.clearInterval(this.autofocusInterval);\n\n this.manualToAutofocusResumeTimeout = window.setTimeout(() => {\n this.autofocusInterval = window.setInterval(this.triggerAutoFocus.bind(this), CameraManager.autofocusIntervalMs);\n }, CameraManager.manualToAutofocusResumeTimeoutMs);\n\n try {\n await this.triggerFocusMode(MeteringMode.SINGLE_SHOT);\n } catch {\n // istanbul ignore next\n }\n }\n\n private async triggerManualFocus(event?: MouseEvent | TouchEvent): Promise {\n if (event != null) {\n event.preventDefault();\n if (event.type === \"touchend\" && (event).touches.length !== 0) {\n return;\n }\n // Check if we were using pinch-to-zoom\n if (this.pinchToZoomDistance != null) {\n this.pinchToZoomDistance = undefined;\n\n return;\n }\n }\n window.clearTimeout(this.manualFocusWaitTimeout);\n window.clearTimeout(this.manualToAutofocusResumeTimeout);\n if (this.mediaStream != null && this.mediaTrackCapabilities != null) {\n const focusModeCapability: MeteringMode[] | undefined = this.mediaTrackCapabilities.focusMode;\n if (focusModeCapability instanceof Array) {\n if (\n focusModeCapability.includes(MeteringMode.CONTINUOUS) &&\n focusModeCapability.includes(MeteringMode.MANUAL)\n ) {\n await this.triggerManualFocusForContinuous();\n } else if (focusModeCapability.includes(MeteringMode.SINGLE_SHOT)) {\n await this.triggerManualFocusForSingleShot();\n }\n }\n }\n }\n\n private triggerZoomStart(event?: TouchEvent): void {\n if (event?.touches.length !== 2) {\n return;\n }\n event.preventDefault();\n this.pinchToZoomDistance = Math.hypot(\n (event.touches[1].screenX - event.touches[0].screenX) / screen.width,\n (event.touches[1].screenY - event.touches[0].screenY) / screen.height\n );\n if (this.mediaStream != null && this.mediaTrackCapabilities?.zoom != null) {\n const videoTracks: MediaStreamTrack[] = this.mediaStream.getVideoTracks();\n // istanbul ignore else\n if (videoTracks.length !== 0 && typeof videoTracks[0].getConstraints === \"function\") {\n this.pinchToZoomInitialZoom = this.mediaTrackCapabilities.zoom.min;\n const currentConstraints: MediaTrackConstraints = videoTracks[0].getConstraints();\n if (currentConstraints.advanced != null) {\n const currentZoomConstraint: ExtendedMediaTrackConstraintSet | undefined = currentConstraints.advanced.find(\n (constraint) => {\n return \"zoom\" in constraint;\n }\n );\n if (currentZoomConstraint?.zoom != null) {\n this.pinchToZoomInitialZoom = currentZoomConstraint.zoom;\n }\n }\n }\n }\n }\n\n private async triggerZoomMove(event?: TouchEvent): Promise {\n if (this.pinchToZoomDistance == null || event?.touches.length !== 2) {\n return;\n }\n event.preventDefault();\n await this.setZoom(\n (Math.hypot(\n (event.touches[1].screenX - event.touches[0].screenX) / screen.width,\n (event.touches[1].screenY - event.touches[0].screenY) / screen.height\n ) -\n this.pinchToZoomDistance) *\n 2,\n this.pinchToZoomInitialZoom\n );\n }\n\n private storeStreamCapabilities(): void {\n // istanbul ignore else\n if (this.mediaStream != null) {\n const videoTracks: MediaStreamTrack[] = this.mediaStream.getVideoTracks();\n // istanbul ignore else\n if (videoTracks.length !== 0 && typeof videoTracks[0].getCapabilities === \"function\") {\n this.mediaTrackCapabilities = videoTracks[0].getCapabilities();\n }\n }\n if (this.activeCamera != null) {\n this.scanner.reportCameraProperties(\n this.activeCamera.cameraType,\n this.mediaTrackCapabilities?.focusMode == null || // assume the camera supports autofocus by default\n this.mediaTrackCapabilities.focusMode.includes(MeteringMode.CONTINUOUS)\n );\n }\n }\n\n private setupAutofocus(): void {\n window.clearTimeout(this.manualFocusWaitTimeout);\n window.clearTimeout(this.manualToAutofocusResumeTimeout);\n // istanbul ignore else\n if (this.mediaStream != null && this.mediaTrackCapabilities != null) {\n const focusModeCapability: MeteringMode[] | undefined = this.mediaTrackCapabilities.focusMode;\n if (\n focusModeCapability instanceof Array &&\n !focusModeCapability.includes(MeteringMode.CONTINUOUS) &&\n focusModeCapability.includes(MeteringMode.SINGLE_SHOT)\n ) {\n window.clearInterval(this.autofocusInterval);\n this.autofocusInterval = window.setInterval(\n this.triggerAutoFocus.bind(this),\n CameraManager.autofocusIntervalMs\n );\n }\n }\n }\n\n private async triggerAutoFocus(): Promise {\n await this.triggerFocusMode(MeteringMode.SINGLE_SHOT);\n }\n\n private async triggerFocusMode(focusMode: MeteringMode): Promise {\n // istanbul ignore else\n if (this.mediaStream != null) {\n const videoTracks: MediaStreamTrack[] = this.mediaStream.getVideoTracks();\n if (videoTracks.length !== 0 && typeof videoTracks[0].applyConstraints === \"function\") {\n try {\n await videoTracks[0].applyConstraints({ advanced: ([{ focusMode }]) });\n } catch {\n // Ignored\n }\n }\n }\n }\n\n private enableTapToFocusListeners(): void {\n [\"touchend\", \"mousedown\"].forEach((eventName) => {\n this.gui.videoElement.addEventListener(eventName, this.triggerManualFocusListener);\n });\n }\n\n private enablePinchToZoomListeners(): void {\n this.gui.videoElement.addEventListener(\"touchstart\", this.triggerZoomStartListener);\n this.gui.videoElement.addEventListener(\"touchmove\", this.triggerZoomMoveListener);\n }\n\n private disableTapToFocusListeners(): void {\n [\"touchend\", \"mousedown\"].forEach((eventName) => {\n this.gui.videoElement.removeEventListener(eventName, this.triggerManualFocusListener);\n });\n }\n\n private disablePinchToZoomListeners(): void {\n this.gui.videoElement.removeEventListener(\"touchstart\", this.triggerZoomStartListener);\n this.gui.videoElement.removeEventListener(\"touchmove\", this.triggerZoomMoveListener);\n }\n\n private async initializeCameraAndCheckUpdatedSettings(camera: Camera): Promise {\n try {\n await this.initializeCamera(camera);\n // Check if due to asynchronous behaviour camera settings were changed while camera was initialized\n if (\n this.selectedCameraSettings !== this.activeCameraSettings &&\n (this.selectedCameraSettings == null ||\n this.activeCameraSettings == null ||\n (<(keyof CameraSettings)[]>Object.keys(this.selectedCameraSettings)).some((cameraSettingsProperty) => {\n return (\n (this.selectedCameraSettings)[cameraSettingsProperty] !==\n (this.activeCameraSettings)[cameraSettingsProperty]\n );\n }))\n ) {\n this.activeCameraSettings = this.selectedCameraSettings;\n\n return await this.initializeCameraAndCheckUpdatedSettings(camera);\n }\n } finally {\n this.cameraInitializationPromise = undefined;\n }\n }\n\n private async handleCameraInitializationError(\n camera: Camera,\n cameraResolutionConstraint: CameraResolutionConstraint,\n error: Error\n ): Promise {\n if (\n ![\"OverconstrainedError\", \"NotReadableError\"].includes(error.name) ||\n (error.name === \"NotReadableError\" && cameraResolutionConstraint === CameraResolutionConstraint.NONE)\n ) {\n // Camera is not accessible at all\n Logger.log(Logger.Level.DEBUG, \"Camera video stream access failure (unrecoverable error)\", camera, error);\n if (error.name !== \"NotAllowedError\") {\n CameraAccess.markCameraAsInaccessible(camera);\n }\n throw error;\n }\n if (error.name === \"OverconstrainedError\" && cameraResolutionConstraint === CameraResolutionConstraint.NONE) {\n // Camera device has changed deviceId\n // We can't rely on checking whether the constraint error property in the browsers reporting it is equal to\n // \"deviceId\" as it is used even when the error is due to a too high resolution being requested.\n // Whenever we get an OverconstrainedError or NotReadableError we keep trying until we are using no constraints\n // except for deviceId (cameraResolutionConstraint is NONE), if an error still happens we know said device doesn't\n // exist anymore (the device has changed deviceId).\n\n // If it's the initial camera, do nothing\n if (camera.deviceId === \"\") {\n Logger.log(\n Logger.Level.DEBUG,\n \"Camera video stream access failure (no camera with such type error)\",\n camera,\n error\n );\n throw error;\n }\n Logger.log(\n Logger.Level.DEBUG,\n \"Detected non-existent deviceId error, attempt to find and reaccess updated camera\",\n camera,\n error\n );\n const currentCameraDeviceId: string = camera.deviceId;\n // Refresh camera deviceId information\n await CameraAccess.getCameras(true);\n if (currentCameraDeviceId === camera.deviceId) {\n Logger.log(\n Logger.Level.DEBUG,\n \"Camera video stream access failure (updated camera not found after non-existent deviceId error)\",\n camera,\n error\n );\n CameraAccess.markCameraAsInaccessible(camera);\n\n throw error;\n } else {\n Logger.log(\n Logger.Level.DEBUG,\n \"Updated camera found (recovered from non-existent deviceId error), attempt to access it\",\n camera\n );\n\n return this.initializeCamera(camera);\n }\n }\n\n return this.initializeCamera(camera, cameraResolutionConstraint + 1);\n }\n\n private async initializeCamera(\n camera: Camera,\n cameraResolutionConstraint?: CameraResolutionConstraint\n ): Promise {\n this.gui.setCameraRecoveryVisible(false);\n if (camera == null) {\n throw new CustomError(CameraManager.noCameraErrorParameters);\n }\n await this.stopStream();\n this.torchEnabled = false;\n this.gui.setTorchTogglerVisible(false);\n\n cameraResolutionConstraint ??= this.getInitialCameraResolutionConstraint();\n\n try {\n const stream: MediaStream = await CameraAccess.accessCameraStream(cameraResolutionConstraint, camera);\n Logger.log(Logger.Level.DEBUG, \"Camera accessed, waiting for camera video stream start...\");\n // Detect weird browser behaviour that on unsupported resolution returns a 2x2 video instead\n if (typeof stream.getTracks()[0].getSettings === \"function\") {\n const mediaTrackSettings: MediaTrackSettings = stream.getTracks()[0].getSettings();\n if (\n mediaTrackSettings.width != null &&\n mediaTrackSettings.height != null &&\n (mediaTrackSettings.width === 2 || mediaTrackSettings.height === 2)\n ) {\n Logger.log(Logger.Level.DEBUG, \"Camera video stream access failure (invalid video metadata):\", camera);\n if (cameraResolutionConstraint === CameraResolutionConstraint.NONE) {\n throw new CustomError(CameraManager.notReadableErrorParameters);\n } else {\n return this.initializeCamera(camera, cameraResolutionConstraint + 1);\n }\n }\n }\n this.mediaStream = stream;\n this.mediaStream.getVideoTracks().forEach((track) => {\n // Handle unexpected stream end events\n track.addEventListener(\"ended\", this.videoTrackEndedListener);\n // If the track gets muted we need to give the chance to manually reinitialize the camera to access it again\n // (this is also tried automatically if and when the page is detected to be visible again and the track in a\n // muted state).\n // This will add the listeners only once in case of multiple calls: identical listeners are ignored.\n track.addEventListener(\"mute\", this.videoTrackMuteListener);\n track.addEventListener(\"unmute\", this.videoTrackMuteListener);\n });\n\n try {\n await this.setupCameraStreamVideo(camera, stream);\n } catch (error) {\n if (cameraResolutionConstraint === CameraResolutionConstraint.NONE) {\n throw error;\n } else {\n return this.initializeCamera(camera, cameraResolutionConstraint + 1);\n }\n }\n } catch (error) {\n return this.handleCameraInitializationError(camera, cameraResolutionConstraint, error);\n }\n }\n\n private setCameraAccessTimeout(): void {\n window.clearTimeout(this.cameraAccessTimeout);\n this.cameraAccessTimeout = window.setTimeout(async () => {\n if (document.visibilityState !== \"visible\") {\n Logger.log(Logger.Level.DEBUG, \"Page is currently not visible, delay camera video stream access detection\");\n document.addEventListener(\"visibilitychange\", this.checkCameraVideoStreamAccessIfVisibleListener);\n } else {\n await this.stopStream(true);\n this.cameraAccessRejectCallback?.(new CustomError(CameraManager.notReadableErrorParameters));\n }\n }, CameraManager.cameraAccessTimeoutMs);\n }\n\n private checkCameraAccess(camera: Camera): Promise {\n return new Promise((_, reject) => {\n this.cameraAccessRejectCallback = (reason?: Error) => {\n Logger.log(Logger.Level.DEBUG, \"Camera video stream access failure (video data load timeout):\", camera);\n this.gui.setCameraRecoveryVisible(true);\n reject(reason);\n };\n this.setCameraAccessTimeout();\n });\n }\n\n private async checkVideoMetadata(camera: Camera): Promise {\n return new Promise((resolve, reject) => {\n this.gui.videoElement.onloadeddata = () => {\n this.gui.videoElement.onloadeddata = null;\n window.clearTimeout(this.cameraAccessTimeout);\n\n // Detect weird browser behaviour that on unsupported resolution returns a 2x2 video instead\n // Also detect failed camera access with no error but also no video stream provided\n if (\n this.gui.videoElement.videoWidth > 2 &&\n this.gui.videoElement.videoHeight > 2 &&\n this.gui.videoElement.currentTime > 0\n ) {\n this.updateActiveCameraCurrentResolution(camera);\n Logger.log(Logger.Level.DEBUG, \"Camera video stream access success:\", camera);\n\n return resolve();\n }\n\n const videoMetadataCheckStartTime: number = performance.now();\n\n window.clearInterval(this.videoMetadataCheckInterval);\n this.videoMetadataCheckInterval = window.setInterval(async () => {\n // Detect weird browser behaviour that on unsupported resolution returns a 2x2 video instead\n // Also detect failed camera access with no error but also no video stream provided\n if (\n this.gui.videoElement.videoWidth <= 2 ||\n this.gui.videoElement.videoHeight <= 2 ||\n this.gui.videoElement.currentTime === 0\n ) {\n if (performance.now() - videoMetadataCheckStartTime > CameraManager.videoMetadataCheckTimeoutMs) {\n Logger.log(\n Logger.Level.DEBUG,\n \"Camera video stream access failure (valid video metadata timeout):\",\n camera\n );\n window.clearInterval(this.videoMetadataCheckInterval);\n await this.stopStream(true);\n\n return reject(new CustomError(CameraManager.notReadableErrorParameters));\n }\n\n return;\n }\n\n window.clearInterval(this.videoMetadataCheckInterval);\n this.updateActiveCameraCurrentResolution(camera);\n Logger.log(Logger.Level.DEBUG, \"Camera video stream access success:\", camera);\n\n resolve();\n }, CameraManager.videoMetadataCheckIntervalMs);\n };\n });\n }\n\n private setupCameraStreamVideo(camera: Camera, stream: MediaStream): Promise {\n // These will add the listeners only once in the case of multiple calls, identical listeners are ignored\n this.gui.videoElement.addEventListener(\"loadedmetadata\", this.postStreamInitializationListener);\n this.gui.videoElement.addEventListener(\"resize\", this.videoResizeListener);\n\n if (this.tapToFocusEnabled) {\n this.enableTapToFocusListeners();\n }\n if (this.pinchToZoomEnabled) {\n this.enablePinchToZoomListeners();\n }\n\n const cameraStreamVideoCheck: Promise = Promise.race([\n this.checkCameraAccess(camera),\n this.checkVideoMetadata(camera),\n // tslint:disable-next-line: promise-must-complete\n new Promise((resolve) => {\n this.abortedCameraInitializationResolveCallback = resolve;\n }),\n ]);\n\n this.gui.videoElement.srcObject = stream;\n this.gui.videoElement.load();\n this.gui.playVideo();\n\n // Report camera properties already now in order to have type information before autofocus information is available.\n // Even if later the initialization could fail nothing bad results from this.\n this.scanner.reportCameraProperties(camera.cameraType);\n\n return cameraStreamVideoCheck;\n }\n}\n","module.exports = require(\"core-js/library/fn/parse-int\");","require('../modules/es6.parse-int');\nmodule.exports = require('../modules/_core').parseInt;\n","import { Mutable } from \"../index\";\nimport { CameraResolutionConstraint } from \"./barcodePicker/cameraManager\";\nimport { BrowserCompatibility } from \"./browserCompatibility\";\nimport { BrowserHelper } from \"./browserHelper\";\nimport { Camera } from \"./camera\";\nimport { CustomError } from \"./customError\";\nimport { Logger } from \"./logger\";\nimport { UnsupportedBrowserError } from \"./unsupportedBrowserError\";\n\n/**\n * A helper object to interact with cameras.\n */\nexport namespace CameraAccess {\n /**\n * @hidden\n *\n * Standard error names mapping.\n */\n const standardErrorNamesMapping: Map = new Map([\n [\"DeviceCaptureError\", \"AbortError\"],\n [\"NotSupportedError\", \"AbortError\"],\n [\"ScreenCaptureError\", \"AbortError\"],\n [\"TabCaptureError\", \"AbortError\"],\n [\"TypeError\", \"AbortError\"],\n [\"InvalidStateError\", \"NotAllowedError\"],\n [\"MediaDeviceFailedDueToShutdown\", \"NotAllowedError\"],\n [\"MediaDeviceKillSwitchOn\", \"NotAllowedError\"],\n [\"PermissionDeniedError\", \"NotAllowedError\"],\n [\"PermissionDismissedError\", \"NotAllowedError\"],\n [\"DevicesNotFoundError\", \"NotFoundError\"],\n [\"SourceUnavailableError\", \"NotReadableError\"],\n [\"TrackStartError\", \"NotReadableError\"],\n [\"ConstraintNotSatisfiedError\", \"OverconstrainedError\"],\n ]);\n\n /**\n * @hidden\n *\n * Handle localized camera labels. Supported languages:\n * English, German, French, Spanish (spain), Portuguese (brasil), Portuguese (portugal), Italian,\n * Chinese (simplified), Chinese (traditional), Japanese, Russian, Turkish, Dutch, Arabic, Thai, Swedish,\n * Danish, Vietnamese, Norwegian, Polish, Finnish, Indonesian, Hebrew, Greek, Romanian, Hungarian, Czech,\n * Catalan, Slovak, Ukraininan, Croatian, Malay, Hindi.\n */\n const backCameraKeywords: string[] = [\n \"rear\",\n \"back\",\n \"rück\",\n \"arrière\",\n \"trasera\",\n \"trás\",\n \"traseira\",\n \"posteriore\",\n \"后面\",\n \"後面\",\n \"背面\",\n \"后置\", // alternative\n \"後置\", // alternative\n \"背置\", // alternative\n \"задней\",\n \"الخلفية\",\n \"후\",\n \"arka\",\n \"achterzijde\",\n \"หลัง\",\n \"baksidan\",\n \"bagside\",\n \"sau\",\n \"bak\",\n \"tylny\",\n \"takakamera\",\n \"belakang\",\n \"אחורית\",\n \"πίσω\",\n \"spate\",\n \"hátsó\",\n \"zadní\",\n \"darrere\",\n \"zadná\",\n \"задня\",\n \"stražnja\",\n \"belakang\",\n \"बैक\",\n ];\n\n /**\n * @hidden\n *\n * The (cached) list of available video devices, updated when [[getCameras]] is called for the first time and after\n * subsequent calls with the *refreshDevices* parameter enabled. The contained devices' order never changes, howver\n * their deviceIds could change when they are retrieved again after a camera access and stop in some situations.\n */\n let availableVideoDevices: MediaDeviceInfo[] | undefined;\n\n /**\n * @hidden\n *\n * Whether the currently cached available devices are out of date because of a `devicechange` event.\n */\n let outdatedDevices: boolean = false;\n\n /**\n * @hidden\n *\n * Overrides for main camera for a given camera type on a desktop/laptop device, set when accessing an initial camera.\n */\n export const mainCameraForTypeOverridesOnDesktop: Map = new Map();\n\n /**\n * @hidden\n *\n * To be accessed directly only for tests.\n *\n * The mapping from deviceIds to camera objects.\n */\n export const deviceIdToCameraObjects: Map = new Map();\n\n /**\n * @hidden\n *\n * To be accessed directly only for tests.\n *\n * The list of inaccessible deviceIds.\n */\n export const inaccessibleDeviceIds: Set = new Set();\n\n /**\n * @hidden\n *\n * Listen to `devicechange` events.\n */\n function deviceChangeListener(): void {\n outdatedDevices = true;\n }\n\n /**\n * @hidden\n *\n * @param label The camera label.\n * @returns Whether the label mentions the camera being a back-facing one.\n */\n function isBackCameraLabel(label: string): boolean {\n const lowercaseLabel: string = label.toLowerCase();\n\n return backCameraKeywords.some((keyword) => {\n return lowercaseLabel.includes(keyword);\n });\n }\n\n /**\n * @hidden\n *\n * Map non-standard error names to standard ones.\n *\n * @param error The error object.\n */\n function mapNonStandardErrorName(error: Error): void {\n let name: string;\n if (error.message === \"Invalid constraint\") {\n name = \"OverconstrainedError\";\n } else {\n name = standardErrorNamesMapping.get(error.name) ?? error.name;\n }\n Object.defineProperty(error, \"name\", {\n value: name,\n });\n }\n\n /**\n * @hidden\n *\n * Get the main camera for the given camera type.\n *\n * @param cameras The array of available [[Camera]] objects.\n * @param cameraType The wanted camera type.\n * @returns The main camera matching the wanted camera type.\n */\n export function getMainCameraForType(cameras: Camera[], cameraType: Camera.Type): Camera | undefined {\n let mainCameraForType: Camera | undefined;\n if (BrowserHelper.isDesktopDevice()) {\n // When the device is a desktop/laptop, the overridden camera for the given type or, if not present, the first\n // camera of the given type is the main one.\n if (mainCameraForTypeOverridesOnDesktop.has(cameraType)) {\n mainCameraForType = mainCameraForTypeOverridesOnDesktop.get(cameraType);\n } else {\n // Note that if the device is a desktop/laptop, with no labels all cameras are assumed to be front ones,\n // so this will return the first camera as the main front one and none for the back one.\n mainCameraForType = cameras.filter((camera) => {\n return camera.cameraType === cameraType;\n })[0];\n }\n } else {\n const allHaveBlankLabel: boolean = cameras.every((camera) => {\n return camera.label === \"\";\n });\n const allHaveNonEmptyLabel: boolean = cameras.every((camera) => {\n return camera.label !== \"\";\n });\n const someHaveLabel: boolean = cameras.length > 1 && !allHaveBlankLabel && !allHaveNonEmptyLabel;\n if (allHaveBlankLabel) {\n // When no camera label is available cameras are already in front to back order, assume main front camera is the\n // first one and main back camera is the last one.\n mainCameraForType = cameras[cameraType === Camera.Type.FRONT ? 0 : cameras.length - 1];\n } else if (someHaveLabel) {\n // When only a few cameras have labels, we may be in a webview where only labels from accessed stream are\n // available.\n const cameraOfType: Camera[] = cameras.filter((camera) => {\n return camera.cameraType === cameraType;\n });\n if (cameraOfType.length === 1) {\n mainCameraForType = cameraOfType[0];\n } else if (cameraOfType.length > 1) {\n // Assume main front camera is the first one and main back camera is the last one.\n mainCameraForType = cameraOfType[cameraType === Camera.Type.FRONT ? 0 : cameraOfType.length - 1];\n }\n } else {\n mainCameraForType = cameras\n .filter((camera) => {\n return camera.cameraType === cameraType;\n })\n // sort so that camera list looks like ['camera1 0', 'camera1 1', 'camera2 0', 'camera2 1']\n .sort((camera1, camera2) => {\n return camera1.label.localeCompare(camera2.label);\n })[0];\n }\n }\n\n return mainCameraForType;\n }\n\n /**\n * @hidden\n *\n * Sort the given cameras in order of priority of access based on the given camera type.\n *\n * @param cameras The array of available [[Camera]] objects.\n * @param cameraType The preferred camera type.\n * @returns The sorted cameras.\n */\n export function sortCamerasForCameraType(cameras: Camera[], cameraType: Camera.Type): Camera[] {\n function prioritizeMainCameraOverride(prioritizedCameras: Camera[], currentCameraType: Camera.Type): Camera[] {\n const mainCameraOverride: Camera | undefined = mainCameraForTypeOverridesOnDesktop.get(currentCameraType);\n if (mainCameraOverride != null && prioritizedCameras.includes(mainCameraOverride)) {\n prioritizedCameras = prioritizedCameras.filter((camera) => {\n return camera !== mainCameraOverride;\n });\n prioritizedCameras.unshift(mainCameraOverride);\n }\n\n return prioritizedCameras;\n }\n\n let frontCameras: Camera[] = cameras.filter((camera) => {\n return camera.cameraType === Camera.Type.FRONT;\n });\n let backCameras: Camera[] = cameras.filter((camera) => {\n return camera.cameraType === Camera.Type.BACK;\n });\n if (BrowserHelper.isDesktopDevice()) {\n // When the device is a desktop/laptop, the cameras for each type are already ordered, we move the overrides\n // first if present and change front / back group order if needed.\n frontCameras = prioritizeMainCameraOverride(frontCameras, Camera.Type.FRONT);\n backCameras = prioritizeMainCameraOverride(backCameras, Camera.Type.BACK);\n } else if (\n cameras.every((camera) => {\n return camera.label === \"\";\n })\n ) {\n // When no camera label is available cameras are already in front to back order, we assume front cameras are\n // ordered and back cameras are in reversed order (try to access last first), and we change front / back group\n // order if needed.\n backCameras.reverse();\n } else {\n frontCameras.sort((camera1, camera2) => {\n return camera1.label.localeCompare(camera2.label);\n });\n backCameras.sort((camera1, camera2) => {\n return camera1.label.localeCompare(camera2.label);\n });\n }\n\n return cameraType === Camera.Type.FRONT ? [...frontCameras, ...backCameras] : [...backCameras, ...frontCameras];\n }\n\n /**\n * @hidden\n *\n * Adjusts the camera's information based on the given currently active video stream.\n *\n * @param mediaStream The currently active `MediaStream` object.\n * @param camera The currently active [[Camera]] object associated with the video stream.\n */\n export function adjustCameraFromMediaStream(mediaStream: MediaStream, camera: Camera): void {\n const videoTracks: MediaStreamTrack[] = mediaStream.getVideoTracks();\n if (videoTracks.length !== 0) {\n const mediaStreamTrack: MediaStreamTrack = videoTracks[0];\n let mediaTrackSettings: MediaTrackSettings | undefined;\n if (typeof mediaStreamTrack.getSettings === \"function\") {\n mediaTrackSettings = mediaStreamTrack.getSettings();\n if (mediaTrackSettings?.facingMode != null && mediaTrackSettings.facingMode.length > 0) {\n (>camera).cameraType =\n mediaTrackSettings.facingMode === \"environment\" ? Camera.Type.BACK : Camera.Type.FRONT;\n }\n }\n if (mediaStreamTrack.label != null && mediaStreamTrack.label.length > 0) {\n (>camera).label = mediaStreamTrack.label;\n }\n }\n }\n\n /**\n * @hidden\n *\n * @param devices The list of available devices.\n * @returns The extracted list of accessible camera objects initialized from the given devices.\n */\n function extractAccessibleCamerasFromDevices(devices: MediaDeviceInfo[]): Camera[] {\n function createCamera(videoDevice: MediaDeviceInfo, index: number, videoDevices: MediaDeviceInfo[]): Camera {\n if (deviceIdToCameraObjects.has(videoDevice.deviceId)) {\n return deviceIdToCameraObjects.get(videoDevice.deviceId);\n }\n\n const label: string = videoDevice.label ?? \"\";\n let cameraType: Camera.Type;\n if (\n !BrowserHelper.isDesktopDevice() &&\n videoDevices.every((device) => {\n return device.label === \"\" && !deviceIdToCameraObjects.has(device.deviceId);\n })\n ) {\n // When the device is not a desktop/laptop and no camera label is available, assume the camera is a front one\n // if it's the only one or comes in the first half of the list of cameras (if an odd number of cameras is\n // available, it's more likely to have more back than front ones).\n cameraType =\n videoDevices.length === 1 || index + 1 <= Math.floor(videoDevices.length / 2)\n ? Camera.Type.FRONT\n : Camera.Type.BACK;\n } else {\n // Note that if the device is a desktop/laptop, unless the label specifies a back camera, a front one is assumed\n cameraType = isBackCameraLabel(label) ? Camera.Type.BACK : Camera.Type.FRONT;\n }\n\n return {\n deviceId: videoDevice.deviceId,\n label,\n cameraType,\n };\n }\n\n const cameras: Camera[] = devices\n .map(createCamera)\n .map((camera) => {\n // If it's the initial camera, do nothing\n if (camera.deviceId !== \"\") {\n deviceIdToCameraObjects.set(camera.deviceId, camera);\n }\n\n return camera;\n })\n .filter((camera) => {\n // Ignore infrared cameras as they often fail to be accessed and are not useful in any case\n return !/\\b(?:ir|infrared)\\b/i.test(camera.label);\n })\n .filter((camera) => {\n return !inaccessibleDeviceIds.has(camera.deviceId);\n });\n if (\n !BrowserHelper.isDesktopDevice() &&\n cameras.length > 1 &&\n !cameras.some((camera) => {\n return camera.cameraType === Camera.Type.BACK;\n })\n ) {\n // When the device is not a desktop/laptop check if cameras are labeled with resolution information, if that's the\n // case, take the higher - resolution one, otherwise pick the last camera (it's not true that the primary camera\n // is first in most scenarios) and mark it as the back one.\n let backCameraIndex: number = cameras.length - 1;\n\n const cameraResolutions: number[] = cameras.map((camera) => {\n const match: RegExpMatchArray | null = camera.label.match(/\\b([0-9]+)MP?\\b/i);\n if (match != null) {\n return parseInt(match[1], 10);\n }\n\n return NaN;\n });\n if (\n !cameraResolutions.some((cameraResolution) => {\n return isNaN(cameraResolution);\n })\n ) {\n backCameraIndex = cameraResolutions.lastIndexOf(Math.max(...cameraResolutions));\n }\n\n (>cameras[backCameraIndex]).cameraType = Camera.Type.BACK;\n }\n\n return cameras;\n }\n\n /**\n * @hidden\n *\n * @returns The stream, if necessary, accessed to provide access to complete device information\n */\n async function getStreamForDeviceAccessPermission(): Promise {\n // If there are video devices and all of them have no label it means we need to access a camera before we can get\n // the needed information\n if (\n availableVideoDevices != null &&\n availableVideoDevices.length > 0 &&\n availableVideoDevices.every((device) => {\n return device.label === \"\" && !deviceIdToCameraObjects.has(device.deviceId);\n })\n ) {\n try {\n return await navigator.mediaDevices.getUserMedia({\n video: true,\n audio: false,\n });\n } catch {\n // Ignored\n }\n }\n }\n\n /**\n * @hidden\n *\n * Checks and adjust cameras' deviceId information and related information if a change is detected. We can rely on the\n * fact that devices are returned in the same order even when deviceId information changes.\n *\n * @param oldAvailableDevices The old list of available devices before deviceId information was refreshed.\n * @param newAvailableDevices The new list of available devices after deviceId information was refreshed.\n */\n function checkAndUpdateCameraDeviceIdInformation(\n oldAvailableDevices: MediaDeviceInfo[],\n newAvailableDevices: MediaDeviceInfo[]\n ): void {\n if (\n newAvailableDevices.length > 0 &&\n oldAvailableDevices.length === newAvailableDevices.length &&\n !newAvailableDevices.every((device, index) => {\n return oldAvailableDevices[index].deviceId === device.deviceId;\n })\n ) {\n const deviceIdChanges: { [oldDeviceId: string]: string } = {};\n oldAvailableDevices.forEach((device, index) => {\n const camera: Camera | undefined = deviceIdToCameraObjects.get(device.deviceId);\n if (camera == null || camera.label !== (newAvailableDevices[index].label ?? \"\")) {\n return;\n }\n const newDeviceId: string = newAvailableDevices[index].deviceId;\n deviceIdChanges[camera.deviceId] = newDeviceId;\n if (inaccessibleDeviceIds.has(camera.deviceId)) {\n inaccessibleDeviceIds.add(newDeviceId);\n }\n (>camera).deviceId = newDeviceId;\n deviceIdToCameraObjects.set(newDeviceId, camera);\n });\n Logger.log(\n Logger.Level.DEBUG,\n \"Detected updated camera deviceId information and updated it accordingly\",\n deviceIdChanges\n );\n }\n }\n\n /**\n * Get a list of cameras (if any) available on the device, a camera access permission is requested to the user\n * the first time this method is called if needed.\n *\n * If the browser is incompatible the returned promise is rejected with a `UnsupportedBrowserError` error.\n *\n * When refreshing available devices, if updated deviceId information is detected, cameras' deviceId are updated\n * accordingly. This could happen after a camera access and stop in some situations.\n *\n * @param refreshDevices Force a call to refresh available video devices even when information is already available.\n * @param cameraAlreadyAccessed Hint that a camera has already been accessed before, avoiding a possible initial\n * camera access permission request on the first call, in cases this cannot be already reliably detected.\n * @returns A promise resolving to the array of available [[Camera]] objects (could be empty).\n */\n export async function getCameras(\n refreshDevices: boolean = false,\n cameraAlreadyAccessed: boolean = false\n ): Promise {\n const browserCompatibility: BrowserCompatibility = BrowserHelper.checkBrowserCompatibility();\n if (!browserCompatibility.fullSupport) {\n throw new UnsupportedBrowserError(browserCompatibility);\n }\n\n // This will add the listeners only once in case of multiple calls: identical listeners are ignored\n if (typeof navigator.mediaDevices.addEventListener === \"function\") {\n navigator.mediaDevices.addEventListener(\"devicechange\", deviceChangeListener);\n } else {\n // It's not a problem if this event is not supported, this would just never trigger\n navigator.mediaDevices.ondevicechange = deviceChangeListener;\n }\n\n if (availableVideoDevices == null || refreshDevices || outdatedDevices) {\n outdatedDevices = false;\n let stream: MediaStream | void;\n const oldAvailableDevices: MediaDeviceInfo[] = availableVideoDevices ?? [];\n availableVideoDevices = [];\n try {\n availableVideoDevices = await enumerateVideoDevices();\n if (!cameraAlreadyAccessed) {\n stream = await getStreamForDeviceAccessPermission();\n if (stream != null) {\n availableVideoDevices = await enumerateVideoDevices();\n }\n }\n Logger.log(Logger.Level.DEBUG, \"Camera list (devices):\", ...availableVideoDevices);\n checkAndUpdateCameraDeviceIdInformation(oldAvailableDevices, availableVideoDevices);\n } catch (error) {\n mapNonStandardErrorName(error);\n throw error;\n } finally {\n if (stream != null) {\n stream.getVideoTracks().forEach((track) => {\n track.stop();\n });\n }\n }\n }\n\n const cameras: Camera[] = extractAccessibleCamerasFromDevices(availableVideoDevices);\n\n Logger.log(Logger.Level.DEBUG, \"Camera list (cameras): \", ...cameras);\n\n // Return a copy of the array to allow for array mutations in other functions\n return [...cameras];\n }\n\n /**\n * @hidden\n *\n * Call `navigator.mediaDevices.getUserMedia` asynchronously in a `setTimeout` call.\n *\n * @param getUserMediaParams The parameters for the `navigator.mediaDevices.getUserMedia` call.\n * @returns A promise resolving when the camera is accessed.\n */\n function getUserMediaDelayed(getUserMediaParams: MediaStreamConstraints): Promise {\n Logger.log(Logger.Level.DEBUG, \"Attempt to access camera (parameters):\", getUserMediaParams.video);\n\n return new Promise((resolve, reject) => {\n window.setTimeout(() => {\n (\n navigator.mediaDevices.getUserMedia(getUserMediaParams) ??\n Promise.reject(new CustomError({ name: \"AbortError\" }))\n )\n .then(resolve)\n .catch(reject);\n }, 0);\n });\n }\n\n /**\n * @hidden\n *\n * Get the *getUserMedia* *video* parameters to be used given a resolution fallback level and the browser used.\n *\n * @param cameraResolutionConstraint The resolution constraint.\n * @returns The resulting *getUserMedia* *video* parameters.\n */\n function getUserMediaVideoParams(cameraResolutionConstraint: CameraResolutionConstraint): MediaTrackConstraints {\n const userMediaVideoParams: MediaTrackConstraints = {\n // @ts-ignore\n resizeMode: \"none\",\n };\n switch (cameraResolutionConstraint) {\n case CameraResolutionConstraint.ULTRA_HD:\n return {\n ...userMediaVideoParams,\n width: { min: 3200, ideal: 3840, max: 4096 },\n height: { min: 1800, ideal: 2160, max: 2400 },\n };\n case CameraResolutionConstraint.FULL_HD:\n return {\n ...userMediaVideoParams,\n width: { min: 1400, ideal: 1920, max: 2160 },\n height: { min: 900, ideal: 1080, max: 1440 },\n };\n case CameraResolutionConstraint.HD:\n return {\n ...userMediaVideoParams,\n width: { min: 960, ideal: 1280, max: 1440 },\n height: { min: 480, ideal: 720, max: 960 },\n };\n case CameraResolutionConstraint.SD:\n return {\n ...userMediaVideoParams,\n width: { min: 640, ideal: 640, max: 800 },\n height: { min: 480, ideal: 480, max: 600 },\n };\n case CameraResolutionConstraint.NONE:\n default:\n return {};\n }\n }\n\n /**\n * @hidden\n *\n * Try to access a given camera for video input at the given resolution level.\n *\n * If a camera is inaccessible because of errors, then it's added to the inaccessible device list. If the specific\n * error is of type `OverconstrainedError` or `NotReadableError` however, this procedure is done later on via a\n * separate external logic; also, in case of an error of type `NotAllowedError` (permission denied) this procedure is\n * not executed, in order to possibly recover if and when the user allows the camera to be accessed again.\n * This is done to allow checking if the camera can still be accessed via an updated deviceId when deviceId\n * information changes, or if it should then be confirmed to be considered inaccessible.\n *\n * Depending on parameters, device features and user permissions for camera access, any of the following errors\n * could be the rejected result of the returned promise:\n * - `AbortError`\n * - `NotAllowedError`\n * - `NotFoundError`\n * - `NotReadableError`\n * - `SecurityError`\n * - `OverconstrainedError`\n *\n * @param cameraResolutionConstraint The resolution constraint.\n * @param camera The camera to try to access for video input.\n * @returns A promise resolving to the `MediaStream` object coming from the accessed camera.\n */\n export async function accessCameraStream(\n cameraResolutionConstraint: CameraResolutionConstraint,\n camera: Camera\n ): Promise {\n Logger.log(Logger.Level.DEBUG, \"Attempt to access camera (camera):\", camera);\n\n const getUserMediaParams: MediaStreamConstraints = {\n audio: false,\n video: getUserMediaVideoParams(cameraResolutionConstraint),\n };\n\n // If it's the initial camera, use the given cameraType, otherwise use the given deviceId\n if (camera.deviceId === \"\") {\n (getUserMediaParams.video).facingMode = {\n ideal: camera.cameraType === Camera.Type.BACK ? \"environment\" : \"user\",\n };\n } else {\n (getUserMediaParams.video).deviceId = {\n exact: camera.deviceId,\n };\n }\n\n try {\n const mediaStream: MediaStream = await getUserMediaDelayed(getUserMediaParams);\n adjustCameraFromMediaStream(mediaStream, camera);\n\n return mediaStream;\n } catch (error) {\n mapNonStandardErrorName(error);\n if (![\"OverconstrainedError\", \"NotReadableError\", \"NotAllowedError\"].includes(error.name)) {\n markCameraAsInaccessible(camera);\n }\n throw error;\n }\n }\n\n /**\n * @hidden\n *\n * Mark a camera to be inaccessible and thus excluded from the camera list returned by [[getCameras]].\n *\n * @param camera The camera to mark to be inaccessible.\n */\n export function markCameraAsInaccessible(camera: Camera): void {\n // If it's the initial camera, do nothing\n if (camera.deviceId !== \"\") {\n Logger.log(Logger.Level.DEBUG, \"Camera marked to be inaccessible:\", camera);\n inaccessibleDeviceIds.add(camera.deviceId);\n }\n }\n\n /**\n * @hidden\n *\n * Get a list of available video devices in a cross-browser compatible way.\n *\n * @returns A promise resolving to the `MediaDeviceInfo` array of all available video devices.\n */\n async function enumerateVideoDevices(): Promise {\n let devices: MediaDeviceInfo[];\n if (typeof navigator.enumerateDevices === \"function\") {\n devices = await navigator.enumerateDevices();\n } else if (\n typeof navigator.mediaDevices === \"object\" &&\n typeof navigator.mediaDevices.enumerateDevices === \"function\"\n ) {\n devices = await navigator.mediaDevices.enumerateDevices();\n } else {\n try {\n if (window.MediaStreamTrack?.getSources == null) {\n throw new Error();\n }\n devices = await new Promise((resolve) => {\n window.MediaStreamTrack?.getSources?.(resolve);\n });\n\n devices = devices\n .filter((device) => {\n return device.kind.toLowerCase() === \"video\" || device.kind.toLowerCase() === \"videoinput\";\n })\n .map((device) => {\n return {\n deviceId: device.deviceId ?? \"\",\n groupId: device.groupId,\n kind: \"videoinput\",\n label: device.label,\n toJSON: /* istanbul ignore next */ function (): MediaDeviceInfo {\n return this;\n },\n };\n });\n } catch {\n throw new UnsupportedBrowserError({\n fullSupport: false,\n scannerSupport: true,\n missingFeatures: [BrowserCompatibility.Feature.MEDIA_DEVICES],\n });\n }\n }\n\n return devices.filter((device) => {\n return device.kind === \"videoinput\";\n });\n }\n}\n","import { Camera } from \"../camera\";\nimport { CameraSettings } from \"../cameraSettings\";\nimport { CameraManager } from \"./cameraManager\";\n\n/**\n * A dummy barcode picker utility class used to (not) handle camera interaction.\n */\n// istanbul ignore next\nexport class DummyCameraManager extends CameraManager {\n public setInteractionOptions(_1: boolean, _2: boolean, _3: boolean, _4: boolean): void {\n return;\n }\n\n public isCameraSwitcherEnabled(): boolean {\n return false;\n }\n\n public async setCameraSwitcherEnabled(_1: boolean): Promise {\n return;\n }\n\n public isTorchToggleEnabled(): boolean {\n return false;\n }\n\n public setTorchToggleEnabled(_1: boolean): void {\n return;\n }\n\n public isTapToFocusEnabled(): boolean {\n return false;\n }\n\n public setTapToFocusEnabled(_1: boolean): void {\n return;\n }\n\n public isPinchToZoomEnabled(): boolean {\n return false;\n }\n\n public setPinchToZoomEnabled(_1: boolean): void {\n return;\n }\n\n public setInitialCameraType(_1?: Camera.Type): void {\n return;\n }\n\n public async setCameraType(_1?: Camera.Type): Promise {\n return;\n }\n\n public setSelectedCamera(_1?: Camera): void {\n return;\n }\n\n public setSelectedCameraSettings(_1?: CameraSettings): void {\n return;\n }\n\n public async setupCameras(): Promise {\n return;\n }\n\n public async stopStream(): Promise {\n return;\n }\n\n public async applyCameraSettings(_1?: CameraSettings): Promise {\n return;\n }\n\n public async reinitializeCamera(): Promise {\n return;\n }\n\n public async initializeCameraWithSettings(_1: Camera, _2?: CameraSettings): Promise {\n return;\n }\n\n public async setTorchEnabled(_1: boolean): Promise {\n return;\n }\n\n public async toggleTorch(): Promise {\n return;\n }\n\n public async setZoom(_1: number, _2?: number): Promise {\n return;\n }\n}\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","module.exports = require(\"core-js/library/fn/object/assign\");","var resizeObservers = [];\nexport { resizeObservers };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\" + (toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { EventEmitter, ListenerFn } from \"eventemitter3\";\nimport { Howl, Howler } from \"howler/dist/howler.core.min.js\";\n\nimport { beepSound } from \"../assets/base64assets\";\n\nimport { configurePhase, Mutable } from \"../../index\";\nimport { BrowserCompatibility } from \"../browserCompatibility\";\nimport { BrowserHelper } from \"../browserHelper\";\nimport { Camera } from \"../camera\";\nimport { CameraSettings } from \"../cameraSettings\";\nimport { CustomError } from \"../customError\";\nimport { ImageSettings } from \"../imageSettings\";\nimport { Logger } from \"../logger\";\nimport { Parser } from \"../parser\";\nimport { Scanner } from \"../scanner\";\nimport { ScanResult } from \"../scanResult\";\nimport { ScanSettings } from \"../scanSettings\";\nimport { SearchArea } from \"../searchArea\";\nimport { SingleImageModePlatformSettings, SingleImageModeSettings } from \"../singleImageModeSettings\";\nimport { UnsupportedBrowserError } from \"../unsupportedBrowserError\";\nimport { CameraManager } from \"./cameraManager\";\nimport { DummyCameraManager } from \"./dummyCameraManager\";\nimport { GUI } from \"./gui\";\n\n/**\n * @hidden\n */\ntype EventName = \"ready\" | \"submitFrame\" | \"processFrame\" | \"scan\" | \"scanError\" | \"cameraAccessError\";\n\n/**\n * @hidden\n */\nclass BarcodePickerEventEmitter extends EventEmitter {}\n\n/**\n * A barcode picker element used to get and show camera input and perform scanning operations.\n *\n * The barcode picker will automatically fit and scale inside the given *originElement*.\n *\n * Each barcode picker internally contains a [[Scanner]] object with its own WebWorker thread running a\n * separate copy of the external Scandit Data Capture library. To optimize loading times and performance it's\n * recommended to reuse the same picker and to already create the picker in advance (hidden) and just\n * display it when needed whenever possible.\n *\n * As the loading of the external Scandit Data Capture library can take some time, the picker always starts inactive\n * (but showing GUI and video) and then activates, if not paused, as soon as the library is ready to scan.\n * The [[on]] method targeting the [[ready]] event can be used to set up a listener function to be called when the\n * library is loaded. The picker will be ready to start scanning when the library is fully loaded.\n *\n * By default the external Scandit Data Capture library is preloaded in order to reduce the initialization time as much\n * as possible.\n *\n * The picker can also operate in Single Image Mode: letting the user click/tap to take a single image to be scanned\n * via the camera (mobile) or a file select dialog (desktop). This is provided automatically as fallback by\n * default when the OS/browser only supports part of the needed features and cannot provide direct access to the camera\n * for video streaming and continuous scanning, or can also be forced on/off. This behaviour can be set up on creation\n * via the *singleImageModeSettings* option. Note that in this mode some of the functions provided by the picker will\n * have no effect.\n *\n * By default an alert is shown if an internal error during scanning is encountered which prevents the scanning\n * procedure from continuing when running on a local IP address. As this uses the built-in [[scanError]] event\n * functionality, if unwanted it can be disabled by calling [[removeAllListeners]] on the BarcodePicker\n * instance (right after creation).\n *\n * In accordance with our license terms, the Scandit logo displayed in the bottom right corner of the barcode picker\n * must be displayed and cannot be hidden by any method. Workarounds are not allowed.\n */\nexport class BarcodePicker {\n private readonly cameraManager: CameraManager;\n private readonly gui: GUI;\n private readonly eventEmitter: BarcodePickerEventEmitter;\n private readonly scanner: Scanner;\n private readonly beepSound: Howl;\n private readonly vibrateFunction?: (pattern: number | number[]) => boolean;\n private readonly scannerReadyEventListener: () => void;\n\n private playSoundOnScan: boolean;\n private vibrateOnScan: boolean;\n private scanningPaused: boolean;\n private latestVideoTimeProcessed: number;\n private destroyed: boolean;\n private isReadyToWork: boolean;\n private cameraAccess: boolean;\n private targetScanningFPS: number;\n private averageProcessingTime: number;\n private externalImageData: Uint8Array;\n private internalImageData?: Uint8Array;\n\n private constructor(\n originElement: HTMLElement,\n {\n visible,\n singleImageModeEnabled,\n singleImageModeSettings,\n playSoundOnScan,\n vibrateOnScan,\n scanningPaused,\n guiStyle,\n videoFit,\n cameraRecoveryText,\n laserArea,\n viewfinderArea,\n scanner,\n scanSettings,\n cameraType,\n targetScanningFPS,\n hideLogo,\n }: {\n visible: boolean;\n singleImageModeEnabled: boolean;\n singleImageModeSettings: SingleImageModePlatformSettings;\n playSoundOnScan: boolean;\n vibrateOnScan: boolean;\n scanningPaused: boolean;\n guiStyle: BarcodePicker.GuiStyle;\n videoFit: BarcodePicker.ObjectFit;\n cameraRecoveryText: string;\n laserArea?: SearchArea;\n viewfinderArea?: SearchArea;\n scanner?: Scanner;\n scanSettings: ScanSettings;\n cameraType: Camera.Type;\n targetScanningFPS: number;\n hideLogo: boolean;\n }\n ) {\n this.isReadyToWork = false;\n this.destroyed = false;\n this.scanningPaused = scanningPaused;\n\n Howler.autoSuspend = false;\n this.beepSound = new Howl({\n src: beepSound,\n });\n\n this.vibrateFunction = navigator.vibrate ?? navigator.webkitVibrate ?? navigator.mozVibrate ?? navigator.msVibrate;\n\n this.eventEmitter = new EventEmitter();\n\n this.setPlaySoundOnScanEnabled(playSoundOnScan);\n this.setVibrateOnScanEnabled(vibrateOnScan);\n this.setTargetScanningFPS(targetScanningFPS);\n\n this.scanner = scanner?.applyScanSettings(scanSettings) ?? new Scanner({ scanSettings });\n this.scannerReadyEventListener = this.handleScannerReady.bind(this);\n this.scanner.on(\"ready\", this.scannerReadyEventListener);\n\n this.gui = new GUI({\n scanner: this.scanner,\n originElement,\n singleImageModeEnabled,\n singleImageModeSettings,\n scanningPaused,\n visible,\n guiStyle,\n videoFit,\n hideLogo,\n cameraRecoveryText,\n laserArea,\n viewfinderArea,\n cameraUploadCallback: this.processVideoFrame.bind(this, true),\n });\n\n if (singleImageModeEnabled) {\n this.cameraManager = new DummyCameraManager(this.scanner, this.triggerCameraAccessError.bind(this), this.gui);\n this.gui.setCameraType(cameraType);\n } else {\n this.cameraManager = new CameraManager(this.scanner, this.triggerCameraAccessError.bind(this), this.gui);\n this.scheduleVideoProcessing();\n }\n\n this.gui.setCameraManager(this.cameraManager);\n }\n\n /**\n * Fired when the external Scandit Data Capture library has been loaded and the barcode picker can thus start to scan\n * barcodes or texts.\n *\n * @asMemberOf BarcodePicker\n * @event\n */\n // istanbul ignore next\n public static ready(): void {\n // Ignored\n }\n /**\n * Fired when a new frame is submitted to the external Scandit Data Capture library to be processed. As the frame is\n * not processed yet, the [[ScanResult.barcodes]] property will always be empty (no results yet).\n *\n * @asMemberOf BarcodePicker\n * @event\n * @param scanResult The result of the scanning operation on the image.\n */\n // @ts-ignore\n // istanbul ignore next\n public static submitFrame(scanResult: ScanResult): void {\n // Ignored\n }\n /**\n * Fired when a new frame is processed by the external Scandit Data Capture library. This event is fired on every\n * frame, independently from the number of recognized barcodes or texts (can both be none). The returned barcodes and\n * texts are affected by [[ScanSettings]]'s *codeDuplicateFilter* and [[TextRecognitionSettings]]'s\n * *textDuplicateFilter* options.\n *\n * @asMemberOf BarcodePicker\n * @event\n * @param scanResult The result of the scanning operation on the image.\n */\n // @ts-ignore\n // istanbul ignore next\n public static processFrame(scanResult: ScanResult): void {\n // Ignored\n }\n /**\n * Fired when new barcodes or texts are recognized in the image frame. The returned barcodes and texts are affected by\n * [[ScanSettings]]'s *codeDuplicateFilter* and [[TextRecognitionSettings]]'s *textDuplicateFilter* options.\n *\n * @asMemberOf BarcodePicker\n * @event\n * @param scanResult The result of the scanning operation on the image.\n */\n // @ts-ignore\n // istanbul ignore next\n public static scan(scanResult: ScanResult): void {\n // Ignored\n }\n /**\n * Fired when an error occurs during scanning initialization and execution. The barcode picker will be automatically\n * paused when this happens.\n *\n * @asMemberOf BarcodePicker\n * @event\n * @param error The ScanditEngineError that was triggered.\n */\n // @ts-ignore\n // istanbul ignore next\n public static scanError(error: Error): void {\n // Ignored\n }\n /**\n * Fired when an error occurs during camera access.\n *\n * @asMemberOf BarcodePicker\n * @event\n * @param error The Error that was triggered.\n */\n // @ts-ignore\n // istanbul ignore next\n public static cameraAccessError(error: Error): void {\n // Ignored\n }\n\n /**\n * Create a [[BarcodePicker]] instance, creating the needed HTML in the given origin element.\n * If the *accessCamera* option is enabled (active by default) and the picker is not in Single Image Mode,\n * the available cameras are accessed and camera access permission is requested to the user if needed.\n * This object expects that at least a camera is available. The active camera is accessed and kept active during the\n * lifetime of the picker (also when hidden or scanning is paused), and is only released when [[destroy]] is called.\n *\n * It is required to having configured the library via [[configure]] before this object can be created.\n *\n * Depending on library configuration, parameters, device/browser features and user permissions for camera access, any\n * of the following errors could be the rejected result of the returned promise:\n * - `AbortError`\n * - `LibraryNotConfiguredError`\n * - `NoCameraAvailableError`\n * - `NoOriginElementError`\n * - `NotAllowedError`\n * - `NotFoundError`\n * - `NotReadableError`\n * - `SecurityError`\n * - `UnsupportedBrowserError`\n *\n * @param originElement The HTMLElement inside which all the necessary elements for the picker will be added.\n * @param visible
Default = true
\n * Whether the picker starts in a visible state.\n * @param singleImageModeSettings
Default = 
\n *
{\n   *   desktop: {\n   *     usageStrategy: SingleImageModeSettings.UsageStrategy.FALLBACK,\n   *     informationElement: <HTMLElement>,\n   *     buttonElement: <SVGElement>,\n   *     containerStyle: { backgroundColor: \"#333333\" },\n   *     informationStyle: { color: \"#FFFFFF\" },\n   *     buttonStyle: { borderColor: \"#FFFFFF\", color: \"#FFFFFF\", fill: \"#FFFFFF\" }\n   *   },\n   *   mobile: {\n   *     usageStrategy: SingleImageModeSettings.UsageStrategy.FALLBACK,\n   *     informationElement: <HTMLElement>,\n   *     buttonElement: <SVGElement>,\n   *     containerStyle: { backgroundColor: \"#333333\" },\n   *     informationStyle: { color: \"#FFFFFF\" },\n   *     buttonStyle: { borderColor: \"#FFFFFF\", color: \"#FFFFFF\", fill: \"#FFFFFF\" }\n   *   }\n   * }
\n * Settings for Single Image Mode: an alternative/fallback mode for a barcode picker to provide single camera\n * pictures to be scanned instead of continuous camera video stream access. In Single Image Mode users click/tap to\n * directly take a picture with the camera (mobile) or upload a file (desktop). Its usage depends on the given\n * settings and the camera video stream features provided by the OS/browser.\n * @param playSoundOnScan
Default = false
\n * Whether a sound is played on barcode/text recognition (iOS requires user input).\n * @param vibrateOnScan
Default = false
\n * Whether the device vibrates on barcode/text recognition (only Chrome & Firefox, requires user input).\n * @param scanningPaused
Default = false
\n * Whether the picker starts in a paused scanning state.\n * @param guiStyle
Default = GuiStyle.LASER
\n * The GUI style for the picker.\n * @param videoFit
Default = ObjectFit.CONTAIN
\n * The fit type for the video element of the picker.\n * @param cameraRecoveryText
Default = \"Tap/click to resume scanning\"
\n * The text to display to indicate to the user a necessary tap/click action on the picker to recover camera access.\n * @param laserArea
Default = undefined
\n * The area of the laser displayed when the GUI style is set to laser (the laser will match the width and be\n * vertically centered), by default the area will match the current [[ScanSettings]]'s searchArea option.\n * @param viewfinderArea
Default = undefined
\n * The area of the viewfinder displayed when the GUI style is set to viewfinder, by default the area will\n * match the current [[ScanSettings]]'s searchArea option.\n * @param enableCameraSwitcher
Default = true
\n * Whether to show a GUI button to switch between different cameras (when available).\n * @param enableTorchToggle
Default = true
\n * Whether to show a GUI button to toggle device torch on/off (when available, only Chrome).\n * @param enableTapToFocus
Default = true
\n * Whether to trigger a manual focus of the camera when clicking/tapping on the video (when available, only Chrome).\n * @param enablePinchToZoom
Default = true
\n * Whether to control the zoom of the camera when doing a pinching gesture on the video (when available, only Chrome).\n * @param accessCamera
Default = true
\n * Whether to immediately access the camera (and requesting user permissions if needed) on picker creation.\n * @param camera
Default = undefined
\n * The initial camera to be used for video input, if not specified the camera automatically selected depending on\n * the cameraType option will be used.\n * @param cameraType
Default = Camera.Type.BACK
\n * The preferred initial camera type (facing mode/direction) to be used for video input and Single Image Mode\n * (when available), by default the back or only camera will be used. If the camera option is provided then\n * cameraType is ignored.\n * @param cameraSettings
Default = undefined
\n * The camera options used when accessing the camera, by default hd resolution is used.\n * @param scanner
Default = undefined
\n * The scanner object responsible for scanning via the external Scandit Data Capture library\n * (a new scanner will be created and initialized if not provided).\n * @param scanSettings
Default = new ScanSettings()
\n * The configuration object for scanning options to be applied to the scanner (all symbologies disabled by default).\n * @param targetScanningFPS
Default = 30
\n * The target frames per second to be processed, the final speed is limited by the camera framerate (usually 30 FPS)\n * and the frame processing time of the device. By setting this to lower numbers devices can save power by performing\n * less work during scanning operations, depending on device speed (faster devices can \"sleep\" for longer periods).\n * Must be a number bigger than 0.\n * @returns A promise resolving to the created ready [[BarcodePicker]] object.\n */\n public static async create(\n originElement: HTMLElement,\n {\n visible = true,\n singleImageModeSettings = {},\n playSoundOnScan = false,\n vibrateOnScan = false,\n scanningPaused = false,\n guiStyle = BarcodePicker.GuiStyle.LASER,\n videoFit = BarcodePicker.ObjectFit.CONTAIN,\n cameraRecoveryText = \"Tap/click to resume scanning\",\n laserArea,\n viewfinderArea,\n scanner,\n scanSettings = new ScanSettings(),\n enableCameraSwitcher = true,\n enableTorchToggle = true,\n enableTapToFocus = true,\n enablePinchToZoom = true,\n accessCamera = true,\n camera,\n cameraType = Camera.Type.BACK,\n cameraSettings,\n targetScanningFPS = 30,\n /**\n * @hidden\n */\n hideLogo = false, // Hidden argument\n }: {\n visible?: boolean;\n singleImageModeSettings?: SingleImageModeSettings;\n playSoundOnScan?: boolean;\n vibrateOnScan?: boolean;\n scanningPaused?: boolean;\n guiStyle?: BarcodePicker.GuiStyle;\n videoFit?: BarcodePicker.ObjectFit;\n cameraRecoveryText?: string;\n laserArea?: SearchArea;\n viewfinderArea?: SearchArea;\n scanner?: Scanner;\n scanSettings?: ScanSettings;\n enableCameraSwitcher?: boolean;\n enableTorchToggle?: boolean;\n enableTapToFocus?: boolean;\n enablePinchToZoom?: boolean;\n accessCamera?: boolean;\n camera?: Camera;\n cameraType?: Camera.Type;\n cameraSettings?: CameraSettings;\n targetScanningFPS?: number;\n /**\n * @hidden\n */\n hideLogo?: boolean; // Hidden argument\n } = {}\n ): Promise {\n const deviceType: string | undefined = BrowserHelper.userAgentInfo.getDevice().type;\n const isMobileDevice: boolean = deviceType === \"mobile\" || deviceType === \"tablet\";\n const singleImageModePlatformSettings: SingleImageModePlatformSettings =\n (isMobileDevice ? singleImageModeSettings.mobile : singleImageModeSettings.desktop) ?? {};\n const singleImageModeDisallowed: boolean =\n singleImageModePlatformSettings.usageStrategy === SingleImageModeSettings.UsageStrategy.NEVER;\n const singleImageModeForced: boolean =\n singleImageModePlatformSettings.usageStrategy === SingleImageModeSettings.UsageStrategy.ALWAYS;\n\n const browserCompatibility: BrowserCompatibility = BrowserHelper.checkBrowserCompatibility();\n if (!browserCompatibility.scannerSupport || (singleImageModeDisallowed && !browserCompatibility.fullSupport)) {\n throw new UnsupportedBrowserError(browserCompatibility);\n }\n if (!browserCompatibility.fullSupport && !singleImageModeForced) {\n Logger.log(\n Logger.Level.INFO,\n \"BarcodePicker's Single Image Mode is being used as fallback as the OS/browser combination doesn't \" +\n \"support camera video stream scanning (https://caniuse.com/#feat=stream). \" +\n 'You can configure this behaviour via the \"singleImageModeSettings\" option.',\n browserCompatibility\n );\n }\n\n if (configurePhase !== \"done\") {\n throw new CustomError({\n name: \"LibraryNotConfiguredError\",\n message:\n configurePhase === \"started\"\n ? `The library has not completed its configuration yet, please call 'configure' and wait for the returned\n promise's resolution`\n : `The library was not configured, 'configure' must be called with valid parameters before instantiating\n the BarcodePicker`,\n });\n }\n if (!BrowserHelper.isValidHTMLElement(originElement)) {\n throw new CustomError({\n name: \"NoOriginElementError\",\n message: \"A valid origin HTML element must be given\",\n });\n }\n\n const barcodePicker: BarcodePicker = new BarcodePicker(originElement, {\n visible,\n singleImageModeEnabled: browserCompatibility.fullSupport ? singleImageModeForced : true,\n singleImageModeSettings: singleImageModePlatformSettings,\n playSoundOnScan,\n vibrateOnScan,\n scanningPaused,\n guiStyle,\n videoFit,\n cameraRecoveryText,\n laserArea,\n viewfinderArea,\n scanner,\n scanSettings,\n cameraType,\n targetScanningFPS,\n hideLogo,\n });\n\n barcodePicker.cameraManager.setInteractionOptions(\n enableCameraSwitcher,\n enableTorchToggle,\n enableTapToFocus,\n enablePinchToZoom\n );\n barcodePicker.cameraManager.setInitialCameraType(cameraType);\n barcodePicker.cameraManager.setSelectedCamera(camera);\n barcodePicker.cameraManager.setSelectedCameraSettings(cameraSettings);\n\n barcodePicker.cameraAccess = accessCamera;\n\n // Show error in alert on ScanError by default when running on local IP address for easier customer debugging\n barcodePicker.on(\"scanError\", (error) => {\n // istanbul ignore if\n if ([\"localhost\", \"127.0.0.1\", \"\"].includes(window.location.hostname)) {\n alert(error);\n }\n });\n\n if (accessCamera) {\n await barcodePicker.cameraManager.setupCameras();\n }\n\n return barcodePicker;\n }\n\n /**\n * Stop scanning and displaying video output, remove HTML elements added to the page,\n * destroy the internal [[Scanner]] (by default) and destroy the barcode picker itself; ensuring complete cleanup.\n *\n * This method should be called after you don't plan to use the picker anymore,\n * before the object is automatically cleaned up by JavaScript.\n * The barcode picker must not be used in any way after this call.\n *\n * If the [[Scanner]] is or will be in use for other purposes, the relative option can be passed to prevent\n * its destruction.\n *\n * @param destroyScanner Whether to destroy the internally used [[Scanner]] or not.\n */\n public destroy(destroyScanner: boolean = true): void {\n this.pauseScanning(true);\n this.scanner.removeListener(\"ready\", this.scannerReadyEventListener);\n this.destroyed = true;\n if (destroyScanner) {\n this.scanner.destroy();\n }\n this.gui.destroy();\n this.eventEmitter.removeAllListeners();\n }\n\n /**\n * Apply a new set of scan settings to the internal scanner (replacing old settings).\n *\n * @param scanSettings The scan configuration object to be applied to the scanner.\n * @returns The updated [[BarcodePicker]] object.\n */\n public applyScanSettings(scanSettings: ScanSettings): BarcodePicker {\n this.scanner.applyScanSettings(scanSettings);\n\n return this;\n }\n\n /**\n * @returns Whether the scanning is currently paused.\n */\n public isScanningPaused(): boolean {\n return this.scanningPaused;\n }\n\n /**\n * Pause the recognition of codes/texts in the input image.\n *\n * By default video from the camera is still shown, if the *pauseCamera* option is enabled the camera stream\n * is paused (camera access is fully interrupted) and will be resumed when calling [[resumeScanning]],\n * [[setActiveCamera]], [[setCameraType]] or [[accessCamera]], possibly requesting user permissions if needed.\n *\n * In Single Image Mode the input for submitting a picture is disabled.\n *\n * @param pauseCamera Whether to also pause the camera stream.\n * @returns The updated [[BarcodePicker]] object.\n */\n public pauseScanning(pauseCamera: boolean = false): BarcodePicker {\n this.scanningPaused = true;\n\n if (pauseCamera) {\n this.cameraManager.stopStream().catch(\n /* istanbul ignore next */ () => {\n // Ignored\n }\n );\n }\n\n if (this.scanner.isReady()) {\n this.gui.pauseScanning();\n }\n\n return this;\n }\n\n /**\n * Resume the recognition of codes/texts in the input image.\n *\n * If the camera stream was stopped when calling [[pauseScanning]], the camera stream is also resumed and\n * user permissions are requested if needed to resume video input.\n *\n * In Single Image Mode the input for submitting a picture is enabled.\n *\n * @returns The updated [[BarcodePicker]] object.\n */\n public async resumeScanning(): Promise {\n this.scanningPaused = false;\n\n if (this.scanner.isReady()) {\n this.gui.resumeScanning();\n }\n\n if (this.cameraAccess && this.getActiveCamera() == null) {\n await this.cameraManager.setupCameras();\n }\n\n return this;\n }\n\n /**\n * @returns The currently active camera.\n */\n public getActiveCamera(): Camera | undefined {\n return this.cameraManager.activeCamera;\n }\n\n /**\n * Select a camera to be used for video input, if no camera is passed, the default one (based on *cameraType*) is\n * selected.\n *\n * If camera access is enabled, the camera is enabled and accessed. If not, the camera is stored and used for the\n * future initial camera access.\n *\n * Depending on device features and user permissions for camera access, any of the following errors\n * could be the rejected result of the returned promise:\n * - `AbortError`\n * - `NoCameraAvailableError`\n * - `NotAllowedError`\n * - `NotFoundError`\n * - `NotReadableError`\n * - `SecurityError`\n *\n * In Single Image Mode this method has no effect.\n *\n * @param camera The new camera to be used, by default the automatically detected back camera is used.\n * @param cameraSettings The camera options used when accessing the camera, by default `hd` resolution is used.\n * @returns A promise resolving to the updated [[BarcodePicker]] object when the camera is set\n * (and accessed, if camera access is currently enabled).\n */\n public async setActiveCamera(camera?: Camera, cameraSettings?: CameraSettings): Promise {\n if (camera == null || !this.cameraAccess) {\n this.cameraManager.setSelectedCamera(camera);\n this.cameraManager.setSelectedCameraSettings(cameraSettings);\n\n if (this.cameraAccess) {\n await this.cameraManager.setupCameras();\n }\n } else {\n await this.cameraManager.initializeCameraWithSettings(camera, cameraSettings);\n }\n\n return this;\n }\n\n /**\n * Select a camera to be used for video input by specifying the wanted camera type (facing mode/direction): the main\n * camera detected for the given camera type will be used.\n *\n * If camera access is enabled, the camera is enabled and accessed. If not, the camera type is stored and used for the\n * future initial camera access.\n *\n * If the target camera is already in use or no camera with the given type is found this method has no effect.\n *\n * Depending on device features and user permissions for camera access, any of the following errors\n * could be the rejected result of the returned promise:\n * - `AbortError`\n * - `NoCameraAvailableError`\n * - `NotAllowedError`\n * - `NotFoundError`\n * - `NotReadableError`\n * - `SecurityError`\n *\n * @param cameraType The new camera type (facing mode/direction) to be used for video input and Single Image Mode\n * (when available).\n * @returns A promise resolving to the updated [[BarcodePicker]] object when the camera is updated\n * (and accessed, if camera access is currently enabled).\n */\n public async setCameraType(cameraType: Camera.Type): Promise {\n this.gui.setCameraType(cameraType);\n if (this.cameraAccess) {\n await this.cameraManager.setCameraType(cameraType);\n } else {\n this.cameraManager.setInitialCameraType(cameraType);\n }\n\n return this;\n }\n\n /**\n * Try to apply new settings to the currently used camera for video input,\n * if no settings are passed the default ones are set.\n *\n * If camera access is enabled, the camera is updated and accessed with the new settings. If not, the camera settings\n * are stored and used for the future initial camera access.\n *\n * Depending on device features and user permissions for camera access, any of the following errors\n * could be the rejected result of the returned promise:\n * - `AbortError`\n * - `NoCameraAvailableError`\n * - `NotAllowedError`\n * - `NotFoundError`\n * - `NotReadableError`\n * - `SecurityError`\n *\n * In Single Image Mode this method has no effect.\n *\n * @param cameraSettings The new camera options used when accessing the camera, by default `hd` resolution is used.\n * @returns A promise resolving to the updated [[BarcodePicker]] object when the camera is updated\n * (and accessed, if camera access is currently enabled).\n */\n public async applyCameraSettings(cameraSettings?: CameraSettings): Promise {\n if (!this.cameraAccess) {\n this.cameraManager.setSelectedCameraSettings(cameraSettings);\n } else {\n await this.cameraManager.applyCameraSettings(cameraSettings);\n }\n\n return this;\n }\n\n /**\n * @returns Whether the picker is in a visible state or not.\n */\n public isVisible(): boolean {\n return this.gui.isVisible();\n }\n\n /**\n * Enable or disable picker visibility.\n *\n * Note that this does not affect camera access, frame processing or any other picker logic.\n *\n * @param visible Whether the picker is in a visible state or not.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setVisible(visible: boolean): BarcodePicker {\n this.gui.setVisible(visible);\n\n return this;\n }\n\n /**\n * @returns Whether the currently selected camera's video is mirrored along the vertical axis.\n */\n public isMirrorImageEnabled(): boolean {\n return this.gui.isMirrorImageEnabled();\n }\n\n /**\n * Enable or disable camera video mirroring along the vertical axis.\n * By default front cameras are automatically mirrored.\n * This setting is applied per camera and the method has no effect if no camera is currently selected.\n *\n * In Single Image Mode this method has no effect.\n *\n * @param enabled Whether the camera video is mirrored along the vertical axis.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setMirrorImageEnabled(enabled: boolean): BarcodePicker {\n this.gui.setMirrorImageEnabled(enabled, true);\n\n return this;\n }\n\n /**\n * @returns Whether a sound should be played on barcode/text recognition (iOS requires user input).\n * Note that the sound is played if there's at least a barcode or text not rejected via [[ScanResult.rejectCode]] or\n * [[ScanResult.rejectText]].\n */\n public isPlaySoundOnScanEnabled(): boolean {\n return this.playSoundOnScan;\n }\n\n /**\n * Enable or disable playing a sound on barcode/text recognition (iOS requires user input).\n *\n * The sound is played if there's at least a barcode or text not rejected via [[ScanResult.rejectCode]] or\n * [[ScanResult.rejectText]].\n *\n * @param enabled Whether a sound should be played on barcode/text recognition.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setPlaySoundOnScanEnabled(enabled: boolean): BarcodePicker {\n this.playSoundOnScan = enabled;\n\n return this;\n }\n\n /**\n * @returns Whether the device should vibrate on barcode/text recognition (only Chrome & Firefox, requires user\n * input).\n * Note that the vibration is triggered if there's at least a barcode or text not rejected via\n * [[ScanResult.rejectCode]] or [[ScanResult.rejectText]].\n */\n public isVibrateOnScanEnabled(): boolean {\n return this.vibrateOnScan;\n }\n\n /**\n * Enable or disable vibrating the device on barcode/text recognition (only Chrome & Firefox, requires user input).\n *\n * The vibration is triggered if there's at least a barcode or text not rejected via [[ScanResult.rejectCode]] or\n * [[ScanResult.rejectText]].\n *\n * @param enabled Whether the device should vibrate on barcode/text recognition.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setVibrateOnScanEnabled(enabled: boolean): BarcodePicker {\n this.vibrateOnScan = enabled;\n\n return this;\n }\n\n /**\n * @returns Whether a GUI button to switch between different cameras is shown (when available).\n */\n public isCameraSwitcherEnabled(): boolean {\n return this.cameraManager.isCameraSwitcherEnabled();\n }\n\n /**\n * Show or hide a GUI button to switch between different cameras (when available).\n *\n * In Single Image Mode this method has no effect.\n *\n * @param enabled Whether to show a GUI button to switch between different cameras.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setCameraSwitcherEnabled(enabled: boolean): BarcodePicker {\n this.cameraManager.setCameraSwitcherEnabled(enabled).catch(\n /* istanbul ignore next */ () => {\n // Ignored\n }\n );\n\n return this;\n }\n\n /**\n * @returns Whether a GUI button to toggle device torch on/off is shown (when available, only Chrome).\n */\n public isTorchToggleEnabled(): boolean {\n return this.cameraManager.isTorchToggleEnabled();\n }\n\n /**\n * Show or hide a GUI button to toggle device torch on/off (when available, only Chrome).\n *\n * In Single Image Mode this method has no effect.\n *\n * @param enabled Whether to show a GUI button to toggle device torch on/off.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setTorchToggleEnabled(enabled: boolean): BarcodePicker {\n this.cameraManager.setTorchToggleEnabled(enabled);\n\n return this;\n }\n\n /**\n * @returns Whether manual camera focus when clicking/tapping on the video is enabled (when available, only Chrome).\n */\n public isTapToFocusEnabled(): boolean {\n return this.cameraManager.isTapToFocusEnabled();\n }\n\n /**\n * Enable or disable manual camera focus when clicking/tapping on the video (when available, only Chrome).\n *\n * In Single Image Mode this method has no effect.\n *\n * @param enabled Whether to enable manual camera focus when clicking/tapping on the video.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setTapToFocusEnabled(enabled: boolean): BarcodePicker {\n this.cameraManager.setTapToFocusEnabled(enabled);\n\n return this;\n }\n\n /**\n * @returns Whether camera zoom control via pinching gesture on the video is enabled (when available, only Chrome).\n */\n public isPinchToZoomEnabled(): boolean {\n return this.cameraManager.isPinchToZoomEnabled();\n }\n\n /**\n * Enable or disable camera zoom control via pinching gesture on the video (when available, only Chrome).\n *\n * In Single Image Mode this method has no effect.\n *\n * @param enabled Whether to enable camera zoom control via pinching gesture on the video.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setPinchToZoomEnabled(enabled: boolean): BarcodePicker {\n this.cameraManager.setPinchToZoomEnabled(enabled);\n\n return this;\n }\n\n /**\n * Enable or disable the torch/flashlight of the device (when available, only Chrome).\n * Changing active camera or camera settings will cause the torch to become disabled.\n *\n * A button on the [[BarcodePicker]] GUI to let the user toggle this functionality can also be set\n * on creation via the *enableTorchToggle* option (enabled by default, when available).\n *\n * In Single Image Mode this method has no effect.\n *\n * @param enabled Whether the torch should be enabled or disabled.\n * @returns A promise resolving to the updated [[BarcodePicker]] object when the torch is enabled/disabled.\n */\n public async setTorchEnabled(enabled: boolean): Promise {\n await this.cameraManager.setTorchEnabled(enabled);\n\n return this;\n }\n\n /**\n * Set the zoom level of the device (when available, only Chrome).\n * Changing active camera or camera settings will cause the zoom to be reset.\n *\n * In Single Image Mode this method has no effect.\n *\n * @param zoomPercentage The percentage of the max zoom (between 0 and 1).\n * @returns The updated [[BarcodePicker]] object.\n */\n public async setZoom(zoomPercentage: number): Promise {\n await this.cameraManager.setZoom(zoomPercentage);\n\n return this;\n }\n\n /**\n * @returns Whether the barcode picker has loaded the external Scandit Data Capture library and is ready to scan.\n */\n public isReady(): boolean {\n return this.isReadyToWork;\n }\n\n /**\n * Add the listener function to the listeners array for an event.\n *\n * No checks are made to see if the listener has already been added.\n * Multiple calls passing the same listener will result in the listener being added, and called, multiple times.\n *\n * @param eventName The name of the event to listen to.\n * @param listener The listener function.\n * @param once
Default = false
\n * Whether the listener should just be triggered only once and then discarded.\n * @returns The updated [[BarcodePicker]] object.\n */\n // tslint:disable-next-line:bool-param-default\n public on(eventName: EventName, listener: ListenerFn, once?: boolean): BarcodePicker;\n /**\n * Add the listener function to the listeners array for the [[ready]] event, fired when the external\n * Scandit Data Capture library has been loaded and the barcode picker can thus start to scan barcodes or texts.\n * If the library has already been loaded the listener is called immediately.\n *\n * No checks are made to see if the listener has already been added.\n * Multiple calls passing the same listener will result in the listener being added, and called, multiple times.\n *\n * @param eventName The name of the event to listen to.\n * @param listener The listener function.\n * @returns The updated [[BarcodePicker]] object.\n */\n public on(eventName: \"ready\", listener: () => void): BarcodePicker;\n /**\n * Add the listener function to the listeners array for the [[submitFrame]] event, fired when a new frame is submitted\n * to the external Scandit Data Capture library to be processed. As the frame is not processed yet, the\n * [[ScanResult.barcodes]] and [[ScanResult.texts]] properties will always be empty (no results yet).\n *\n * No checks are made to see if the listener has already been added.\n * Multiple calls passing the same listener will result in the listener being added, and called, multiple times.\n *\n * @param eventName The name of the event to listen to.\n * @param listener The listener function, which will be invoked with a [[ScanResult]] object.\n * @param once
Default = false
\n * Whether the listener should just be triggered only once and then discarded.\n * @returns The updated [[BarcodePicker]] object.\n */\n public on(\n eventName: \"submitFrame\",\n listener: (scanResult: ScanResult) => void,\n // tslint:disable-next-line:bool-param-default\n once?: boolean\n ): BarcodePicker;\n /**\n * Add the listener function to the listeners array for the [[processFrame]] event, fired when a new frame is\n * processed. This event is fired on every frame, independently from the number of recognized barcodes or texts (can\n * both be none). The returned barcodes and texts are affected by [[ScanSettings]]'s *codeDuplicateFilter* and\n * [[TextRecognitionSettings]]'s *textDuplicateFilter* options.\n *\n * No checks are made to see if the listener has already been added.\n * Multiple calls passing the same listener will result in the listener being added, and called, multiple times.\n *\n * @param eventName The name of the event to listen to.\n * @param listener The listener function, which will be invoked with a [[ScanResult]] object.\n * @param once
Default = false
\n * Whether the listener should just be triggered only once and then discarded.\n * @returns The updated [[BarcodePicker]] object.\n */\n public on(\n // tslint:disable-next-line:unified-signatures\n eventName: \"processFrame\",\n listener: (scanResult: ScanResult) => void,\n // tslint:disable-next-line:bool-param-default\n once?: boolean\n ): BarcodePicker;\n /**\n * Add the listener function to the listeners array for the [[scan]] event, fired when new barcodes or texts\n * are recognized in the image frame. The returned barcodes and texts are affected by [[ScanSettings]]'s\n * *codeDuplicateFilter* and [[TextRecognitionSettings]]'s *textDuplicateFilter* options.\n *\n * No checks are made to see if the listener has already been added.\n * Multiple calls passing the same listener will result in the listener being added, and called, multiple times.\n *\n * @param eventName The name of the event to listen to.\n * @param listener The listener function, which will be invoked with a [[ScanResult]] object.\n * @param once
Default = false
\n * Whether the listener should just be triggered only once and then discarded.\n * @returns The updated [[BarcodePicker]] object.\n */\n public on(\n // tslint:disable-next-line:unified-signatures\n eventName: \"scan\",\n listener: (scanResult: ScanResult) => void,\n // tslint:disable-next-line:bool-param-default\n once?: boolean\n ): BarcodePicker;\n /**\n * Add the listener function to the listeners array for the [[scanError]] event, fired when an error occurs\n * during scanning initialization and execution. The barcode picker will be automatically paused when this happens.\n *\n * No checks are made to see if the listener has already been added.\n * Multiple calls passing the same listener will result in the listener being added, and called, multiple times.\n *\n * @param eventName The name of the event to listen to.\n * @param listener The listener function, which will be invoked with an `ScanditEngineError` object.\n * @param once
Default = false
\n * Whether the listener should just be triggered only once and then discarded.\n * @returns The updated [[BarcodePicker]] object.\n */\n // tslint:disable-next-line:bool-param-default\n public on(eventName: \"scanError\", listener: (error: Error) => void, once?: boolean): BarcodePicker;\n /**\n * Add the listener function to the listeners array for the [[cameraAccessError]] event, fired when an error occurs\n * during camera access..\n *\n * No checks are made to see if the listener has already been added.\n * Multiple calls passing the same listener will result in the listener being added, and called, multiple times.\n *\n * @param eventName The name of the event to listen to.\n * @param listener The listener function, which will be invoked with an `Error` object.\n * @param once
Default = false
\n * Whether the listener should just be triggered only once and then discarded.\n * @returns The updated [[BarcodePicker]] object.\n */\n public on(\n // tslint:disable-next-line:unified-signatures\n eventName: \"cameraAccessError\",\n listener: (error: Error) => void,\n // tslint:disable-next-line:bool-param-default\n once?: boolean\n ): BarcodePicker;\n public on(eventName: EventName, listener: ListenerFn, once: boolean = false): BarcodePicker {\n if (eventName === \"ready\") {\n if (this.isReadyToWork) {\n listener();\n } else {\n this.eventEmitter.once(eventName, listener, this);\n }\n } else {\n if (once === true) {\n this.eventEmitter.once(eventName, listener, this);\n } else {\n this.eventEmitter.on(eventName, listener, this);\n }\n }\n\n return this;\n }\n\n /**\n * Remove the specified listener from the given event's listener array.\n *\n * @param eventName The name of the event from which to remove the listener.\n * @param listener The listener function to be removed.\n * @returns The updated [[BarcodePicker]] object.\n */\n public removeListener(eventName: EventName, listener: ListenerFn): BarcodePicker {\n this.eventEmitter.removeListener(eventName, listener);\n\n return this;\n }\n\n /**\n * Remove all listeners from the given event's listener array.\n *\n * @param eventName The name of the event from which to remove all listeners.\n * @returns The updated [[BarcodePicker]] object.\n */\n public removeAllListeners(eventName: EventName): BarcodePicker {\n this.eventEmitter.removeAllListeners(eventName);\n\n return this;\n }\n\n /**\n * *See the [[on]] method.*\n *\n * @param eventName The name of the event to listen to.\n * @param listener The listener function.\n * @param once
Default = false
\n * Whether the listener should just be triggered only once and then discarded.\n * @returns The updated [[BarcodePicker]] object.\n */\n // tslint:disable-next-line:bool-param-default\n public addListener(eventName: EventName, listener: ListenerFn, once?: boolean): BarcodePicker {\n return this.on(eventName, listener, once);\n }\n\n /**\n * Set the GUI style for the picker.\n *\n * In Single Image Mode this method has no effect.\n *\n * When the GUI style is set to *laser* or *viewfinder*, the GUI will flash on barcode/text recognition.\n * Note that the GUI will flash if there's at least a barcode or text not rejected via [[ScanResult.rejectCode]] or\n * [[ScanResult.rejectText]].\n *\n * @param guiStyle The new GUI style to be applied.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setGuiStyle(guiStyle: BarcodePicker.GuiStyle): BarcodePicker {\n this.gui.setGuiStyle(guiStyle);\n\n return this;\n }\n\n /**\n * Set the fit type for the video element of the picker.\n *\n * If the \"cover\" type is selected the maximum available search area for barcode/text detection is (continuously)\n * adjusted automatically according to the visible area of the picker.\n *\n * In Single Image Mode this method has no effect.\n *\n * @param objectFit The new fit type to be applied.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setVideoFit(objectFit: BarcodePicker.ObjectFit): BarcodePicker {\n this.gui.setVideoFit(objectFit);\n\n return this;\n }\n\n /**\n * Access the currently set or default camera, requesting user permissions if needed.\n * This method is meant to be used after the picker has been initialized with disabled camera access\n * (*accessCamera*=false) or after [[pauseScanning]] has been called with the pause camera stream option.\n * Calling this doesn't do anything if the camera is already being accessed.\n *\n * Depending on device features and user permissions for camera access, any of the following errors\n * could be the rejected result of the returned promise:\n * - `AbortError`\n * - `NoCameraAvailableError`\n * - `NotAllowedError`\n * - `NotFoundError`\n * - `NotReadableError`\n * - `SecurityError`\n *\n * In Single Image Mode this method has no effect.\n *\n * @returns A promise resolving to the updated [[BarcodePicker]] object when the camera is accessed.\n */\n public async accessCamera(): Promise {\n if (!this.cameraAccess || this.getActiveCamera() == null) {\n await this.cameraManager.setupCameras();\n this.cameraAccess = true;\n }\n\n return this;\n }\n\n /**\n * Create a new parser object.\n *\n * @param dataFormat The format of the input data for the parser.\n * @returns The newly created parser.\n */\n public createParserForFormat(dataFormat: Parser.DataFormat): Parser {\n return this.scanner.createParserForFormat(dataFormat);\n }\n\n /**\n * Reassign the barcode picker to a different HTML element.\n *\n * All the barcode picker elements inside the current origin element will be moved to the new given one.\n *\n * If an invalid element is given, a `NoOriginElementError` error is thrown.\n *\n * @param originElement The HTMLElement into which all the necessary elements for the picker will be moved.\n * @returns The updated [[BarcodePicker]] object.\n */\n public reassignOriginElement(originElement: HTMLElement): BarcodePicker {\n if (!BrowserHelper.isValidHTMLElement(originElement)) {\n throw new CustomError({\n name: \"NoOriginElementError\",\n message: \"A valid origin HTML element must be given\",\n });\n }\n\n this.gui.reassignOriginElement(originElement);\n\n return this;\n }\n\n /**\n * Set the target frames per second to be processed by the external Scandit Data Capture library.\n *\n * The final speed is limited by the camera framerate (usually 30 FPS) and the frame processing time of the device.\n * By setting this to lower numbers devices can save power by performing less work during scanning operations,\n * depending on device speed (faster devices can \"sleep\" for longer periods).\n *\n * In Single Image Mode this method has no effect.\n *\n * @param targetScanningFPS The target frames per second to be processed.\n * Must be a number bigger than 0, by default set to 30.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setTargetScanningFPS(targetScanningFPS: number): BarcodePicker {\n if (targetScanningFPS <= 0) {\n targetScanningFPS = 30;\n }\n this.targetScanningFPS = targetScanningFPS;\n\n return this;\n }\n\n /**\n * @returns The internally used initialized (and possibly configured) [[Scanner]] object instance.\n */\n public getScanner(): Scanner {\n return this.scanner;\n }\n\n /**\n * Clear the internal scanner session.\n *\n * This removes all recognized barcodes/texts from the scanner session and allows them to be scanned again in case a\n * custom *codeDuplicateFilter* and/or *textDuplicateFilter* option was set in [[ScanSettings]] or\n * [[TextRecognitionSettings]].\n *\n * @returns The updated [[BarcodePicker]] object.\n */\n public clearSession(): BarcodePicker {\n this.scanner.clearSession();\n\n return this;\n }\n\n /**\n * Set the area of the laser displayed when the GUI style is set to *laser* (the laser will match the width and be\n * vertically centered).\n * Note that this functionality affects UI only and doesn't change the actual *searchArea* option set via\n * [[ScanSettings]]. If no area is passed, the default automatic size behaviour is set, where the laser will match\n * the current area of the image in which barcodes/texts are searched, controlled via the *searchArea* option in\n * [[ScanSettings]].\n *\n * @param area The new search area, by default the area will match [[ScanSettings]]'s *searchArea* option.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setLaserArea(area?: SearchArea): BarcodePicker {\n this.gui.setLaserArea(area);\n\n return this;\n }\n\n /**\n * Set the area of the viewfinder displayed when the GUI style is set to *viewfinder*.\n * Note that this functionality affects UI only and doesn't change the actual search area set via [[ScanSettings]].\n * If no area is passed, the default automatic size behaviour is set, where the viewfinder will match the current area\n * of the image in which barcodes/texts are searched, controlled via the *searchArea* option in [[ScanSettings]].\n *\n * @param area The new search area, by default the area will match the [[ScanSettings]]'s *searchArea*.\n * @returns The updated [[BarcodePicker]] object.\n */\n public setViewfinderArea(area?: SearchArea): BarcodePicker {\n this.gui.setViewfinderArea(area);\n\n return this;\n }\n\n /**\n * @hidden\n *\n * Pause the camera stream (camera access is fully interrupted).\n *\n * @returns The updated [[BarcodePicker]] object.\n */\n public pauseCameraAccess(): BarcodePicker {\n this.cameraAccess = false;\n this.cameraManager.stopStream().catch(\n /* istanbul ignore next */ () => {\n // Ignored\n }\n );\n\n return this;\n }\n\n private triggerCameraAccessError(error: Error): void {\n this.eventEmitter.emit(\"cameraAccessError\", error);\n }\n\n private handleScanResult(scanResult: ScanResult): void {\n (>scanResult).imageData = this.externalImageData;\n\n this.eventEmitter.emit(\"processFrame\", scanResult);\n\n if (scanResult.barcodes.length !== 0 || scanResult.texts.length !== 0) {\n // This will get executed only after the other existing listeners for \"processFrame\" and \"scan\" are executed\n this.eventEmitter.once(\"scan\", () => {\n const acceptedBarcodes: boolean = scanResult.barcodes.some((barcode) => {\n return !scanResult.rejectedCodes.has(barcode);\n });\n const acceptedTexts: boolean = scanResult.texts.some((text) => {\n return !scanResult.rejectedTexts.has(text);\n });\n if (acceptedBarcodes || acceptedTexts) {\n this.gui.flashGUI();\n if (this.playSoundOnScan) {\n this.beepSound.play();\n }\n if (this.vibrateOnScan) {\n this.vibrateFunction?.call(navigator, 300);\n }\n }\n });\n this.eventEmitter.emit(\"scan\", scanResult);\n }\n }\n\n private scheduleVideoProcessing(timeout: number = 0): void {\n window.setTimeout(async () => {\n await this.videoProcessing();\n }, timeout); // Leave some breathing room for other operations\n }\n\n private async scheduleNextVideoProcessing(processingStartTime: number): Promise {\n if (this.targetScanningFPS < 60) {\n if (this.averageProcessingTime == null) {\n this.averageProcessingTime = performance.now() - processingStartTime;\n } else {\n this.averageProcessingTime = this.averageProcessingTime * 0.9 + (performance.now() - processingStartTime) * 0.1;\n }\n const nextProcessingCallDelay: number = Math.max(0, 1000 / this.targetScanningFPS - this.averageProcessingTime);\n if (Math.round(nextProcessingCallDelay) <= 16) {\n await this.videoProcessing();\n } else {\n this.scheduleVideoProcessing(nextProcessingCallDelay);\n }\n } else {\n await this.videoProcessing();\n }\n }\n\n private async processVideoFrame(highQualitySingleFrameMode: boolean): Promise {\n this.internalImageData = this.gui.getImageData(this.internalImageData);\n\n // This could happen in unexpected situations and should be temporary\n // istanbul ignore if\n if (this.internalImageData == null) {\n return;\n }\n\n if (\n this.externalImageData == null ||\n this.externalImageData.byteLength === 0 ||\n this.externalImageData.byteLength !== this.internalImageData.byteLength\n ) {\n this.externalImageData = new Uint8Array(this.internalImageData);\n } else {\n this.externalImageData.set(this.internalImageData);\n }\n\n if (!this.scanningPaused) {\n if (this.eventEmitter.listenerCount(\"submitFrame\") > 0) {\n this.eventEmitter.emit(\n \"submitFrame\",\n new ScanResult([], [], this.externalImageData, this.scanner.getImageSettings())\n );\n }\n\n try {\n const scanResult: ScanResult = await this.scanner.processImage(\n this.internalImageData,\n highQualitySingleFrameMode\n );\n this.internalImageData = scanResult.imageData;\n // Paused status could have changed in the meantime\n if (!this.scanningPaused) {\n this.handleScanResult(scanResult);\n }\n } catch (error) {\n this.internalImageData = undefined;\n if (error.name === \"ImageSettingsDataMismatch\") {\n // This could happen in unexpected situations and should be temporary\n return;\n }\n this.pauseScanning();\n this.eventEmitter.emit(\"scanError\", error);\n }\n }\n }\n\n private async videoProcessing(): Promise {\n if (this.destroyed) {\n return;\n }\n\n if (\n this.getActiveCamera()?.currentResolution == null ||\n this.scanningPaused ||\n !this.scanner.isReady() ||\n this.scanner.isBusyProcessing() ||\n this.latestVideoTimeProcessed === this.gui.getVideoCurrentTime()\n ) {\n this.scheduleVideoProcessing();\n\n return;\n }\n\n if (this.latestVideoTimeProcessed == null) {\n // Show active GUI if needed, as now it's the moment the scanner is ready and used for the first time\n await this.resumeScanning();\n }\n\n const processingStartTime: number = performance.now();\n this.latestVideoTimeProcessed = this.gui.getVideoCurrentTime();\n\n await this.processVideoFrame(false);\n await this.scheduleNextVideoProcessing(processingStartTime);\n }\n\n private handleScannerReady(): void {\n this.isReadyToWork = true;\n this.eventEmitter.emit(\"ready\");\n }\n}\n\n// istanbul ignore next\nexport namespace BarcodePicker {\n /**\n * GUI style to be used by a barcode picker, used to hint barcode/text placement in the frame.\n */\n export enum GuiStyle {\n /**\n * No GUI is shown to indicate where the barcode/text should be placed.\n * Be aware that the Scandit logo continues to be displayed as showing it is part of the license agreement.\n */\n NONE = \"none\",\n /**\n * A laser line is shown.\n */\n LASER = \"laser\",\n /**\n * A rectangular viewfinder with rounded corners is shown.\n */\n VIEWFINDER = \"viewfinder\",\n }\n\n /**\n * Fit type used to control the resizing (scale) of the barcode picker to fit in its container *originElement*.\n */\n export enum ObjectFit {\n /**\n * Scale to maintain aspect ratio while fitting within the *originElement*'s content box.\n * Aspect ratio is preserved, so the barcode picker will be \"letterboxed\" if its aspect ratio\n * does not match the aspect ratio of the box.\n */\n CONTAIN = \"contain\",\n /**\n * Scale to maintain aspect ratio while filling the *originElement*'s entire content box.\n * Aspect ratio is preserved, so the barcode picker will be clipped to fit if its aspect ratio\n * does not match the aspect ratio of the box.\n */\n COVER = \"cover\",\n }\n}\n","import { BarcodePicker, Camera, ScanSettings, SearchArea, SingleImageModeSettings, TextRecognitionSettings } from \"..\";\n\nexport enum Attribute {\n ACCESS_CAMERA = \"accessCamera\",\n CAMERA = \"camera\",\n CAMERA_SETTINGS = \"cameraSettings\",\n CAMERA_TYPE = \"cameraType\",\n CONFIGURE = \"configure\",\n ENABLE_CAMERA_SWITCHER = \"enableCameraSwitcher\",\n ENABLE_PINCH_TO_ZOOM = \"enablePinchToZoom\",\n ENABLE_TAP_TO_FOCUS = \"enableTapToFocus\",\n ENABLE_TORCH_TOGGLE = \"enableTorchToggle\",\n GUI_STYLE = \"guiStyle\",\n LASER_AREA = \"laserArea\",\n PLAY_SOUND_ON_SCAN = \"playSoundOnScan\",\n SCANNING_PAUSED = \"scanningPaused\",\n SINGLE_IMAGE_MODE_SETTINGS = \"singleImageModeSettings\",\n TARGET_SCANNING_FPS = \"targetScanningFPS\",\n VIBRATE_ON_SCAN = \"vibrateOnScan\",\n VIDEO_FIT = \"videoFit\",\n VIEWFINDER_AREA = \"viewfinderArea\",\n VISIBLE = \"visible\",\n CONFIGURE_ENGINE_LOCATION = \"configure.engineLocation\",\n CONFIGURE_LICENSE_KEY = \"configure.licenseKey\",\n CONFIGURE_HIGH_QUALITY_BLURRY_RECOGNITION = \"configure.highQualityBlurryRecognition\",\n CONFIGURE_LOAD_TEXT_RECOGNITION = \"configure.loadTextRecognition\",\n CONFIGURE_PRELOAD_BLURRY_RECOGNITION = \"configure.preloadBlurryRecognition\",\n CONFIGURE_PRELOAD_ENGINE = \"configure.preloadEngine\",\n SCAN_SETTINGS_BLURRY_RECOGNITION = \"scanSettings.blurryRecognition\",\n SCAN_SETTINGS_CODE_DIRECTION_HINT = \"scanSettings.codeDirectionHint\",\n SCAN_SETTINGS_CODE_DUPLICATE_FILTER = \"scanSettings.codeDuplicateFilter\",\n SCAN_SETTINGS_DEVICE_NAME = \"scanSettings.deviceName\",\n SCAN_SETTINGS_ENABLED_SYMBOLOGIES = \"scanSettings.enabledSymbologies\",\n SCAN_SETTINGS_GPU_ACCELERATION = \"scanSettings.gpuAcceleration\",\n SCAN_SETTINGS_MAX_NUMBER_OF_CODES_PER_FRAME = \"scanSettings.maxNumberOfCodesPerFrame\",\n SCAN_SETTINGS_RECOGNITION_MODE = \"scanSettings.recognitionMode\",\n SCAN_SETTINGS_SEARCH_AREA = \"scanSettings.searchArea\",\n SCAN_SETTINGS_TEXT_RECOGNITION_SETTINGS = \"scanSettings.textRecognitionSettings\",\n}\n\nexport const attributes: Attribute[] = Object.values(Attribute);\n\nlet schema: { [key in Attribute]: AttributeDescriptor };\n// tslint:disable-next-line: max-func-body-length\nexport function getSchema(): { [key in Attribute]: AttributeDescriptor } {\n if (schema != null) {\n return schema;\n }\n\n return (schema = Object.freeze({\n [Attribute.ACCESS_CAMERA]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.CAMERA]: {\n type: \"camera\",\n default: undefined,\n },\n [Attribute.CAMERA_SETTINGS]: {\n type: \"cameraSettings\",\n default: undefined,\n },\n [Attribute.CAMERA_TYPE]: {\n type: \"cameraType\",\n default: Camera.Type.BACK,\n },\n [Attribute.CONFIGURE]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.ENABLE_CAMERA_SWITCHER]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.ENABLE_PINCH_TO_ZOOM]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.ENABLE_TAP_TO_FOCUS]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.ENABLE_TORCH_TOGGLE]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.GUI_STYLE]: {\n type: \"guiStyle\",\n default: BarcodePicker.GuiStyle.LASER,\n },\n [Attribute.LASER_AREA]: {\n type: \"searchArea\",\n default: undefined,\n },\n [Attribute.PLAY_SOUND_ON_SCAN]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.SCANNING_PAUSED]: {\n type: \"boolean\",\n default: false,\n },\n [Attribute.SINGLE_IMAGE_MODE_SETTINGS]: {\n type: \"singleImageModeSettings\",\n default: undefined,\n },\n [Attribute.TARGET_SCANNING_FPS]: {\n type: \"integer\",\n default: 30,\n },\n [Attribute.VIBRATE_ON_SCAN]: {\n type: \"boolean\",\n default: false,\n },\n [Attribute.VIDEO_FIT]: {\n type: \"videoFit\",\n default: BarcodePicker.ObjectFit.CONTAIN,\n },\n [Attribute.VIEWFINDER_AREA]: {\n type: \"searchArea\",\n default: undefined,\n },\n [Attribute.VISIBLE]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.CONFIGURE_ENGINE_LOCATION]: {\n type: \"string\",\n default: \"/\",\n },\n [Attribute.CONFIGURE_LICENSE_KEY]: {\n type: \"string\",\n default: \"\",\n },\n [Attribute.CONFIGURE_HIGH_QUALITY_BLURRY_RECOGNITION]: {\n type: \"boolean\",\n default: false,\n },\n [Attribute.CONFIGURE_LOAD_TEXT_RECOGNITION]: {\n type: \"boolean\",\n default: false,\n },\n [Attribute.CONFIGURE_PRELOAD_BLURRY_RECOGNITION]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.CONFIGURE_PRELOAD_ENGINE]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.SCAN_SETTINGS_BLURRY_RECOGNITION]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.SCAN_SETTINGS_CODE_DIRECTION_HINT]: {\n type: \"codeDirection\",\n default: ScanSettings.CodeDirection.LEFT_TO_RIGHT,\n },\n [Attribute.SCAN_SETTINGS_CODE_DUPLICATE_FILTER]: {\n type: \"integer\",\n default: 0,\n },\n [Attribute.SCAN_SETTINGS_DEVICE_NAME]: {\n type: \"string\",\n default: undefined,\n },\n [Attribute.SCAN_SETTINGS_ENABLED_SYMBOLOGIES]: {\n type: \"array\",\n default: [],\n },\n [Attribute.SCAN_SETTINGS_GPU_ACCELERATION]: {\n type: \"boolean\",\n default: true,\n },\n [Attribute.SCAN_SETTINGS_MAX_NUMBER_OF_CODES_PER_FRAME]: {\n type: \"integer\",\n default: 1,\n },\n [Attribute.SCAN_SETTINGS_RECOGNITION_MODE]: {\n type: \"recognitionMode\",\n default: ScanSettings.RecognitionMode.CODE,\n },\n [Attribute.SCAN_SETTINGS_SEARCH_AREA]: {\n type: \"searchArea\",\n default: undefined,\n },\n [Attribute.SCAN_SETTINGS_TEXT_RECOGNITION_SETTINGS]: {\n type: \"textRecognitionSettings\",\n default: undefined,\n },\n }));\n}\n\ntype AttributeType =\n | \"boolean\"\n | \"string\"\n | \"integer\"\n | \"array\"\n | \"videoFit\"\n | \"camera\"\n | \"cameraSettings\"\n | \"cameraType\"\n | \"guiStyle\"\n | \"searchArea\"\n | \"codeDirection\"\n | \"recognitionMode\"\n | \"singleImageModeSettings\"\n | \"textRecognitionSettings\";\n\nexport type AttributeDescriptor =\n | StringValue\n | BooleanValue\n | IntegerValue\n | ArrayValue\n | VideoFitValue\n | CameraValue\n | CameraSettings\n | CameraTypeValue\n | GuiStyleValue\n | SearchAreaValue\n | CodeDirectionValue\n | RecognitionModeValue\n | SingleImageModeSettingsValue\n | TextRecognitionSettingsValue;\n\ninterface GenericValue {\n type: AttributeType;\n}\n\ninterface BooleanValue extends GenericValue {\n type: \"boolean\";\n default: boolean;\n}\n\ninterface StringValue extends GenericValue {\n type: \"string\";\n default?: string;\n}\n\ninterface IntegerValue extends GenericValue {\n type: \"integer\";\n default?: number;\n}\n\ninterface ArrayValue extends GenericValue {\n type: \"array\";\n default?: string[] | number[];\n}\n\ninterface VideoFitValue extends GenericValue {\n type: \"videoFit\";\n default?: BarcodePicker.ObjectFit;\n}\n\ninterface CameraValue extends GenericValue {\n type: \"camera\";\n default?: Camera;\n}\n\ninterface CameraSettings extends GenericValue {\n type: \"cameraSettings\";\n default?: CameraSettings;\n}\n\ninterface CameraTypeValue extends GenericValue {\n type: \"cameraType\";\n default?: Camera.Type;\n}\n\ninterface GuiStyleValue extends GenericValue {\n type: \"guiStyle\";\n default?: BarcodePicker.GuiStyle;\n}\n\ninterface SearchAreaValue extends GenericValue {\n type: \"searchArea\";\n default?: SearchArea;\n}\n\ninterface CodeDirectionValue extends GenericValue {\n type: \"codeDirection\";\n default?: ScanSettings.CodeDirection;\n}\n\ninterface RecognitionModeValue extends GenericValue {\n type: \"recognitionMode\";\n default?: ScanSettings.RecognitionMode;\n}\n\ninterface SingleImageModeSettingsValue extends GenericValue {\n type: \"singleImageModeSettings\";\n default?: SingleImageModeSettings;\n}\n\ninterface TextRecognitionSettingsValue extends GenericValue {\n type: \"textRecognitionSettings\";\n default?: TextRecognitionSettings;\n}\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a, _b;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_b = (_a = obj) === null || _a === void 0 ? void 0 : _a.ownerDocument) === null || _b === void 0 ? void 0 : _b.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import { ResizeObserver as ResizeObserverPolyfill } from \"@juggle/resize-observer\";\n\n/**\n * @hidden\n */\n// tslint:disable-next-line: variable-name no-any\nconst ResizeObserver: typeof ResizeObserverPolyfill = (window).ResizeObserver ?? ResizeObserverPolyfill;\n\nimport {\n laserActiveImage,\n laserPausedImage,\n scanditLogoImage,\n switchCameraImage,\n toggleTorchImage,\n} from \"../assets/base64assets\";\nimport { BrowserHelper } from \"../browserHelper\";\nimport { Camera } from \"../camera\";\nimport { CameraAccess } from \"../cameraAccess\";\nimport { ImageSettings } from \"../imageSettings\";\nimport { Logger } from \"../logger\";\nimport { Scanner } from \"../scanner\";\nimport { ScanSettings } from \"../scanSettings\";\nimport { SearchArea } from \"../searchArea\";\nimport { SingleImageModePlatformSettings, SingleImageModeSettings } from \"../singleImageModeSettings\";\nimport { BarcodePicker } from \"./barcodePicker\";\nimport { CameraManager } from \"./cameraManager\";\n\nexport class GUI {\n public static readonly grandParentElementClassName: string = \"scandit scandit-container\";\n public static readonly parentElementClassName: string = \"scandit scandit-barcode-picker\";\n public static readonly hiddenClassName: string = \"scandit-hidden\";\n public static readonly hiddenOpacityClassName: string = \"scandit-hidden-opacity\";\n public static readonly videoElementClassName: string = \"scandit-video\";\n public static readonly scanditLogoImageElementClassName: string = \"scandit-logo\";\n public static readonly laserContainerElementClassName: string = \"scandit-laser\";\n public static readonly viewfinderElementClassName: string = \"scandit-viewfinder\";\n public static readonly cameraSwitcherElementClassName: string = \"scandit-camera-switcher\";\n public static readonly cameraRecoveryElementClassName: string = \"scandit-camera-recovery\";\n public static readonly torchTogglerElementClassName: string = \"scandit-torch-toggle\";\n public static readonly cameraUploadElementClassName: string = \"scandit-camera-upload\";\n public static readonly flashColorClassName: string = \"scandit-flash-color\";\n public static readonly flashWhiteClassName: string = \"scandit-flash-white\";\n public static readonly flashInsetClassName: string = \"scandit-flash-inset\";\n public static readonly opacityPulseClassName: string = \"scandit-opacity-pulse\";\n public static readonly mirroredClassName: string = \"mirrored\";\n public static readonly pausedClassName: string = \"paused\";\n\n public readonly videoElement: HTMLVideoElement;\n\n private readonly cameraSwitcherElement: HTMLImageElement;\n private readonly torchTogglerElement: HTMLImageElement;\n private readonly cameraRecoveryElement: HTMLDivElement;\n\n private readonly scanner: Scanner;\n private readonly singleImageModeEnabled: boolean;\n private readonly singleImageModeSettings: SingleImageModePlatformSettings;\n private readonly grandParentElement: HTMLDivElement;\n private readonly parentElement: HTMLDivElement;\n private readonly laserContainerElement: HTMLDivElement;\n private readonly laserActiveImageElement: HTMLImageElement;\n private readonly laserPausedImageElement: HTMLImageElement;\n private readonly viewfinderElement: HTMLDivElement;\n private readonly cameraUploadElement: HTMLDivElement;\n private readonly cameraUploadLabelElement: HTMLLabelElement;\n private readonly cameraUploadInputElement: HTMLInputElement;\n private readonly cameraUploadProgressElement: HTMLDivElement;\n private readonly visibilityListener: EventListenerOrEventListenerObject;\n private readonly videoPauseListener: EventListenerOrEventListenerObject;\n private readonly videoResizeListener: EventListenerOrEventListenerObject;\n private readonly webGLContextLostListener: EventListenerOrEventListenerObject;\n private readonly newScanSettingsListener: (scanSettings: ScanSettings) => void;\n private readonly contextCreatedShowLogoListener: (licenseKeyFeatures: object) => void;\n private readonly contextCreatedActivateGUIListener: () => void;\n private readonly resizeObserver: ResizeObserverPolyfill;\n private readonly cameraUploadCallback: () => Promise;\n private readonly mirrorImageOverrides: Map;\n\n private contextWebGL?: WebGLRenderingContext;\n private context2d?: CanvasRenderingContext2D;\n private cameraManager?: CameraManager;\n private originElement: HTMLElement;\n private scanningPaused: boolean;\n private visible: boolean;\n private guiStyle: BarcodePicker.GuiStyle;\n private videoFit: BarcodePicker.ObjectFit;\n private customLaserArea?: SearchArea;\n private customViewfinderArea?: SearchArea;\n private cameraUploadInProgress: boolean;\n private cameraSwitchInProgress: boolean;\n private dataCaptureContextCreated: boolean;\n // This property was introduced because testing videoElement.offsetParent in Safari\n // proved to be unreliable.\n private isVideoElementDetached: boolean = false;\n\n public constructor(options: {\n scanner: Scanner;\n originElement: HTMLElement;\n singleImageModeEnabled: boolean;\n singleImageModeSettings: SingleImageModePlatformSettings;\n scanningPaused: boolean;\n visible: boolean;\n guiStyle: BarcodePicker.GuiStyle;\n videoFit: BarcodePicker.ObjectFit;\n hideLogo: boolean;\n cameraRecoveryText: string;\n laserArea?: SearchArea;\n viewfinderArea?: SearchArea;\n cameraUploadCallback(): Promise;\n }) {\n this.scanner = options.scanner;\n this.originElement = options.originElement;\n this.singleImageModeEnabled = options.singleImageModeEnabled;\n this.singleImageModeSettings = options.singleImageModeSettings;\n this.scanningPaused = options.scanningPaused;\n this.cameraUploadCallback = options.cameraUploadCallback;\n this.mirrorImageOverrides = new Map();\n this.cameraUploadInProgress = false;\n this.cameraSwitchInProgress = false;\n this.dataCaptureContextCreated = false;\n\n this.grandParentElement = document.createElement(\"div\");\n this.grandParentElement.className = GUI.grandParentElementClassName;\n this.originElement.appendChild(this.grandParentElement);\n this.parentElement = document.createElement(\"div\");\n this.parentElement.className = GUI.parentElementClassName;\n this.grandParentElement.appendChild(this.parentElement);\n\n this.videoElement = document.createElement(\"video\");\n this.cameraSwitcherElement = document.createElement(\"img\");\n this.torchTogglerElement = document.createElement(\"img\");\n this.laserContainerElement = document.createElement(\"div\");\n this.laserActiveImageElement = document.createElement(\"img\");\n this.laserPausedImageElement = document.createElement(\"img\");\n this.cameraRecoveryElement = document.createElement(\"div\");\n this.viewfinderElement = document.createElement(\"div\");\n\n const canvas: HTMLCanvasElement = document.createElement(\"canvas\");\n this.webGLContextLostListener = this.handleWebGLContextLost.bind(this);\n\n if (options.singleImageModeEnabled) {\n this.context2d = canvas.getContext(\"2d\");\n\n this.cameraUploadElement = document.createElement(\"div\");\n this.cameraUploadLabelElement = document.createElement(\"label\");\n this.cameraUploadInputElement = document.createElement(\"input\");\n this.cameraUploadProgressElement = document.createElement(\"div\");\n\n this.setupCameraUploadGuiAssets();\n\n this.guiStyle = BarcodePicker.GuiStyle.NONE;\n } else {\n this.setupContext(canvas);\n this.setupVideoElement();\n this.setupCameraSwitcher();\n this.setupTorchToggler();\n this.setupCameraRecovery(options.cameraRecoveryText);\n this.setupFullGuiAssets();\n this.setGuiStyle(options.guiStyle);\n this.setVideoFit(options.videoFit);\n this.setLaserArea(options.laserArea);\n this.setViewfinderArea(options.viewfinderArea);\n\n // Ensure the camera is accessed and the video plays again correctly when visibility changes\n this.visibilityListener = this.checkAndRecoverPlayback.bind(this);\n document.addEventListener(\"visibilitychange\", this.visibilityListener);\n\n this.newScanSettingsListener = this.handleNewScanSettings.bind(this);\n this.scanner.on(\"newScanSettings\", this.newScanSettingsListener);\n this.handleNewScanSettings();\n\n this.videoPauseListener = this.handleVideoPause.bind(this);\n this.videoElement.addEventListener(\"pause\", this.videoPauseListener);\n\n this.videoResizeListener = this.handleVideoResize.bind(this);\n this.videoElement.addEventListener(\"resize\", this.videoResizeListener);\n }\n\n if (options.hideLogo) {\n this.contextCreatedShowLogoListener = this.showScanditLogo.bind(this, options.hideLogo);\n this.scanner.on(\"contextCreated\", this.contextCreatedShowLogoListener);\n } else {\n this.showScanditLogo(options.hideLogo);\n }\n this.contextCreatedActivateGUIListener = this.activateGUI.bind(this);\n this.scanner.on(\"contextCreated\", this.contextCreatedActivateGUIListener);\n\n this.resize();\n this.resizeObserver = new ResizeObserver(\n /* istanbul ignore next */ () => {\n this.resize();\n }\n );\n this.resizeObserver.observe(this.originElement);\n\n this.setVisible(options.visible);\n }\n\n public destroy(): void {\n if (this.visibilityListener != null) {\n document.removeEventListener(\"visibilitychange\", this.visibilityListener);\n }\n if (this.newScanSettingsListener != null) {\n this.scanner.removeListener(\"newScanSettings\", this.newScanSettingsListener);\n }\n if (this.videoPauseListener != null) {\n this.videoElement.removeEventListener(\"pause\", this.videoPauseListener);\n }\n if (this.videoResizeListener != null) {\n this.videoElement.removeEventListener(\"resize\", this.videoResizeListener);\n }\n if (this.contextCreatedShowLogoListener != null) {\n this.scanner.removeListener(\"contextCreated\", this.contextCreatedShowLogoListener);\n }\n if (this.contextCreatedActivateGUIListener != null) {\n this.scanner.removeListener(\"contextCreated\", this.contextCreatedActivateGUIListener);\n }\n this.resizeObserver.disconnect();\n this.grandParentElement.remove();\n this.videoElement.remove();\n this.contextWebGL?.canvas?.removeEventListener(\"webglcontextlost\", this.webGLContextLostListener);\n this.contextWebGL?.getExtension(\"WEBGL_lose_context\")?.loseContext();\n this.contextWebGL = undefined;\n this.context2d = undefined;\n this.originElement.classList.remove(GUI.hiddenClassName);\n }\n\n public setCameraManager(cameraManager: CameraManager): void {\n this.cameraManager = cameraManager;\n }\n\n public pauseScanning(): void {\n this.scanningPaused = true;\n this.laserActiveImageElement.classList.add(GUI.hiddenOpacityClassName);\n this.laserPausedImageElement.classList.remove(GUI.hiddenOpacityClassName);\n this.viewfinderElement.classList.add(GUI.pausedClassName);\n }\n\n public resumeScanning(): void {\n this.scanningPaused = false;\n if (this.dataCaptureContextCreated) {\n this.laserPausedImageElement.classList.add(GUI.hiddenOpacityClassName);\n this.laserActiveImageElement.classList.remove(GUI.hiddenOpacityClassName);\n this.viewfinderElement.classList.remove(GUI.pausedClassName);\n }\n }\n\n public isVisible(): boolean {\n return this.visible;\n }\n\n public setVisible(visible: boolean): void {\n this.visible = visible;\n\n if (visible) {\n this.originElement.classList.remove(GUI.hiddenClassName);\n if (this.guiStyle === BarcodePicker.GuiStyle.LASER) {\n this.laserActiveImageElement.classList.remove(GUI.flashColorClassName);\n } else if (this.guiStyle === BarcodePicker.GuiStyle.VIEWFINDER) {\n this.viewfinderElement.classList.remove(GUI.flashWhiteClassName);\n }\n } else {\n this.originElement.classList.add(GUI.hiddenClassName);\n }\n }\n\n public isMirrorImageEnabled(): boolean {\n if (this.cameraManager?.selectedCamera != null && this.cameraManager?.activeCamera != null) {\n const mirrorImageOverride: boolean | undefined = this.mirrorImageOverrides.get(this.cameraManager.activeCamera);\n\n return mirrorImageOverride ?? this.cameraManager.activeCamera.cameraType === Camera.Type.FRONT;\n } else {\n return false;\n }\n }\n\n public setMirrorImageEnabled(enabled: boolean, override: boolean): void {\n if (this.cameraManager?.selectedCamera != null) {\n if (enabled) {\n this.videoElement.classList.add(GUI.mirroredClassName);\n } else {\n this.videoElement.classList.remove(GUI.mirroredClassName);\n }\n\n if (override) {\n this.mirrorImageOverrides.set(this.cameraManager.selectedCamera, enabled);\n }\n }\n }\n\n public setGuiStyle(guiStyle: BarcodePicker.GuiStyle): void {\n if (this.singleImageModeEnabled) {\n return;\n }\n\n switch (guiStyle) {\n case BarcodePicker.GuiStyle.LASER:\n this.guiStyle = guiStyle;\n this.laserContainerElement.classList.remove(GUI.hiddenClassName);\n this.viewfinderElement.classList.add(GUI.hiddenClassName);\n break;\n case BarcodePicker.GuiStyle.VIEWFINDER:\n this.guiStyle = guiStyle;\n this.laserContainerElement.classList.add(GUI.hiddenClassName);\n this.viewfinderElement.classList.remove(GUI.hiddenClassName);\n break;\n case BarcodePicker.GuiStyle.NONE:\n default:\n this.guiStyle = BarcodePicker.GuiStyle.NONE;\n this.laserContainerElement.classList.add(GUI.hiddenClassName);\n this.viewfinderElement.classList.add(GUI.hiddenClassName);\n break;\n }\n }\n\n public setLaserArea(area?: SearchArea): void {\n this.customLaserArea = area;\n if (area == null) {\n area = this.scanner.getScanSettings().getSearchArea();\n }\n const borderPercentage: number = 0.025;\n const usablePercentage: number = 1 - borderPercentage * 2;\n this.laserContainerElement.style.left = `${(borderPercentage + area.x * usablePercentage) * 100}%`;\n this.laserContainerElement.style.width = `${area.width * usablePercentage * 100}%`;\n this.laserContainerElement.style.top = `${(borderPercentage + area.y * usablePercentage) * 100}%`;\n this.laserContainerElement.style.height = `${area.height * usablePercentage * 100}%`;\n }\n\n public setViewfinderArea(area?: SearchArea): void {\n this.customViewfinderArea = area;\n if (area == null) {\n area = this.scanner.getScanSettings().getSearchArea();\n }\n const borderPercentage: number = 0.025;\n const usablePercentage: number = 1 - borderPercentage * 2;\n this.viewfinderElement.style.left = `${(borderPercentage + area.x * usablePercentage) * 100}%`;\n this.viewfinderElement.style.width = `${area.width * usablePercentage * 100}%`;\n this.viewfinderElement.style.top = `${(borderPercentage + area.y * usablePercentage) * 100}%`;\n this.viewfinderElement.style.height = `${area.height * usablePercentage * 100}%`;\n }\n\n public setVideoFit(objectFit: BarcodePicker.ObjectFit): void {\n if (this.singleImageModeEnabled) {\n return;\n }\n\n this.videoFit = objectFit;\n\n if (objectFit === BarcodePicker.ObjectFit.COVER) {\n this.videoElement.style.objectFit = \"cover\";\n this.videoElement.dataset.objectFit = \"cover\"; // used by \"objectFitPolyfill\" library\n } else {\n this.videoElement.style.objectFit = \"contain\";\n this.videoElement.dataset.objectFit = \"contain\"; // used by \"objectFitPolyfill\" library\n\n this.scanner.applyScanSettings(\n this.scanner.getScanSettings().setBaseSearchArea({ x: 0, y: 0, width: 1.0, height: 1.0 })\n );\n }\n\n this.resize();\n }\n\n public reassignOriginElement(originElement: HTMLElement): void {\n if (!this.visible) {\n this.originElement.classList.remove(GUI.hiddenClassName);\n originElement.classList.add(GUI.hiddenClassName);\n }\n\n originElement.appendChild(this.grandParentElement);\n this.checkAndRecoverPlayback().catch(\n /* istanbul ignore next */ () => {\n // Ignored\n }\n );\n this.resize();\n this.resizeObserver.disconnect();\n this.resizeObserver.observe(originElement);\n\n this.originElement = originElement;\n }\n\n public flashGUI(): void {\n if (this.guiStyle === BarcodePicker.GuiStyle.LASER) {\n this.flashLaser();\n } else if (this.guiStyle === BarcodePicker.GuiStyle.VIEWFINDER) {\n this.flashViewfinder();\n }\n }\n\n public getImageData(imageData?: Uint8Array): Uint8Array | undefined {\n function isVideoAndContextStateValid(\n videoElement: HTMLVideoElement,\n context: WebGLRenderingContext | CanvasRenderingContext2D\n ): boolean {\n // This could happen in unexpected situations and should be temporary\n return (\n videoElement.readyState === 4 &&\n videoElement.videoWidth > 2 &&\n videoElement.videoHeight > 2 &&\n context.canvas.width > 2 &&\n context.canvas.height > 2\n );\n }\n\n if (this.singleImageModeEnabled && this.context2d != null) {\n return new Uint8Array(\n this.context2d.getImageData(0, 0, this.context2d.canvas.width, this.context2d.canvas.height).data.buffer\n );\n }\n // istanbul ignore else\n if (!this.singleImageModeEnabled) {\n if (this.contextWebGL != null) {\n if (\n !isVideoAndContextStateValid(this.videoElement, this.contextWebGL) ||\n this.contextWebGL.drawingBufferWidth <= 2 ||\n this.contextWebGL.drawingBufferHeight <= 2\n ) {\n return;\n }\n\n const imageDataLength: number =\n this.contextWebGL.drawingBufferWidth * this.contextWebGL.drawingBufferHeight * 4;\n if (imageData == null || imageData.byteLength === 0 || imageData.byteLength !== imageDataLength) {\n imageData = new Uint8Array(imageDataLength);\n }\n this.contextWebGL.texImage2D(\n this.contextWebGL.TEXTURE_2D,\n 0,\n this.contextWebGL.RGBA,\n this.contextWebGL.RGBA,\n this.contextWebGL.UNSIGNED_BYTE,\n this.videoElement\n );\n this.contextWebGL.readPixels(\n 0,\n 0,\n this.contextWebGL.drawingBufferWidth,\n this.contextWebGL.drawingBufferHeight,\n this.contextWebGL.RGBA,\n this.contextWebGL.UNSIGNED_BYTE,\n imageData\n );\n\n // Detect incorrect GPU accelerated WebGL image processing by checking for incorrect alpha channel data\n if (imageData[3] !== 255) {\n Logger.log(\n Logger.Level.WARN,\n \"Detected incorrect GPU accelerated WebGL image processing, switching to canvas mode\"\n );\n this.contextWebGL = undefined;\n this.setupContext(document.createElement(\"canvas\"), true);\n this.handleVideoResize();\n\n return this.getImageData(imageData);\n }\n\n return imageData;\n }\n // istanbul ignore else\n if (this.context2d != null) {\n if (!isVideoAndContextStateValid(this.videoElement, this.context2d)) {\n return;\n }\n\n this.context2d.drawImage(this.videoElement, 0, 0);\n\n return new Uint8Array(\n this.context2d.getImageData(0, 0, this.context2d.canvas.width, this.context2d.canvas.height).data.buffer\n );\n }\n }\n\n // istanbul ignore next\n return;\n }\n\n public getVideoCurrentTime(): number {\n return this.videoElement.currentTime;\n }\n\n public setCameraSwitcherVisible(visible: boolean): void {\n if (visible) {\n this.cameraSwitcherElement.classList.remove(GUI.hiddenClassName);\n } else {\n this.cameraSwitcherElement.classList.add(GUI.hiddenClassName);\n }\n }\n\n public isCameraRecoveryVisible(): boolean {\n return !this.cameraRecoveryElement.classList.contains(GUI.hiddenClassName);\n }\n\n public setCameraRecoveryVisible(visible: boolean): void {\n if (visible) {\n this.cameraRecoveryElement.classList.remove(GUI.hiddenClassName);\n } else {\n this.cameraRecoveryElement.classList.add(GUI.hiddenClassName);\n }\n }\n\n public setTorchTogglerVisible(visible: boolean): void {\n if (visible) {\n this.torchTogglerElement.classList.remove(GUI.hiddenClassName);\n } else {\n this.torchTogglerElement.classList.add(GUI.hiddenClassName);\n }\n }\n\n public playVideo(): void {\n const playPromise: Promise | undefined = this.videoElement.play();\n playPromise?.catch(\n /* istanbul ignore next */ () => {\n // Can sometimes cause an incorrect rejection (all is good, ignore).\n }\n );\n }\n\n public setVideoVisible(visible: boolean): void {\n this.videoElement.style.visibility = visible ? \"visible\" : \"hidden\";\n }\n\n public setCameraType(cameraType: Camera.Type): void {\n this.cameraUploadInputElement?.setAttribute(\"capture\", cameraType === Camera.Type.FRONT ? \"user\" : \"environment\");\n }\n\n private setCameraUploadGuiBusyScanning(busyScanning: boolean): void {\n if (busyScanning) {\n this.cameraUploadProgressElement.classList.remove(GUI.flashInsetClassName);\n this.cameraUploadElement.classList.add(GUI.opacityPulseClassName);\n } else {\n this.cameraUploadProgressElement.classList.add(GUI.flashInsetClassName);\n this.cameraUploadElement.classList.remove(GUI.opacityPulseClassName);\n }\n }\n\n private setupContext(canvas: HTMLCanvasElement, force2d: boolean = false): void {\n if (force2d) {\n this.context2d = canvas.getContext(\"2d\");\n\n return;\n }\n let context: WebGLRenderingContext | null = canvas.getContext(\"webgl\", { alpha: false, antialias: false });\n // istanbul ignore if\n if (context == null) {\n context = canvas.getContext(\"experimental-webgl\", { alpha: false, antialias: false });\n }\n if (context != null) {\n this.setupWebGL(context);\n canvas.addEventListener(\"webglcontextlost\", this.webGLContextLostListener);\n } else {\n this.context2d = canvas.getContext(\"2d\");\n }\n }\n\n private setupWebGL(contextWebGL: WebGLRenderingContext): void {\n const texture: WebGLTexture = contextWebGL.createTexture();\n contextWebGL.bindTexture(contextWebGL.TEXTURE_2D, texture);\n const frameBuffer: WebGLFramebuffer = contextWebGL.createFramebuffer();\n contextWebGL.bindFramebuffer(contextWebGL.FRAMEBUFFER, frameBuffer);\n contextWebGL.framebufferTexture2D(\n contextWebGL.FRAMEBUFFER,\n contextWebGL.COLOR_ATTACHMENT0,\n contextWebGL.TEXTURE_2D,\n texture,\n 0\n );\n contextWebGL.texParameteri(contextWebGL.TEXTURE_2D, contextWebGL.TEXTURE_WRAP_S, contextWebGL.CLAMP_TO_EDGE);\n contextWebGL.texParameteri(contextWebGL.TEXTURE_2D, contextWebGL.TEXTURE_WRAP_T, contextWebGL.CLAMP_TO_EDGE);\n contextWebGL.texParameteri(contextWebGL.TEXTURE_2D, contextWebGL.TEXTURE_MIN_FILTER, contextWebGL.NEAREST);\n contextWebGL.texParameteri(contextWebGL.TEXTURE_2D, contextWebGL.TEXTURE_MAG_FILTER, contextWebGL.NEAREST);\n this.contextWebGL = contextWebGL;\n }\n\n private setupVideoElement(): void {\n this.videoElement.setAttribute(\"autoplay\", \"autoplay\");\n this.videoElement.setAttribute(\"playsinline\", \"true\");\n this.videoElement.setAttribute(\"muted\", \"muted\");\n this.videoElement.className = GUI.videoElementClassName;\n this.parentElement.appendChild(this.videoElement);\n }\n\n private setupCameraUploadGuiAssets(): void {\n const deviceType: string | undefined = BrowserHelper.userAgentInfo.getDevice().type;\n const defaultSettings: SingleImageModePlatformSettings =\n deviceType === \"mobile\" || deviceType === \"tablet\"\n ? SingleImageModeSettings.defaultMobile\n : SingleImageModeSettings.defaultDesktop;\n\n this.cameraUploadElement.className = GUI.cameraUploadElementClassName;\n Object.assign(\n this.cameraUploadElement.style,\n defaultSettings.containerStyle,\n this.singleImageModeSettings.containerStyle\n );\n this.parentElement.appendChild(this.cameraUploadElement);\n\n const informationElement: HTMLElement =\n this.singleImageModeSettings.informationElement ?? defaultSettings.informationElement;\n Object.assign(\n informationElement.style,\n defaultSettings.informationStyle,\n this.singleImageModeSettings.informationStyle\n );\n this.cameraUploadElement.appendChild(informationElement);\n\n this.cameraUploadInputElement.type = \"file\";\n this.cameraUploadInputElement.accept = \"image/*\";\n this.cameraUploadInputElement.addEventListener(\"change\", this.cameraUploadFile.bind(this));\n const cameraUploadInputCheckFunction: EventListenerOrEventListenerObject = (event: Event): void => {\n // istanbul ignore next\n if (this.scanningPaused || this.cameraUploadInProgress) {\n event.preventDefault();\n }\n };\n this.cameraUploadInputElement.addEventListener(\"click\", cameraUploadInputCheckFunction);\n this.cameraUploadInputElement.addEventListener(\"keydown\", cameraUploadInputCheckFunction);\n\n this.cameraUploadLabelElement.appendChild(this.cameraUploadInputElement);\n\n const cameraUploadButtonIconElement: HTMLElement | SVGElement =\n this.singleImageModeSettings.buttonElement ?? defaultSettings.buttonElement;\n [this.cameraUploadProgressElement.style, cameraUploadButtonIconElement.style].forEach((style) => {\n Object.assign(style, defaultSettings.buttonStyle, this.singleImageModeSettings.buttonStyle);\n });\n cameraUploadButtonIconElement.style.maxWidth = \"100px\";\n cameraUploadButtonIconElement.style.maxHeight = \"100px\";\n this.cameraUploadLabelElement.appendChild(cameraUploadButtonIconElement);\n\n this.cameraUploadProgressElement.classList.add(\"radial-progress\");\n this.cameraUploadLabelElement.appendChild(this.cameraUploadProgressElement);\n\n this.cameraUploadElement.appendChild(this.cameraUploadLabelElement);\n }\n\n private setupFullGuiAssets(): void {\n this.laserActiveImageElement.src = laserActiveImage;\n this.laserContainerElement.appendChild(this.laserActiveImageElement);\n\n this.laserPausedImageElement.src = laserPausedImage;\n this.laserContainerElement.appendChild(this.laserPausedImageElement);\n\n this.laserContainerElement.className = GUI.laserContainerElementClassName;\n this.parentElement.appendChild(this.laserContainerElement);\n\n this.viewfinderElement.className = GUI.viewfinderElementClassName;\n this.parentElement.appendChild(this.viewfinderElement);\n\n // Show inactive GUI, as for now the scanner isn't ready yet\n this.laserActiveImageElement.classList.add(GUI.hiddenOpacityClassName);\n this.laserPausedImageElement.classList.remove(GUI.hiddenOpacityClassName);\n this.viewfinderElement.classList.add(GUI.pausedClassName);\n }\n\n private flashLaser(): void {\n this.laserActiveImageElement.classList.remove(GUI.flashColorClassName);\n // tslint:disable-next-line:no-unused-expression\n this.laserActiveImageElement.offsetHeight; // NOSONAR // Trigger reflow to restart animation\n this.laserActiveImageElement.classList.add(GUI.flashColorClassName);\n }\n\n private flashViewfinder(): void {\n this.viewfinderElement.classList.remove(GUI.flashWhiteClassName);\n // tslint:disable-next-line:no-unused-expression\n this.viewfinderElement.offsetHeight; // NOSONAR // Trigger reflow to restart animation\n this.viewfinderElement.classList.add(GUI.flashWhiteClassName);\n }\n\n private resize(): void {\n this.parentElement.style.maxWidth = \"\";\n this.parentElement.style.maxHeight = \"\";\n\n const width: number = this.originElement.clientWidth;\n const height: number = this.originElement.clientHeight;\n\n if (width === 0 || height === 0) {\n if (!this.singleImageModeEnabled) {\n this.handleVideoDisplay(true);\n }\n\n return;\n }\n\n if (this.singleImageModeEnabled) {\n this.resizeCameraUpload(width, height);\n } else {\n this.resizeVideo(width, height);\n this.handleVideoDisplay(false);\n }\n }\n\n private resizeCameraUpload(width: number, height: number): void {\n this.cameraUploadLabelElement.style.transform = `scale(${Math.min(1, width / 300, height / 300)})`;\n }\n\n private resizeVideo(width: number, height: number): void {\n if (this.videoElement.videoWidth <= 2 || this.videoElement.videoHeight <= 2) {\n return;\n }\n\n const videoRatio: number = this.videoElement.videoWidth / this.videoElement.videoHeight;\n\n if (this.videoFit === BarcodePicker.ObjectFit.COVER) {\n let widthPercentage: number = 1;\n let heightPercentage: number = 1;\n\n if (videoRatio < width / height) {\n heightPercentage = Math.min(1, height / (width / videoRatio));\n } else {\n widthPercentage = Math.min(1, width / (height * videoRatio));\n }\n\n this.scanner.applyScanSettings(\n this.scanner.getScanSettings().setBaseSearchArea({\n x: (1 - widthPercentage) / 2,\n y: (1 - heightPercentage) / 2,\n width: widthPercentage,\n height: heightPercentage,\n })\n );\n\n return;\n }\n\n if (videoRatio > width / height) {\n height = width / videoRatio;\n } else {\n width = height * videoRatio;\n }\n\n this.parentElement.style.maxWidth = `${Math.ceil(width)}px`;\n this.parentElement.style.maxHeight = `${Math.ceil(height)}px`;\n\n window.objectFitPolyfill(this.videoElement);\n }\n\n private async checkAndRecoverPlayback(): Promise {\n const srcObject: MediaStream | undefined = this.videoElement.srcObject;\n if (\n document.visibilityState === \"visible\" &&\n this.cameraManager?.activeCamera != null &&\n this.videoElement?.srcObject != null\n ) {\n if (!srcObject.active || srcObject.getVideoTracks()[0]?.muted !== false) {\n try {\n Logger.log(\n Logger.Level.DEBUG,\n 'Detected visibility change (\"visible\") event with inactive video source, try to reinitialize camera'\n );\n await this.cameraManager.reinitializeCamera();\n } catch {\n // Ignored\n }\n } else {\n Logger.log(\n Logger.Level.DEBUG,\n 'Detected visibility change (\"visible\") event with active video source, replay video'\n );\n this.playVideo();\n }\n }\n }\n\n private updateCameraUploadProgress(progressPercentageValue: string): void {\n this.cameraUploadProgressElement.setAttribute(\"data-progress\", progressPercentageValue);\n }\n\n private async cameraUploadImageLoad(image: HTMLImageElement): Promise {\n this.updateCameraUploadProgress(\"100\");\n\n let resizedImageWidth: number;\n let resizedImageHeight: number;\n const resizedImageSizeLimit: number = 1440;\n if (image.naturalWidth <= resizedImageSizeLimit && image.naturalHeight <= resizedImageSizeLimit) {\n resizedImageWidth = image.naturalWidth;\n resizedImageHeight = image.naturalHeight;\n } else {\n if (image.naturalWidth > image.naturalHeight) {\n resizedImageWidth = resizedImageSizeLimit;\n resizedImageHeight = Math.round((image.naturalHeight / image.naturalWidth) * resizedImageSizeLimit);\n } else {\n resizedImageWidth = Math.round((image.naturalWidth / image.naturalHeight) * resizedImageSizeLimit);\n resizedImageHeight = resizedImageSizeLimit;\n }\n }\n\n await this.cameraUploadFileProcess(image, resizedImageWidth, resizedImageHeight);\n }\n\n private async cameraUploadFileProcess(image: HTMLImageElement, width: number, height: number): Promise {\n // istanbul ignore else\n if (this.context2d != null) {\n this.context2d.canvas.width = width;\n this.context2d.canvas.height = height;\n\n this.context2d.drawImage(image, 0, 0, width, height);\n this.scanner.applyImageSettings({\n width,\n height,\n format: ImageSettings.Format.RGBA_8U,\n });\n }\n\n this.setCameraUploadGuiBusyScanning(true);\n await this.cameraUploadCallback();\n this.setCameraUploadGuiBusyScanning(false);\n this.cameraUploadInProgress = false;\n }\n\n private cameraUploadFile(): void {\n const files: FileList | null = this.cameraUploadInputElement.files;\n if (files != null && files.length !== 0) {\n this.cameraUploadInProgress = true;\n const image: HTMLImageElement = new Image();\n const fileReader: FileReader = new FileReader();\n fileReader.onload = () => {\n this.cameraUploadInputElement.value = \"\";\n // istanbul ignore else\n if (fileReader.result != null) {\n image.onload = this.cameraUploadImageLoad.bind(this, image);\n // istanbul ignore next\n image.onprogress = (event2) => {\n if (event2.lengthComputable) {\n const progress: number = Math.round((event2.loaded / event2.total) * 20) * 5;\n if (progress <= 100) {\n this.updateCameraUploadProgress(progress.toString());\n }\n }\n };\n // istanbul ignore next\n image.onerror = () => {\n this.cameraUploadInProgress = false;\n Logger.log(Logger.Level.WARN, \"Could not load image from selected file\");\n };\n image.src = fileReader.result;\n }\n };\n // istanbul ignore next\n fileReader.onerror = () => {\n this.cameraUploadInProgress = false;\n Logger.log(Logger.Level.WARN, `Error while reading the file: ${fileReader.error?.toString()}`);\n };\n this.updateCameraUploadProgress(\"0\");\n fileReader.readAsDataURL(files[0]);\n }\n }\n\n private async cameraSwitcherListener(event: Event): Promise {\n if (!this.cameraSwitchInProgress && this.cameraManager != null) {\n const cameraManager: CameraManager = this.cameraManager;\n event.preventDefault();\n try {\n const cameras: Camera[] = await CameraAccess.getCameras();\n if (cameraManager.activeCamera == null) {\n return;\n }\n if (cameras.length <= 1) {\n this.setCameraSwitcherVisible(false);\n\n return;\n }\n this.cameraSwitchInProgress = true;\n const currentCameraIndex: number = cameras.indexOf(cameraManager.activeCamera);\n let newCameraIndex: number = (currentCameraIndex + 1) % cameras.length;\n while (newCameraIndex !== currentCameraIndex) {\n try {\n await cameraManager.initializeCameraWithSettings(\n cameras[newCameraIndex],\n cameraManager.activeCameraSettings\n );\n } catch (error) {\n Logger.log(Logger.Level.WARN, \"Couldn't access camera:\", cameras[newCameraIndex], error);\n newCameraIndex = (newCameraIndex + 1) % cameras.length;\n if (newCameraIndex === currentCameraIndex) {\n this.setCameraSwitcherVisible(false);\n await cameraManager.initializeCameraWithSettings(\n cameras[newCameraIndex],\n cameraManager.activeCameraSettings\n );\n }\n continue;\n }\n break;\n }\n this.cameraSwitchInProgress = false;\n } catch (error) {\n Logger.log(Logger.Level.ERROR, error);\n this.cameraSwitchInProgress = false;\n }\n }\n }\n\n private async cameraRecoveryListener(event: Event): Promise {\n event.preventDefault();\n if (this.cameraManager != null) {\n this.cameraManager.activeCamera = this.cameraManager.selectedCamera;\n await this.cameraManager?.reinitializeCamera();\n }\n }\n\n private setupCameraSwitcher(): void {\n this.cameraSwitcherElement.src = switchCameraImage;\n this.cameraSwitcherElement.className = GUI.cameraSwitcherElementClassName;\n this.cameraSwitcherElement.classList.add(GUI.hiddenClassName);\n this.parentElement.appendChild(this.cameraSwitcherElement);\n [\"touchstart\", \"mousedown\"].forEach((eventName) => {\n this.cameraSwitcherElement.addEventListener(eventName, this.cameraSwitcherListener.bind(this));\n });\n }\n\n private setupCameraRecovery(cameraRecoveryText: string): void {\n this.cameraRecoveryElement.textContent = cameraRecoveryText;\n this.cameraRecoveryElement.className = GUI.cameraRecoveryElementClassName;\n this.cameraRecoveryElement.classList.add(GUI.hiddenClassName);\n this.parentElement.appendChild(this.cameraRecoveryElement);\n [\"touchstart\", \"mousedown\"].forEach((eventName) => {\n this.cameraRecoveryElement.addEventListener(eventName, this.cameraRecoveryListener.bind(this));\n });\n }\n\n private setupTorchToggler(): void {\n this.torchTogglerElement.src = toggleTorchImage;\n this.torchTogglerElement.className = GUI.torchTogglerElementClassName;\n this.torchTogglerElement.classList.add(GUI.hiddenClassName);\n this.parentElement.appendChild(this.torchTogglerElement);\n [\"touchstart\", \"mousedown\"].forEach((eventName) => {\n this.torchTogglerElement.addEventListener(eventName, async (event) => {\n if (this.cameraManager != null) {\n event.preventDefault();\n await this.cameraManager.toggleTorch();\n }\n });\n });\n }\n\n private showScanditLogo(hideLogo: boolean, licenseKeyFeatures?: { hiddenScanditLogoAllowed?: boolean }): void {\n if (hideLogo && licenseKeyFeatures?.hiddenScanditLogoAllowed === true) {\n return;\n }\n\n const scanditLogoImageElement: HTMLImageElement = document.createElement(\"img\");\n scanditLogoImageElement.src = scanditLogoImage;\n scanditLogoImageElement.className = GUI.scanditLogoImageElementClassName;\n this.parentElement.appendChild(scanditLogoImageElement);\n }\n\n private activateGUI(): void {\n this.dataCaptureContextCreated = true;\n if (!this.scanningPaused) {\n this.resumeScanning();\n }\n }\n\n private handleNewScanSettings(): void {\n if (this.customLaserArea == null) {\n this.setLaserArea();\n }\n if (this.customViewfinderArea == null) {\n this.setViewfinderArea();\n }\n }\n\n private handleVideoDisplay(hidden: boolean): void {\n // Safari on iOS 14 behaves weirdly when hiding the video element:\n // it stops camera access after a few seconds if the related video element is not \"visible\".\n // We do the following to maintain the video element \"visible\" but actually hidden.\n if (hidden && !this.isVideoElementDetached) {\n this.videoElement.width = this.videoElement.height = 0;\n this.videoElement.style.opacity = \"0\";\n document.body.appendChild(this.videoElement);\n this.isVideoElementDetached = true;\n } else if (!hidden && this.isVideoElementDetached) {\n this.parentElement.insertAdjacentElement(\"afterbegin\", this.videoElement);\n this.isVideoElementDetached = false;\n this.videoElement.removeAttribute(\"width\");\n this.videoElement.removeAttribute(\"height\");\n this.videoElement.style.removeProperty(\"opacity\");\n this.resize();\n }\n }\n\n private handleVideoPause(): void {\n // Safari behaves weirdly when displaying the video element again after hiding it:\n // it pauses the video on hide and resumes it on show, then reusing video frames \"buffered\" from the video just\n // before it was hidden. We do the following to avoid processing old data.\n this.playVideo();\n }\n\n private handleVideoResize(): void {\n this.resize();\n\n if (this.videoElement.videoWidth <= 2 || this.videoElement.videoHeight <= 2) {\n return;\n }\n\n if (this.contextWebGL != null) {\n if (\n this.contextWebGL.canvas.width === this.videoElement.videoWidth &&\n this.contextWebGL.canvas.height === this.videoElement.videoHeight\n ) {\n return;\n }\n\n this.contextWebGL.canvas.width = this.videoElement.videoWidth;\n this.contextWebGL.canvas.height = this.videoElement.videoHeight;\n this.contextWebGL.viewport(0, 0, this.contextWebGL.drawingBufferWidth, this.contextWebGL.drawingBufferHeight);\n\n this.scanner.applyImageSettings({\n width: this.contextWebGL.drawingBufferWidth,\n height: this.contextWebGL.drawingBufferHeight,\n format: ImageSettings.Format.RGBA_8U,\n });\n } else if (this.context2d != null) {\n if (\n this.context2d.canvas.width === this.videoElement.videoWidth &&\n this.context2d.canvas.height === this.videoElement.videoHeight\n ) {\n return;\n }\n\n this.context2d.canvas.width = this.videoElement.videoWidth;\n this.context2d.canvas.height = this.videoElement.videoHeight;\n\n this.scanner.applyImageSettings({\n width: this.videoElement.videoWidth,\n height: this.videoElement.videoHeight,\n format: ImageSettings.Format.RGBA_8U,\n });\n }\n }\n\n private handleWebGLContextLost(): void {\n // We recreate instead of waiting for restore via the webglcontextrestored event as restore might never happen\n Logger.log(Logger.Level.WARN, \"WebGL context has been lost, restoring...\");\n this.contextWebGL = undefined;\n this.setupContext(document.createElement(\"canvas\"));\n this.handleVideoResize();\n Logger.log(Logger.Level.WARN, \"WebGL context restored\");\n }\n}\n","// See https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html#union-exhaustiveness-checking\nexport function assertUnreachable(x: never): never {\n throw new Error(`Unexpected object: ${x}`);\n}\n","import { TextRecognitionSettings } from \"..\";\nimport { AttributeDescriptor } from \"./schema\";\nimport { assertUnreachable } from \"./tsHelper\";\n\nexport type ConvertedAttribute = boolean | string | unknown[] | number | object | undefined;\n\nexport function convertAttribute(\n schema: AttributeDescriptor,\n value: string | undefined\n): ConvertedAttribute | undefined {\n switch (schema.type) {\n case \"boolean\":\n return convertToBoolean(value, schema.default);\n case \"string\":\n case \"guiStyle\":\n case \"cameraType\":\n case \"videoFit\":\n case \"codeDirection\":\n case \"recognitionMode\":\n return convertToString(value, schema.default);\n case \"array\":\n return convertToArray(value, schema.default);\n case \"integer\":\n return convertToInteger(value, schema.default);\n case \"searchArea\":\n case \"camera\":\n case \"cameraSettings\":\n case \"singleImageModeSettings\":\n return convertJsonToObject(value, schema.default);\n case \"textRecognitionSettings\":\n return new TextRecognitionSettings(convertJsonToObject(value, schema.default));\n default:\n break;\n }\n\n // Trick to make sure all cases are covered:\n return assertUnreachable(schema);\n}\n\nfunction convertToBoolean(input: string | undefined, defaultValue: boolean): boolean {\n return input == null ? defaultValue : input !== \"false\";\n}\n\nfunction convertToString(input: string | undefined, defaultValue: string | undefined): string | undefined {\n return input ?? defaultValue;\n}\n\nfunction convertToInteger(input: string | undefined, defaultValue: number | undefined): number | undefined {\n if (input == null) {\n return defaultValue;\n }\n const parsed: number = parseInt(input, 10);\n if (isNaN(parsed)) {\n return defaultValue;\n }\n\n return parsed;\n}\n\nfunction convertToArray(input: string | undefined, defaultValue: unknown[] | undefined): unknown[] | undefined {\n if (input == null) {\n return defaultValue;\n }\n\n const json: JSON | undefined = toJson(input);\n if (json == null || !Array.isArray(json)) {\n return defaultValue;\n }\n\n return json;\n}\n\nfunction convertJsonToObject(input: string | undefined, defaultValue: object | undefined): object | undefined {\n if (input == null) {\n return defaultValue;\n }\n const json: JSON | undefined = toJson(input);\n if (json == null) {\n return defaultValue;\n }\n // must be an object\n if (Array.isArray(json) || typeof json === \"number\") {\n return defaultValue;\n }\n\n return json;\n}\n\nfunction toJson(input: string): JSON | undefined {\n try {\n return JSON.parse(input);\n } catch (e) {\n return;\n }\n}\n","import {\n Barcode,\n BarcodePicker,\n Camera,\n CameraSettings,\n ScanSettings,\n SearchArea,\n SingleImageModeSettings,\n TextRecognitionSettings,\n} from \"..\";\nimport { convertAttribute, ConvertedAttribute } from \"./attributeConverter\";\nimport { BarcodePickerView } from \"./barcodePickerView\";\nimport { Attribute, AttributeDescriptor } from \"./schema\";\n\nexport class LazyAttributeConverter {\n constructor(\n private readonly schema: { [key in Attribute]: AttributeDescriptor },\n private readonly view: BarcodePickerView\n ) {}\n\n get [Attribute.ACCESS_CAMERA](): boolean {\n return this.convertToPrimary(Attribute.ACCESS_CAMERA);\n }\n\n get [Attribute.CAMERA](): Camera {\n return this.convertToPrimary(Attribute.CAMERA);\n }\n\n get [Attribute.CAMERA_SETTINGS](): CameraSettings {\n return this.convertToPrimary(Attribute.CAMERA_SETTINGS);\n }\n\n get [Attribute.CAMERA_TYPE](): Camera.Type {\n return this.convertToPrimary(Attribute.CAMERA_TYPE);\n }\n\n get [Attribute.CONFIGURE](): boolean {\n return this.convertToPrimary(Attribute.CONFIGURE);\n }\n\n get [Attribute.ENABLE_CAMERA_SWITCHER](): boolean {\n return this.convertToPrimary(Attribute.ENABLE_CAMERA_SWITCHER);\n }\n\n get [Attribute.ENABLE_PINCH_TO_ZOOM](): boolean {\n return this.convertToPrimary(Attribute.ENABLE_PINCH_TO_ZOOM);\n }\n\n get [Attribute.ENABLE_TAP_TO_FOCUS](): boolean {\n return this.convertToPrimary(Attribute.ENABLE_TAP_TO_FOCUS);\n }\n\n get [Attribute.ENABLE_TORCH_TOGGLE](): boolean {\n return this.convertToPrimary(Attribute.ENABLE_TORCH_TOGGLE);\n }\n\n get [Attribute.GUI_STYLE](): BarcodePicker.GuiStyle {\n return this.convertToPrimary(Attribute.GUI_STYLE);\n }\n\n get [Attribute.LASER_AREA](): SearchArea {\n return this.convertToPrimary(Attribute.LASER_AREA);\n }\n\n get [Attribute.PLAY_SOUND_ON_SCAN](): boolean {\n return this.convertToPrimary(Attribute.PLAY_SOUND_ON_SCAN);\n }\n\n get [Attribute.SCANNING_PAUSED](): boolean {\n return this.convertToPrimary(Attribute.SCANNING_PAUSED);\n }\n\n get [Attribute.SINGLE_IMAGE_MODE_SETTINGS](): SingleImageModeSettings {\n return this.convertToPrimary(Attribute.SINGLE_IMAGE_MODE_SETTINGS);\n }\n\n get [Attribute.TARGET_SCANNING_FPS](): number {\n return this.convertToPrimary(Attribute.TARGET_SCANNING_FPS);\n }\n\n get [Attribute.VIBRATE_ON_SCAN](): boolean {\n return this.convertToPrimary(Attribute.VIBRATE_ON_SCAN);\n }\n\n get [Attribute.VIDEO_FIT](): BarcodePicker.ObjectFit {\n return this.convertToPrimary(Attribute.VIDEO_FIT);\n }\n\n get [Attribute.VIEWFINDER_AREA](): SearchArea {\n return this.convertToPrimary(Attribute.VIEWFINDER_AREA);\n }\n\n get [Attribute.VISIBLE](): boolean {\n return this.convertToPrimary(Attribute.VISIBLE);\n }\n\n get [Attribute.CONFIGURE_ENGINE_LOCATION](): string {\n return this.convertToPrimary(Attribute.CONFIGURE_ENGINE_LOCATION);\n }\n\n get [Attribute.CONFIGURE_LICENSE_KEY](): string {\n return this.convertToPrimary(Attribute.CONFIGURE_LICENSE_KEY);\n }\n\n get [Attribute.CONFIGURE_HIGH_QUALITY_BLURRY_RECOGNITION](): boolean {\n return this.convertToPrimary(Attribute.CONFIGURE_HIGH_QUALITY_BLURRY_RECOGNITION);\n }\n\n get [Attribute.CONFIGURE_LOAD_TEXT_RECOGNITION](): boolean {\n return this.convertToPrimary(Attribute.CONFIGURE_LOAD_TEXT_RECOGNITION);\n }\n\n get [Attribute.CONFIGURE_PRELOAD_BLURRY_RECOGNITION](): boolean {\n return this.convertToPrimary(Attribute.CONFIGURE_PRELOAD_BLURRY_RECOGNITION);\n }\n\n get [Attribute.CONFIGURE_PRELOAD_ENGINE](): boolean {\n return this.convertToPrimary(Attribute.CONFIGURE_PRELOAD_ENGINE);\n }\n\n get [Attribute.SCAN_SETTINGS_BLURRY_RECOGNITION](): boolean {\n return this.convertToPrimary(Attribute.SCAN_SETTINGS_BLURRY_RECOGNITION);\n }\n\n get [Attribute.SCAN_SETTINGS_CODE_DIRECTION_HINT](): ScanSettings.CodeDirection {\n return this.convertToPrimary(Attribute.SCAN_SETTINGS_CODE_DIRECTION_HINT);\n }\n\n get [Attribute.SCAN_SETTINGS_CODE_DUPLICATE_FILTER](): number {\n return this.convertToPrimary(Attribute.SCAN_SETTINGS_CODE_DUPLICATE_FILTER);\n }\n\n get [Attribute.SCAN_SETTINGS_DEVICE_NAME](): string {\n return this.convertToPrimary(Attribute.SCAN_SETTINGS_DEVICE_NAME);\n }\n\n get [Attribute.SCAN_SETTINGS_ENABLED_SYMBOLOGIES](): Barcode.Symbology[] {\n return this.convertToPrimary(Attribute.SCAN_SETTINGS_ENABLED_SYMBOLOGIES);\n }\n\n get [Attribute.SCAN_SETTINGS_GPU_ACCELERATION](): boolean {\n return this.convertToPrimary(Attribute.SCAN_SETTINGS_GPU_ACCELERATION);\n }\n\n get [Attribute.SCAN_SETTINGS_MAX_NUMBER_OF_CODES_PER_FRAME](): number {\n return this.convertToPrimary(Attribute.SCAN_SETTINGS_MAX_NUMBER_OF_CODES_PER_FRAME);\n }\n\n get [Attribute.SCAN_SETTINGS_RECOGNITION_MODE](): ScanSettings.RecognitionMode {\n return this.convertToPrimary(Attribute.SCAN_SETTINGS_RECOGNITION_MODE);\n }\n\n get [Attribute.SCAN_SETTINGS_SEARCH_AREA](): SearchArea {\n return this.convertToPrimary(Attribute.SCAN_SETTINGS_SEARCH_AREA);\n }\n\n get [Attribute.SCAN_SETTINGS_TEXT_RECOGNITION_SETTINGS](): TextRecognitionSettings {\n return this.convertToPrimary(Attribute.SCAN_SETTINGS_TEXT_RECOGNITION_SETTINGS);\n }\n\n private convertToPrimary(attribute: Attribute): T {\n return convertAttribute(this.schema[attribute], this.view.getAttribute(attribute) ?? undefined);\n }\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {\n BarcodePicker,\n Camera,\n CameraSettings,\n ScanSettings,\n SingleImageModeSettings,\n TextRecognitionSettings,\n} from \"..\";\n\ntype ValidationType =\n | \"booleanAttribute\"\n | \"boolean\"\n | \"integer\"\n | \"array\"\n | \"jsonArray\"\n | \"videoFit\"\n | \"camera\"\n | \"cameraType\"\n | \"cameraSettings\"\n | \"codeDirection\"\n | \"recognitionMode\"\n | \"guiStyle\"\n | \"searchArea\"\n | \"singleImageModeSettings\"\n | \"textRecognitionSettings\";\n\n// tslint:disable:no-any no-unnecessary-class\nexport abstract class Validator {\n public static expectationMessage: Map = new Map();\n\n @validationMessage(\"booleanAttribute\")\n public static isBooleanAttribute(value: any): boolean {\n return value === \"true\" || value === \"false\";\n }\n\n @validationMessage(\"boolean\")\n public static isBooleanProperty(value: any): boolean {\n return typeof value === \"boolean\";\n }\n\n @validationMessage(\"integer\")\n public static isIntegerAttribute(value: any): boolean {\n return typeof value === \"string\" && /^-?\\d+$/.test(value);\n }\n\n @validationMessage(\"integer\")\n public static isIntegerProperty(value: any): boolean {\n return Number.isInteger(value);\n }\n\n @validationMessage(\"cameraType\")\n public static isValidCameraType(value: any): boolean {\n return Object.values(Camera.Type).includes(value);\n }\n\n @validationMessage(\"guiStyle\")\n public static isValidGuiStyle(value: any): boolean {\n return Object.values(BarcodePicker.GuiStyle).includes(value);\n }\n\n @validationMessage(\"videoFit\")\n public static isValidVideoFit(value: any): boolean {\n return Object.values(BarcodePicker.ObjectFit).includes(value);\n }\n\n @validationMessage(\"codeDirection\")\n public static isValidCodeDirection(value: any): boolean {\n return Object.values(ScanSettings.CodeDirection).includes(value);\n }\n\n @validationMessage(\"recognitionMode\")\n public static isValidRecognitionMode(value: any): boolean {\n return Object.values(ScanSettings.RecognitionMode).includes(value);\n }\n\n @validationMessage(\"array\")\n public static isArray(value: any): boolean {\n return Array.isArray(value);\n }\n\n @validationMessage(\"jsonArray\")\n public static isValidJsonArray(value: any): boolean {\n let json: any;\n try {\n json = JSON.parse(value);\n } catch (e) {\n return false;\n }\n\n return Array.isArray(json);\n }\n\n @validationMessage(\"searchArea\")\n public static isValidSearchAreaAttribute(value: any): boolean {\n let areaObject: any;\n try {\n areaObject = JSON.parse(value);\n } catch (e) {\n return false;\n }\n\n return Validator.isValidSearchAreaProperty(areaObject);\n }\n\n @validationMessage(\"searchArea\")\n public static isValidSearchAreaProperty(areaObject: any): boolean {\n if (areaObject == null || typeof areaObject !== \"object\") {\n return false;\n }\n\n return (\n areaObject.x >= 0 &&\n areaObject.x <= 1 &&\n areaObject.y >= 0 &&\n areaObject.y <= 1 &&\n areaObject.width >= 0 &&\n areaObject.width <= 1 &&\n areaObject.height >= 0 &&\n areaObject.height <= 1\n );\n }\n\n @validationMessage(\"camera\")\n public static isValidCameraObject(value: any): boolean {\n let camera: Camera;\n try {\n camera = JSON.parse(value);\n } catch (e) {\n return false;\n }\n\n return typeof camera?.deviceId === \"string\";\n }\n\n @validationMessage(\"cameraSettings\")\n public static isValidCameraSettingsObject(value: any): boolean {\n let settings: CameraSettings;\n try {\n settings = JSON.parse(value);\n } catch (e) {\n return false;\n }\n\n return typeof settings?.resolutionPreference === \"string\";\n }\n\n @validationMessage(\"singleImageModeSettings\")\n public static isValidSingleImageModeSettingsObject(value: any): boolean {\n let settings: SingleImageModeSettings;\n try {\n settings = JSON.parse(value);\n } catch (e) {\n return false;\n }\n\n // TODO: improve checks\n return settings != null && typeof settings === \"object\";\n }\n\n @validationMessage(\"textRecognitionSettings\")\n public static isValidTextRecognitionSettingsObject(value: any): boolean {\n let settings: TextRecognitionSettings;\n try {\n settings = JSON.parse(value);\n } catch (e) {\n return false;\n }\n\n // TODO: improve checks\n return settings != null && typeof settings === \"object\";\n }\n\n public static getExpectationMessageForType(type: ValidationType): string {\n const messageByType: { [key in ValidationType]: string } = {\n booleanAttribute: `Expected one of \"true\" or \"false\"`,\n boolean: `Boolean expected`,\n integer: `Integer expected`,\n array: `Array expected`,\n jsonArray: `Expected JSON array`,\n videoFit: `Expected a valid BarcodePicker.ObjectFit\"`,\n camera: `Expected JSON object having properties of a Camera object`,\n cameraSettings: `Expected JSON object having properties of a CameraSettings object`,\n cameraType: `Expected a valid Camera.Type\"`,\n codeDirection: `Expected a valid ScanSettings.CodeDirection\"`,\n recognitionMode: `Expected a valid ScanSettings.RecognitionMode\"`,\n guiStyle: `Expected a valid BarcodePicker.GuiStyle\"`,\n searchArea: `Expected JSON object having properties of a SearchArea object`,\n singleImageModeSettings: `Expected JSON object having properties of a SingleImageModeSettings object`,\n textRecognitionSettings: `Expected JSON object having properties of a TextRecognitionSettings object`,\n };\n\n return messageByType[type];\n }\n}\n\nfunction validationMessage(type: ValidationType): MethodDecorator {\n return (target: any, key: string | symbol): void => {\n target.expectationMessage.set(target[key], target.getExpectationMessageForType(type));\n };\n}\n","import {\n Barcode,\n BarcodePicker,\n Camera,\n CameraAccess,\n configure,\n ScanResult,\n ScanSettings,\n SingleImageModePlatformSettings,\n SingleImageModeSettings,\n} from \"..\";\nimport { CameraManager } from \"../lib/barcodePicker/cameraManager\";\nimport { GUI } from \"../lib/barcodePicker/gui\";\nimport { Logger } from \"../lib/logger\";\nimport { AttributeValue, BarcodePickerView } from \"./barcodePickerView\";\nimport { LazyAttributeConverter } from \"./lazyAttributeConverter\";\nimport { convertProperty } from \"./propertyConverter\";\nimport { Attribute, attributes, getSchema } from \"./schema\";\nimport { assertUnreachable } from \"./tsHelper\";\nimport { Validator } from \"./validator\";\n\ntype PropertyUpdateOrigin = \"gui\" | \"picker\" | \"cameraManager\" | \"scanner\";\n\nexport class Controller {\n public picker: BarcodePicker;\n\n private lazyAttributeConverter: LazyAttributeConverter;\n\n private scanSettings: ScanSettings;\n\n private viewConnected: boolean = false;\n\n private trackAttributes: boolean = true;\n\n private readonly allSymbologies: Barcode.Symbology[] = Object.values(Barcode.Symbology).filter(\n (s) => {\n return typeof s === \"string\";\n }\n );\n\n constructor(public view: BarcodePickerView) {}\n\n public async viewConnectedCallback(): Promise {\n this.viewConnected = true;\n this.view.initializeDom();\n this.initializeAttributeConversionGetter();\n if (this.lazyAttributeConverter[Attribute.CONFIGURE]) {\n await this.initPicker();\n }\n }\n\n public attributeChangedCallback(name: string): void {\n if (!this.viewConnected || !this.trackAttributes) {\n return;\n }\n\n const rawAttribute: string | null = this.view.getAttribute(name);\n if (rawAttribute != null && !this.validateAttribute(name, rawAttribute)) {\n return;\n }\n const normalizedAttribute: Attribute = this.attributeToCamelCase(name);\n this.applyChangeFromAttributeChange(normalizedAttribute);\n }\n\n public viewDisconnectedCallback(): void {\n this.viewConnected = false;\n this.picker.destroy();\n // @ts-ignore\n delete this.picker;\n // @ts-ignore\n delete this.scanSettings;\n }\n\n // tslint:disable-next-line: max-func-body-length\n private applyChangeFromAttributeChange(attribute: Attribute): void {\n switch (attribute) {\n case Attribute.ACCESS_CAMERA:\n if (this.lazyAttributeConverter[Attribute.ACCESS_CAMERA]) {\n this.picker.accessCamera().catch((reason) => {\n Logger.log(Logger.Level.WARN, \"Error while accessing the camera:\", reason);\n });\n } else {\n this.picker.pauseCameraAccess();\n }\n break;\n case Attribute.ENABLE_CAMERA_SWITCHER:\n this.picker.setCameraSwitcherEnabled(this.lazyAttributeConverter[Attribute.ENABLE_CAMERA_SWITCHER]);\n break;\n case Attribute.ENABLE_PINCH_TO_ZOOM:\n this.picker.setPinchToZoomEnabled(this.lazyAttributeConverter[Attribute.ENABLE_PINCH_TO_ZOOM]);\n break;\n case Attribute.ENABLE_TAP_TO_FOCUS:\n this.picker.setTapToFocusEnabled(this.lazyAttributeConverter[Attribute.ENABLE_TAP_TO_FOCUS]);\n break;\n case Attribute.ENABLE_TORCH_TOGGLE:\n this.picker.setTorchToggleEnabled(this.lazyAttributeConverter[Attribute.ENABLE_TORCH_TOGGLE]);\n break;\n case Attribute.GUI_STYLE:\n this.picker.setGuiStyle(this.lazyAttributeConverter[Attribute.GUI_STYLE]);\n break;\n case Attribute.LASER_AREA:\n this.picker.setLaserArea(this.lazyAttributeConverter[Attribute.LASER_AREA]);\n break;\n case Attribute.PLAY_SOUND_ON_SCAN:\n this.picker.setPlaySoundOnScanEnabled(this.lazyAttributeConverter[Attribute.PLAY_SOUND_ON_SCAN]);\n break;\n case Attribute.SCANNING_PAUSED:\n if (this.lazyAttributeConverter[Attribute.SCANNING_PAUSED]) {\n this.picker.pauseScanning();\n break;\n }\n this.picker.resumeScanning().catch((reason) => {\n Logger.log(Logger.Level.WARN, \"Error while resuming scanning:\", reason);\n });\n break;\n case Attribute.TARGET_SCANNING_FPS:\n this.picker.setTargetScanningFPS(this.lazyAttributeConverter[Attribute.TARGET_SCANNING_FPS]);\n break;\n case Attribute.VIBRATE_ON_SCAN:\n this.picker.setVibrateOnScanEnabled(this.lazyAttributeConverter[Attribute.VIBRATE_ON_SCAN]);\n break;\n case Attribute.VIDEO_FIT:\n this.picker.setVideoFit(this.lazyAttributeConverter[Attribute.VIDEO_FIT]);\n break;\n case Attribute.VIEWFINDER_AREA:\n this.picker.setViewfinderArea(this.lazyAttributeConverter[Attribute.VIEWFINDER_AREA]);\n break;\n case Attribute.VISIBLE:\n this.picker.setVisible(this.lazyAttributeConverter[Attribute.VISIBLE]);\n break;\n case Attribute.CAMERA:\n this.getCameraFromAttribute()\n .then((camera: Camera | undefined) => {\n this.picker.setActiveCamera(camera).catch((reason) => {\n Logger.log(Logger.Level.WARN, \"Error while setting the active camera:\", reason);\n });\n })\n .catch((reason) => {\n Logger.log(Logger.Level.WARN, \"Error while getting the camera:\", reason);\n });\n break;\n case Attribute.CAMERA_TYPE:\n this.picker.setCameraType(this.lazyAttributeConverter[Attribute.CAMERA_TYPE]).catch((reason) => {\n Logger.log(Logger.Level.WARN, \"Error while setting camera type:\", reason);\n });\n break;\n case Attribute.CAMERA_SETTINGS:\n this.picker.applyCameraSettings(this.lazyAttributeConverter[Attribute.CAMERA_SETTINGS]).catch((reason) => {\n Logger.log(Logger.Level.WARN, \"Error while applying camera settings:\", reason);\n });\n break;\n //\n // SCAN SETTINGS from here\n //\n case Attribute.SCAN_SETTINGS_BLURRY_RECOGNITION:\n this.scanSettings.setBlurryRecognitionEnabled(\n this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_BLURRY_RECOGNITION]\n );\n this.picker.applyScanSettings(this.scanSettings);\n break;\n case Attribute.SCAN_SETTINGS_CODE_DIRECTION_HINT:\n this.scanSettings.setCodeDirectionHint(\n this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_CODE_DIRECTION_HINT]\n );\n this.picker.applyScanSettings(this.scanSettings);\n break;\n case Attribute.SCAN_SETTINGS_CODE_DUPLICATE_FILTER:\n this.scanSettings.setCodeDuplicateFilter(\n this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_CODE_DUPLICATE_FILTER]\n );\n this.picker.applyScanSettings(this.scanSettings);\n break;\n case Attribute.SCAN_SETTINGS_DEVICE_NAME:\n this.scanSettings.setDeviceName(this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_DEVICE_NAME]);\n this.picker.applyScanSettings(this.scanSettings);\n break;\n case Attribute.SCAN_SETTINGS_ENABLED_SYMBOLOGIES:\n this.onEnabledSymbologiesChanged();\n break;\n case Attribute.SCAN_SETTINGS_GPU_ACCELERATION:\n this.scanSettings.setGpuAccelerationEnabled(\n this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_GPU_ACCELERATION]\n );\n this.picker.applyScanSettings(this.scanSettings);\n break;\n case Attribute.SCAN_SETTINGS_MAX_NUMBER_OF_CODES_PER_FRAME:\n this.scanSettings.setMaxNumberOfCodesPerFrame(\n this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_MAX_NUMBER_OF_CODES_PER_FRAME]\n );\n this.picker.applyScanSettings(this.scanSettings);\n break;\n case Attribute.SCAN_SETTINGS_RECOGNITION_MODE:\n this.scanSettings.setRecognitionMode(this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_RECOGNITION_MODE]);\n this.picker.applyScanSettings(this.scanSettings);\n break;\n case Attribute.SCAN_SETTINGS_SEARCH_AREA:\n this.scanSettings.setSearchArea(this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_SEARCH_AREA]);\n this.picker.applyScanSettings(this.scanSettings);\n break;\n case Attribute.SCAN_SETTINGS_TEXT_RECOGNITION_SETTINGS:\n this.scanSettings.setTextRecognitionSettings(\n this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_TEXT_RECOGNITION_SETTINGS]\n );\n this.picker.applyScanSettings(this.scanSettings);\n break;\n case Attribute.CONFIGURE:\n if (this.lazyAttributeConverter[Attribute.CONFIGURE]) {\n this.initPicker().catch((reason) => {\n Logger.log(Logger.Level.WARN, \"Error while initializing barcode picker:\", reason);\n });\n }\n break;\n case Attribute.SINGLE_IMAGE_MODE_SETTINGS:\n case Attribute.CONFIGURE_ENGINE_LOCATION:\n case Attribute.CONFIGURE_LICENSE_KEY:\n case Attribute.CONFIGURE_HIGH_QUALITY_BLURRY_RECOGNITION:\n case Attribute.CONFIGURE_LOAD_TEXT_RECOGNITION:\n case Attribute.CONFIGURE_PRELOAD_BLURRY_RECOGNITION:\n case Attribute.CONFIGURE_PRELOAD_ENGINE:\n // noop\n break;\n default:\n // the following statement is here to make sure of the exhaustivenesss of this switch statement (if you miss\n // a case the compiler will yell at you)\n assertUnreachable(attribute);\n break;\n }\n }\n\n private async initPicker(): Promise {\n if (this.picker != null) {\n return;\n }\n\n this.validateAllAttributes();\n\n try {\n await configure(this.lazyAttributeConverter[Attribute.CONFIGURE_LICENSE_KEY], {\n engineLocation: this.lazyAttributeConverter[Attribute.CONFIGURE_ENGINE_LOCATION],\n highQualityBlurryRecognition: this.lazyAttributeConverter[Attribute.CONFIGURE_HIGH_QUALITY_BLURRY_RECOGNITION],\n loadTextRecognition: this.lazyAttributeConverter[Attribute.CONFIGURE_LOAD_TEXT_RECOGNITION],\n preloadBlurryRecognition: this.lazyAttributeConverter[Attribute.CONFIGURE_PRELOAD_BLURRY_RECOGNITION],\n preloadEngine: this.lazyAttributeConverter[Attribute.CONFIGURE_PRELOAD_ENGINE],\n });\n\n this.picker = new Proxy(\n await BarcodePicker.create(this.view.root, {\n accessCamera: this.lazyAttributeConverter[Attribute.ACCESS_CAMERA],\n camera: await this.getCameraFromAttribute(),\n cameraType: this.lazyAttributeConverter[Attribute.CAMERA_TYPE],\n enableCameraSwitcher: this.lazyAttributeConverter[Attribute.ENABLE_CAMERA_SWITCHER],\n enablePinchToZoom: this.lazyAttributeConverter[Attribute.ENABLE_PINCH_TO_ZOOM],\n enableTapToFocus: this.lazyAttributeConverter[Attribute.ENABLE_TAP_TO_FOCUS],\n enableTorchToggle: this.lazyAttributeConverter[Attribute.ENABLE_TORCH_TOGGLE],\n playSoundOnScan: this.lazyAttributeConverter[Attribute.PLAY_SOUND_ON_SCAN],\n vibrateOnScan: this.lazyAttributeConverter[Attribute.VIBRATE_ON_SCAN],\n scanningPaused: this.lazyAttributeConverter[Attribute.SCANNING_PAUSED],\n guiStyle: this.lazyAttributeConverter[Attribute.GUI_STYLE],\n targetScanningFPS: this.lazyAttributeConverter[Attribute.TARGET_SCANNING_FPS],\n videoFit: this.lazyAttributeConverter[Attribute.VIDEO_FIT],\n visible: this.lazyAttributeConverter[Attribute.VISIBLE],\n viewfinderArea: this.lazyAttributeConverter[Attribute.VIEWFINDER_AREA],\n laserArea: this.lazyAttributeConverter[Attribute.LASER_AREA],\n singleImageModeSettings: await this.getSingleImageModeSettings(),\n }),\n this.getBarcodePickerProxyHandler()\n );\n } catch (e) {\n return this.handleException(e);\n }\n\n this.scanSettings = new ScanSettings({\n textRecognitionSettings: this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_TEXT_RECOGNITION_SETTINGS],\n recognitionMode: this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_RECOGNITION_MODE],\n blurryRecognition: this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_BLURRY_RECOGNITION],\n codeDirectionHint: this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_CODE_DIRECTION_HINT],\n codeDuplicateFilter: this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_CODE_DUPLICATE_FILTER],\n deviceName: this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_DEVICE_NAME],\n enabledSymbologies: this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_ENABLED_SYMBOLOGIES],\n gpuAcceleration: this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_GPU_ACCELERATION],\n maxNumberOfCodesPerFrame: this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_MAX_NUMBER_OF_CODES_PER_FRAME],\n searchArea: this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_SEARCH_AREA],\n });\n this.picker.applyScanSettings(this.scanSettings);\n\n this.picker.on(\"ready\", this.dispatchPickerEvent.bind(this, \"ready\"));\n this.picker.on(\"submitFrame\", this.dispatchPickerEvent.bind(this, \"submitFrame\"));\n this.picker.on(\"processFrame\", this.dispatchPickerEvent.bind(this, \"processFrame\"));\n this.picker.on(\"scan\", this.dispatchPickerEvent.bind(this, \"scan\"));\n this.picker.on(\"scanError\", this.dispatchPickerEvent.bind(this, \"scanError\"));\n }\n\n private getBarcodePickerProxyHandler(): ProxyHandler {\n let proxiedGui: GUI;\n let proxiedCameraManager: CameraManager;\n // tslint:disable-next-line: no-this-assignment\n const controllerRef: Controller = this;\n\n function getProxiedGui(target: BarcodePicker): GUI {\n if (proxiedGui == null) {\n // tslint:disable-next-line: no-string-literal\n proxiedGui = new Proxy(target[\"gui\"], {\n // tslint:disable-next-line: no-any\n set: (gui: GUI, p: Attribute, value: any): boolean => {\n Reflect.set(gui, p, value);\n controllerRef.onPickerPropertyUpdate.call(controllerRef, { origin: \"gui\", key: p, newValue: value });\n\n return true;\n },\n });\n }\n\n return proxiedGui;\n }\n\n function getProxiedCameraManager(target: BarcodePicker): CameraManager {\n if (proxiedCameraManager == null) {\n // tslint:disable-next-line: no-string-literal\n proxiedCameraManager = new Proxy(target[\"cameraManager\"], {\n // tslint:disable-next-line: no-any\n set: (cameraManager: CameraManager, p: Attribute, value: any): boolean => {\n Reflect.set(cameraManager, p, value);\n controllerRef.onPickerPropertyUpdate.call(controllerRef, {\n origin: \"cameraManager\",\n key: p,\n newValue: value,\n });\n\n return true;\n },\n });\n }\n\n return proxiedCameraManager;\n }\n\n return {\n get: (target: BarcodePicker, p: PropertyKey) => {\n if (p === \"gui\") {\n return getProxiedGui(target);\n }\n if (p === \"cameraManager\") {\n return getProxiedCameraManager(target);\n }\n if (p === \"applyScanSettings\") {\n return (scanSettings: ScanSettings): void => {\n Reflect.apply(Reflect.get(target, p), target, [scanSettings]);\n this.onScannerNewScanSettings(scanSettings);\n };\n }\n\n return Reflect.get(target, p);\n },\n // tslint:disable-next-line: no-any\n set: (picker: BarcodePicker, p: Attribute, value: any): boolean => {\n Reflect.set(picker, p, value);\n this.onPickerPropertyUpdate({ key: p, origin: \"picker\", newValue: value });\n\n return true;\n },\n };\n }\n\n /**\n * Gather all settings from the passed scan settings and call `propertyDidUpdate`\n * to notify about the new settings.\n *\n * @param scanSettings The newly applied scan settings\n */\n private onScannerNewScanSettings(scanSettings: ScanSettings): void {\n const allSymbologies: Barcode.Symbology[] = Object.values(Barcode.Symbology).filter((s) => {\n return typeof s === \"string\";\n });\n // tslint:disable-next-line: no-any\n const changeSet: { key: Attribute; newValue: any }[] = [\n {\n key: Attribute.SCAN_SETTINGS_BLURRY_RECOGNITION,\n newValue: scanSettings.isBlurryRecognitionEnabled(),\n },\n {\n key: Attribute.SCAN_SETTINGS_CODE_DIRECTION_HINT,\n newValue: scanSettings.getCodeDirectionHint(),\n },\n {\n key: Attribute.SCAN_SETTINGS_CODE_DUPLICATE_FILTER,\n newValue: scanSettings.getCodeDuplicateFilter(),\n },\n {\n key: Attribute.SCAN_SETTINGS_DEVICE_NAME,\n newValue: scanSettings.getDeviceName(),\n },\n {\n key: Attribute.SCAN_SETTINGS_ENABLED_SYMBOLOGIES,\n newValue: allSymbologies.reduce((enabledSymbologies: string[], symbology) => {\n if (scanSettings.isSymbologyEnabled(symbology)) {\n enabledSymbologies.push(Barcode.Symbology.toJSONName(symbology));\n }\n\n return enabledSymbologies;\n }, []),\n },\n {\n key: Attribute.SCAN_SETTINGS_GPU_ACCELERATION,\n newValue: scanSettings.isGpuAccelerationEnabled(),\n },\n {\n key: Attribute.SCAN_SETTINGS_MAX_NUMBER_OF_CODES_PER_FRAME,\n newValue: scanSettings.getMaxNumberOfCodesPerFrame(),\n },\n {\n key: Attribute.SCAN_SETTINGS_RECOGNITION_MODE,\n newValue: scanSettings.getRecognitionMode(),\n },\n {\n key: Attribute.SCAN_SETTINGS_SEARCH_AREA,\n newValue: scanSettings.getSearchArea(),\n },\n {\n key: Attribute.SCAN_SETTINGS_TEXT_RECOGNITION_SETTINGS,\n newValue: scanSettings.getTextRecognitionSettings(),\n },\n ];\n changeSet.forEach((change) => {\n this.onPickerPropertyUpdate({ origin: \"scanner\", ...change });\n });\n }\n\n /**\n * for each attribute we support, define a property on the \"primaryValues\" object to get the attribute and convert\n * it to its primary type (e.g. the string \"true\" would become the real boolean value `true`)\n */\n private initializeAttributeConversionGetter(): void {\n this.lazyAttributeConverter = new LazyAttributeConverter(getSchema(), this.view);\n }\n\n private async getCameraFromAttribute(): Promise {\n let userCamera: Camera | undefined;\n const cameraAttr: Camera | undefined = this.lazyAttributeConverter[Attribute.CAMERA];\n if (cameraAttr?.deviceId != null) {\n const cameras: Camera[] = await CameraAccess.getCameras();\n const userCameraId: string = cameraAttr.deviceId;\n userCamera = cameras.find((camera) => {\n return camera.deviceId === userCameraId;\n });\n if (userCamera == null) {\n Logger.log(Logger.Level.WARN, `Could not find camera with id \"${userCameraId}\", will use default camera.`);\n }\n }\n\n return userCamera;\n }\n\n private onEnabledSymbologiesChanged(): void {\n const symbologiesToEnable: string[] = this.lazyAttributeConverter[Attribute.SCAN_SETTINGS_ENABLED_SYMBOLOGIES];\n this.allSymbologies.forEach((symbology) => {\n const shouldEnable: boolean = symbologiesToEnable.includes(symbology);\n this.scanSettings.getSymbologySettings(symbology).setEnabled(shouldEnable);\n });\n this.picker.applyScanSettings(this.scanSettings);\n }\n\n // tslint:disable-next-line: no-any\n private onPickerPropertyUpdate(change: { key: Attribute; newValue: any; origin: PropertyUpdateOrigin }): void {\n // we need to map the private property name to our \"public\" properties\n const mappingsByOrigin: { [key in typeof change.origin]?: { [key: string]: Attribute[] } } = {\n gui: {\n customLaserArea: [Attribute.LASER_AREA],\n customViewfinderArea: [Attribute.VIEWFINDER_AREA],\n },\n cameraManager: {\n activeCamera: [Attribute.CAMERA, Attribute.CAMERA_TYPE],\n cameraSwitcherEnabled: [Attribute.ENABLE_CAMERA_SWITCHER],\n torchToggleEnabled: [Attribute.ENABLE_TORCH_TOGGLE],\n tapToFocusEnabled: [Attribute.ENABLE_TAP_TO_FOCUS],\n pinchToZoomEnabled: [Attribute.ENABLE_PINCH_TO_ZOOM],\n },\n };\n\n const propertyNames: string[] = mappingsByOrigin[change.origin]?.[change.key] ?? [change.key];\n\n this.trackAttributes = false;\n propertyNames.forEach((propertyName) => {\n if (attributes.includes(propertyName)) {\n if (change.newValue == null) {\n this.view.removeAttribute(propertyName);\n } else {\n this.view.setAttribute(propertyName, convertProperty(getSchema()[propertyName], change.newValue));\n }\n }\n });\n this.trackAttributes = true;\n }\n\n private async getSingleImageModeSettings(): Promise {\n const settings: SingleImageModeSettings = {};\n\n if (this.lazyAttributeConverter[Attribute.SINGLE_IMAGE_MODE_SETTINGS] != null) {\n // merge settings from user\n settings.desktop = {\n ...SingleImageModeSettings.defaultDesktop,\n ...(this.lazyAttributeConverter[Attribute.SINGLE_IMAGE_MODE_SETTINGS].desktop ?? {}),\n };\n settings.mobile = {\n ...SingleImageModeSettings.defaultMobile,\n ...(this.lazyAttributeConverter[Attribute.SINGLE_IMAGE_MODE_SETTINGS].mobile ?? {}),\n };\n }\n\n // children may not have been parsed yet\n await this.view.waitOnChildrenReady();\n\n // This parts will slightly hurt your eyes because of TS: basically we just loop over \"desktop\" and \"mobile\", and\n // loop again inside over the HTML elements that can be set with slot.\n (<(keyof SingleImageModeSettings)[]>[\"mobile\", \"desktop\"]).forEach((platform) => {\n (<(keyof SingleImageModePlatformSettings)[]>[\"informationElement\", \"buttonElement\"]).forEach(\n (platformSetting) => {\n const el: HTMLElement | null = this.view.querySelector(\n `*[slot=\"singleImageModeSettings.${platform}.${platformSetting}\"]`\n );\n if (el != null && settings[platform] != null) {\n // tslint:disable-next-line: no-non-null-assertion no-any\n settings[platform]![platformSetting] = el;\n }\n }\n );\n });\n\n return settings;\n }\n\n private dispatchPickerEvent(eventName: string, scanResultOrError?: ScanResult | Error): void {\n const event: CustomEvent = new CustomEvent(eventName, { detail: scanResultOrError });\n this.view.dispatchCustomEvent(event);\n }\n\n private validateAllAttributes(): void {\n const attrs: AttributeValue[] = Array.from(this.view.getAttributes());\n attrs.forEach((attr) => {\n if (attributes.includes(attr.name)) {\n this.validateAttribute(attr.name, attr.value);\n }\n });\n }\n\n private validateAttribute(name: Attribute | string, value: string): boolean {\n const normalizedAttribute: Attribute = this.attributeToCamelCase(name);\n let validatorFunction: (value: string) => boolean;\n\n switch (normalizedAttribute) {\n case Attribute.ACCESS_CAMERA:\n case Attribute.CONFIGURE:\n case Attribute.CONFIGURE_HIGH_QUALITY_BLURRY_RECOGNITION:\n case Attribute.CONFIGURE_LOAD_TEXT_RECOGNITION:\n case Attribute.CONFIGURE_PRELOAD_BLURRY_RECOGNITION:\n case Attribute.CONFIGURE_PRELOAD_ENGINE:\n case Attribute.ENABLE_CAMERA_SWITCHER:\n case Attribute.ENABLE_PINCH_TO_ZOOM:\n case Attribute.ENABLE_TAP_TO_FOCUS:\n case Attribute.ENABLE_TORCH_TOGGLE:\n case Attribute.PLAY_SOUND_ON_SCAN:\n case Attribute.SCANNING_PAUSED:\n case Attribute.VIBRATE_ON_SCAN:\n case Attribute.VISIBLE:\n case Attribute.SCAN_SETTINGS_BLURRY_RECOGNITION:\n case Attribute.SCAN_SETTINGS_GPU_ACCELERATION:\n validatorFunction = Validator.isBooleanAttribute;\n break;\n case Attribute.TARGET_SCANNING_FPS:\n case Attribute.SCAN_SETTINGS_CODE_DUPLICATE_FILTER:\n case Attribute.SCAN_SETTINGS_MAX_NUMBER_OF_CODES_PER_FRAME:\n validatorFunction = Validator.isIntegerAttribute;\n break;\n case Attribute.SCAN_SETTINGS_CODE_DIRECTION_HINT:\n validatorFunction = Validator.isValidCodeDirection;\n break;\n case Attribute.SCAN_SETTINGS_RECOGNITION_MODE:\n validatorFunction = Validator.isValidRecognitionMode;\n break;\n case Attribute.SCAN_SETTINGS_TEXT_RECOGNITION_SETTINGS:\n validatorFunction = Validator.isValidTextRecognitionSettingsObject;\n break;\n case Attribute.CAMERA_TYPE:\n validatorFunction = Validator.isValidCameraType;\n break;\n case Attribute.GUI_STYLE:\n validatorFunction = Validator.isValidGuiStyle;\n break;\n case Attribute.VIDEO_FIT:\n validatorFunction = Validator.isValidVideoFit;\n break;\n case Attribute.SCAN_SETTINGS_ENABLED_SYMBOLOGIES:\n validatorFunction = Validator.isValidJsonArray;\n break;\n case Attribute.VIEWFINDER_AREA:\n case Attribute.LASER_AREA:\n case Attribute.SCAN_SETTINGS_SEARCH_AREA:\n validatorFunction = Validator.isValidSearchAreaAttribute;\n break;\n case Attribute.CAMERA:\n validatorFunction = Validator.isValidCameraObject;\n break;\n case Attribute.CAMERA_SETTINGS:\n validatorFunction = Validator.isValidCameraSettingsObject;\n break;\n case Attribute.SINGLE_IMAGE_MODE_SETTINGS:\n validatorFunction = Validator.isValidSingleImageModeSettingsObject;\n break;\n case Attribute.CONFIGURE_ENGINE_LOCATION:\n case Attribute.CONFIGURE_LICENSE_KEY:\n case Attribute.SCAN_SETTINGS_DEVICE_NAME:\n validatorFunction = () => {\n return true;\n };\n break;\n default:\n assertUnreachable(normalizedAttribute);\n break;\n }\n\n if (!validatorFunction(value)) {\n Logger.log(\n Logger.Level.WARN,\n `Invalid value for attribute \"${normalizedAttribute}\": \"${value}\". ${\n Validator.expectationMessage.get(validatorFunction) ?? \"\"\n }`\n );\n\n return false;\n }\n\n return true;\n }\n\n /**\n * Transform the given attribute name to its camel-cased version.\n *\n * @param attrName The attribute name, possibly all lower-cased\n * @returns camel-cased attribute name\n */\n private attributeToCamelCase(attrName: string): Attribute {\n const index: number = attributes.findIndex((k) => {\n return k.toLowerCase() === attrName.toLowerCase();\n });\n\n return attributes[index];\n }\n\n private handleException(e: Error): void {\n Logger.log(Logger.Level.ERROR, e);\n }\n}\n","import { Camera } from \"..\";\nimport { AttributeDescriptor } from \"./schema\";\nimport { assertUnreachable } from \"./tsHelper\";\n\n/**\n * Convert the given value to a string aimed to be used as an attribute value\n *\n * @param schema description of the attribute\n * @param value the value in its primary form\n * @returns the converted value as a string\n */\n// tslint:disable-next-line: no-any\nexport function convertProperty(schema: AttributeDescriptor, value: any): string {\n switch (schema.type) {\n case \"boolean\":\n return value ? \"true\" : \"false\";\n case \"guiStyle\":\n case \"integer\":\n case \"string\":\n case \"videoFit\":\n case \"codeDirection\":\n case \"recognitionMode\":\n return value.toString();\n case \"array\":\n case \"camera\":\n case \"cameraSettings\":\n case \"searchArea\":\n case \"singleImageModeSettings\":\n case \"textRecognitionSettings\":\n return JSON.stringify(value);\n case \"cameraType\":\n return (value).cameraType.toString();\n default:\n break;\n }\n\n // Trick to make sure all cases are covered:\n return assertUnreachable(schema);\n}\n","import { BarcodePicker } from \"..\";\nimport { default as pickerStyles } from \"../styles/styles.scss\";\nimport { AttributeValue, BarcodePickerView } from \"./barcodePickerView\";\nimport { Controller } from \"./controller\";\nimport { attributes } from \"./schema\";\n\nexport class ScanditBarcodePicker extends HTMLElement implements BarcodePickerView {\n public static readonly TAG_NAME: string = \"scandit-barcode-picker\";\n\n private readonly shadowDom: ShadowRoot;\n\n private readonly controller: Controller;\n\n static get observedAttributes(): string[] {\n return attributes.map((s: string) => {\n return s.toLowerCase();\n });\n }\n\n constructor() {\n super();\n this.controller = new Controller(this);\n this.shadowDom = this.attachShadow({ mode: \"open\" });\n }\n\n public static registerComponent(): undefined | string {\n if (!(\"customElements\" in window)) {\n return;\n }\n if (customElements.get(ScanditBarcodePicker.TAG_NAME) == null) {\n customElements.define(ScanditBarcodePicker.TAG_NAME, ScanditBarcodePicker);\n }\n\n return ScanditBarcodePicker.TAG_NAME;\n }\n\n /**\n * Expose main objects on view\n */\n get barcodePicker(): BarcodePicker | undefined {\n return this.controller.picker;\n }\n\n public get root(): HTMLElement {\n return this.shadowDom.querySelector(\"#root\");\n }\n\n public async connectedCallback(): Promise {\n await this.controller.viewConnectedCallback();\n }\n\n public disconnectedCallback(): void {\n this.controller.viewDisconnectedCallback();\n }\n\n public attributeChangedCallback(name: string): void {\n this.controller.attributeChangedCallback(name);\n }\n\n public initializeDom(): void {\n // tslint:disable-next-line:no-inner-html\n this.shadowDom.innerHTML = this.initialDomContent;\n }\n\n public dispatchCustomEvent(e: CustomEvent): void {\n this.dispatchEvent(e);\n }\n\n public getAttributes(): AttributeValue[] {\n return Array.from(this.attributes).map((att) => {\n return { name: att.name, value: att.value };\n });\n }\n\n public waitOnChildrenReady(): Promise {\n return new Promise((resolve) => {\n setTimeout(resolve, 50);\n });\n }\n\n private get initialDomContent(): string {\n return `\n \n
\n `;\n }\n\n private get wcStyles(): string {\n return `\n :host {\n display: block;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n #root {\n height: 100%;\n }\n `;\n }\n\n private get styles(): string {\n return `\n ${this.wcStyles}\n ${pickerStyles}\n `;\n }\n}\n","import \"objectFitPolyfill\";\n\nimport { BlurryRecognitionPreloader } from \"./lib/blurryRecognitionPreloader\";\nimport { BrowserCompatibility } from \"./lib/browserCompatibility\";\nimport { BrowserHelper } from \"./lib/browserHelper\";\nimport { CustomError } from \"./lib/customError\";\nimport { DataCaptureLoader } from \"./lib/dataCaptureLoader\";\nimport { Logger } from \"./lib/logger\";\nimport { UnsupportedBrowserError } from \"./lib/unsupportedBrowserError\";\n\nimport \"./styles/styles.scss\";\n\n/**\n * @hidden\n */\ndeclare global {\n interface Window {\n MediaStreamTrack?: {\n getSources?(callback: (devices: MediaDeviceInfo[]) => void): void;\n };\n Worker: Function;\n WebAssembly: object;\n OffscreenCanvas: Function;\n WebGLRenderingContext: Function;\n objectFitPolyfill(elements?: HTMLElement | HTMLElement[]): void;\n }\n\n interface Navigator {\n mozVibrate?: Navigator[\"vibrate\"];\n msVibrate?: Navigator[\"vibrate\"];\n webkitVibrate?: Navigator[\"vibrate\"];\n enumerateDevices?(): Promise;\n }\n}\n\nexport * from \"./lib/barcodePicker/barcodePicker\";\nexport * from \"./lib/barcode\";\nexport * from \"./lib/barcodeEncodingRange\";\nexport * from \"./lib/browserCompatibility\";\nexport * from \"./lib/browserHelper\";\nexport * from \"./lib/camera\";\nexport * from \"./lib/cameraAccess\";\nexport * from \"./lib/cameraSettings\";\nexport * from \"./lib/customError\";\nexport * from \"./lib/imageSettings\";\nexport * from \"./lib/logger\";\nexport * from \"./lib/point\";\nexport * from \"./lib/quadrilateral\";\nexport * from \"./lib/parser\";\nexport * from \"./lib/parserField\";\nexport * from \"./lib/parserResult\";\nexport * from \"./lib/recognizedText\";\nexport * from \"./lib/scanResult\";\nexport * from \"./lib/scanner\";\nexport * from \"./lib/scanSettings\";\nexport * from \"./lib/singleImageModeSettings\";\nexport * from \"./lib/searchArea\";\nexport * from \"./lib/symbologySettings\";\nexport * from \"./lib/textRecognitionSettings\";\n\nexport * from \"./lib/workers/dataCaptureWorker\";\n\nimport { ScanditBarcodePicker } from \"./webComponent\";\nScanditBarcodePicker.registerComponent();\n\n/**\n * @hidden\n */\nexport type Mutable = { -readonly [P in keyof T]: T[P] };\n\n/**\n * @hidden\n */\nexport const deviceId: string = BrowserHelper.getDeviceId();\n/**\n * @hidden\n */\nexport let userLicenseKey: string | undefined;\n/**\n * @hidden\n */\nexport let scanditDataCaptureLocation: string;\n/**\n * @hidden\n */\nexport let blurryRecognitionPreloader: BlurryRecognitionPreloader;\n/**\n * @hidden\n */\nexport let highEndBlurryRecognition: boolean;\n/**\n * @hidden\n */\nexport let textRecognition: boolean;\n/**\n * @hidden\n */\nexport let dataCaptureLoader: DataCaptureLoader;\n/**\n * @hidden\n *\n * Flag describing if configure() was called and if it could execute in its entirety.\n */\nexport let configurePhase: \"unconfigured\" | \"started\" | \"done\" = \"unconfigured\";\n\n/**\n * @hidden\n */\nexport let configurePromise: Promise | undefined;\n\n/**\n * @hidden\n *\n * Mainly used by tests.\n */\nexport function resetConfigure(): void {\n configurePhase = \"unconfigured\";\n}\n\n/**\n * Initialize and configure the Scandit Barcode Scanner SDK library. This function must be called (once) before\n * instantiating the main library components (`BarcodePicker` and `Scanner` objects) and returns a promise. In case this\n * is called again after a successful call, parameters from subsequent calls are ignored and the same promise returned\n * from the successful call will be returned.\n *\n * Depending on parameters and browser features, any of the following errors could be the rejected result of the\n * returned promise:\n * - `NoLicenseKeyError`\n * - `UnsupportedBrowserError`\n *\n * The external external Scandit Data Capture library and data needed for barcode blurry recognition are preloaded\n * asynchronously eagerly by default after library configuration to ensure the best performance. If needed this\n * behaviour can be changed via the *preloadEngine* and *preloadBlurryRecognition* options.\n *\n * For optimal performance, it is recommended to call this function as soon as possible to ensure needed components are\n * preloaded and initialized ahead of time.\n *\n * Camera access requests are done lazily only when needed by a [[BarcodePicker]] (or [[Scanner]]) object. You can also\n * eagerly ask only for camera access permissions by calling the [[CameraAccess.getCameras]] function.\n *\n * Ideally, to make the scanning process faster, it is recommended depending on the use case to create in\n * advance a (hidden and paused) [[BarcodePicker]] or [[Scanner]] object, to later show and unpause it when needed.\n * Depending on the options this can also be used to correctly ask for camera access permissions whenever preferred.\n *\n * @param licenseKey The Scandit license key to be used by the library.\n * @param logLevel
Default = Logger.Level.DEBUG
\n * The console log level to be used by the library.\n * @param engineLocation
Default = \"/\"
\n * The location of the folder containing the external scandit-engine-sdk.min.js and\n * scandit-engine-sdk.wasm files (external Scandit Data Capture library).\n * By default they are retrieved from the root of the web application.\n * Can be a full URL to folder or an absolute folder path.\n * @param highQualityBlurryRecognition
Default = false
\n * Whether to generate and use high quality barcode blurry recognition data, resulting in improved localization and\n * scanning performance of extremely challenging 1D codes. If enabled, more time is spent to initialize (load or\n * generate if needed) the needed data - at a time depending on the preloadBlurryRecognition option - and for\n * the processing of each video frame.\n *\n * Enabling this option is not recommended unless really needed due to its high performance impact.\n * @param loadTextRecognition
Default = false
\n * Whether to load a version of the external Scandit Data Capture library providing support for text recognition (OCR).\n * If enabled, a larger version of the library is loaded, unlocking [[ScanSettings]] options to enable text recognition\n * in addition or as an alternative to barcode scanning. This also requires more time to load (download if needed,\n * compile/instantiate WebAssembly code and initialize) the external Scandit Data Capture library, used by\n * [[BarcodePicker]] and [[Scanner]] objects to perform scan operations, at a time depending on the\n * preloadEngine option.\n *\n * In case barcode scanning is not needed, the preloadBlurryRecognition option should be disabled for better\n * initialization performance.\n * @param preloadBlurryRecognition
Default = true
\n * Whether to preload (load or generate if needed) data needed for barcode blurry recognition as soon as possible via a\n * separate asynchronous WebWorker thread running the external Scandit Data Capture library. Data for all symbologies is\n * generated over time.\n *\n * If enabled, any [[BarcodePicker]] or [[Scanner]] object will be able to start processing video frames much faster, as\n * it won't need to generate barcode blurry recognition data lazily only when needed. If necessary, depending on given\n * [[ScanSettings]] options and on readiness of the data, processing is also initially performed without blurry\n * recognition until this data becomes available, at which point the new data will be loaded and used.\n *\n * If disabled, [[BarcodePicker]] or [[Scanner]] objects will load or generate barcode blurry recognition data lazily\n * when needed to process the first frame, depending on given [[ScanSettings]] options, and will thus require more time\n * the first time the library is actively used with the given active symbologies. As this needs to be done in the same\n * WebWorker, the processing of the frame will then be blocked until the needed data is loaded or generated.\n *\n * Note that in either case the data for barcode blurry recognition will be cached for later successive uses of the\n * library.\n *\n * Note that preloading does not trigger a device activation for licensing purposes.\n * @param preloadEngine
Default = true
\n * Whether to preload (download if needed, compile/instantiate WebAssembly code and initialize) the external Scandit\n * Data Capture library, used by [[BarcodePicker]] and [[Scanner]] objects to perform scan operations.\n *\n * If enabled, any [[BarcodePicker]] or [[Scanner]] object will be ready to start processing video frames much faster,\n * as the needed external Scandit Data Capture library will already be in a partially or fully initialized state thanks\n * to it being preloaded now.\n *\n * If disabled, [[BarcodePicker]] and [[Scanner]] objects will load the external Scandit Data Capture library on\n * creation (if it wasn't already loaded before by a previously created object), and will thus require more time to be\n * initialized and ready.\n *\n * Note that in either case the loaded external Scandit Data Capture library will be reused whenever possible for later\n * successive uses of the library.\n *\n * Note that preloading does not trigger a device activation for licensing purposes.\n *\n * @returns A promise resolving when the library has been configured (preloading is done independently asynchronously).\n */\nexport function configure(\n licenseKey: string,\n {\n logLevel = Logger.Level.DEBUG,\n engineLocation = \"/\",\n highQualityBlurryRecognition = false,\n loadTextRecognition = false,\n preloadBlurryRecognition = true,\n preloadEngine = true,\n }: {\n logLevel?: Logger.Level;\n engineLocation?: string;\n highQualityBlurryRecognition?: boolean;\n loadTextRecognition?: boolean;\n preloadBlurryRecognition?: boolean;\n preloadEngine?: boolean;\n } = {}\n): Promise {\n if (configurePhase !== \"unconfigured\" && configurePromise != null) {\n return configurePromise;\n }\n\n Logger.setLevel(logLevel);\n\n configurePromise = new Promise(async (resolve, reject) => {\n Logger.log(Logger.Level.INFO, \"Scandit Web SDK version: %VERSION%\");\n configurePhase = \"started\";\n\n const browserCompatibility: BrowserCompatibility = BrowserHelper.checkBrowserCompatibility();\n if (!browserCompatibility.fullSupport && !browserCompatibility.scannerSupport) {\n return reject(new UnsupportedBrowserError(browserCompatibility));\n }\n\n if (licenseKey == null || licenseKey.trim().length < 64) {\n return reject(new CustomError({ name: \"NoLicenseKeyError\", message: \"No license key provided\" }));\n }\n userLicenseKey = licenseKey;\n\n engineLocation += engineLocation.slice(-1) === \"/\" ? \"\" : \"/\";\n if (/^https?:\\/\\//.test(engineLocation)) {\n scanditDataCaptureLocation = `${engineLocation}`;\n } else {\n engineLocation = engineLocation\n .split(\"/\")\n .filter((s) => {\n return s.length > 0;\n })\n .join(\"/\");\n if (engineLocation === \"\") {\n engineLocation = \"/\";\n } else {\n engineLocation = `/${engineLocation}/`;\n }\n if (location.protocol === \"file:\" || location.origin === \"null\") {\n scanditDataCaptureLocation = `${location.href.split(\"/\").slice(0, -1).join(\"/\")}${engineLocation}`;\n } else {\n scanditDataCaptureLocation = `${location.origin}${engineLocation}`;\n }\n }\n\n // Workaround to solve Safari/iOS bug preventing IndexedDB to work correctly on first page load\n // https://bugs.webkit.org/show_bug.cgi?id=226547\n const browserName: string | undefined = BrowserHelper.userAgentInfo.getBrowser().name;\n const osName: string | undefined = BrowserHelper.userAgentInfo.getOS().name;\n if (\n (browserName == null || browserName.includes(\"Safari\") || osName == null || osName === \"iOS\") &&\n window.indexedDB != null &&\n \"databases\" in indexedDB\n ) {\n let indexedDBStatusCheckInterval: number;\n await new Promise((resolveCheck: () => void) => {\n function checkIndexedDBStatus(): void {\n indexedDB\n .databases()\n .then(resolveCheck)\n .catch(\n /* istanbul ignore next */ () => {\n // Ignored\n }\n );\n }\n\n indexedDBStatusCheckInterval = window.setInterval(checkIndexedDBStatus, 50);\n checkIndexedDBStatus();\n }).then(() => clearInterval(indexedDBStatusCheckInterval));\n }\n\n highEndBlurryRecognition = highQualityBlurryRecognition;\n textRecognition = loadTextRecognition;\n blurryRecognitionPreloader = await BlurryRecognitionPreloader.create(preloadBlurryRecognition);\n await blurryRecognitionPreloader.prepareBlurryTables();\n dataCaptureLoader = new DataCaptureLoader(preloadEngine);\n\n configurePhase = \"done\";\n\n return resolve();\n }).catch((e) => {\n resetConfigure();\n throw e;\n });\n\n return configurePromise;\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","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"a7fd5439\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"dekra_new_page:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdekra_new_page\"] = self[\"webpackChunkdekra_new_page\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","import * as React from \"react\";\nimport type { History, Location } from \"history\";\nimport { Action as NavigationType } from \"history\";\n\nimport type { RouteMatch } from \"./router\";\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n","import type { Location, Path, To } from \"history\";\nimport { parsePath } from \"history\";\n\nexport function invariant(cond: any, message: string): asserts cond {\n if (!cond) throw new Error(message);\n}\n\nexport function warning(cond: any, message: string): void {\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 React Router!\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);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nconst alreadyWarned: Record = {};\nexport function warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment extends infer LeftResult\n ? ParamParseSegment extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n ParamParseSegment extends string\n ? ParamParseSegment\n : string;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, (_) =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(\n branch: RouteBranch,\n pathname: string\n): RouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n // Additionally, allow paths starting with `.`, `-`, `~`, and url-encoded entities,\n // but do not consume the character in the matched path so they can match against\n // nested paths.\n \"(?:(?=[.~-]|%[0-9A-F]{2})|\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n","import * as React from \"react\";\nimport type { Location, Path, To } from \"history\";\nimport { Action as NavigationType, parsePath } from \"history\";\n\nimport { LocationContext, NavigationContext, RouteContext } from \"./context\";\nimport type {\n ParamParseKey,\n Params,\n PathMatch,\n PathPattern,\n RouteMatch,\n RouteObject,\n} from \"./router\";\nimport {\n getToPathname,\n invariant,\n joinPaths,\n matchPath,\n matchRoutes,\n resolveTo,\n warning,\n warningOnce,\n} from \"./router\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase]),\n })\n ),\n parentMatches\n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n \n );\n }, null as React.ReactElement | null);\n}\n","import * as React from \"react\";\nimport type { InitialEntry, Location, MemoryHistory, To } from \"history\";\nimport {\n Action as NavigationType,\n createMemoryHistory,\n parsePath,\n} from \"history\";\n\nimport { LocationContext, NavigationContext, Navigator } from \"./context\";\nimport {\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n} from \"./hooks\";\nimport type { RouteMatch, RouteObject } from \"./router\";\nimport { invariant, normalizePathname, stripBasename, warning } from \"./router\";\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\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 React Router!\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);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n};\n\nexport { NavigationType } from \"react-router\";\nexport type {\n Hash,\n Location,\n Path,\n To,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n Pathname,\n Search,\n RoutesProps,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children?:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogoHeader(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"b\",\n \"data-name\": \"Layer 2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 412.03 125.35\",\n width: 160,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 1\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#fff\",\n fillRule: \"evenodd\",\n points: \"266.27 50.66 275.16 39.69 292.89 17.94 276.08 17.94 259.87 39.69 254.2 47.31 254.2 39.69 254.2 17.94 240.37 17.94 240.37 39.69 240.37 53.64 240.37 88.31 254.2 88.31 254.2 56.99 276.81 88.31 294.78 88.31 268.52 53.64 266.27 50.66\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillRule: \"evenodd\",\n d: \"M149.1,17.94h-19.25V88.31h19.25c33.02,.12,34.42-30.34,34.49-34.73v-.43c0-.85,0-6.7-2.25-13.46-3.35-9.93-11.64-21.75-32.23-21.75Zm20.17,35.76c-.3,26.2-25.35,22.66-25.35,22.66V30s15.48-2.19,22.24,9.63c1.89,3.29,3.11,7.68,3.11,13.53v.55Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillRule: \"evenodd\",\n d: \"M388.05,24.37c-4.12-10.9-11.4-10.57-15.5,0-4.2,10.83-22.1,58.3-24.04,63.47l-19.49-28.9s5-.97,9.08-5.24c2.68-2.92,5-7.31,5-14.01v-.06s1.71-21.69-22.6-21.69h-19.31V88.31h13.83v-28.27l17.24,28.27h29.89l5.33-14.77h24.7l5.81,14.77h14.05s-19.86-53.04-23.98-63.93Zm-69.75,25.86h-3.29V29.21h3.29c11.88-.06,11.39,10.3,11.39,10.3v.18c0,1.34-.66,10.54-11.39,10.54Zm53.04,11.92l8.96-25.43,8.72,25.43h-17.68Z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#fff\",\n fillRule: \"evenodd\",\n points: \"192.18 39.69 192.12 53.64 192.12 88.31 228.43 88.31 228.43 76.37 206.01 76.37 206.01 57.36 227.7 57.36 227.7 53.64 227.7 45.36 206.01 45.36 206.01 39.69 206.01 30 228.49 30 228.49 18 192.18 18 192.18 39.69\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillRule: \"evenodd\",\n d: \"M79.11,33.41C64.93,24.96,28.09,3.7,23.57,1.11,19.05-1.47,15.18,.47,15.18,6.6v63.29l17.76-9.69V27.27l38.75,22.93L0,92.5v20.67s65.23-37.78,79.11-45.53c13.89-7.75,15.18-25.19,0-34.23Z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M153.09,125.06h-2.29l-5.62-16.49-5.51,16.49h-2.29l-6.21-20.51h2.81l4.78,16.32,5.3-16.32h2.4l5.45,16.32,4.66-16.32h2.43l-5.92,20.51Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M169.35,116.27v8.79h-2.49v-8.79l-7.27-11.72h2.87l5.74,9.38,5.77-9.38h2.72l-7.35,11.72Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M194.37,123.06c-1.38,1.41-3.93,2.29-6.47,2.29-6.15,0-10.4-4.16-10.4-10.55,0-5.89,3.81-10.55,10.22-10.55,2.64,0,4.78,.73,6.24,1.99l-1.14,1.88c-1.35-1-2.93-1.52-5.07-1.52-4.45,0-7.62,3.34-7.62,8.2s3.25,8.2,8,8.2c1.96,0,3.84-.67,5.24-1.82l1,1.88Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M198.33,104.55h11.57v2.34h-9.08v6.62h8.2v2.34h-8.2v6.86h9.37v2.34h-11.86v-20.51Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M230.32,125.06l-12.8-16.11v16.11h-2.34v-20.51h1.99l12.8,16.17v-16.17h2.34v20.51h-1.99Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M245.44,116.27v8.79h-2.49v-8.79l-7.27-11.72h2.87l5.74,9.38,5.77-9.38h2.72l-7.35,11.72Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M286.57,125.06h-2.29l-5.62-16.49-5.51,16.49h-2.29l-6.21-20.51h2.81l4.78,16.32,5.3-16.32h2.4l5.45,16.32,4.66-16.32h2.43l-5.92,20.51Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M300.64,104.43h2.14l8.82,20.62h-2.67l-2.64-6.21h-9.35l-2.61,6.21h-2.52l8.82-20.62Zm-2.7,12.07h7.38l-3.69-8.76-3.69,8.76Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M315.11,125.06v-20.51c1.14,0,4.92-.06,5.51-.06,5.6,0,7.29,2.78,7.29,6.09s-2.2,5.21-4.45,5.8l6.83,8.67h-3.05l-6.3-8.2h-3.34v8.2h-2.49Zm2.49-18.16v7.62h3.02c2.37,0,4.66-1.46,4.66-3.9,0-2.11-1.17-3.78-4.8-3.78-.64,0-1.9,.03-2.87,.06Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M329.93,104.55h16.85v2.34h-7.18v18.16h-2.49v-18.16h-7.18v-2.34Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M358.03,104.26c5.95,0,10.46,4.31,10.46,10.55s-4.51,10.55-10.46,10.55-10.46-4.31-10.46-10.55,4.37-10.55,10.46-10.55Zm0,18.75c4.69,0,7.82-3.57,7.82-8.2s-3.43-8.2-7.82-8.2-7.82,3.43-7.82,8.2,3.43,8.2,7.82,8.2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M371.92,109.62c0-2.96,2.29-5.36,6.18-5.36,2.37,0,4.48,.85,5.65,2.14l-1.35,1.88c-1.08-1.08-2.37-1.67-4.16-1.67-2.29,0-3.69,1.2-3.69,3.02,0,5.07,10.02,3.16,10.02,10.17,0,3.37-2.96,5.57-6.68,5.57-2.52,0-5.45-1.14-6.47-3.08l1.44-1.7c1.2,1.58,3.34,2.43,5.07,2.43,2.14,0,4.01-1.11,4.01-3.19,0-5.01-10.02-3.4-10.02-10.2Zm5.04-6.09l-.67-1.41,5.71-3.05,.88,1.99-5.92,2.46Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M404.38,123.06c-1.38,1.41-3.93,2.29-6.47,2.29-6.15,0-10.4-4.16-10.4-10.55,0-5.89,3.81-10.55,10.22-10.55,2.64,0,4.78,.73,6.24,1.99l-1.14,1.88c-1.35-1-2.93-1.52-5.07-1.52-4.45,0-7.62,3.34-7.62,8.2s3.25,8.2,8,8.2c1.96,0,3.84-.67,5.24-1.82l1,1.88Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M408.92,104.55h2.49v20.51h-2.49v-20.51Z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogoHeader);\nexport default __webpack_public_path__ + \"static/media/logo-header.4cbcdce2f409df285226f1b66a58e810.svg\";\nexport { ForwardRef as ReactComponent };","import { scroller } from \"react-scroll\"\r\n\r\nconst scrollMeTo=(scrollElement)=>{\r\n scroller.scrollTo(scrollElement, {\r\n duration: 800,\r\n delay: 0,\r\n smooth: 'easeInOutQuart'\r\n })\r\n}\r\n\r\nexport default scrollMeTo;","import React from 'react';\r\nimport { isMobile } from \"react-device-detect\";\r\n\r\nimport scrollMeTo from '../../helpers/scrollMeTo';\r\n\r\nconst Header = () => {\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n Wyceń pojazd
lub maszynę w DEKRA\r\n

\r\n
    \r\n
  • Planujesz zakup pojazdu lub maszyny?
  • \r\n
  • Chcesz wycenić pojazd w kontekście sprzedaży lub zakupu z finansowaniem (leasing)?
  • \r\n
  • Zamierzasz sprzedać pojazd lub maszynę i potrzebujesz wiarygodnej wyceny?
  • \r\n
\r\n
\r\n
\r\n {\r\n scrollMeTo(isMobile ? 'scanQRCode' : 'formSection');\r\n }}\r\n >\r\n Zamów wycenę\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Header;\r\n","import React, { useState } from 'react';\r\nimport { isMobile } from 'react-device-detect'\r\n\r\nimport { ReactComponent as LogoHeader } from './images/logo-header.svg';\r\n\r\nimport scrollMeTo from '../../helpers/scrollMeTo';\r\n\r\nconst Navbar = () => {\r\n const [open, setOpen] = useState(false);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
  • \r\n {\r\n setOpen(false);\r\n scrollMeTo('faqSection');\r\n }}\r\n >\r\n Pytania i odpowiedzi\r\n
  • \r\n \r\n \r\n \r\n
    \r\n {\r\n scrollMeTo(isMobile ? 'scanQRCode' : 'formSection');\r\n }}\r\n >\r\n Zamów wycenę\r\n \r\n
    \r\n
    setOpen(!open)}>\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Navbar;\r\n","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSzukaj(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 239.5 133.34\",\n width: 67,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-miterlimit: 10;\\r\\n stroke-width: 10px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#fff\",\n x1: 83.58,\n y1: 90.98,\n x2: 103.72,\n y2: 91.23\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#fff\",\n cx: 162.25,\n cy: 74.08,\n r: 43.73\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#fff\",\n x1: 216.51,\n y1: 128.34,\n x2: 193.17,\n y2: 105.01\n })), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#fff\",\n x1: 58.25,\n y1: 42.06,\n x2: 108.78,\n y2: 45.03\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#fff\",\n cx: 47.82,\n cy: 87.4,\n r: 18.58\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#fff\",\n points: \"193.32 42.71 229.19 54.67 234.5 74.13 234.5 91.83 219.58 91.83\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#fff\",\n d: \"M16.78,90.94h-7.89l-3.83-19.81c-.88-4.54,8.26-28.87,8.26-28.87,0,0,3.16-7.06,7.06-7.06l22.79-.68,14.99-21.4c5.2-5.2,12.25-8.12,19.6-8.12h58.89c6.93,0,13.6,2.65,18.64,7.42l20.73,19.6\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSzukaj);\nexport default __webpack_public_path__ + \"static/media/szukaj.be6c969f7535fb22b125f28db60e7045.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFormularz(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 143 184.41\",\n height: 57,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-linejoin: round;\\r\\n stroke-width: 9px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#fff\",\n d: \"M25.5,17.09h-3c-9.94,0-18,8.06-18,18v126.82c0,9.94,8.06,18,18,18H120.5c9.94,0,18-8.06,18-18V35.09c0-9.94-8.06-18-18-18h-3\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#fff\",\n points: \"41 35.09 22.5 35.09 22.5 161.91 87.5 161.91 87.5 128.91 120.5 128.91 120.5 35.09 102 35.09\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#fff\",\n d: \"M84.5,17.5c0-7.18-5.82-13-13-13s-13,5.82-13,13h-17.5v31h61V17.5h-17.5Z\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#fff\",\n x1: 87.5,\n y1: 161.5,\n x2: 120.5,\n y2: 128.5\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#fff\",\n x1: 41,\n y1: 69,\n x2: 102,\n y2: 69\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#fff\",\n x1: 41,\n y1: 91,\n x2: 102,\n y2: 91\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#fff\",\n x1: 41,\n y1: 113,\n x2: 70,\n y2: 113\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFormularz);\nexport default __webpack_public_path__ + \"static/media/formularz.9aba60a82dbe1b6f52c70972d2a76f06.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEmail(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 168.5 103\",\n width: 59,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-linejoin: round;\\r\\n stroke-width: 9px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n stroke: \"#fff\",\n className: \"d\",\n x: 4.5,\n y: 4.5,\n width: 159.5,\n height: 94,\n rx: 6,\n ry: 6\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#fff\",\n className: \"d\",\n d: \"M84.25,64.5L4.5,10.5c0-1.66,.62-3.16,1.63-4.24s2.4-1.76,3.93-1.76H158.44c1.54,0,2.93,.67,3.93,1.76s1.63,2.59,1.63,4.24l-79.75,54Z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmail);\nexport default __webpack_public_path__ + \"static/media/email.677efd6fd48b0e0d8abb7b7c92facd33.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPrzeglad(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"b\",\n \"data-name\": \"Layer 2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 216.68 130.68\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: #fff;\\r\\n }\\r\\n\\r\\n .e {\\r\\n stroke-miterlimit: 10;\\r\\n }\\r\\n\\r\\n .e, .f {\\r\\n fill: none;\\r\\n stroke: #fff;\\r\\n stroke-linecap: round;\\r\\n stroke-width: 7.93px;\\r\\n }\\r\\n\\r\\n .f {\\r\\n stroke-linejoin: round;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"line\", {\n className: \"e\",\n x1: 80.48,\n y1: 114.66,\n x2: 147.46,\n y2: 115.49\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n cx: 25.38,\n cy: 12.31,\n r: 12.31\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M57.81,67.91L37.32,28.12h-10.95l-4.58,16.84-4.58-16.84H6.46c-4.55,0-6.46,3.58-6.46,6.68v41.41H6.46v53.12h13.91l1.43-48.14,1.43,48.14h14.11V46.63l14.19,28.79,6.3-7.52Z\"\n })), /*#__PURE__*/React.createElement(\"line\", {\n className: \"e\",\n x1: 56.88,\n y1: 75.42,\n x2: 159.39,\n y2: 81.11\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"e\",\n cx: 64.67,\n cy: 111.98,\n r: 14.73\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"e\",\n cx: 172.72,\n cy: 111.98,\n r: 14.73\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M44.11,75.42h12.77l15.99-22.36c4.12-4.12,9.71-6.44,15.54-6.44h46.7c5.5,0,10.79,2.1,14.78,5.88l22.83,21.58,35.78,11.93,4.21,15.44v14.03h-15.32\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPrzeglad);\nexport default __webpack_public_path__ + \"static/media/przeglad.5a489203e15199783549607118f13e9d.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRaport(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 190 211.34\",\n height: 57,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-linejoin: round;\\r\\n stroke-width: 9px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#fff\",\n points: \"149.59 148 149.59 4.5 53.36 4.5 53.36 53.36 4.5 53.36 4.5 192.26 96 192.26\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#fff\",\n x1: 53.36,\n y1: 5.11,\n x2: 4.5,\n y2: 53.97\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"d\",\n stroke: \"#fff\",\n x: 114.5,\n y: 165,\n width: 71,\n height: 41.84,\n rx: 6,\n ry: 6\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#fff\",\n d: \"M150,191.71l-35.5-24.04c0-.74,.28-1.41,.73-1.89s1.07-.78,1.75-.78h66.05c.68,0,1.3,.3,1.75,.78s.73,1.15,.73,1.89l-35.5,24.04Z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M39.34,121.49v-35.62c1.98,0,8.14-.1,10.89-.1,10.84,0,14.4,5.65,14.4,11.81s-4.94,11.96-13.18,11.96c-.76,0-2.7,0-3.97-.15v12.11h-8.14Zm8.14-27.99v8.14c1.17,.15,2.54,.25,3.71,.25,2.14,0,4.78-.92,4.78-4.38,0-3.16-2.04-4.12-4.94-4.12-1.07,0-1.88,.05-3.56,.1Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M68.29,85.87h.71c1.88,0,8.19-.15,10.53-.15,14.25,0,20,8.19,20,17.66,0,9.97-6.82,18.22-20.41,18.22-1.88,0-6.56-.1-9.97-.1h-.87v-35.62Zm8.14,7.63v20.36c1.07,.1,1.78,.1,2.95,.1,7.02,0,11.5-3.82,11.5-10.58s-4.83-10.02-11.45-10.02c-.87,0-1.98,0-3,.15Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M103.2,85.87h20.61v7.63h-12.47v7.53h10.94v7.63h-10.94v12.82h-8.14v-35.62Z\"\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRaport);\nexport default __webpack_public_path__ + \"static/media/raport.fea83e81ad952e342382b91bfd56926d.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport { isMobile } from \"react-device-detect\";\r\n\r\nimport scrollMeTo from '../../helpers/scrollMeTo';\r\n\r\nimport img1 from './images/szukaj.svg';\r\nimport img2 from './images/formularz.svg';\r\nimport img3 from './images/email.svg';\r\nimport img4 from './images/przeglad.svg';\r\nimport img5 from './images/raport.svg';\r\n\r\nconst HowItWork = () => {\r\n const steps = [\r\n {\r\n image: img1,\r\n title: 'Chcesz poznać wartość pojazdu/maszyny, np. aby wziąć leasing, kredyt, sprzedać majątek firmy',\r\n alt: 'Dekra'\r\n },\r\n {\r\n image: img2,\r\n title: 'Wypełniasz formularz na stronie
    i przechodzisz do płatności',\r\n alt: 'Dekra'\r\n },\r\n {\r\n image: img3,\r\n title: 'Dostaniesz od nas mail
    z potwierdzeniem zamówienia',\r\n alt: 'Dekra'\r\n },\r\n {\r\n image: img4,\r\n title: 'W ustalonym miejscu i czasie oglądamy pojazd/maszynę. ',\r\n alt: 'Dekra'\r\n },\r\n {\r\n image: img5,\r\n title: 'Otrzymujesz raport wyceny na maila',\r\n alt: 'Dekra'\r\n }\r\n ];\r\n\r\n return (\r\n
    \r\n
    \r\n

    Jak to działa?

    \r\n
    \r\n {steps.map((step, index) => (\r\n
    \r\n
    \r\n
    {index + 1}
    \r\n {step.alt}\r\n
    \r\n
    \r\n

    \r\n
    \r\n ))}\r\n
    \r\n {\r\n scrollMeTo(isMobile ? 'scanQRCode' : 'formSection');\r\n }}\r\n >\r\n Zamów wycenę\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default HowItWork;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\n\r\nconst AccordionItem = ({ isActive, item, index, onClick }) => {\r\n const [height, setHeight] = useState(0)\r\n const accordion = useRef(null);\r\n\r\n useEffect(() => {\r\n window.setTimeout(() => {\r\n if (accordion.current) {\r\n const height = accordion.current.querySelectorAll('.accordion__desc')[0]?.scrollHeight;\r\n\r\n setHeight(height)\r\n }\r\n }, 333);\r\n })\r\n\r\n const showDescription = isActive ? 'show-description' : '';\r\n const ariaExpanded = isActive ? 'true' : 'false';\r\n const isExpanded = isActive ? 'expanded' : '';\r\n const innerStyle = {\r\n height: `${isActive ? height : 0}px`\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {item.question}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AccordionItem;\r\n","import React, { useState, useRef } from 'react';\r\nimport AccordionItem from './AccordionItem';\r\n\r\nconst Accordion = ({ questionsAnswers }) => {\r\n const [activeIndex, setActiveIndex] = useState(-1);\r\n\r\n function onClick(index) {\r\n if (index === activeIndex) {\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n setActiveIndex(index);\r\n }\r\n\r\n const renderedQuestionsAnswers = questionsAnswers.map((item, index) => {\r\n const isActive = index === activeIndex;\r\n\r\n return (\r\n {\r\n onClick(index);\r\n }}\r\n />\r\n );\r\n });\r\n\r\n return (\r\n
    \r\n
    {renderedQuestionsAnswers}
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Accordion;\r\n","import React from 'react';\r\nimport { isMobile } from \"react-device-detect\";\r\n\r\nimport scrollMeTo from '../../helpers/scrollMeTo';\r\n\r\nimport Accordion from '../Accordion';\r\nimport vehicleValuation from '../../assets/files/Wycena_wartosci_pojazdu.pdf';\r\nimport machineValuation from '../../assets/files/Wycena_wartosci_maszyny.pdf';\r\n\r\nconst FAQSection = () => {\r\n const questionsAnswers = [\r\n {\r\n question: 'Jakie dokumenty muszę mieć podczas oględzin?',\r\n answer:\r\n 'W przypadku wyceny pojazdu niezbędne jest przedstawienie jego dokumentów rejestracyjnych, zawierających podstawowe dane o pojeździe np. dowód rejestracyjny i/lub karta pojazdu.
    Warto również przedłożyć do wglądu dokumentację potwierdzającą historię serwisowania pojazdu np. książkę serwisową i/lub dokumentację przeprowadzonych napraw, remontów etc. Informacje te mogą wpłynąć na ustaloną wartość pojazdu.

    ' +\r\n 'W przypadku wyceny maszyn rejestrowanych np. ciągnik rolniczy, niezbędne jest przedstawienie dokumentów rejestracyjnych, zawierających podstawowe dane np. dowód rejestracyjny.

    ' +\r\n 'W przypadku wyceny maszyn/urządzeń warto przedłożyć oryginał Deklaracji zgodności WE/UE, dokumentację techniczno-ruchową, dokumentację przeprowadzonych napraw, remontów etc. Jeżeli wyceniana maszyna podlega obowiązkowemu dozorowi technicznemu etc. należy koniecznie przedstawić stosowną dokumentację dopuszczającą ją do użytkowania np. protokół UDT, TDT etc.'\r\n },\r\n {\r\n question: 'Jak długo trwają oględziny?',\r\n answer: 'Typowe oględziny pojazdu do wyceny trwają ok. 1 godziny.'\r\n },\r\n {\r\n question: 'Jak wygląda przykładowa wycena wartości pojazdu?',\r\n answer: `Przykładowa wycena wartości pojazdu.`\r\n },\r\n {\r\n question: 'Jak wygląda przykładowa wycena wartości maszyny?',\r\n answer: `Przykładowa wycena wartości maszyny.`\r\n }\r\n ];\r\n\r\n return (\r\n
    \r\n
    \r\n

    Pytania i odpowiedzi

    \r\n
    \r\n \r\n
    \r\n {\r\n scrollMeTo(isMobile ? 'scanQRCode' : 'formSection');\r\n }}\r\n >\r\n Zamów wycenę\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FAQSection;\r\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEmail(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"b\",\n \"data-name\": \"Layer 2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 65.16 53.31\",\n width: 26,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 1\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#ffffff\",\n fill: \"none\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 5.92,\n d: \"M8.88,2.96H56.27c3.26,0,5.92,2.67,5.92,5.92V44.42c0,3.26-2.67,5.92-5.92,5.92H8.88c-3.26,0-5.92-2.67-5.92-5.92V8.88c0-3.26,2.67-5.92,5.92-5.92Z\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n stroke: \"#ffffff\",\n fill: \"none\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 5.92,\n points: \"62.19 8.88 32.58 29.62 2.96 8.88\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmail);\nexport default __webpack_public_path__ + \"static/media/email.94949639337d849dd443e34cd56c6fe2.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPhone(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"b\",\n \"data-name\": \"Layer 2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 56.13 56.23\",\n width: 22,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 1\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#ffffff\",\n fill: \"none\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 5.13,\n d: \"M53.57,40.83v7.69c.01,2.83-2.28,5.14-5.11,5.15-.16,0-.32,0-.48-.02-7.89-.86-15.47-3.55-22.13-7.87-6.2-3.94-11.45-9.19-15.39-15.39C6.12,23.7,3.43,16.08,2.59,8.16c-.25-2.82,1.83-5.31,4.65-5.57,.15-.01,.3-.02,.46-.02h7.69c2.57-.03,4.77,1.86,5.13,4.41,.32,2.46,.93,4.88,1.8,7.21,.7,1.87,.25,3.99-1.15,5.41l-3.26,3.26c3.65,6.42,8.97,11.74,15.39,15.39l3.26-3.26c1.42-1.41,3.54-1.86,5.41-1.15,2.33,.87,4.74,1.47,7.21,1.8,2.58,.36,4.48,2.6,4.41,5.21Z\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPhone);\nexport default __webpack_public_path__ + \"static/media/phone.c3a9d75768ea4eeab01393dbcd743c7a.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogoFooter(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"b\",\n \"data-name\": \"Layer 2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 412.03 113.16\",\n width: 140,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 1\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#008244\",\n fillRule: \"evenodd\",\n points: \"266.27 50.66 275.16 39.69 292.89 17.94 276.08 17.94 259.87 39.69 254.2 47.31 254.2 39.69 254.2 17.94 240.37 17.94 240.37 39.69 240.37 53.64 240.37 88.31 254.2 88.31 254.2 56.99 276.81 88.31 294.78 88.31 268.52 53.64 266.27 50.66\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#008244\",\n fillRule: \"evenodd\",\n d: \"M149.1,17.94h-19.25V88.31h19.25c33.02,.12,34.42-30.34,34.49-34.73v-.43c0-.85,0-6.7-2.25-13.46-3.35-9.93-11.64-21.75-32.23-21.75Zm20.17,35.76c-.3,26.2-25.35,22.66-25.35,22.66V30s15.48-2.19,22.24,9.63c1.89,3.29,3.11,7.68,3.11,13.53v.55Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#008244\",\n fillRule: \"evenodd\",\n d: \"M388.05,24.37c-4.12-10.9-11.4-10.57-15.5,0-4.2,10.83-22.1,58.3-24.04,63.47l-19.49-28.9s5-.97,9.08-5.24c2.68-2.92,5-7.31,5-14.01v-.06s1.71-21.69-22.6-21.69h-19.31V88.31h13.83v-28.27l17.24,28.27h29.89l5.33-14.77h24.7l5.81,14.77h14.05s-19.86-53.04-23.98-63.93Zm-69.75,25.86h-3.29V29.21h3.29c11.88-.06,11.39,10.3,11.39,10.3v.18c0,1.34-.66,10.54-11.39,10.54Zm53.04,11.92l8.96-25.43,8.72,25.43h-17.68Z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#008244\",\n fillRule: \"evenodd\",\n points: \"192.18 39.69 192.12 53.64 192.12 88.31 228.43 88.31 228.43 76.37 206.01 76.37 206.01 57.36 227.7 57.36 227.7 53.64 227.7 45.36 206.01 45.36 206.01 39.69 206.01 30 228.49 30 228.49 18 192.18 18 192.18 39.69\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#008244\",\n fillRule: \"evenodd\",\n d: \"M79.11,33.41C64.93,24.96,28.09,3.7,23.57,1.11,19.05-1.47,15.18,.47,15.18,6.6v63.29l17.76-9.69V27.27l38.75,22.93L0,92.5v20.67s65.23-37.78,79.11-45.53c13.89-7.75,15.18-25.19,0-34.23Z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogoFooter);\nexport default __webpack_public_path__ + \"static/media/logo-footer.60d0d367cfc6ec52a7c1a5c188db3009.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\n\r\nimport { ReactComponent as EmailIcon } from './../../assets/icons/email.svg';\r\nimport { ReactComponent as PhoneIcon } from './../../assets/icons/phone.svg';\r\nimport { ReactComponent as LogoFooter } from './images/logo-footer.svg';\r\n\r\nconst Footer = () => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Footer;\r\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\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 }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n 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}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'checkbox';\n","export default (value: unknown): value is Date => value instanceof Date;\n","export default (value: unknown): value is null | undefined => value == null;\n","import isDateObject from './isDateObject';\nimport isNullOrUndefined from './isNullOrUndefined';\n\nexport const isObjectType = (value: unknown) => typeof value === 'object';\n\nexport default (value: unknown): value is T =>\n !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n","import isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isObject from '../utils/isObject';\n\ntype Event = { target: any };\n\nexport default (event: unknown) =>\n isObject(event) && (event as Event).target\n ? isCheckBoxInput((event as Event).target)\n ? (event as Event).target.checked\n : (event as Event).target.value\n : event;\n","import { InternalFieldName } from '../types';\n\nimport getNodeParentName from './getNodeParentName';\n\nexport default (names: Set, name: InternalFieldName) =>\n names.has(getNodeParentName(name));\n","export default (name: string) =>\n name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n","export default (value: TValue[]) =>\n Array.isArray(value) ? value.filter(Boolean) : [];\n","export default (val: unknown): val is undefined => val === undefined;\n","import compact from './compact';\nimport isNullOrUndefined from './isNullOrUndefined';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\n\nexport default (obj: T, path: string, defaultValue?: unknown): any => {\n if (!path || !isObject(obj)) {\n return defaultValue;\n }\n\n const result = compact(path.split(/[,[\\].]+?/)).reduce(\n (result, key) =>\n isNullOrUndefined(result) ? result : result[key as keyof {}],\n obj,\n );\n\n return isUndefined(result) || result === obj\n ? isUndefined(obj[path as keyof T])\n ? defaultValue\n : obj[path as keyof T]\n : result;\n};\n","import { ValidationMode } from './types';\n\nexport const EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\n\nexport const VALIDATION_MODE: ValidationMode = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\n\nexport const INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n","import { VALIDATION_MODE } from '../constants';\nimport { FormState, ReadFormState } from '../types';\n\nexport default (\n formState: FormState,\n _proxyFormState: ReadFormState,\n localProxyFormState?: ReadFormState,\n isRoot = true,\n) => {\n const result = {} as typeof formState;\n\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key as keyof FormState & keyof ReadFormState;\n\n if (_proxyFormState[_key] !== VALIDATION_MODE.all) {\n _proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n\n return result;\n};\n","import React from 'react';\n\nimport { FieldValues, FormProviderProps, UseFormReturn } from './types';\n\nconst HookFormContext = React.createContext(null);\n\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * \n *
    \n * \n * \n * \n *
    \n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return ;\n * }\n * ```\n */\nexport const useFormContext = <\n TFieldValues extends FieldValues,\n>(): UseFormReturn =>\n React.useContext(HookFormContext) as unknown as UseFormReturn;\n\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useFrom methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * \n *
    \n * \n * \n * \n *
    \n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return ;\n * }\n * ```\n */\nexport const FormProvider = (\n props: FormProviderProps,\n) => {\n const { children, ...data } = props;\n return (\n \n {props.children}\n \n );\n};\n","import { EmptyObject } from '../types';\n\nimport isObject from './isObject';\n\nexport default (value: unknown): value is EmptyObject =>\n isObject(value) && !Object.keys(value).length;\n","import { VALIDATION_MODE } from '../constants';\nimport { ReadFormState } from '../types';\nimport isEmptyObject from '../utils/isEmptyObject';\n\nexport default , K extends ReadFormState>(\n formStateData: T,\n _proxyFormState: K,\n isRoot?: boolean,\n) => {\n const { name, ...formState } = formStateData;\n\n return (\n isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find(\n (key) =>\n _proxyFormState[key as keyof ReadFormState] ===\n (!isRoot || VALIDATION_MODE.all),\n )\n );\n};\n","export default (value: T) => (Array.isArray(value) ? value : [value]);\n","import React from 'react';\n\nimport { Subject, Subscription } from './utils/createSubject';\n\ntype Props = {\n disabled?: boolean;\n subject: Subject;\n callback: (value: T) => void;\n};\n\nexport function useSubscribe(props: Props) {\n const _props = React.useRef(props);\n _props.current = props;\n\n React.useEffect(() => {\n const tearDown = (subscription: Subscription | false) => {\n if (subscription) {\n subscription.unsubscribe();\n }\n };\n\n const subscription =\n !props.disabled &&\n _props.current.subject.subscribe({\n next: _props.current.callback,\n });\n\n return () => tearDown(subscription);\n }, [props.disabled]);\n}\n","export default (value: unknown): value is string => typeof value === 'string';\n","import { FieldValues, InternalFieldName, Names } from '../types';\nimport get from '../utils/get';\nimport isString from '../utils/isString';\n\nexport default (\n names: string | string[] | undefined,\n _names: Names,\n formValues?: FieldValues,\n isGlobal?: boolean,\n) => {\n const isArray = Array.isArray(names);\n if (isString(names)) {\n isGlobal && _names.watch.add(names as InternalFieldName);\n return get(formValues, names as InternalFieldName);\n }\n\n if (isArray) {\n return names.map(\n (fieldName) => (\n isGlobal && _names.watch.add(fieldName as InternalFieldName),\n get(formValues, fieldName as InternalFieldName)\n ),\n );\n }\n\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n","export default (value: unknown): value is Function =>\n typeof value === 'function';\n","import isFunction from './isFunction';\n\nexport default (data: T): boolean => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n","import { ControllerProps, FieldPath, FieldValues } from './types';\nimport { useController } from './useController';\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n *
    \n * (\n * <>\n * \n *

    {formState.isSubmitted ? \"submitted\" : \"\"}

    \n *

    {fieldState.isTouched ? \"touched\" : \"\"}

    \n * \n * )}\n * />\n * \n * );\n * }\n * ```\n */\nconst Controller = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath = FieldPath,\n>(\n props: ControllerProps,\n) => props.render(useController(props));\n\nexport { Controller };\n","import {\n InternalFieldErrors,\n InternalFieldName,\n ValidateResult,\n} from '../types';\n\nexport default (\n name: InternalFieldName,\n validateAllFieldCriteria: boolean,\n errors: InternalFieldErrors,\n type: string,\n message: ValidateResult,\n) =>\n validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name]!.types ? errors[name]!.types : {}),\n [type]: message || true,\n },\n }\n : {};\n","export default (value: string) => /^\\w*$/.test(value);\n","import compact from './compact';\n\nexport default (input: string): string[] =>\n compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n","import { FieldValues } from '../types';\n\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport stringToPath from './stringToPath';\n\nexport default function set(\n object: FieldValues,\n path: string,\n value?: unknown,\n) {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n}\n","import { FieldRefs, InternalFieldName } from '../types';\nimport { get } from '../utils';\nimport isObject from '../utils/isObject';\nimport isUndefined from '../utils/isUndefined';\n\nconst focusFieldBy = (\n fields: FieldRefs,\n callback: (name: string) => boolean,\n fieldsNames?: Set | InternalFieldName[],\n) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n\n if (field) {\n const { _f, ...currentField } = field;\n\n if (_f && callback(_f.name)) {\n if (_f.ref.focus && isUndefined(_f.ref.focus())) {\n break;\n } else if (_f.refs) {\n _f.refs[0].focus();\n break;\n }\n } else if (isObject(currentField)) {\n focusFieldBy(currentField, callback);\n }\n }\n }\n};\n\nexport default focusFieldBy;\n","import { InternalFieldName, Names } from '../types';\n\nexport default (\n name: InternalFieldName,\n _names: Names,\n isBlurEvent?: boolean,\n) =>\n !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some(\n (watchName) =>\n name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length)),\n ));\n","export default typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n","import isFunction from './isFunction';\nimport isObject from './isObject';\nimport isWeb from './isWeb';\n\nexport default function cloneObject(data: T): T {\n let copy: any;\n const isArray = Array.isArray(data);\n\n if (data instanceof Date) {\n copy = new Date(data);\n } else if (data instanceof Set) {\n copy = new Set(data);\n } else if (\n !(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))\n ) {\n copy = isArray ? [] : {};\n for (const key in data) {\n copy[key] = isFunction(data[key]) ? data[key] : cloneObject(data[key]);\n }\n } else {\n return data;\n }\n\n return copy;\n}\n","import isEmptyObject from './isEmptyObject';\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\nimport stringToPath from './stringToPath';\n\nfunction baseGet(object: any, updatePath: (string | number)[]) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n\n return object;\n}\n\nexport default function unset(object: any, path: string) {\n const updatePath = isKey(path) ? [path] : stringToPath(path);\n const childObject =\n updatePath.length == 1 ? object : baseGet(object, updatePath);\n const key = updatePath[updatePath.length - 1];\n let previousObjRef;\n\n if (childObject) {\n delete childObject[key];\n }\n\n for (let k = 0; k < updatePath.slice(0, -1).length; k++) {\n let index = -1;\n let objectRef;\n const currentPaths = updatePath.slice(0, -(k + 1));\n const currentPathsLength = currentPaths.length - 1;\n\n if (k > 0) {\n previousObjRef = object;\n }\n\n while (++index < currentPaths.length) {\n const item = currentPaths[index];\n objectRef = objectRef ? objectRef[item] : object[item];\n\n if (\n currentPathsLength === index &&\n ((isObject(objectRef) && isEmptyObject(objectRef)) ||\n (Array.isArray(objectRef) &&\n !objectRef.filter((data) => !isUndefined(data)).length))\n ) {\n previousObjRef ? delete previousObjRef[item] : delete object[item];\n }\n\n previousObjRef = objectRef;\n }\n }\n\n return object;\n}\n","import { Noop } from '../types';\n\nexport type Observer = {\n next: (value: T) => void;\n};\n\nexport type Subscription = {\n unsubscribe: Noop;\n};\n\nexport type Subject = {\n readonly observers: Observer[];\n subscribe: (value: Observer) => Subscription;\n unsubscribe: Noop;\n} & Observer;\n\nexport default function createSubject(): Subject {\n let _observers: Observer[] = [];\n\n const next = (value: T) => {\n for (const observer of _observers) {\n observer.next(value);\n }\n };\n\n const subscribe = (observer: Observer): Subscription => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n\n const unsubscribe = () => {\n _observers = [];\n };\n\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n}\n","import { Primitive } from '../types';\n\nimport isNullOrUndefined from './isNullOrUndefined';\nimport { isObjectType } from './isObject';\n\nexport default (value: unknown): value is Primitive =>\n isNullOrUndefined(value) || !isObjectType(value);\n","import isObject from '../utils/isObject';\n\nimport isDateObject from './isDateObject';\nimport isPrimitive from './isPrimitive';\n\nexport default function deepEqual(object1: any, object2: any) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n const val1 = object1[key];\n\n if (!keys2.includes(key)) {\n return false;\n }\n\n if (key !== 'ref') {\n const val2 = object2[key];\n\n if (\n (isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2\n ) {\n return false;\n }\n }\n }\n\n return true;\n}\n","import { VALIDATION_MODE } from '../constants';\nimport { Mode } from '../types';\n\nexport default (\n mode?: Mode,\n): {\n isOnSubmit: boolean;\n isOnBlur: boolean;\n isOnChange: boolean;\n isOnAll: boolean;\n isOnTouch: boolean;\n} => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n","export default (value: unknown): value is boolean => typeof value === 'boolean';\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'file';\n","export default (value: unknown): value is HTMLElement =>\n value instanceof HTMLElement;\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLSelectElement =>\n element.type === `select-multiple`;\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'radio';\n","import { FieldElement } from '../types';\n\nimport isCheckBoxInput from './isCheckBoxInput';\nimport isRadioInput from './isRadioInput';\n\nexport default (ref: FieldElement): ref is HTMLInputElement =>\n isRadioInput(ref) || isCheckBoxInput(ref);\n","import { Ref } from '../types';\n\nimport isHTMLElement from './isHTMLElement';\n\nexport default (ref: Ref) => isHTMLElement(ref) && ref.isConnected;\n","import deepEqual from '../utils/deepEqual';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isPrimitive from '../utils/isPrimitive';\nimport isUndefined from '../utils/isUndefined';\nimport objectHasFunction from '../utils/objectHasFunction';\n\nfunction markFieldsDirty(data: U, fields: Record = {}) {\n const isParentNodeArray = Array.isArray(data);\n\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (\n Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))\n ) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n } else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n\n return fields;\n}\n\nfunction getDirtyFieldsFromDefaultValues(\n data: T,\n formValues: T,\n dirtyFieldsFromValues: any,\n) {\n const isParentNodeArray = Array.isArray(data);\n\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (\n Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))\n ) {\n if (\n isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])\n ) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n } else {\n getDirtyFieldsFromDefaultValues(\n data[key],\n isNullOrUndefined(formValues) ? {} : formValues[key],\n dirtyFieldsFromValues[key],\n );\n }\n } else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n\n return dirtyFieldsFromValues;\n}\n\nexport default (defaultValues: T, formValues: T) =>\n getDirtyFieldsFromDefaultValues(\n defaultValues,\n formValues,\n markFieldsDirty(formValues),\n );\n","import isUndefined from '../utils/isUndefined';\n\ntype CheckboxFieldResult = {\n isValid: boolean;\n value: string | string[] | boolean | undefined;\n};\n\nconst defaultResult: CheckboxFieldResult = {\n value: false,\n isValid: false,\n};\n\nconst validResult = { value: true, isValid: true };\n\nexport default (options?: HTMLInputElement[]): CheckboxFieldResult => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n\n return defaultResult;\n};\n","import { Field, NativeFieldValue } from '../types';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\n\nexport default (\n value: T,\n { valueAsNumber, valueAsDate, setValueAs }: Field['_f'],\n) =>\n isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : +value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n","type RadioFieldResult = {\n isValid: boolean;\n value: number | string | null;\n};\n\nconst defaultReturn: RadioFieldResult = {\n isValid: false,\n value: null,\n};\n\nexport default (options?: HTMLInputElement[]): RadioFieldResult =>\n Array.isArray(options)\n ? options.reduce(\n (previous, option): RadioFieldResult =>\n option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous,\n defaultReturn,\n )\n : defaultReturn;\n","import { Field } from '../types';\nimport isCheckBox from '../utils/isCheckBoxInput';\nimport isFileInput from '../utils/isFileInput';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isRadioInput from '../utils/isRadioInput';\nimport isUndefined from '../utils/isUndefined';\n\nimport getCheckboxValue from './getCheckboxValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getRadioValue from './getRadioValue';\n\nexport default function getFieldValue(_f: Field['_f']) {\n const ref = _f.ref;\n\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n\n if (isFileInput(ref)) {\n return ref.files;\n }\n\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n\n if (isCheckBox(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n","import {\n CriteriaMode,\n Field,\n FieldName,\n FieldRefs,\n InternalFieldName,\n} from '../types';\nimport { get } from '../utils';\nimport set from '../utils/set';\n\nexport default (\n fieldsNames: Set | InternalFieldName[],\n _fields: FieldRefs,\n criteriaMode?: CriteriaMode,\n shouldUseNativeValidation?: boolean | undefined,\n) => {\n const fields: Record = {};\n\n for (const name of fieldsNames) {\n const field: Field = get(_fields, name);\n\n field && set(fields, name, field._f);\n }\n\n return {\n criteriaMode,\n names: [...fieldsNames] as FieldName[],\n fields,\n shouldUseNativeValidation,\n };\n};\n","export default (value: unknown): value is RegExp => value instanceof RegExp;\n","import {\n ValidationRule,\n ValidationValue,\n ValidationValueMessage,\n} from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\nimport isUndefined from '../utils/isUndefined';\n\nexport default (\n rule?: ValidationRule | ValidationValueMessage,\n) =>\n isUndefined(rule)\n ? undefined\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n","import { Field } from '../types';\n\nexport default (options: Field['_f']) =>\n options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n","import { FieldError, FieldErrors, FieldValues } from '../types';\nimport get from '../utils/get';\nimport isKey from '../utils/isKey';\n\nexport default function schemaErrorLookup(\n errors: FieldErrors,\n _fields: FieldValues,\n name: string,\n): {\n error?: FieldError;\n name: string;\n} {\n const error = get(errors, name);\n\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n\n const names = name.split('.');\n\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n\n names.pop();\n }\n\n return {\n name,\n };\n}\n","export default (\n isBlurEvent: boolean,\n isTouched: boolean,\n isSubmitted: boolean,\n reValidateMode: {\n isOnBlur: boolean;\n isOnChange: boolean;\n },\n mode: Partial<{\n isOnSubmit: boolean;\n isOnBlur: boolean;\n isOnChange: boolean;\n isOnTouch: boolean;\n isOnAll: boolean;\n }>,\n) => {\n if (mode.isOnAll) {\n return false;\n } else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n } else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n } else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n","import compact from '../utils/compact';\nimport get from '../utils/get';\nimport unset from '../utils/unset';\n\nexport default (ref: T, name: string) =>\n !compact(get(ref, name)).length && unset(ref, name);\n","import React from 'react';\n\nimport { Message } from '../types';\nimport isString from '../utils/isString';\n\nexport default (value: unknown): value is Message =>\n isString(value) || React.isValidElement(value as JSX.Element);\n","import { FieldError, Ref, ValidateResult } from '../types';\nimport isBoolean from '../utils/isBoolean';\nimport isMessage from '../utils/isMessage';\n\nexport default function getValidateError(\n result: ValidateResult,\n ref: Ref,\n type = 'validate',\n): FieldError | void {\n if (\n isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)\n ) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n","import { ValidationRule } from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\n\nexport default (validationData?: ValidationRule) =>\n isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n","import { INPUT_VALIDATION_RULES } from '../constants';\nimport {\n Field,\n FieldError,\n InternalFieldErrors,\n Message,\n NativeFieldValue,\n} from '../types';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isMessage from '../utils/isMessage';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isRadioInput from '../utils/isRadioInput';\nimport isRegex from '../utils/isRegex';\nimport isString from '../utils/isString';\n\nimport appendErrors from './appendErrors';\nimport getCheckboxValue from './getCheckboxValue';\nimport getRadioValue from './getRadioValue';\nimport getValidateError from './getValidateError';\nimport getValueAndMessage from './getValueAndMessage';\n\nexport default async (\n field: Field,\n inputValue: T,\n validateAllFieldCriteria: boolean,\n shouldUseNativeValidation?: boolean,\n): Promise => {\n const {\n ref,\n refs,\n required,\n maxLength,\n minLength,\n min,\n max,\n pattern,\n validate,\n name,\n valueAsNumber,\n mount,\n disabled,\n } = field._f;\n if (!mount || disabled) {\n return {};\n }\n const inputRef: HTMLInputElement = refs ? refs[0] : (ref as HTMLInputElement);\n const setCustomValidity = (message?: string | boolean) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || ' ');\n inputRef.reportValidity();\n }\n };\n const error: InternalFieldErrors = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty =\n ((valueAsNumber || isFileInput(ref)) && !ref.value) ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(\n null,\n name,\n validateAllFieldCriteria,\n error,\n );\n const getMinMaxMessage = (\n exceedMax: boolean,\n maxLengthMessage: Message,\n minLengthMessage: Message,\n maxType = INPUT_VALIDATION_RULES.maxLength,\n minType = INPUT_VALIDATION_RULES.minLength,\n ) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n\n if (\n required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))\n ) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n\n if (!isNaN(inputValue as number)) {\n const valueNumber =\n (ref as HTMLInputElement).valueAsNumber || +inputValue;\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n } else {\n const valueDate =\n (ref as HTMLInputElement).valueAsDate || new Date(inputValue as string);\n if (isString(maxOutput.value)) {\n exceedMax = valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value)) {\n exceedMin = valueDate < new Date(minOutput.value);\n }\n }\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n !!exceedMax,\n maxOutput.message,\n minOutput.message,\n INPUT_VALIDATION_RULES.max,\n INPUT_VALIDATION_RULES.min,\n );\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name]!.message);\n return error;\n }\n }\n }\n\n if ((maxLength || minLength) && !isEmpty && isString(inputValue)) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax =\n !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > maxLengthOutput.value;\n const exceedMin =\n !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < minLengthOutput.value;\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n exceedMax,\n maxLengthOutput.message,\n minLengthOutput.message,\n );\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name]!.message);\n return error;\n }\n }\n }\n\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue);\n const validateError = getValidateError(result, inputRef);\n\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(\n INPUT_VALIDATION_RULES.validate,\n validateError.message,\n ),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n } else if (isObject(validate)) {\n let validationResult = {} as FieldError;\n\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n\n const validateError = getValidateError(\n await validate[key](inputValue),\n inputRef,\n key,\n );\n\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n\n setCustomValidity(validateError.message);\n\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n\n setCustomValidity(true);\n return error;\n};\n","import { EVENTS, VALIDATION_MODE } from '../constants';\nimport {\n BatchFieldArrayUpdate,\n ChangeHandler,\n DeepPartial,\n DelayCallback,\n EventType,\n Field,\n FieldError,\n FieldErrors,\n FieldNamesMarkedBoolean,\n FieldPath,\n FieldRefs,\n FieldValues,\n FormState,\n GetIsDirty,\n InternalFieldName,\n Names,\n Path,\n Ref,\n ResolverResult,\n SetFieldValue,\n SetValueConfig,\n Subjects,\n UnpackNestedValue,\n UseFormClearErrors,\n UseFormGetFieldState,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormProps,\n UseFormRegister,\n UseFormReset,\n UseFormResetField,\n UseFormReturn,\n UseFormSetError,\n UseFormSetFocus,\n UseFormSetValue,\n UseFormTrigger,\n UseFormUnregister,\n UseFormWatch,\n WatchInternal,\n WatchObserver,\n} from '../types';\nimport cloneObject from '../utils/cloneObject';\nimport compact from '../utils/compact';\nimport convertToArrayPayload from '../utils/convertToArrayPayload';\nimport createSubject from '../utils/createSubject';\nimport deepEqual from '../utils/deepEqual';\nimport get from '../utils/get';\nimport getValidationModes from '../utils/getValidationModes';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isDateObject from '../utils/isDateObject';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isHTMLElement from '../utils/isHTMLElement';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isPrimitive from '../utils/isPrimitive';\nimport isRadioOrCheckbox from '../utils/isRadioOrCheckbox';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\nimport isWeb from '../utils/isWeb';\nimport live from '../utils/live';\nimport set from '../utils/set';\nimport unset from '../utils/unset';\n\nimport focusFieldBy from './focusFieldBy';\nimport generateWatchOutput from './generateWatchOutput';\nimport getDirtyFields from './getDirtyFields';\nimport getEventValue from './getEventValue';\nimport getFieldValue from './getFieldValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getResolverOptions from './getResolverOptions';\nimport getRuleValue from './getRuleValue';\nimport hasValidation from './hasValidation';\nimport isNameInFieldArray from './isNameInFieldArray';\nimport isWatched from './isWatched';\nimport schemaErrorLookup from './schemaErrorLookup';\nimport skipValidation from './skipValidation';\nimport unsetEmptyArray from './unsetEmptyArray';\nimport validateField from './validateField';\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n} as const;\n\nexport function createFormControl<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n>(\n props: UseFormProps = {},\n): Omit, 'formState'> {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState: FormState = {\n isDirty: false,\n isValidating: false,\n dirtyFields: {} as FieldNamesMarkedBoolean,\n isSubmitted: false,\n submitCount: 0,\n touchedFields: {} as FieldNamesMarkedBoolean,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n errors: {} as FieldErrors,\n };\n let _fields = {};\n let _defaultValues = cloneObject(_options.defaultValues) || {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _stateFlags = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names: Names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n } as Names;\n let delayErrorCallback: DelayCallback;\n let timer = 0;\n let validateFields: Record = {};\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects: Subjects = {\n watch: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors =\n _options.criteriaMode === VALIDATION_MODE.all;\n\n const debounce =\n (callback: T, wait: number) =>\n (...args: any) => {\n clearTimeout(timer);\n timer = window.setTimeout(() => callback(...args), wait);\n };\n\n const _updateValid = async (shouldSkipRender?: boolean) => {\n let isValid = false;\n\n if (_proxyFormState.isValid) {\n isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuildInValidation(_fields, true);\n\n if (!shouldSkipRender && isValid !== _formState.isValid) {\n _formState.isValid = isValid;\n _subjects.state.next({\n isValid,\n });\n }\n }\n\n return isValid;\n };\n\n const _updateFieldArray: BatchFieldArrayUpdate = (\n name,\n values = [],\n method,\n args,\n shouldSetValues = true,\n shouldUpdateFieldsAndState = true,\n ) => {\n if (args && method) {\n _stateFlags.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n\n if (\n _proxyFormState.errors &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))\n ) {\n const errors = method(\n get(_formState.errors, name),\n args.argA,\n args.argB,\n );\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n\n if (\n _proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))\n ) {\n const touchedFields = method(\n get(_formState.touchedFields, name),\n args.argA,\n args.argB,\n );\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n\n _subjects.state.next({\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n } else {\n set(_formValues, name, values);\n }\n };\n\n const updateErrors = (name: InternalFieldName, error: FieldError) => (\n set(_formState.errors, name, error),\n _subjects.state.next({\n errors: _formState.errors,\n })\n );\n\n const updateValidAndValue = (\n name: InternalFieldName,\n shouldSkipSetValueAs: boolean,\n value?: unknown,\n ref?: Ref,\n ) => {\n const field: Field = get(_fields, name);\n\n if (field) {\n const defaultValue = get(\n _formValues,\n name,\n isUndefined(value) ? get(_defaultValues, name) : value,\n );\n\n isUndefined(defaultValue) ||\n (ref && (ref as HTMLInputElement).defaultChecked) ||\n shouldSkipSetValueAs\n ? set(\n _formValues,\n name,\n shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f),\n )\n : setFieldValue(name, defaultValue);\n\n _stateFlags.mount && _updateValid();\n }\n };\n\n const updateTouchAndDirty = (\n name: InternalFieldName,\n fieldValue: unknown,\n isBlurEvent?: boolean,\n shouldDirty?: boolean,\n shouldRender?: boolean,\n ): Partial<\n Pick, 'dirtyFields' | 'isDirty' | 'touchedFields'>\n > => {\n let isFieldDirty = false;\n const output: Partial> & { name: string } = {\n name,\n };\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n\n if (_proxyFormState.isDirty) {\n const isPreviousFormDirty = _formState.isDirty;\n\n _formState.isDirty = output.isDirty = _getDirty();\n isFieldDirty = isPreviousFormDirty !== output.isDirty;\n }\n\n if (_proxyFormState.dirtyFields && (!isBlurEvent || shouldDirty)) {\n const isPreviousFieldDirty = get(_formState.dirtyFields, name);\n const isCurrentFieldPristine = deepEqual(\n get(_defaultValues, name),\n fieldValue,\n );\n\n isCurrentFieldPristine\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields as TFieldValues, name, true);\n output.dirtyFields = _formState.dirtyFields;\n isFieldDirty =\n isFieldDirty ||\n isPreviousFieldDirty !== get(_formState.dirtyFields, name);\n }\n\n if (isBlurEvent && !isPreviousFieldTouched) {\n set(_formState.touchedFields as TFieldValues, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n isFieldDirty =\n isFieldDirty ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n\n isFieldDirty && shouldRender && _subjects.state.next(output);\n\n return isFieldDirty ? output : {};\n };\n\n const shouldRenderByError = async (\n shouldSkipRender: boolean,\n name: InternalFieldName,\n isValid: boolean,\n error?: FieldError,\n fieldState?: {\n dirty?: FieldNamesMarkedBoolean;\n isDirty?: boolean;\n touched?: FieldNamesMarkedBoolean;\n },\n ): Promise => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid =\n _proxyFormState.isValid && _formState.isValid !== isValid;\n\n if (props.delayError && error) {\n delayErrorCallback =\n delayErrorCallback || debounce(updateErrors, props.delayError);\n delayErrorCallback(name, error);\n } else {\n clearTimeout(timer);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n\n if (\n ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) &&\n !shouldSkipRender\n ) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n\n _subjects.state.next(updatedFormState);\n }\n\n validateFields[name]--;\n\n if (\n _proxyFormState.isValidating &&\n !Object.values(validateFields).some((v) => v)\n ) {\n _subjects.state.next({\n isValidating: false,\n });\n validateFields = {};\n }\n };\n\n const _executeSchema = async (name?: InternalFieldName[]) =>\n _options.resolver\n ? await _options.resolver(\n { ..._formValues } as UnpackNestedValue,\n _options.context,\n getResolverOptions(\n name || _names.mount,\n _fields,\n _options.criteriaMode,\n _options.shouldUseNativeValidation,\n ),\n )\n : ({} as ResolverResult);\n\n const executeSchemaAndUpdateState = async (names?: InternalFieldName[]) => {\n const { errors } = await _executeSchema();\n\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n } else {\n _formState.errors = errors as FieldErrors;\n }\n\n return errors;\n };\n\n const executeBuildInValidation = async (\n fields: FieldRefs,\n shouldOnlyCheckValid?: boolean,\n context = {\n valid: true,\n },\n ) => {\n for (const name in fields) {\n const field = fields[name];\n\n if (field) {\n const { _f: fieldReference, ...fieldValue } = field;\n\n if (fieldReference) {\n const fieldError = await validateField(\n field,\n get(_formValues, fieldReference.name),\n shouldDisplayAllAssociatedErrors,\n _options.shouldUseNativeValidation,\n );\n\n if (fieldError[fieldReference.name]) {\n context.valid = false;\n\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n\n if (!shouldOnlyCheckValid) {\n fieldError[fieldReference.name]\n ? set(\n _formState.errors,\n fieldReference.name,\n fieldError[fieldReference.name],\n )\n : unset(_formState.errors, fieldReference.name);\n }\n }\n\n fieldValue &&\n (await executeBuildInValidation(\n fieldValue,\n shouldOnlyCheckValid,\n context,\n ));\n }\n }\n\n return context.valid;\n };\n\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field: Field = get(_fields, name);\n\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name as FieldPath);\n }\n\n _names.unMount = new Set();\n };\n\n const _getDirty: GetIsDirty = (name, data) => (\n name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues)\n );\n\n const _getWatch: WatchInternal = (\n names,\n defaultValue,\n isGlobal,\n ) => {\n const fieldValues = {\n ...(_stateFlags.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n };\n\n return generateWatchOutput(names, _names, fieldValues, isGlobal);\n };\n\n const _getFieldArray = (\n name: InternalFieldName,\n ): Partial[] =>\n compact(\n get(\n _stateFlags.mount ? _formValues : _defaultValues,\n name,\n props.shouldUnregister ? get(_defaultValues, name, []) : [],\n ),\n );\n\n const setFieldValue = (\n name: InternalFieldName,\n value: SetFieldValue,\n options: SetValueConfig = {},\n ) => {\n const field: Field = get(_fields, name);\n let fieldValue: unknown = value;\n\n if (field) {\n const fieldReference = field._f;\n\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n\n fieldValue =\n isWeb && isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach(\n (selectRef) =>\n (selectRef.selected = (\n fieldValue as InternalFieldName[]\n ).includes(selectRef.value)),\n );\n } else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach(\n (checkboxRef) =>\n !checkboxRef.disabled &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!(fieldValue as []).find(\n (data: string) => data === checkboxRef.value,\n )\n : fieldValue === checkboxRef.value),\n )\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n } else {\n fieldReference.refs.forEach(\n (radioRef: HTMLInputElement) =>\n (radioRef.checked = radioRef.value === fieldValue),\n );\n }\n } else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n } else {\n fieldReference.ref.value = fieldValue;\n\n if (!fieldReference.ref.type) {\n _subjects.watch.next({\n name,\n });\n }\n }\n }\n }\n\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(\n name,\n fieldValue,\n options.shouldTouch,\n options.shouldDirty,\n true,\n );\n\n options.shouldValidate && trigger(name as Path);\n };\n\n const setValues = <\n T extends InternalFieldName,\n K extends SetFieldValue,\n U,\n >(\n name: T,\n value: K,\n options: U,\n ) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}` as Path;\n const field = get(_fields, fieldName);\n\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n\n const setValue: UseFormSetValue = (\n name,\n value,\n options = {},\n ) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n\n set(_formValues, name, cloneValue);\n\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: _formValues,\n });\n\n if (\n (_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty\n ) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n\n _subjects.state.next({\n name,\n dirtyFields: _formState.dirtyFields,\n isDirty: _getDirty(name, cloneValue),\n });\n }\n } else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n\n isWatched(name, _names) && _subjects.state.next({});\n _subjects.watch.next({\n name,\n });\n };\n\n const onChange: ChangeHandler = async (event) => {\n const target = event.target;\n let name = target.name;\n const field: Field = get(_fields, name);\n\n if (field) {\n let error;\n let isValid;\n const fieldValue = target.type\n ? getFieldValue(field._f)\n : getEventValue(event);\n const isBlurEvent =\n event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation =\n (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(\n isBlurEvent,\n get(_formState.touchedFields, name),\n _formState.isSubmitted,\n validationModeAfterSubmit,\n validationModeBeforeSubmit,\n );\n const watched = isWatched(name, _names, isBlurEvent);\n\n set(_formValues, name, fieldValue);\n\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n } else if (field._f.onChange) {\n field._f.onChange(event);\n }\n\n const fieldState = updateTouchAndDirty(\n name,\n fieldValue,\n isBlurEvent,\n false,\n );\n\n const shouldRender = !isEmptyObject(fieldState) || watched;\n\n !isBlurEvent &&\n _subjects.watch.next({\n name,\n type: event.type,\n });\n\n if (shouldSkipValidation) {\n return (\n shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) })\n );\n }\n\n !isBlurEvent && watched && _subjects.state.next({});\n\n validateFields[name] = validateFields[name] ? +1 : 1;\n\n _subjects.state.next({\n isValidating: true,\n });\n\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n const previousErrorLookupResult = schemaErrorLookup(\n _formState.errors,\n _fields,\n name,\n );\n const errorLookupResult = schemaErrorLookup(\n errors,\n _fields,\n previousErrorLookupResult.name || name,\n );\n\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n\n isValid = isEmptyObject(errors);\n } else {\n error = (\n await validateField(\n field,\n get(_formValues, name),\n shouldDisplayAllAssociatedErrors,\n _options.shouldUseNativeValidation,\n )\n )[name];\n\n isValid = await _updateValid(true);\n }\n\n field._f.deps &&\n trigger(\n field._f.deps as FieldPath | FieldPath[],\n );\n\n shouldRenderByError(false, name, isValid, error, fieldState);\n }\n };\n\n const trigger: UseFormTrigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name) as InternalFieldName[];\n\n _subjects.state.next({\n isValidating: true,\n });\n\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(\n isUndefined(name) ? name : fieldNames,\n );\n\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n } else if (name) {\n validationResult = (\n await Promise.all(\n fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuildInValidation(\n field && field._f ? { [fieldName]: field } : field,\n );\n }),\n )\n ).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n } else {\n validationResult = isValid = await executeBuildInValidation(_fields);\n }\n\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver ? { isValid } : {}),\n errors: _formState.errors,\n isValidating: false,\n });\n\n options.shouldFocus &&\n !validationResult &&\n focusFieldBy(\n _fields,\n (key) => get(_formState.errors, key),\n name ? fieldNames : _names.mount,\n );\n\n return validationResult;\n };\n\n const getValues: UseFormGetValues = (\n fieldNames?:\n | FieldPath\n | ReadonlyArray>,\n ) => {\n const values = {\n ..._defaultValues,\n ...(_stateFlags.mount ? _formValues : {}),\n };\n\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames as InternalFieldName)\n : fieldNames.map((name) => get(values, name as InternalFieldName));\n };\n\n const getFieldState: UseFormGetFieldState = (\n name,\n formState,\n ) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n error: get((formState || _formState).errors, name),\n });\n\n const clearErrors: UseFormClearErrors = (name) => {\n name\n ? convertToArrayPayload(name).forEach((inputName) =>\n unset(_formState.errors, inputName),\n )\n : (_formState.errors = {} as FieldErrors);\n\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n\n const setError: UseFormSetError = (name, error, options) => {\n const ref = ((get(_fields, name, { _f: {} }) as Field)._f || {}).ref;\n\n set(_formState.errors, name, {\n ...error,\n ref,\n });\n\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n\n const watch: UseFormWatch = (\n name?:\n | FieldPath\n | ReadonlyArray>\n | WatchObserver,\n defaultValue?: unknown,\n ) =>\n isFunction(name)\n ? _subjects.watch.subscribe({\n next: (info) =>\n name(\n _getWatch(\n undefined,\n defaultValue as UnpackNestedValue>,\n ),\n info as {\n name?: FieldPath;\n type?: EventType;\n value?: unknown;\n },\n ),\n })\n : _getWatch(\n name as InternalFieldName | InternalFieldName[],\n defaultValue as UnpackNestedValue>,\n true,\n );\n\n const unregister: UseFormUnregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n\n if (get(_fields, fieldName)) {\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n }\n\n _subjects.watch.next({});\n\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n\n !options.keepIsValid && _updateValid();\n };\n\n const register: UseFormRegister = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n\n set(_fields, name, {\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n\n field\n ? disabledIsDefined &&\n set(\n _formValues,\n name,\n options.disabled\n ? undefined\n : get(_formValues, name, getFieldValue(field._f)),\n )\n : updateValidAndValue(name, true, options.value);\n\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.shouldUseNativeValidation\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength) as number,\n maxLength: getRuleValue(options.maxLength) as number,\n pattern: getRuleValue(options.pattern) as string,\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref: HTMLInputElement | null): void => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? (ref.querySelectorAll('input,select,textarea')[0] as Ref) || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n\n if (\n radioOrCheckbox\n ? refs.find((option: Ref) => option === fieldRef)\n : fieldRef === field._f.ref\n ) {\n return;\n }\n\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(!!Array.isArray(get(_defaultValues, name))\n ? [{}]\n : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n\n updateValidAndValue(name, false, undefined, fieldRef);\n } else {\n field = get(_fields, name, {});\n\n if (field._f) {\n field._f.mount = false;\n }\n\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _stateFlags.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n\n const handleSubmit: UseFormHandleSubmit =\n (onValid, onInvalid) => async (e) => {\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let hasNoPromiseError = true;\n let fieldValues: any = cloneObject(_formValues);\n\n _subjects.state.next({\n isSubmitting: true,\n });\n\n try {\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors as FieldErrors;\n fieldValues = values;\n } else {\n await executeBuildInValidation(_fields);\n }\n\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {} as FieldErrors,\n isSubmitting: true,\n });\n await onValid(fieldValues, e);\n } else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n\n _options.shouldFocusError &&\n focusFieldBy(\n _fields,\n (key) => get(_formState.errors, key),\n _names.mount,\n );\n }\n } catch (err) {\n hasNoPromiseError = false;\n throw err;\n } finally {\n _formState.isSubmitted = true;\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful:\n isEmptyObject(_formState.errors) && hasNoPromiseError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n }\n };\n\n const resetField: UseFormResetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, get(_defaultValues, name));\n } else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, options.defaultValue);\n }\n\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, get(_defaultValues, name))\n : _getDirty();\n }\n\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n\n _subjects.state.next({ ..._formState });\n }\n };\n\n const reset: UseFormReset = (\n formValues,\n keepStateOptions = {},\n ) => {\n const updatedValues = formValues || _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const values =\n formValues && !isEmptyObject(formValues)\n ? cloneUpdatedValues\n : _defaultValues;\n\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(\n fieldName as FieldPath,\n get(values, fieldName),\n );\n }\n } else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n\n try {\n isHTMLElement(fieldReference) &&\n fieldReference.closest('form')!.reset();\n break;\n } catch {}\n }\n }\n }\n\n _fields = {};\n }\n\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneUpdatedValues;\n\n _subjects.array.next({\n values,\n });\n\n _subjects.watch.next({\n values,\n });\n }\n\n _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n\n _stateFlags.mount =\n !_proxyFormState.isValid || !!keepStateOptions.keepIsValid;\n\n _stateFlags.watch = !!props.shouldUnregister;\n\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty:\n keepStateOptions.keepDirty || keepStateOptions.keepDirtyValues\n ? _formState.isDirty\n : !!(\n keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)\n ),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields:\n keepStateOptions.keepDirty || keepStateOptions.keepDirtyValues\n ? _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : ({} as FieldNamesMarkedBoolean),\n errors: keepStateOptions.keepErrors\n ? _formState.errors\n : ({} as FieldErrors),\n isSubmitting: false,\n isSubmitSuccessful: false,\n });\n };\n\n const setFocus: UseFormSetFocus = (name, options = {}) => {\n const field = get(_fields, name)._f;\n const fieldRef = field.refs ? field.refs[0] : field.ref;\n options.shouldSelect ? fieldRef.select() : fieldRef.focus();\n };\n\n return {\n control: {\n register,\n unregister,\n getFieldState,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _getFieldArray,\n _subjects,\n _proxyFormState,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _stateFlags() {\n return _stateFlags;\n },\n set _stateFlags(value) {\n _stateFlags = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n","import React from 'react';\r\n\r\nconst Input = ({\r\n errors,\r\n label,\r\n type,\r\n checkboxText,\r\n placeholder,\r\n validation,\r\n register,\r\n inputName,\r\n value,\r\n maxLength,\r\n minLength,\r\n classNames\r\n}) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Input;\r\n","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMotocykl(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 195.56 114.74\",\n width: 100,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-miterlimit: 10;\\r\\n stroke-width: 8px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M59.85,97.51c-5.66,8.18-15.2,13.48-25.96,13.22-16.35-.39-29.64-13.8-29.89-30.15-.26-17.13,13.55-31.11,30.63-31.11\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M164.73,49.71c15.32,1.9,27.13,15.11,26.82,31.01-.32,16.4-13.76,29.77-30.16,30.01-17.13,.26-31.1-13.56-31.1-30.63,0-7.79,2.91-14.89,7.69-20.3\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#000\",\n points: \"59.79 42.17 26.86 23.32 36.28 19.08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M170.47,33.71c-3.27-.67-6.65-1-10.13-.96-25.73,.31-46.78,22.16-46.78,47.9v7.23h-40.06l-6.13-17.44\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#000\",\n points: \"160.69 79.87 144.67 35.57 153.62 23.32 130.53 4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M153.62,23.32c-19.79-4.24-54.19-2.83-71.16,18.85\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 67.38,\n y1: 70.45,\n x2: 34.4,\n y2: 79.87\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 59.84,\n y1: 42.17,\n x2: 82.46,\n y2: 42.17\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 115.4,\n y1: 67,\n x2: 92.83,\n y2: 67\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMotocykl);\nexport default __webpack_public_path__ + \"static/media/motocykl.a3a4dbca0cc7cdafdfb80e3eb8798f66.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport { useState } from 'react';\r\nimport { createContext } from 'react';\r\n\r\nexport const QrCodeDataContext = createContext({\r\n data: {},\r\n updateData: () => {},\r\n});\r\n\r\nconst QrCodeDataProvider = ({ children }) => {\r\n const [data, setData] = useState({});\r\n const updateData = (newData) => {\r\n setData(newData);\r\n };\r\n return {children};\r\n};\r\n\r\nexport default QrCodeDataProvider;\r\n","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSamOsobowy(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 237.5 108.98\",\n width: 110,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-miterlimit: 10;\\r\\n stroke-width: 8px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 79.56,\n y1: 89.94,\n x2: 151.22,\n y2: 90.83\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 57.25,\n y1: 41.06,\n x2: 166.26,\n y2: 47.48\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 46.82,\n cy: 86.4,\n r: 18.58\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 183.07,\n cy: 86.4,\n r: 18.58\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M15.78,89.94H7.89l-3.83-19.81c-.88-4.54,8.26-28.87,8.26-28.87,0,0,3.16-7.06,7.06-7.06l22.79-.68,14.99-21.4c5.2-5.2,12.25-8.12,19.6-8.12h58.89c6.93,0,13.6,2.65,18.64,7.42l28.78,27.21,45.12,15.04,5.31,19.46v17.69h-19.32\"\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSamOsobowy);\nexport default __webpack_public_path__ + \"static/media/sam_osobowy.5312c99320470d9467e6f9b79d8e745a.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSamElektr(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 207.65 162.9\",\n width: 80,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-miterlimit: 10;\\r\\n stroke-width: 8px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M91.65,4h13.66c10.12,0,18.34,8.22,18.34,18.34v.32c0,10.12-8.22,18.34-18.34,18.34h-13.66V4h0Z\",\n transform: \"translate(215.31 45) rotate(-180)\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 149.65,\n y1: 33,\n x2: 123.65,\n y2: 33\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 149.65,\n y1: 12,\n x2: 123.65,\n y2: 12\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 69.73,\n y1: 145.82,\n x2: 132.07,\n y2: 146.59\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M145.16,108.87l-94.83-5.58-29.38-17.54c-3.89-2.32-6.29-6.54-6.29-11.07v-18.84c0-18.42,14.93-33.35,33.35-33.35h43.65\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 41.25,\n cy: 142.74,\n r: 16.16\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 159.78,\n cy: 142.74,\n r: 16.16\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M47.75,81.67l2.49-3.56c4.52-4.52,10.66-7.06,17.05-7.06h51.23c6.03,0,11.83,2.31,16.22,6.45l25.04,23.67,39.25,13.08,4.62,16.93v15.39h-8.34\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M14.25,145.82H7.39l-3.34-17.23c-.51-2.62,2.83-12.83,5.12-19.4\"\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSamElektr);\nexport default __webpack_public_path__ + \"static/media/sam_elektr.70393ac18b499843bbba37ff3e5ab897.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSamCiezarowy(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 237.91 122.32\",\n width: 110,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-miterlimit: 10;\\r\\n stroke-width: 7px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#000\",\n points: \"63.82 105.2 170.03 105.2 170.03 3.5 3.5 3.5 3.5 105.2\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 33.77,\n cy: 105.04,\n r: 13.78\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 199.69,\n cy: 105.04,\n r: 13.78\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#000\",\n points: \"170.03 105.2 170.03 27.53 208.07 27.53 234.41 66.69 234.41 105.2 228.82 105.2\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#000\",\n points: \"190.15 42.15 190.15 66.7 218.69 66.7\"\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSamCiezarowy);\nexport default __webpack_public_path__ + \"static/media/sam_ciezarowy.254bc6e57cc5582fae2759010698911a.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCiezarowyZZabudowa(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 221.42 124.5\",\n width: 110,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-linejoin: round;\\r\\n stroke-width: 7px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#000\",\n points: \"71.78 107.38 153.53 107.38 132.78 75.62\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 17.28,\n cy: 107.22,\n r: 13.78\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 56.28,\n cy: 107.22,\n r: 13.78\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 183.2,\n cy: 107.22,\n r: 13.78\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#000\",\n points: \"153.53 107.38 153.53 29.71 191.58 29.71 217.92 68.87 217.92 107.38 212.33 107.38\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#000\",\n points: \"173.65 44.32 173.65 68.88 202.2 68.88\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M132.42,76.08c-1.66,7.76-8.87,13.05-16.77,12.3l-38.03-3.6c-9.3-.88-18.39-3.28-26.91-7.09L13.73,61.14c-6.74-3.02-10.45-10.33-8.91-17.54l2.96-13.86,2.96-13.86c1.54-7.22,7.92-12.37,15.3-12.37h40.51c9.34,0,18.61,1.53,27.46,4.52l36.18,12.25c7.52,2.55,11.94,10.32,10.28,18.08l-4.03,18.86-4.03,18.86Z\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 30.78,\n y1: 68.62,\n x2: 14.78,\n y2: 93.62\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCiezarowyZZabudowa);\nexport default __webpack_public_path__ + \"static/media/ciezarowy_z_zabudowa.d0803dd8916cba21e6a52761025d1093.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAutobus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 238.91 118.16\",\n width: 100,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-miterlimit: 10;\\r\\n stroke-width: 8px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 154.82,\n y1: 95.53,\n x2: 79.45,\n y2: 95.53\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M4,95.53V18.16c0-7.82,6.34-14.16,14.16-14.16H173.01c34.19,0,61.9,27.71,61.9,61.9v29.63h-9.88\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 41.96,\n cy: 95.58,\n r: 18.58\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 189.93,\n cy: 95.58,\n r: 18.58\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 33.24,\n y1: 24.32,\n x2: 33.24,\n y2: 43.17\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 64.81,\n y1: 24.32,\n x2: 64.1,\n y2: 43.17\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 94.97,\n y1: 24.32,\n x2: 94.97,\n y2: 43.17\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 126.54,\n y1: 24.32,\n x2: 126.54,\n y2: 43.17\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 158.59,\n y1: 24.32,\n x2: 158.59,\n y2: 75.21\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 190.16,\n y1: 24.32,\n x2: 190.16,\n y2: 43.17\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAutobus);\nexport default __webpack_public_path__ + \"static/media/autobus.24eea80696be0bf4fe0453e2293fb923.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMaszynaBudowlanaRolnicza(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 197.43 157.33\",\n width: 85,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-linejoin: round;\\r\\n stroke-width: 8px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"d\",\n stroke: \"#000\",\n x: 7.09,\n y: 116.17,\n width: 186.34,\n height: 37.16,\n rx: 17.29,\n ry: 17.29\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#000\",\n points: \"103.72 94.66 49.81 4 7.09 57.68 4 94.66 45.51 94.66 7.09 57.68\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M169.57,20.7h-47.48c-10.15,0-18.37,8.22-18.37,18.37v55.59h65.85V20.7Z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMaszynaBudowlanaRolnicza);\nexport default __webpack_public_path__ + \"static/media/maszyna_budowlana_rolnicza.949d38f359fdee60451c71031771fc1a.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCiagnikRolniczy(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 215.59 155.34\",\n width: 90,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-linejoin: round;\\r\\n stroke-width: 8px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 3\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 165.42,\n cy: 106.9,\n rx: 46.17,\n ry: 44.44\n }), /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 165.42,\n cy: 106.9,\n rx: 13.11,\n ry: 12.62\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 32.37,\n cy: 122.97,\n r: 28.37\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M4,84.62v-19.38s27.16-14.74,83.08-11.58c0,0,6.39-36.74,14.42-49.67h77.03V44.17\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 75.88,\n y1: 118.05,\n x2: 107.3,\n y2: 122.97\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 60.73,\n y1: 12.97,\n x2: 60.73,\n y2: 35.46\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 75.88,\n y1: 69.92,\n x2: 75.88,\n y2: 90.27\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 50.76,\n y1: 69.92,\n x2: 50.76,\n y2: 81.74\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCiagnikRolniczy);\nexport default __webpack_public_path__ + \"static/media/ciagnik_rolniczy.94e0536d407baf6e06f10fa557f5c8a2.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSamochodPremium(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"b\",\n \"data-name\": \"Layer 2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 242.42 86.55\",\n width: 90,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-miterlimit: 10;\\r\\n stroke-width: 7.93px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 1\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 39.8,\n cy: 61.44,\n r: 21.15\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 185.22,\n cy: 61.44,\n r: 21.15\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 74.29,\n y1: 73.68,\n x2: 167.98,\n y2: 73.68\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M203.83,73.68h14.59c11.37,0,20.46-1.56,20.02-10.65-.44-9.09-12.42-28.17-54.57-31.94,0,0-29.28-18.19-57.67-18.63s-57.9,10.2-71.87,13.53c-13.98,3.33-40.82,7.76-50.35,2.88\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 3.97,\n y1: 43.76,\n x2: 3.97,\n y2: 54.69\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 3.97,\n y1: 15.06,\n x2: 39.8,\n y2: 3.97\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 21.88,\n y1: 9.51,\n x2: 29.59,\n y2: 20.31\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M75,20.31s8.13,13.09,20.9,13.09h61.73\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSamochodPremium);\nexport default __webpack_public_path__ + \"static/media/samochod_premium.f5f0ac0137756aea3a18fb9343d8b8d3.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNaczepa(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"b\",\n \"data-name\": \"Layer 2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 217.56 116.27\",\n width: 90,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-miterlimit: 10;\\r\\n stroke-width: 7.93px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 13\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 190.76,\n cy: 99.94,\n r: 12.36\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 156.05,\n cy: 99.94,\n r: 12.36\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"d\",\n stroke: \"#000\",\n points: \"13.38 64.26 13.38 3.97 213.59 3.97 213.59 75.63 3.97 75.63\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 28.6,\n y1: 89.72,\n x2: 28.6,\n y2: 110.06\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNaczepa);\nexport default __webpack_public_path__ + \"static/media/naczepa.a55735b007804f189cf6d593a2a81104.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgWozekWidlowy(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"b\",\n \"data-name\": \"Layer 2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 200.66 135.32\",\n width: 90,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-miterlimit: 10;\\r\\n stroke-width: 7.93px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 1\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 68.05,\n cy: 116.19,\n r: 15.17\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M196.69,104.73c-.22-9.65-3.11-22.96-13.14-38.99h-28.82l-7.86-61.77h-47.63l-31.4,79.94c.07,0,.14,0,.21,0,17.83,0,32.29,14.46,32.29,32.29,0,1.99-.19,3.93-.53,5.81h34.94c-.34-1.89-.53-3.83-.53-5.81,0-13.37,8.13-24.85,19.72-29.75\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"d\",\n stroke: \"#000\",\n cx: 166.5,\n cy: 116.19,\n r: 15.17\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 52.88,\n y1: 3.97,\n x2: 52.88,\n y2: 86.45\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"d\",\n stroke: \"#000\",\n x1: 3.97,\n y1: 116.19,\n x2: 36.1,\n y2: 116.19\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWozekWidlowy);\nexport default __webpack_public_path__ + \"static/media/wozek_widlowy.0e430bdb67d3d3aa13539b6a57034ae0.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLock(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .d {\\r\\n fill: none;\\r\\n stroke-linecap: round;\\r\\n stroke-linejoin: round;\\r\\n stroke-width: 2px;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"a\",\n \"data-name\": \"Layer 1\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"b\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"c\",\n \"data-name\": \"Layer 1\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"d\",\n stroke: \"#000\",\n x: 1,\n y: 10,\n width: 18,\n height: 11,\n rx: 2,\n ry: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n stroke: \"#000\",\n d: \"M5,10V6c0-2.76,2.24-5,5-5s5,2.24,5,5v4\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLock);\nexport default __webpack_public_path__ + \"static/media/lock.2a41c478cf432871153122c6c7f79284.svg\";\nexport { ForwardRef as ReactComponent };","import axios from 'axios';\r\n\r\naxios.defaults.baseURL = process.env.REACT_APP_API_ENDPOINT;\r\n\r\nexport const postForm = async (data) => {\r\n return axios({\r\n method: 'POST',\r\n mode: 'cors',\r\n url: '/api/Create',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n data: data,\r\n validateStatus: () => true\r\n });\r\n};\r\n\r\nexport const decodeDataService = async (decodedText, config) => {\r\n return axios({\r\n method: 'POST',\r\n mode: 'cors',\r\n url: `/api/Decode`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n data: { QrCodeInString: decodedText },\r\n ...config\r\n });\r\n};\r\n","import React from 'react';\r\n\r\nconst Loader = ({ loading, isUpload, uploading, statusRef, progressValue }) => {\r\n return (\r\n
    \r\n {isUpload && uploading && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Ładowanie...
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Loader;\r\n","const makesList = [\r\n { kindId: '10', makeId: '75', makeName: 'SCION' },\r\n { kindId: '10', makeId: '76', makeName: 'TATA' },\r\n { kindId: '10', makeId: '77', makeName: 'BENTLEY' },\r\n { kindId: '10', makeId: '83', makeName: 'ASTON MARTIN' },\r\n { kindId: '10', makeId: '84', makeName: 'LTI' },\r\n { kindId: '10', makeId: '115', makeName: 'ALPINE' },\r\n { kindId: '10', makeId: '117', makeName: 'LEVC' },\r\n { kindId: '10', makeId: '119', makeName: 'SERES' },\r\n { kindId: '10', makeId: '131', makeName: 'DS' },\r\n { kindId: '10', makeId: '300', makeName: 'ABARTH' },\r\n { kindId: '10', makeId: '343', makeName: 'TESLA' },\r\n { kindId: '10', makeId: '350', makeName: 'LAMBORGHINI' },\r\n { kindId: '10', makeId: '351', makeName: 'ACURA' },\r\n { kindId: '10', makeId: '353', makeName: 'ALFA ROMEO' },\r\n { kindId: '10', makeId: '354', makeName: 'AUDI' },\r\n { kindId: '10', makeId: '355', makeName: 'AUSTIN' },\r\n { kindId: '10', makeId: '356', makeName: 'BMW' },\r\n { kindId: '10', makeId: '357', makeName: 'BUICK' },\r\n { kindId: '10', makeId: '358', makeName: 'CADILLAC' },\r\n { kindId: '10', makeId: '359', makeName: 'CHEVROLET (USA)' },\r\n { kindId: '10', makeId: '360', makeName: 'CHRYSLER' },\r\n { kindId: '10', makeId: '361', makeName: 'CITROEN' },\r\n { kindId: '10', makeId: '362', makeName: 'DACIA' },\r\n { kindId: '10', makeId: '364', makeName: 'DAEWOO / FSO' },\r\n { kindId: '10', makeId: '365', makeName: 'DAIHATSU' },\r\n { kindId: '10', makeId: '366', makeName: 'DODGE' },\r\n { kindId: '10', makeId: '367', makeName: 'EAGLE' },\r\n { kindId: '10', makeId: '368', makeName: 'FIAT' },\r\n { kindId: '10', makeId: '369', makeName: 'FORD' },\r\n { kindId: '10', makeId: '370', makeName: 'FORD (USA)' },\r\n { kindId: '10', makeId: '371', makeName: 'FSM' },\r\n { kindId: '10', makeId: '372', makeName: 'FSO' },\r\n { kindId: '10', makeId: '373', makeName: 'HONDA' },\r\n { kindId: '10', makeId: '374', makeName: 'HYUNDAI' },\r\n { kindId: '10', makeId: '375', makeName: 'INNOCENTI' },\r\n { kindId: '10', makeId: '376', makeName: 'ISUZU' },\r\n { kindId: '10', makeId: '377', makeName: 'JAGUAR' },\r\n { kindId: '10', makeId: '379', makeName: 'KIA' },\r\n { kindId: '10', makeId: '380', makeName: 'LADA' },\r\n { kindId: '10', makeId: '381', makeName: 'LANCIA' },\r\n { kindId: '10', makeId: '382', makeName: 'LEXUS' },\r\n { kindId: '10', makeId: '383', makeName: 'LINCOLN' },\r\n { kindId: '10', makeId: '384', makeName: 'LOTUS' },\r\n { kindId: '10', makeId: '385', makeName: 'MARUTI' },\r\n { kindId: '10', makeId: '386', makeName: 'MAZDA' },\r\n { kindId: '10', makeId: '387', makeName: 'MERCEDES-BENZ' },\r\n { kindId: '10', makeId: '388', makeName: 'MERCURY' },\r\n { kindId: '10', makeId: '389', makeName: 'MG' },\r\n { kindId: '10', makeId: '390', makeName: 'MITSUBISHI' },\r\n { kindId: '10', makeId: '391', makeName: 'MOSKWICZ' },\r\n { kindId: '10', makeId: '392', makeName: 'NISSAN' },\r\n { kindId: '10', makeId: '393', makeName: 'OLDSMOBILE' },\r\n { kindId: '10', makeId: '394', makeName: 'OLTCIT' },\r\n { kindId: '10', makeId: '395', makeName: 'OPEL' },\r\n { kindId: '10', makeId: '396', makeName: 'PEUGEOT' },\r\n { kindId: '10', makeId: '397', makeName: 'PLYMOUTH' },\r\n { kindId: '10', makeId: '398', makeName: 'PONTIAC' },\r\n { kindId: '10', makeId: '399', makeName: 'PORSCHE' },\r\n { kindId: '10', makeId: '401', makeName: 'RENAULT' },\r\n { kindId: '10', makeId: '402', makeName: 'ROVER' },\r\n { kindId: '10', makeId: '403', makeName: 'SAAB' },\r\n { kindId: '10', makeId: '404', makeName: 'SATURN' },\r\n { kindId: '10', makeId: '405', makeName: 'SEAT' },\r\n { kindId: '10', makeId: '406', makeName: 'SKODA' },\r\n { kindId: '10', makeId: '407', makeName: 'SUBARU' },\r\n { kindId: '10', makeId: '408', makeName: 'SUZUKI' },\r\n { kindId: '10', makeId: '409', makeName: 'TALBOT' },\r\n { kindId: '10', makeId: '410', makeName: 'TOYOTA' },\r\n { kindId: '10', makeId: '411', makeName: 'TRABANT' },\r\n { kindId: '10', makeId: '412', makeName: 'VOLKSWAGEN' },\r\n { kindId: '10', makeId: '413', makeName: 'VOLVO' },\r\n { kindId: '10', makeId: '414', makeName: 'WARTBURG' },\r\n { kindId: '10', makeId: '415', makeName: 'YUGO' },\r\n { kindId: '10', makeId: '416', makeName: 'ZAZ' },\r\n { kindId: '10', makeId: '444', makeName: 'MASERATI' },\r\n { kindId: '10', makeId: '450', makeName: 'CUPRA' },\r\n { kindId: '10', makeId: '460', makeName: 'FERRARI' },\r\n { kindId: '10', makeId: '500', makeName: 'ROLLS-ROYCE' },\r\n { kindId: '10', makeId: '501', makeName: 'SMART' },\r\n { kindId: '10', makeId: '506', makeName: 'TOYOTA (USA)' },\r\n { kindId: '10', makeId: '509', makeName: 'MINI [BMW]' },\r\n { kindId: '10', makeId: '510', makeName: 'INFINITI' },\r\n { kindId: '10', makeId: '516', makeName: 'CHEVROLET' },\r\n { kindId: '10', makeId: '524', makeName: 'SSANG YONG' },\r\n { kindId: '20', makeId: '17', makeName: 'JMC' },\r\n { kindId: '20', makeId: '76', makeName: 'TATA' },\r\n { kindId: '20', makeId: '77', makeName: 'BENTLEY' },\r\n { kindId: '20', makeId: '100', makeName: 'HUMMER' },\r\n { kindId: '20', makeId: '110', makeName: 'UAZ' },\r\n { kindId: '20', makeId: '351', makeName: 'ACURA' },\r\n { kindId: '20', makeId: '353', makeName: 'ALFA ROMEO' },\r\n { kindId: '20', makeId: '354', makeName: 'AUDI' },\r\n { kindId: '20', makeId: '356', makeName: 'BMW' },\r\n { kindId: '20', makeId: '358', makeName: 'CADILLAC' },\r\n { kindId: '20', makeId: '360', makeName: 'CHRYSLER' },\r\n { kindId: '20', makeId: '361', makeName: 'CITROEN' },\r\n { kindId: '20', makeId: '365', makeName: 'DAIHATSU' },\r\n { kindId: '20', makeId: '366', makeName: 'DODGE' },\r\n { kindId: '20', makeId: '368', makeName: 'FIAT' },\r\n { kindId: '20', makeId: '369', makeName: 'FORD' },\r\n { kindId: '20', makeId: '373', makeName: 'HONDA' },\r\n { kindId: '20', makeId: '374', makeName: 'HYUNDAI' },\r\n { kindId: '20', makeId: '376', makeName: 'ISUZU' },\r\n { kindId: '20', makeId: '377', makeName: 'JAGUAR' },\r\n { kindId: '20', makeId: '378', makeName: 'JEEP' },\r\n { kindId: '20', makeId: '379', makeName: 'KIA' },\r\n { kindId: '20', makeId: '380', makeName: 'LADA' },\r\n { kindId: '20', makeId: '382', makeName: 'LEXUS' },\r\n { kindId: '20', makeId: '383', makeName: 'LINCOLN' },\r\n { kindId: '20', makeId: '386', makeName: 'MAZDA' },\r\n { kindId: '20', makeId: '387', makeName: 'MERCEDES-BENZ' },\r\n { kindId: '20', makeId: '390', makeName: 'MITSUBISHI' },\r\n { kindId: '20', makeId: '392', makeName: 'NISSAN' },\r\n { kindId: '20', makeId: '395', makeName: 'OPEL' },\r\n { kindId: '20', makeId: '396', makeName: 'PEUGEOT' },\r\n { kindId: '20', makeId: '399', makeName: 'PORSCHE' },\r\n { kindId: '20', makeId: '401', makeName: 'RENAULT' },\r\n { kindId: '20', makeId: '403', makeName: 'SAAB' },\r\n { kindId: '20', makeId: '405', makeName: 'SEAT' },\r\n { kindId: '20', makeId: '406', makeName: 'SKODA' },\r\n { kindId: '20', makeId: '407', makeName: 'SUBARU' },\r\n { kindId: '20', makeId: '408', makeName: 'SUZUKI' },\r\n { kindId: '20', makeId: '410', makeName: 'TOYOTA' },\r\n { kindId: '20', makeId: '412', makeName: 'VOLKSWAGEN' },\r\n { kindId: '20', makeId: '413', makeName: 'VOLVO' },\r\n { kindId: '20', makeId: '419', makeName: 'GMC' },\r\n { kindId: '20', makeId: '421', makeName: 'RAM' },\r\n { kindId: '20', makeId: '428', makeName: 'LAND ROVER' },\r\n { kindId: '20', makeId: '438', makeName: 'IVECO' },\r\n { kindId: '20', makeId: '444', makeName: 'MASERATI' },\r\n { kindId: '20', makeId: '450', makeName: 'CUPRA' },\r\n { kindId: '20', makeId: '478', makeName: 'DAEWOO' },\r\n { kindId: '20', makeId: '510', makeName: 'INFINITI' },\r\n { kindId: '20', makeId: '516', makeName: 'CHEVROLET' },\r\n { kindId: '20', makeId: '524', makeName: 'SSANG YONG' },\r\n { kindId: '30', makeId: '113', makeName: 'FSR (Tarpan)' },\r\n { kindId: '30', makeId: '117', makeName: 'LEVC' },\r\n { kindId: '30', makeId: '361', makeName: 'CITROEN' },\r\n { kindId: '30', makeId: '362', makeName: 'DACIA' },\r\n { kindId: '30', makeId: '364', makeName: 'DAEWOO / FSO' },\r\n { kindId: '30', makeId: '365', makeName: 'DAIHATSU' },\r\n { kindId: '30', makeId: '368', makeName: 'FIAT' },\r\n { kindId: '30', makeId: '369', makeName: 'FORD' },\r\n { kindId: '30', makeId: '372', makeName: 'FSO' },\r\n { kindId: '30', makeId: '374', makeName: 'HYUNDAI' },\r\n { kindId: '30', makeId: '376', makeName: 'ISUZU' },\r\n { kindId: '30', makeId: '379', makeName: 'KIA' },\r\n { kindId: '30', makeId: '386', makeName: 'MAZDA' },\r\n { kindId: '30', makeId: '387', makeName: 'MERCEDES-BENZ' },\r\n { kindId: '30', makeId: '390', makeName: 'MITSUBISHI' },\r\n { kindId: '30', makeId: '392', makeName: 'NISSAN' },\r\n { kindId: '30', makeId: '395', makeName: 'OPEL' },\r\n { kindId: '30', makeId: '396', makeName: 'PEUGEOT' },\r\n { kindId: '30', makeId: '401', makeName: 'RENAULT' },\r\n { kindId: '30', makeId: '405', makeName: 'SEAT' },\r\n { kindId: '30', makeId: '406', makeName: 'SKODA' },\r\n { kindId: '30', makeId: '407', makeName: 'SUBARU' },\r\n { kindId: '30', makeId: '408', makeName: 'SUZUKI' },\r\n { kindId: '30', makeId: '410', makeName: 'TOYOTA' },\r\n { kindId: '30', makeId: '412', makeName: 'VOLKSWAGEN' },\r\n { kindId: '30', makeId: '438', makeName: 'IVECO' },\r\n { kindId: '30', makeId: '455', makeName: 'DAEWOO/ANDORIA/INTRALL' },\r\n { kindId: '30', makeId: '465', makeName: 'MAN' },\r\n { kindId: '30', makeId: '483', makeName: 'LDV' },\r\n { kindId: '30', makeId: '493', makeName: 'FS LUBLIN' },\r\n { kindId: '30', makeId: '497', makeName: 'GAZ' },\r\n { kindId: '30', makeId: '518', makeName: 'MITSUBISHI-FUSO / FUSO' },\r\n { kindId: '30', makeId: '520', makeName: 'INTRALL' },\r\n { kindId: '40', makeId: '369', makeName: 'FORD' },\r\n { kindId: '40', makeId: '374', makeName: 'HYUNDAI' },\r\n { kindId: '40', makeId: '376', makeName: 'ISUZU' },\r\n { kindId: '40', makeId: '387', makeName: 'MERCEDES-BENZ' },\r\n { kindId: '40', makeId: '390', makeName: 'MITSUBISHI' },\r\n { kindId: '40', makeId: '392', makeName: 'NISSAN' },\r\n { kindId: '40', makeId: '401', makeName: 'RENAULT' },\r\n { kindId: '40', makeId: '410', makeName: 'TOYOTA' },\r\n { kindId: '40', makeId: '412', makeName: 'VOLKSWAGEN' },\r\n { kindId: '40', makeId: '413', makeName: 'VOLVO' },\r\n { kindId: '40', makeId: '438', makeName: 'IVECO' },\r\n { kindId: '40', makeId: '456', makeName: 'DAF' },\r\n { kindId: '40', makeId: '464', makeName: 'IVECO EUROCARGO do 2015' },\r\n { kindId: '40', makeId: '465', makeName: 'MAN' },\r\n { kindId: '40', makeId: '469', makeName: 'MULTICAR' },\r\n { kindId: '40', makeId: '471', makeName: 'SCANIA' },\r\n { kindId: '40', makeId: '482', makeName: 'KAMAZ' },\r\n { kindId: '40', makeId: '484', makeName: 'TATRA' },\r\n { kindId: '40', makeId: '485', makeName: 'JELCZ' },\r\n { kindId: '40', makeId: '486', makeName: 'STAR' },\r\n { kindId: '40', makeId: '487', makeName: 'AVIA' },\r\n { kindId: '40', makeId: '489', makeName: 'MAZ' },\r\n { kindId: '40', makeId: '499', makeName: 'STEYR' },\r\n { kindId: '40', makeId: '505', makeName: 'LIAZ' },\r\n { kindId: '40', makeId: '518', makeName: 'MITSUBISHI-FUSO / FUSO' },\r\n { kindId: '80', makeId: '39', makeName: 'VANHOOL' },\r\n { kindId: '80', makeId: '78', makeName: 'SOLARIS' },\r\n { kindId: '80', makeId: '80', makeName: 'OTOYOL' },\r\n { kindId: '80', makeId: '82', makeName: 'VDL BOVA' },\r\n { kindId: '80', makeId: '85', makeName: 'NEOPLAN' },\r\n { kindId: '80', makeId: '86', makeName: 'AUTOSAN' },\r\n { kindId: '80', makeId: '87', makeName: 'VDL' },\r\n { kindId: '80', makeId: '88', makeName: 'SOLBUS' },\r\n { kindId: '80', makeId: '89', makeName: 'VDL BERKHOF' },\r\n { kindId: '80', makeId: '90', makeName: 'EOS' },\r\n { kindId: '80', makeId: '91', makeName: 'SETRA' },\r\n { kindId: '80', makeId: '92', makeName: 'IRIZAR' },\r\n { kindId: '80', makeId: '95', makeName: 'KAROSA / IRISBUS' },\r\n { kindId: '80', makeId: '103', makeName: 'IRISBUS' },\r\n { kindId: '80', makeId: '104', makeName: 'SOR' },\r\n { kindId: '80', makeId: '369', makeName: 'FORD' },\r\n { kindId: '80', makeId: '376', makeName: 'ISUZU' },\r\n { kindId: '80', makeId: '387', makeName: 'MERCEDES-BENZ' },\r\n { kindId: '80', makeId: '395', makeName: 'OPEL' },\r\n { kindId: '80', makeId: '401', makeName: 'RENAULT' },\r\n { kindId: '80', makeId: '413', makeName: 'VOLVO' },\r\n { kindId: '80', makeId: '439', makeName: 'IVECO BUS' },\r\n { kindId: '80', makeId: '465', makeName: 'MAN' },\r\n { kindId: '80', makeId: '471', makeName: 'SCANIA' },\r\n { kindId: '80', makeId: '485', makeName: 'JELCZ' },\r\n { kindId: '60', makeId: '79', makeName: 'AEON' },\r\n { kindId: '60', makeId: '116', makeName: 'AJP' },\r\n { kindId: '60', makeId: '53', makeName: 'ALPHA' },\r\n { kindId: '60', makeId: '1', makeName: 'APRILIA' },\r\n { kindId: '60', makeId: '3', makeName: 'ATALA' },\r\n { kindId: '60', makeId: '46', makeName: 'BAJAJ' },\r\n { kindId: '60', makeId: '94', makeName: 'BAOTIAN' },\r\n { kindId: '60', makeId: '4', makeName: 'BENELLI' },\r\n { kindId: '60', makeId: '5', makeName: 'BETAMOTOR' },\r\n { kindId: '60', makeId: '47', makeName: 'BIMOTA' },\r\n { kindId: '60', makeId: '356', makeName: 'BMW' },\r\n { kindId: '60', makeId: '7', makeName: 'BUELL' },\r\n { kindId: '60', makeId: '8', makeName: 'CAGIVA' },\r\n { kindId: '60', makeId: '81', makeName: 'CAN-AM BOMBARDIER' },\r\n { kindId: '60', makeId: '52', makeName: 'CEZET' },\r\n { kindId: '60', makeId: '96', makeName: 'CFMOTO' },\r\n { kindId: '60', makeId: '67', makeName: 'CPI' },\r\n { kindId: '60', makeId: '9', makeName: 'DAELIM' },\r\n { kindId: '60', makeId: '10', makeName: 'DERBI' },\r\n { kindId: '60', makeId: '48', makeName: 'DNEPR' },\r\n { kindId: '60', makeId: '11', makeName: 'DUCATI' },\r\n { kindId: '60', makeId: '107', makeName: 'EGLMOTOR' },\r\n { kindId: '60', makeId: '118', makeName: 'F.B MONDIAL' },\r\n { kindId: '60', makeId: '12', makeName: 'FANTIC' },\r\n { kindId: '60', makeId: '734', makeName: 'FERRO' },\r\n { kindId: '60', makeId: '13', makeName: 'GARELLI' },\r\n { kindId: '60', makeId: '73', makeName: 'GAS GAS' },\r\n { kindId: '60', makeId: '69', makeName: 'GENERIC' },\r\n { kindId: '60', makeId: '14', makeName: 'GILERA' },\r\n { kindId: '60', makeId: '97', makeName: 'HAOTIAN' },\r\n { kindId: '60', makeId: '15', makeName: 'HARLEY-DAVIDSON' },\r\n { kindId: '60', makeId: '16', makeName: 'HERCULES' },\r\n { kindId: '60', makeId: '373', makeName: 'HONDA' },\r\n { kindId: '60', makeId: '68', makeName: 'HUSABERG' },\r\n { kindId: '60', makeId: '18', makeName: 'HUSQVARNA' },\r\n { kindId: '60', makeId: '19', makeName: 'HYOSUNG' },\r\n { kindId: '60', makeId: '111', makeName: 'INDIAN' },\r\n { kindId: '60', makeId: '20', makeName: 'ITALJET' },\r\n { kindId: '60', makeId: '21', makeName: 'JAWA' },\r\n { kindId: '60', makeId: '45', makeName: 'JIALING / ZONG-SHEN' },\r\n { kindId: '60', makeId: '51', makeName: 'JINCHENG' },\r\n { kindId: '60', makeId: '58', makeName: 'JUNAK' },\r\n { kindId: '60', makeId: '22', makeName: 'KAWASAKI' },\r\n { kindId: '60', makeId: '72', makeName: 'KEEWAY' },\r\n { kindId: '60', makeId: '66', makeName: 'KOMAR' },\r\n { kindId: '60', makeId: '23', makeName: 'KTM' },\r\n { kindId: '60', makeId: '24', makeName: 'KYMCO' },\r\n { kindId: '60', makeId: '25', makeName: 'LAVERDA' },\r\n { kindId: '60', makeId: '504', makeName: 'LIFAN' },\r\n { kindId: '60', makeId: '98', makeName: 'LINGBEN' },\r\n { kindId: '60', makeId: '64', makeName: 'MAL' },\r\n { kindId: '60', makeId: '26', makeName: 'MALAGUTI' },\r\n { kindId: '60', makeId: '27', makeName: 'MBK' },\r\n { kindId: '60', makeId: '55', makeName: 'MINSK' },\r\n { kindId: '60', makeId: '28', makeName: 'MORINI' },\r\n { kindId: '60', makeId: '6', makeName: 'MOTOBI' },\r\n { kindId: '60', makeId: '29', makeName: 'MOTOGUZZI' },\r\n { kindId: '60', makeId: '56', makeName: 'MV AGUSTA' },\r\n { kindId: '60', makeId: '30', makeName: 'MZ/MUZ' },\r\n { kindId: '60', makeId: '31', makeName: 'P.G.O.' },\r\n { kindId: '60', makeId: '396', makeName: 'PEUGEOT' },\r\n { kindId: '60', makeId: '43', makeName: 'PIAGGIO / VESPA' },\r\n { kindId: '60', makeId: '420', makeName: 'POLARIS' },\r\n { kindId: '60', makeId: '57', makeName: 'PRAGA' },\r\n { kindId: '60', makeId: '33', makeName: 'PUCH / HERO PUCH' },\r\n { kindId: '60', makeId: '99', makeName: 'QINGQI' },\r\n { kindId: '60', makeId: '74', makeName: 'QUEST' },\r\n { kindId: '60', makeId: '62', makeName: 'RIEJU' },\r\n { kindId: '60', makeId: '93', makeName: 'RM MOTOR' },\r\n { kindId: '60', makeId: '32', makeName: 'ROMET' },\r\n { kindId: '60', makeId: '108', makeName: 'ROUTER' },\r\n { kindId: '60', makeId: '49', makeName: 'ROYAL ENFIELD BULLET' },\r\n { kindId: '60', makeId: '34', makeName: 'SACHS' },\r\n { kindId: '60', makeId: '63', makeName: 'SIAMOTO' },\r\n { kindId: '60', makeId: '35', makeName: 'SIMSON' },\r\n { kindId: '60', makeId: '36', makeName: 'SOLO' },\r\n { kindId: '60', makeId: '38', makeName: 'SUNDIRO' },\r\n { kindId: '60', makeId: '408', makeName: 'SUZUKI' },\r\n { kindId: '60', makeId: '71', makeName: 'SYM' },\r\n { kindId: '60', makeId: '40', makeName: 'TGB' },\r\n { kindId: '60', makeId: '70', makeName: 'TM RACING' },\r\n { kindId: '60', makeId: '41', makeName: 'TOMOS' },\r\n { kindId: '60', makeId: '106', makeName: 'TOROS' },\r\n { kindId: '60', makeId: '42', makeName: 'TRIUMPH' },\r\n { kindId: '60', makeId: '50', makeName: 'URAL' },\r\n { kindId: '60', makeId: '61', makeName: 'VERTEMATI' },\r\n { kindId: '60', makeId: '112', makeName: 'VICTORY' },\r\n { kindId: '60', makeId: '60', makeName: 'VOR' },\r\n { kindId: '60', makeId: '59', makeName: 'VOXAN' },\r\n { kindId: '60', makeId: '65', makeName: 'WFM' },\r\n { kindId: '60', makeId: '44', makeName: 'YAMAHA' },\r\n { kindId: '60', makeId: '101', makeName: 'YIBEN' },\r\n { kindId: '60', makeId: '102', makeName: 'ZICO' },\r\n { kindId: '60', makeId: '54', makeName: 'ZIPP' },\r\n { kindId: '60', makeId: '120', makeName: 'ZONTES' },\r\n { kindId: '60', makeId: '105', makeName: 'ZUMICO' }\r\n];\r\n\r\nexport default makesList;","const typeOfCarsCategory = {\r\n normalCars: '10',\r\n offRoadCars: '20',\r\n smallTrack: '30',\r\n bigTruck: '40',\r\n bus: '80',\r\n motorcycle: '60',\r\n};\r\n\r\nexport default typeOfCarsCategory;\r\n","import React from 'react';\r\nimport { useState } from 'react';\r\n\r\nconst Select = ({\r\n errors,\r\n label,\r\n checkboxText,\r\n placeholder,\r\n validation,\r\n register,\r\n inputName,\r\n value,\r\n reset,\r\n hintValues,\r\n}) => {\r\n const [filteredHints, setFilteredHints] = useState([]);\r\n\r\n const filterMe = (e) => {\r\n setFilteredHints(hintValues.filter((hint) => hint.toLowerCase().startsWith(e.target.value.toLowerCase())));\r\n if (e.target.value === '') {\r\n setFilteredHints([]);\r\n }\r\n };\r\n\r\n const hideAutocompleteContainer=()=>{\r\n setTimeout(function(){\r\n setFilteredHints([])\r\n }, 500);\r\n }\r\n return (\r\n
    \r\n \r\n ) : (\r\n <>\r\n )}\r\n {checkboxText}\r\n {checkboxText && }\r\n {errors[inputName] &&

    {errors[inputName].message}

    }\r\n \r\n );\r\n};\r\n\r\nexport default Select;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\n\nvar ReCAPTCHA =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReCAPTCHA, _React$Component);\n\n function ReCAPTCHA() {\n var _this;\n\n _this = _React$Component.call(this) || this;\n _this.handleExpired = _this.handleExpired.bind(_assertThisInitialized(_this));\n _this.handleErrored = _this.handleErrored.bind(_assertThisInitialized(_this));\n _this.handleChange = _this.handleChange.bind(_assertThisInitialized(_this));\n _this.handleRecaptchaRef = _this.handleRecaptchaRef.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n var _proto = ReCAPTCHA.prototype;\n\n _proto.getValue = function getValue() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this.props.grecaptcha.getResponse(this._widgetId);\n }\n\n return null;\n };\n\n _proto.getWidgetId = function getWidgetId() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this._widgetId;\n }\n\n return null;\n };\n\n _proto.execute = function execute() {\n var grecaptcha = this.props.grecaptcha;\n\n if (grecaptcha && this._widgetId !== undefined) {\n return grecaptcha.execute(this._widgetId);\n } else {\n this._executeRequested = true;\n }\n };\n\n _proto.executeAsync = function executeAsync() {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n _this2.executionResolve = resolve;\n _this2.executionReject = reject;\n\n _this2.execute();\n });\n };\n\n _proto.reset = function reset() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n this.props.grecaptcha.reset(this._widgetId);\n }\n };\n\n _proto.handleExpired = function handleExpired() {\n if (this.props.onExpired) {\n this.props.onExpired();\n } else {\n this.handleChange(null);\n }\n };\n\n _proto.handleErrored = function handleErrored() {\n if (this.props.onErrored) {\n this.props.onErrored();\n }\n\n if (this.executionReject) {\n this.executionReject();\n delete this.executionResolve;\n delete this.executionReject;\n }\n };\n\n _proto.handleChange = function handleChange(token) {\n if (this.props.onChange) {\n this.props.onChange(token);\n }\n\n if (this.executionResolve) {\n this.executionResolve(token);\n delete this.executionReject;\n delete this.executionResolve;\n }\n };\n\n _proto.explicitRender = function explicitRender() {\n if (this.props.grecaptcha && this.props.grecaptcha.render && this._widgetId === undefined) {\n var wrapper = document.createElement(\"div\");\n this._widgetId = this.props.grecaptcha.render(wrapper, {\n sitekey: this.props.sitekey,\n callback: this.handleChange,\n theme: this.props.theme,\n type: this.props.type,\n tabindex: this.props.tabindex,\n \"expired-callback\": this.handleExpired,\n \"error-callback\": this.handleErrored,\n size: this.props.size,\n stoken: this.props.stoken,\n hl: this.props.hl,\n badge: this.props.badge\n });\n this.captcha.appendChild(wrapper);\n }\n\n if (this._executeRequested && this.props.grecaptcha && this._widgetId !== undefined) {\n this._executeRequested = false;\n this.execute();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.explicitRender();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.explicitRender();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._widgetId !== undefined) {\n this.delayOfCaptchaIframeRemoving();\n this.reset();\n }\n };\n\n _proto.delayOfCaptchaIframeRemoving = function delayOfCaptchaIframeRemoving() {\n var temporaryNode = document.createElement(\"div\");\n document.body.appendChild(temporaryNode);\n temporaryNode.style.display = \"none\"; // move of the recaptcha to a temporary node\n\n while (this.captcha.firstChild) {\n temporaryNode.appendChild(this.captcha.firstChild);\n } // delete the temporary node after reset will be done\n\n\n setTimeout(function () {\n document.body.removeChild(temporaryNode);\n }, 5000);\n };\n\n _proto.handleRecaptchaRef = function handleRecaptchaRef(elem) {\n this.captcha = elem;\n };\n\n _proto.render = function render() {\n // consume properties owned by the reCATPCHA, pass the rest to the div so the user can style it.\n\n /* eslint-disable no-unused-vars */\n var _this$props = this.props,\n sitekey = _this$props.sitekey,\n onChange = _this$props.onChange,\n theme = _this$props.theme,\n type = _this$props.type,\n tabindex = _this$props.tabindex,\n onExpired = _this$props.onExpired,\n onErrored = _this$props.onErrored,\n size = _this$props.size,\n stoken = _this$props.stoken,\n grecaptcha = _this$props.grecaptcha,\n badge = _this$props.badge,\n hl = _this$props.hl,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"sitekey\", \"onChange\", \"theme\", \"type\", \"tabindex\", \"onExpired\", \"onErrored\", \"size\", \"stoken\", \"grecaptcha\", \"badge\", \"hl\"]);\n /* eslint-enable no-unused-vars */\n\n\n return React.createElement(\"div\", _extends({}, childProps, {\n ref: this.handleRecaptchaRef\n }));\n };\n\n return ReCAPTCHA;\n}(React.Component);\n\nexport { ReCAPTCHA as default };\nReCAPTCHA.displayName = \"ReCAPTCHA\";\nReCAPTCHA.propTypes = {\n sitekey: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n grecaptcha: PropTypes.object,\n theme: PropTypes.oneOf([\"dark\", \"light\"]),\n type: PropTypes.oneOf([\"image\", \"audio\"]),\n tabindex: PropTypes.number,\n onExpired: PropTypes.func,\n onErrored: PropTypes.func,\n size: PropTypes.oneOf([\"compact\", \"normal\", \"invisible\"]),\n stoken: PropTypes.string,\n hl: PropTypes.string,\n badge: PropTypes.oneOf([\"bottomright\", \"bottomleft\", \"inline\"])\n};\nReCAPTCHA.defaultProps = {\n onChange: function onChange() {},\n theme: \"light\",\n type: \"image\",\n tabindex: 0,\n size: \"normal\",\n badge: \"bottomright\"\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nimport { Component, createElement, forwardRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nvar SCRIPT_MAP = {}; // A counter used to generate a unique id for each component that uses the function\n\nvar idCount = 0;\nexport default function makeAsyncScript(getScriptURL, options) {\n options = options || {};\n return function wrapWithAsyncScript(WrappedComponent) {\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || \"Component\";\n\n var AsyncScriptLoader =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(AsyncScriptLoader, _Component);\n\n function AsyncScriptLoader(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.state = {};\n _this.__scriptURL = \"\";\n return _this;\n }\n\n var _proto = AsyncScriptLoader.prototype;\n\n _proto.asyncScriptLoaderGetScriptLoaderID = function asyncScriptLoaderGetScriptLoaderID() {\n if (!this.__scriptLoaderID) {\n this.__scriptLoaderID = \"async-script-loader-\" + idCount++;\n }\n\n return this.__scriptLoaderID;\n };\n\n _proto.setupScriptURL = function setupScriptURL() {\n this.__scriptURL = typeof getScriptURL === \"function\" ? getScriptURL() : getScriptURL;\n return this.__scriptURL;\n };\n\n _proto.asyncScriptLoaderHandleLoad = function asyncScriptLoaderHandleLoad(state) {\n var _this2 = this;\n\n // use reacts setState callback to fire props.asyncScriptOnLoad with new state/entry\n this.setState(state, function () {\n return _this2.props.asyncScriptOnLoad && _this2.props.asyncScriptOnLoad(_this2.state);\n });\n };\n\n _proto.asyncScriptLoaderTriggerOnScriptLoaded = function asyncScriptLoaderTriggerOnScriptLoaded() {\n var mapEntry = SCRIPT_MAP[this.__scriptURL];\n\n if (!mapEntry || !mapEntry.loaded) {\n throw new Error(\"Script is not loaded.\");\n }\n\n for (var obsKey in mapEntry.observers) {\n mapEntry.observers[obsKey](mapEntry);\n }\n\n delete window[options.callbackName];\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this3 = this;\n\n var scriptURL = this.setupScriptURL();\n var key = this.asyncScriptLoaderGetScriptLoaderID();\n var _options = options,\n globalName = _options.globalName,\n callbackName = _options.callbackName,\n scriptId = _options.scriptId; // check if global object already attached to window\n\n if (globalName && typeof window[globalName] !== \"undefined\") {\n SCRIPT_MAP[scriptURL] = {\n loaded: true,\n observers: {}\n };\n } // check if script loading already\n\n\n if (SCRIPT_MAP[scriptURL]) {\n var entry = SCRIPT_MAP[scriptURL]; // if loaded or errored then \"finish\"\n\n if (entry && (entry.loaded || entry.errored)) {\n this.asyncScriptLoaderHandleLoad(entry);\n return;\n } // if still loading then callback to observer queue\n\n\n entry.observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n return;\n }\n /*\n * hasn't started loading\n * start the \"magic\"\n * setup script to load and observers\n */\n\n\n var observers = {};\n\n observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n SCRIPT_MAP[scriptURL] = {\n loaded: false,\n observers: observers\n };\n var script = document.createElement(\"script\");\n script.src = scriptURL;\n script.async = true;\n\n for (var attribute in options.attributes) {\n script.setAttribute(attribute, options.attributes[attribute]);\n }\n\n if (scriptId) {\n script.id = scriptId;\n }\n\n var callObserverFuncAndRemoveObserver = function callObserverFuncAndRemoveObserver(func) {\n if (SCRIPT_MAP[scriptURL]) {\n var mapEntry = SCRIPT_MAP[scriptURL];\n var observersMap = mapEntry.observers;\n\n for (var obsKey in observersMap) {\n if (func(observersMap[obsKey])) {\n delete observersMap[obsKey];\n }\n }\n }\n };\n\n if (callbackName && typeof window !== \"undefined\") {\n window[callbackName] = function () {\n return _this3.asyncScriptLoaderTriggerOnScriptLoaded();\n };\n }\n\n script.onload = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.loaded = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n if (callbackName) {\n return false;\n }\n\n observer(mapEntry);\n return true;\n });\n }\n };\n\n script.onerror = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.errored = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n observer(mapEntry);\n return true;\n });\n }\n };\n\n document.body.appendChild(script);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n // Remove tag script\n var scriptURL = this.__scriptURL;\n\n if (options.removeOnUnmount === true) {\n var allScripts = document.getElementsByTagName(\"script\");\n\n for (var i = 0; i < allScripts.length; i += 1) {\n if (allScripts[i].src.indexOf(scriptURL) > -1) {\n if (allScripts[i].parentNode) {\n allScripts[i].parentNode.removeChild(allScripts[i]);\n }\n }\n }\n } // Clean the observer entry\n\n\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n delete mapEntry.observers[this.asyncScriptLoaderGetScriptLoaderID()];\n\n if (options.removeOnUnmount === true) {\n delete SCRIPT_MAP[scriptURL];\n }\n }\n };\n\n _proto.render = function render() {\n var globalName = options.globalName; // remove asyncScriptOnLoad from childProps\n\n var _this$props = this.props,\n asyncScriptOnLoad = _this$props.asyncScriptOnLoad,\n forwardedRef = _this$props.forwardedRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"asyncScriptOnLoad\", \"forwardedRef\"]); // eslint-disable-line no-unused-vars\n\n\n if (globalName && typeof window !== \"undefined\") {\n childProps[globalName] = typeof window[globalName] !== \"undefined\" ? window[globalName] : undefined;\n }\n\n childProps.ref = forwardedRef;\n return createElement(WrappedComponent, childProps);\n };\n\n return AsyncScriptLoader;\n }(Component); // Note the second param \"ref\" provided by React.forwardRef.\n // We can pass it along to AsyncScriptLoader as a regular prop, e.g. \"forwardedRef\"\n // And it can then be attached to the Component.\n\n\n var ForwardedComponent = forwardRef(function (props, ref) {\n return createElement(AsyncScriptLoader, _extends({}, props, {\n forwardedRef: ref\n }));\n });\n ForwardedComponent.displayName = \"AsyncScriptLoader(\" + wrappedComponentName + \")\";\n ForwardedComponent.propTypes = {\n asyncScriptOnLoad: PropTypes.func\n };\n return hoistStatics(ForwardedComponent, WrappedComponent);\n };\n}","import ReCAPTCHA from \"./recaptcha\";\nimport makeAsyncScriptLoader from \"react-async-script\";\nvar callbackName = \"onloadcallback\";\nvar globalName = \"grecaptcha\";\n\nfunction getOptions() {\n return typeof window !== \"undefined\" && window.recaptchaOptions || {};\n}\n\nfunction getURL() {\n var dynamicOptions = getOptions();\n var hostname = dynamicOptions.useRecaptchaNet ? \"recaptcha.net\" : \"www.google.com\";\n return \"https://\" + hostname + \"/recaptcha/api.js?onload=\" + callbackName + \"&render=explicit\";\n}\n\nexport default makeAsyncScriptLoader(getURL, {\n callbackName: callbackName,\n globalName: globalName\n})(ReCAPTCHA);","import RecaptchaWrapper from \"./recaptcha-wrapper\";\nimport ReCAPTCHA from \"./recaptcha\";\nexport default RecaptchaWrapper;\nexport { ReCAPTCHA };","import React, { useContext, useEffect, useRef, useState } from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport Input from '../Input';\r\nimport { QrCodeDataContext } from '../../providers/QrCodeDataProvider';\r\n\r\nimport { ReactComponent as Motorcycle } from './images/motocykl.svg';\r\nimport { ReactComponent as PersonalCar } from './images/sam_osobowy.svg';\r\nimport { ReactComponent as ElectricCar } from './images/sam_elektr.svg';\r\nimport { ReactComponent as Truck } from './images/sam_ciezarowy.svg';\r\nimport { ReactComponent as TruckWithBodywork } from './images/ciezarowy_z_zabudowa.svg';\r\nimport { ReactComponent as Bus } from './images/autobus.svg';\r\nimport { ReactComponent as BuildingMachine } from './images/maszyna_budowlana_rolnicza.svg';\r\nimport { ReactComponent as AgriculturalTractor } from './images/ciagnik_rolniczy.svg';\r\nimport { ReactComponent as Sportcar } from './images/samochod_premium.svg';\r\nimport { ReactComponent as Semitrailer } from './images/naczepa.svg';\r\nimport { ReactComponent as ForkliftTruck } from './images/wozek_widlowy.svg';\r\nimport informationClause from '../../assets/files/Klauzula_informacyjna.pdf';\r\nimport valuationRules from '../../assets/files/Regulamin_wycena.pdf';\r\n\r\nimport lock from './images/lock.svg';\r\nimport { postForm } from '../../services';\r\nimport Loader from '../Loader';\r\nimport makesList from '../../constants/makesList';\r\nimport typeOfCarsCategory from '../../constants/typeOfCarsCategory';\r\nimport Select from '../Select';\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\n\r\nconst BUILDING_MACHINE_CATEGORY_ID = 1;\r\nconst regExpText = /^[A-Za-zęóąśłżźćńĘÓĄŚŁŻŹĆŃ -.]+$/u;\r\nconst regExpPhone = /^(([\\+]?[0-9]{11})|([0-9]{9}))$/gm;\r\nconst regExpEmail = /\\b[\\w\\.-]+@[\\w\\.-]+\\.\\w{2,4}\\b/gi;\r\nconst regExpPostalCode = /^[0-9]{2}[-\\s]*?[0-9]{3}$/;\r\nconst regExpNIP = /^[0-9]{10}$/;\r\nconst regExpVIN = /^[A-HJ-NPR-Za-hj-npr-z0-9]+$/; // W0L0TGF4835167621\r\nconst regExpRegNumber = /^([0-9a-zA-Z\\s]+)$/; // GSP 85MW\r\nconst categories = [\r\n {\r\n id: 12,\r\n orderCode: 'DEK-WPM(S)',\r\n typesOfCategory: [typeOfCarsCategory.motorcycle],\r\n title: 'Motocykl',\r\n value: 'MOTOCYKL',\r\n price: '492,00',\r\n description: 'Wycena wartości motocykla',\r\n icon: \r\n },\r\n {\r\n id: 1,\r\n orderCode: 'DEK-WPO/T/D(S)',\r\n typesOfCategory: [typeOfCarsCategory.normalCars, typeOfCarsCategory.offRoadCars, typeOfCarsCategory.smallTrack],\r\n title: 'osobowy, terenowy, dostawczy do 3,5 t',\r\n value: 'SAMOCHÓD OSOBOWY',\r\n price: '615,00',\r\n description:\r\n 'Wycena wartości samochodu osobowego, terenowego lub dostawczego o dopuszczalnej masie całkowitej do 3,5 t',\r\n icon: \r\n },\r\n {\r\n id: 8,\r\n orderCode: 'DEK-WPOE(S)',\r\n typesOfCategory: [typeOfCarsCategory.normalCars, typeOfCarsCategory.offRoadCars, typeOfCarsCategory.smallTrack],\r\n title: `elektryczny, hybryda do 3,5 t`,\r\n value: 'SAMOCHÓD ELEKTRYCZNY',\r\n price: '738,00',\r\n description: 'Wycena wartości samochodu elektrycznego/hybrydowego o dopuszczalnej masie całkowitej do 3,5 t',\r\n icon: \r\n },\r\n {\r\n id: 8,\r\n orderCode: 'DEK-WPS/P(S)',\r\n typesOfCategory: [''],\r\n title: 'sportowy, klasa premium',\r\n value: 'SAMOCHÓD SPORTOWY',\r\n price: '861,00',\r\n description:\r\n 'Wycena wartości samochodu sportowego, klasy premium: Aston Martin, Audi A6/A7/A8/R8/TT/Q5/Q7/Q8/wersje ' +\r\n 'S/wersje RS, Bentley, BMW 5/6/7/8/Z/wersje M/X5/X6/X7, Brabus, Chevrolet Corvette, Ferrari, Infiniti, ' +\r\n 'Jaguar, Lamborghini, Lexus, Lotus, Maserati, Mercedes-Benz ' +\r\n 'E/CL/CLA/AMG/GLA/MAYBACH/S/R/G/GL/GLC/GLE/GLS/X/SL/SLK/wersje AMG, Porsche, Rolls-Royce, VOLVO S90/V90',\r\n icon: \r\n },\r\n {\r\n id: 5,\r\n orderCode: 'DEK-WPP(S)',\r\n typesOfCategory: [''],\r\n title: 'naczepa powyżej 3,5 t',\r\n value: 'NACZEPA',\r\n price: '676,50',\r\n description: 'Wycena wartości naczepy o dopuszczalnej masie całkowitej powyżej 3,5 t',\r\n icon: \r\n },\r\n {\r\n id: 3,\r\n orderCode: 'DEK-WPC(S)',\r\n typesOfCategory: [typeOfCarsCategory.bigTruck],\r\n title: 'ciężarowy',\r\n value: 'SAMOCHÓD CIĘŻAROWY',\r\n price: '799,50',\r\n description: 'Wycena wartości samochodu ciężarowego o dopuszczalnej masie całkowitej powyżej 3,5 t',\r\n icon: \r\n },\r\n {\r\n id: 8,\r\n orderCode: 'DEK-WPCS(S)',\r\n typesOfCategory: [typeOfCarsCategory.bigTruck],\r\n title: 'ciężarowy z zabudową, naczepa z zabudową',\r\n value: 'SAMOCHÓD CIĘŻAROWY Z ZABUDOWĄ',\r\n price: '922,50',\r\n description: 'Wycena wartości samochodu ciężarowego z zabudową (np. wywrotka, betonomieszarka, hds, chłodnia)',\r\n icon: \r\n },\r\n {\r\n id: 11,\r\n orderCode: 'DEK-WPA(S)',\r\n typesOfCategory: [typeOfCarsCategory.bus],\r\n title: 'autobus',\r\n value: 'AUTOBUS',\r\n price: '984,00',\r\n description: 'Wycena wartości autobusu',\r\n icon: \r\n },\r\n {\r\n id: 8,\r\n orderCode: 'DEK-WPW(S)',\r\n typesOfCategory: [''],\r\n title: 'wózek widłowy',\r\n value: 'WÓZEK WIDŁOWY',\r\n price: '738,00',\r\n description: 'Wycena wartości wózka widłowego',\r\n icon: \r\n },\r\n {\r\n id: 6,\r\n orderCode: '',\r\n typesOfCategory: [''],\r\n title: 'maszyna',\r\n value: 'MASZYNA BUDOWLANA, ROLNICZA',\r\n icon: ,\r\n mainCategoryId: BUILDING_MACHINE_CATEGORY_ID\r\n },\r\n {\r\n id: 6,\r\n orderCode: 'DEK-WM-100',\r\n typesOfCategory: [''],\r\n title: 'maszyna o wartości',\r\n subtitle: 'do 100.000 zł (netto)',\r\n value: '',\r\n price: '1 107,00',\r\n description:\r\n 'Wycena wartości pojedynczej maszyny (nie obejmuje linii technologicznych) o wartości do 100.000 zł (netto)',\r\n parentCategory: BUILDING_MACHINE_CATEGORY_ID,\r\n icon: \r\n },\r\n {\r\n id: 6,\r\n orderCode: 'DEK-WM-200',\r\n typesOfCategory: [''],\r\n title: 'maszyna o wartości',\r\n subtitle: '100.001-200.000 zł (netto)',\r\n value: '',\r\n price: '1 230,00',\r\n description:\r\n 'Wycena wartości pojedynczej maszyny (nie obejmuje linii technologicznych) o wartości od 100.001-200.000 zł (netto)',\r\n parentCategory: BUILDING_MACHINE_CATEGORY_ID,\r\n icon: \r\n },\r\n {\r\n id: 6,\r\n orderCode: 'DEK-WM-300',\r\n typesOfCategory: [''],\r\n title: 'maszyna o wartości',\r\n subtitle: '200.001-300.000 zł (netto)',\r\n value: '',\r\n price: '1 599,00',\r\n description:\r\n 'Wycena wartości pojedynczej maszyny (nie obejmuje linii technologicznych) o wartości od 200.001-300.000 zł (netto)',\r\n parentCategory: BUILDING_MACHINE_CATEGORY_ID,\r\n icon: \r\n },\r\n {\r\n id: 6,\r\n orderCode: 'DEK-WM-500',\r\n typesOfCategory: [''],\r\n title: 'maszyna o wartości',\r\n subtitle: '300.001-500.000 zł (netto)',\r\n value: '',\r\n price: '1 845,00',\r\n description:\r\n 'Wycena wartości pojedynczej maszyny (nie obejmuje linii technologicznych) o wartości od 300.001-500.000 zł (netto)',\r\n parentCategory: BUILDING_MACHINE_CATEGORY_ID,\r\n icon: \r\n },\r\n {\r\n id: 6,\r\n orderCode: 'DEK-WM-750',\r\n typesOfCategory: [''],\r\n title: 'maszyna o wartości',\r\n subtitle: '500.001-750.000 zł (netto)',\r\n value: '',\r\n price: '2 214,00',\r\n description:\r\n 'Wycena wartości pojedynczej maszyny (nie obejmuje linii technologicznych) o wartości od 500.001-750.000 zł (netto) ',\r\n parentCategory: BUILDING_MACHINE_CATEGORY_ID,\r\n icon: \r\n },\r\n {\r\n id: 6,\r\n orderCode: 'DEK-WM-1000',\r\n typesOfCategory: [''],\r\n title: 'maszyna o wartości',\r\n subtitle: '750.001-1.000.000 zł (netto)',\r\n value: '',\r\n price: '2 706,00',\r\n description:\r\n 'Wycena wartości pojedynczej maszyny (nie obejmuje linii technologicznych) o wartości od 750.001-1.000.000 zł (netto)',\r\n parentCategory: BUILDING_MACHINE_CATEGORY_ID,\r\n icon: \r\n },\r\n {\r\n id: 6,\r\n orderCode: 'DEK-WM-1500',\r\n typesOfCategory: [''],\r\n title: 'maszyna o wartości',\r\n subtitle: '1.000.001-1.500.000 zł (netto)',\r\n value: '',\r\n price: '3 321,00',\r\n description:\r\n 'Wycena wartości pojedynczej maszyny (nie obejmuje linii technologicznych) o wartości od 1.000.001-1.500.000 zł (netto)',\r\n parentCategory: BUILDING_MACHINE_CATEGORY_ID,\r\n icon: \r\n },\r\n {\r\n id: 6,\r\n orderCode: 'DEK-WM-3000',\r\n typesOfCategory: [''],\r\n title: 'maszyna o wartości',\r\n subtitle: '1.500.001-3.000.000 zł (netto)',\r\n value: '',\r\n price: '4 305,00',\r\n description:\r\n 'Wycena wartości pojedynczej (nie obejmuje linii technologicznych) maszyny o wartości od 1.500.001 - 3.000.000 zł (netto) - określenie wartości rynkowej (sprzedaż) na bazie oględzin, jeżeli będzie możliwe przeprowadzenie/obserwacja próby ruchowej/jazdy próbnej oraz określenie wartości metodą porównawczą, a jeżeli nie będzie to możliwe metodą kosztową',\r\n parentCategory: BUILDING_MACHINE_CATEGORY_ID,\r\n icon: \r\n },\r\n {\r\n id: 6,\r\n orderCode: 'DEK-WM-5000',\r\n typesOfCategory: [''],\r\n title: 'maszyna o wartości',\r\n subtitle: '3.000.001-5.000.000 zł (netto)',\r\n value: '',\r\n price: '7 380,00',\r\n description:\r\n 'Wycena wartości pojedynczej (nie obejmuje linii technologicznych) maszyny o wartości od 3.000.001 - 5.000.000 zł (netto) - określenie wartości rynkowej (sprzedaż) na bazie oględzin, jeżeli będzie możliwe przeprowadzenie/obserwacja próby ruchowej/jazdy próbnej oraz określenie wartości metodą porównawczą, a jeżeli nie będzie to możliwe metodą kosztową',\r\n parentCategory: BUILDING_MACHINE_CATEGORY_ID,\r\n icon: \r\n },\r\n {\r\n id: 6,\r\n orderCode: 'DEK-WM-7500',\r\n typesOfCategory: [''],\r\n title: 'maszyna o wartości',\r\n subtitle: '5.000.001-7.500.000 zł (netto)',\r\n value: '',\r\n price: '9 840,00',\r\n description:\r\n 'Wycena wartości pojedynczej (nie obejmuje linii technologicznych) maszyny o wartości od 5.000.001 - 7.500.000 zł (netto) - określenie wartości rynkowej (sprzedaż) na bazie oględzin, jeżeli będzie możliwe przeprowadzenie/obserwacja próby ruchowej/jazdy próbnej oraz określenie wartości metodą porównawczą, a jeżeli nie będzie to możliwe metodą kosztową',\r\n parentCategory: BUILDING_MACHINE_CATEGORY_ID,\r\n icon: \r\n },\r\n {\r\n id: 6,\r\n orderCode: 'DEK-WM-10000',\r\n typesOfCategory: [''],\r\n title: 'maszyna o wartości',\r\n subtitle: '7.500.001-10.000.000 zł (netto)',\r\n value: '',\r\n price: '12 915,00',\r\n description:\r\n 'Wycena wartości pojedynczej (nie obejmuje linii technologicznych) maszyny o wartości od 7.500.001 - 10.000.000 zł (netto) - określenie wartości rynkowej (sprzedaż) na bazie oględzin, jeżeli będzie możliwe przeprowadzenie/obserwacja próby ruchowej/jazdy próbnej oraz określenie wartości metodą porównawczą, a jeżeli nie będzie to możliwe metodą kosztową',\r\n parentCategory: BUILDING_MACHINE_CATEGORY_ID,\r\n icon: \r\n },\r\n\r\n // {\r\n // id: 8,\r\n // orderCode: 'TEST-WEW',\r\n // typesOfCategory: [''],\r\n // title: 'ciągnik rolniczy',\r\n // value: 'CIĄGNIK ROLNICZY',\r\n // icon: ,\r\n // },\r\n];\r\nlet captchaToken = '';\r\nconst FormSection = ({ forceResetForm, setForceResetForm, ifFormEnabled }) => {\r\n const [category, setCategory] = useState(null);\r\n const [parentCategory, setParentCategory] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [success, setSuccess] = useState(false);\r\n const [fail, setFail] = useState(false);\r\n const [acceptNewOrders, setAcceptNewOrders] = useState(true);\r\n const [linkToPayment, setLinkToPayment] = useState('');\r\n\r\n const recaptchaRef = useRef();\r\n const qrCodeContext = useContext(QrCodeDataContext);\r\n\r\n const {\r\n register,\r\n handleSubmit,\r\n formState: { errors },\r\n reset\r\n } = useForm();\r\n\r\n useEffect(() => {\r\n if (forceResetForm) {\r\n sendNewForm();\r\n setForceResetForm(false);\r\n }\r\n }, [forceResetForm]);\r\n\r\n useEffect(() => {\r\n if (qrCodeContext.data.VehicleCategory) {\r\n let actualCategory = categories.map((vehicle) => vehicle.value).indexOf(qrCodeContext.data.VehicleCategory);\r\n\r\n if (qrCodeContext.data.VehicleCategory === 'SAMOCHÓD OSOBOWY' && qrCodeContext.data.Fuel.includes('EE')) {\r\n actualCategory = categories.map((vehicle) => vehicle.value).indexOf('SAMOCHÓD ELEKTRYCZNY');\r\n }\r\n\r\n setCategory(actualCategory);\r\n\r\n let contactPerson = '';\r\n if (qrCodeContext.data.Name && qrCodeContext.data.Surname) {\r\n contactPerson = `${qrCodeContext.data.Name} ${qrCodeContext.data.Surname}`;\r\n }\r\n\r\n let ownerCompany = '';\r\n if (qrCodeContext.data.Name === null && qrCodeContext.data.Surname === null) {\r\n ownerCompany = qrCodeContext.data.Owner;\r\n }\r\n\r\n let dataFromQr = {\r\n ContactPerson: contactPerson,\r\n Name: qrCodeContext.data.Name,\r\n Surname: qrCodeContext.data.Surname,\r\n OwnerCompany: ownerCompany,\r\n VIN: qrCodeContext.data.Vin,\r\n Make: qrCodeContext.data.Make,\r\n RegNumber: qrCodeContext.data.RegistrationNumber,\r\n FirstRegDate: qrCodeContext.data.FirstRegistrationDate,\r\n InspectionAddressCity: qrCodeContext.data.City,\r\n InspectionAddressPostalCode: qrCodeContext.data.PostalCode,\r\n InspectionAddress: qrCodeContext.data.Adress\r\n };\r\n reset(dataFromQr);\r\n }\r\n }, [qrCodeContext]);\r\n\r\n const onSubmit = async (data) => {\r\n\r\n if (!captchaToken) {\r\n captchaToken = await recaptchaRef.current.executeAsync();\r\n }\r\n\r\n setLoading(true);\r\n data['VehicleCategoryId'] = categories[category].id;\r\n data['OrderCode'] = categories[category].orderCode;\r\n data['ContactPersonEmail'] = data['OwnerEmail'];\r\n\r\n await postForm(data)\r\n .then((res) => {\r\n setSuccess(true);\r\n setFail(false);\r\n setLinkToPayment(res.data.PaymentUrl);\r\n })\r\n .catch(() => {\r\n setSuccess(false);\r\n setFail(true);\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n };\r\n\r\n const forceCaptchaChallenge = async () => {\r\n if (recaptchaRef) {\r\n captchaToken = await recaptchaRef.current.executeAsync();\r\n }\r\n };\r\n\r\n const captchaExpired = () => {\r\n captchaToken = '';\r\n };\r\n\r\n const resetCategory = () => {\r\n if (category && parentCategory) {\r\n setCategory(null);\r\n reset({});\r\n return;\r\n }\r\n\r\n setCategory(null);\r\n setParentCategory(null);\r\n reset({});\r\n };\r\n\r\n const handleCategory = (id) => {\r\n if (categories[id]?.mainCategoryId) {\r\n setParentCategory(id);\r\n return;\r\n }\r\n\r\n setCategory(id);\r\n };\r\n\r\n const filterMakesList = () => {\r\n let hintsListArray = [];\r\n makesList.forEach((make) => {\r\n if (categories[category].typesOfCategory.includes(make.kindId) && !hintsListArray.includes(make.makeName)) {\r\n hintsListArray.push(make.makeName);\r\n }\r\n });\r\n return hintsListArray;\r\n };\r\n\r\n const sendNewForm = () => {\r\n if (!success) {\r\n return;\r\n }\r\n setParentCategory(null);\r\n setCategory(null);\r\n reset({});\r\n setSuccess(false);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {success ? (\r\n
    \r\n

    Dziękujemy za wysłanie zamówienia

    \r\n {linkToPayment && (\r\n <>\r\n \r\n Przejdź do płatności\r\n \r\n
    \r\n \r\n
    Bezpieczna płatność.
    \r\n
    \r\n \r\n )}\r\n
    \r\n ) : (\r\n <>\r\n

    Zamów wycenę pojazdu lub maszyny

    \r\n {category !== null ? (\r\n <>\r\n {acceptNewOrders ? (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {categories[category].icon}
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Oględziny oraz sporządzenie wyceny wartości (raport PDF)\r\n
    \r\n
    \r\n cena całkowita {categories[category].price}{' '}\r\n brutto\r\n
    \r\n
    \r\n
    \r\n {categories[category].description && (\r\n \r\n )}\r\n
    \r\n {ifFormEnabled ? (\r\n
    \r\n
    Dane kontaktowe:
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n

    \r\n Dane niezbędne do wystawienia faktury VAT będzie można podać w formularzu płatności.\r\n

    \r\n
    Dane obiektu:
    \r\n
    \r\n {categories[category].parentCategory === BUILDING_MACHINE_CATEGORY_ID ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n
    Adres oględzin:
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n Klauzuli informacyjnej dotyczącej przetwarzania danych osobowych`\r\n }\r\n type={'checkbox'}\r\n inputName=\"ConsentToProcessingPersonalData\"\r\n validation={{\r\n required: { value: true, message: 'Wymagane' }\r\n }}\r\n />\r\n Regulamin usługi`}\r\n type={'checkbox'}\r\n inputName=\"AcceptanceOfRegulations\"\r\n validation={{\r\n required: { value: true, message: 'Wymagane' }\r\n }}\r\n />\r\n \r\n \r\n \r\n
    \r\n {/* // temporary added my private recaptcha v3 key */}\r\n \r\n
    \r\n
    \r\n \r\n {fail && (\r\n
    \r\n Coś poszło nie tak, proszę skontaktować się z administratorem\r\n
    \r\n )}\r\n \r\n ) : (\r\n
    \r\n

    Szanowni Państwo,

    \r\n

    w porównaniu z analogicznym okresem w ubiegłym roku otrzymujemy obecnie znacznie więcej zleceń rzeczoznawczych.

    \r\n

    Od początku roku aktywnie zwiększamy strukturę ekspertów DEKRA, jednak obecna i planowana ilość zleceń od stałych klientów powoduje, że nasza struktura rzeczoznawcza jest już obciążona w 100%.

    \r\n

    W związku z powyższym, stawiając sobie wysokie standardy wykonywania naszych usług, w tym terminową realizację zleceń, postanowiliśmy do 07.06.2024 zawiesić przyjmowanie nowych zleceń.

    \r\n

    Przepraszamy Państwa za powstałe niedogodności.

    \r\n

    Zespół DEKRA Polska

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n ) : (\r\n
    \r\n

    Szanowni Państwo,

    \r\n

    w porównaniu z analogicznym okresem w ubiegłym roku otrzymujemy obecnie ponad 50% więcej zleceń rzeczoznawczych.

    \r\n

    Od początku roku aktywnie zwiększamy strukturę ekspertów DEKRA, jednak obecna i planowana ilość zleceń od stałych klientów powoduje, że nasza struktura rzeczoznawcza jest już obciążona w 100%.

    \r\n

    W związku z powyższym, stawiając sobie wysokie standardy wykonywania naszych usług, w tym terminową realizację zleceń, postanowiliśmy do odwołania zawiesić przyjmowanie nowych zleceń.

    \r\n

    Przepraszamy Państwa za powstałe niedogodności.

    \r\n

    Zespół DEKRA Polska

    \r\n
    \r\n )}\r\n \r\n ) : (\r\n <>\r\n {parentCategory &&
    }\r\n
    \r\n
    \r\n {parentCategory\r\n ? categories.map((category, index) => {\r\n if (category?.parentCategory === categories[parentCategory]?.mainCategoryId) {\r\n return (\r\n
    handleCategory(index)} key={index}>\r\n
    \r\n
    {category.icon}
    \r\n \r\n {category?.subtitle && (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n })\r\n : categories.map((category, index) => {\r\n if (!category?.parentCategory) {\r\n return (\r\n
    handleCategory(index)} key={index}>\r\n
    \r\n
    {category.icon}
    \r\n \r\n {category?.subtitle && (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n })}\r\n
    \r\n
    \r\n \r\n )}\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FormSection;\r\n","import React from 'react';\n\nimport { createFormControl } from './logic/createFormControl';\nimport getProxyFormState from './logic/getProxyFormState';\nimport shouldRenderFormState from './logic/shouldRenderFormState';\nimport {\n FieldErrors,\n FieldNamesMarkedBoolean,\n FieldValues,\n FormState,\n UseFormProps,\n UseFormReturn,\n} from './types';\nimport { useSubscribe } from './useSubscribe';\n\n/**\n * Custom hook to mange the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n *
    \n * \n * \n * {errors.exampleRequired && This field is required}\n * \n *
    \n * );\n * }\n * ```\n */\nexport function useForm<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n>(\n props: UseFormProps = {},\n): UseFormReturn {\n const _formControl = React.useRef<\n UseFormReturn | undefined\n >();\n const [formState, updateFormState] = React.useState>({\n isDirty: false,\n isValidating: false,\n dirtyFields: {} as FieldNamesMarkedBoolean,\n isSubmitted: false,\n submitCount: 0,\n touchedFields: {} as FieldNamesMarkedBoolean,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n errors: {} as FieldErrors,\n });\n\n if (_formControl.current) {\n _formControl.current.control._options = props;\n } else {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n\n const control = _formControl.current.control;\n\n const callback = React.useCallback(\n (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, true)) {\n control._formState = {\n ...control._formState,\n ...value,\n };\n\n updateFormState({ ...control._formState });\n }\n },\n [control],\n );\n\n useSubscribe({\n subject: control._subjects.state,\n callback,\n });\n\n React.useEffect(() => {\n if (!control._stateFlags.mount) {\n control._proxyFormState.isValid && control._updateValid();\n control._stateFlags.mount = true;\n }\n if (control._stateFlags.watch) {\n control._stateFlags.watch = false;\n control._subjects.state.next({});\n }\n control._removeUnmounted();\n });\n\n _formControl.current.formState = getProxyFormState(\n formState,\n control._proxyFormState,\n );\n\n return _formControl.current;\n}\n","import React from 'react';\r\n\r\nimport europe from '../../assets/icons/europe.png';\r\nimport poland from '../../assets/icons/poland.png';\r\nimport contract from '../../assets/icons/contract.png';\r\n\r\nconst UseExpertsServices = () => {\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n skorzystaj z usług ekspertów dekra\r\n

    \r\n
    \r\n
    \r\n \"europe\"\r\n

    Największa organizacja ekspertów w Europie założona w 1925 r.

    \r\n
    \r\n
    \r\n \"poland\"\r\n
    \r\n

    W Polsce od 1996 r.

    \r\n

    Ponad 100.000 ekspertyz rocznie

    \r\n
    \r\n
    \r\n
    \r\n \"contract\"\r\n

    Podpisane umowy z większością firm leasingowych w Polsce

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default UseExpertsServices;\r\n","let body = document.getElementsByTagName('body')[0];\r\n\r\nexport const blockScroll = () => {\r\n if (body) {\r\n body.classList.add('block-scroll');\r\n }\r\n};\r\n\r\nexport const unblockScroll = () => {\r\n if (body) {\r\n body.classList.remove('block-scroll');\r\n }\r\n};\r\n","import React, { useState } from 'react';\r\nimport { useRef } from 'react';\r\nimport { useEffect } from 'react';\r\nimport * as ScanditSDK from 'scandit-sdk';\r\nimport { blockScroll, unblockScroll } from '../../helpers/blockScroll';\r\n\r\nconst Scanner = ({ closeScanner, uncodedData }) => {\r\n const [isLoaded, setIsLoaded] = useState(false);\r\n const [isError, setIsError] = useState(null);\r\n const scan = useRef(null);\r\n const picker = useRef(null);\r\n\r\n useEffect(() => {\r\n handleScan();\r\n blockScroll();\r\n return () => {\r\n unblockScroll();\r\n\r\n if (picker.current) {\r\n picker.current.destroy(true);\r\n }\r\n };\r\n }, []);\r\n\r\n const handleCloseScanner = () => {\r\n setIsError(null);\r\n closeScanner();\r\n };\r\n\r\n const handleScan = () => {\r\n ScanditSDK.configure(process.env.REACT_APP_SCANDIT_KEY, {\r\n engineLocation: 'https://cdn.jsdelivr.net/npm/scandit-sdk@5.x/build/'\r\n })\r\n .then(() => {\r\n return ScanditSDK.BarcodePicker.create(scan.current, {\r\n playSoundOnScan: false,\r\n guiStyle: ScanditSDK.BarcodePicker.GuiStyle.NONE,\r\n enableCameraSwitcher: false,\r\n cameraAccess: true,\r\n scanSettings: new ScanditSDK.ScanSettings({\r\n enabledSymbologies: ['aztec'],\r\n visible: true,\r\n codeDuplicateFilter: 1000,\r\n cameraAccess: true\r\n })\r\n });\r\n })\r\n .then((barcodePicker) => {\r\n picker.current = barcodePicker;\r\n setIsLoaded(true);\r\n barcodePicker.on('scan', (scanResult) => {\r\n uncodedData(scanResult.barcodes[0].data);\r\n });\r\n })\r\n .catch((error) => {\r\n const errorName = error.name;\r\n const errorMessage = error.message;\r\n\r\n if (errorName === 'NotAllowedError') {\r\n if (errorMessage === 'Permission denied by system') {\r\n console.error('Permission denied by system');\r\n } else if (errorMessage === 'Permission denied') {\r\n setIsError('Zmień uprawnienia strony do korzystania z kamery, aby móc zeskanować');\r\n }\r\n } else if (errorName === 'NotReadableError') {\r\n console.error('NotReadableError');\r\n }\r\n });\r\n };\r\n return (\r\n
    \r\n {isError &&
    {isError}
    }\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Scanner;\r\n","import React, { useEffect, useRef, useState, useContext } from 'react';\r\n\r\nimport Loader from '../Loader';\r\n\r\nimport scrollMeTo from '../../helpers/scrollMeTo';\r\nimport useWindowSize from '../../helpers/useWindowSize';\r\nimport { decodeDataService } from '../../services';\r\nimport { QrCodeDataContext } from '../../providers/QrCodeDataProvider';\r\n\r\nimport qr_code from '../../assets/icons/qr_code.png';\r\nimport form from '../../assets/icons/form.png';\r\nimport Scanner from '../Scanner';\r\nimport { isMobileOnly } from 'react-device-detect';\r\n\r\nconst OrderPricingButtons = ({ setForceResetForm }) => {\r\n const [success, setSuccess] = useState('');\r\n const [error, setError] = useState('');\r\n const [uploading, setUploading] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [progressValue, setProgressValue] = useState(0);\r\n const statusRef = React.useRef();\r\n const qrCodeContext = useContext(QrCodeDataContext);\r\n const [showScanner, setShowScanner] = useState(false);\r\n\r\n const decodeData = async (value) => {\r\n setShowScanner(false);\r\n setLoading(true);\r\n\r\n let text = value;\r\n await decodeDataService(text)\r\n .then((res) => {\r\n setError('');\r\n qrCodeContext.updateData(res.data.Data);\r\n setForceResetForm(true);\r\n scrollMeTo('formSection');\r\n })\r\n .catch((err) => {\r\n setError('Nie udało się zeskanować zdjęcia. Wpisz dane do formularza');\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n };\r\n\r\n return (\r\n
    \r\n {showScanner && setShowScanner(false)} uncodedData={(value) => decodeData(value)} />}\r\n \r\n
    \r\n
    \r\n
    \r\n {isMobileOnly && (\r\n
    \r\n setShowScanner(true)}\r\n >\r\n

    Zamów wycenę

    \r\n
    \r\n
    \r\n \"qr\r\n

    setShowScanner(false)}>\r\n Moge zeskanowac kod QR z dowodu rejestracyjnego\r\n

    \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n {\r\n setForceResetForm(true);\r\n scrollMeTo('formSection');\r\n }}\r\n >\r\n

    Zamów wycenę

    \r\n

    Pojazdu lub maszyny

    \r\n
    \r\n {isMobileOnly && (\r\n
    \r\n \"qr\r\n

    Wpiszę dane do formularza

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {error && (\r\n <>\r\n
    {error}
    \r\n \r\n )}\r\n {success && (\r\n <>\r\n
    {success}
    \r\n \r\n )}\r\n
    \r\n
    \r\n Masz więcej pojazdów/maszyn lub maszyny/urządzenia o wartości powyżej 1,5 mln do wyceny?\r\n
    \r\n Skontaktuj się z nami:  \r\n \r\n ekspertyza.pl@dekra.com\r\n \r\n ,  \r\n \r\n +48.22.577-36-19\r\n \r\n ,  \r\n \r\n +48.22.577.36-09\r\n \r\n ,  \r\n \r\n 608-661-454\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default OrderPricingButtons;\r\n","import React, { useState } from 'react';\r\nimport Header from '../../components/Header';\r\nimport Navbar from '../../components/Navbar';\r\nimport HowItWork from '../../components/HowItWork';\r\nimport FAQSection from '../../components/FAQSection';\r\nimport Footer from '../../components/Footer';\r\nimport FormSection from '../../components/FormSection';\r\nimport UseExpertsServices from '../../components/UseExpertsServices';\r\nimport OrderPricingButtons from '../../components/OrderPricingButtons';\r\n\r\nconst Index = () => {\r\n const [forceResetForm, setForceResetForm] = useState(false);\r\n const ifFormEnabled = true;\r\n \r\n return (\r\n
    \r\n {/* {!ifFormEnabled && (\r\n
    \r\n
    \r\n

    \r\n Szanowni Państwo,
    \r\n Ze względu na dużą ilość zamówień kontraktowych czasowo wstrzymujemy przyjęcia zleceń detalicznych.\r\n Funkcjonalność zostanie przywrócona w styczniu.
    \r\n Przepraszamy za utrudnienia.\r\n

    \r\n
    \r\n
    \r\n )} */}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Index;\r\n","import React from 'react';\r\n\r\nconst Page404 = () => {\r\n return
    Page not found
    ;\r\n};\r\n\r\nexport default Page404;\r\n","import React from 'react';\r\nimport { BrowserRouter, Route, Routes } from 'react-router-dom';\r\n\r\nimport './assets/styles/index.scss';\r\n\r\nimport HomePage from './pages/HomePage';\r\nimport Page404 from './pages/Page404';\r\nimport QrCodeDataProvider from './providers/QrCodeDataProvider';\r\n\r\nfunction App() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n } />\r\n } />\r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default App;\r\n","const reportWebVitals = (onPerfEntry) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom/client';\r\nimport App from './App';\r\nimport reportWebVitals from './reportWebVitals';\r\n\r\nconst root = ReactDOM.createRoot(document.getElementById('root'));\r\nroot.render(\r\n \r\n \r\n \r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"names":["module","exports","arr","len","length","i","arr2","Array","__esModule","unsupportedIterableToArray","o","allowArrayLike","it","Symbol","iterator","isArray","F","s","n","done","value","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2","obj","key","Object","defineProperty","enumerable","configurable","writable","arrayLikeToArray","minLen","prototype","toString","slice","constructor","name","from","test","utils","require","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","transitionalDefaults","AxiosError","CanceledError","parseProtocol","config","Promise","resolve","reject","onCanceled","requestData","data","requestHeaders","headers","responseType","cancelToken","unsubscribe","signal","removeEventListener","isFormData","isStandardBrowserEnv","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","ETIMEDOUT","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","type","abort","subscribe","aborted","protocol","ERR_BAD_REQUEST","send","bind","Axios","mergeConfig","axios","createInstance","defaultConfig","context","instance","extend","create","instanceConfig","CancelToken","isCancel","VERSION","toFormData","Cancel","all","promises","spread","isAxiosError","executor","resolvePromise","this","promise","token","then","_listeners","l","onfulfilled","_resolve","message","reason","throwIfRequested","listener","push","index","splice","source","c","ERR_CANCELED","inherits","__CANCEL__","InterceptorManager","dispatchRequest","validator","validators","defaults","interceptors","configOrUrl","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","apply","concat","shift","newConfig","onFulfilled","onRejected","error","getUri","generateHTTPMethod","isForm","code","Error","toJSON","description","number","fileName","lineNumber","columnNumber","stack","descriptors","defineProperties","customProps","axiosError","toFlatObject","assign","handlers","use","options","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","config1","config2","getMergedValue","target","isPlainObject","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","keys","configValue","validateStatus","ERR_BAD_RESPONSE","Math","floor","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","getDefaultAdapter","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isFileList","isObjectPayload","isObject","contentType","_FormData","env","FormData","rawValue","parser","encoder","isString","JSON","parse","trim","stringify","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","args","arguments","encode","replace","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","document","match","RegExp","decodeURIComponent","remove","now","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","exec","callback","formData","convertValue","isTypedArray","Blob","Buffer","build","parentKey","fullKey","endsWith","toArray","el","append","pop","thing","deprecatedWarnings","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","schema","allowUnknown","ERR_BAD_OPTION_VALUE","result","ERR_BAD_OPTION","cache","kindOf","str","kindOfTest","getPrototypeOf","isFunction","hasOwnProperty","TypedArray","Uint8Array","pattern","ArrayBuffer","isView","pipe","product","assignValue","a","b","stripBOM","content","charCodeAt","superConstructor","props","sourceObj","destObj","filter","merged","getOwnPropertyNames","searchString","position","String","lastIndex","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertySymbols","getOwnPropertyDescriptor","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","FUNC_ERROR_TEXT","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","freeSelf","self","root","Function","objectToString","nativeMax","max","nativeMin","min","debounce","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","toNumber","clearTimeout","flush","isObjectLike","isSymbol","other","valueOf","isBinary","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","array","bigint","bool","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","ex","React","React__default","UAParser","ClientUAInstance","browser","getBrowser","cpu","getCPU","device","getDevice","engine","getEngine","os","getOS","ua","getUA","setUa","userAgentString","setUA","parseUserAgent","UserAgentInstance","UA","setUserAgent","UAHelper","freeze","ownKeys","enumerableOnly","symbols","sym","_typeof","_defineProperties","_defineProperty","_extends","_getPrototypeOf","setPrototypeOf","__proto__","_setPrototypeOf","p","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_assertThisInitialized","ReferenceError","_slicedToArray","_arrayWithHoles","_i","_s","_arr","_n","_d","_iterableToArrayLimit","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","DeviceTypes","BrowserTypes","Chrome","Firefox","Opera","Yandex","Safari","InternetExplorer","Edge","Chromium","Ie","MobileSafari","EdgeChromium","MIUI","SamsungBrowser","OsTypes","IOS","Android","WindowsPhone","Windows","MAC_OS","InitialDeviceTypes","isMobile","isTablet","isBrowser","isSmartTV","isConsole","isWearable","setDefaults","d","getNavigatorInstance","isIOS13Check","nav","platform","maxTouchPoints","MSStream","mobilePayload","getOwnPropertyDescriptors","_objectSpread2","vendor","model","osVersion","isMobileType","_ref","isTabletType","_ref2","isMobileAndTabletType","_ref3","isSmartTVType","_ref4","isBrowserType","_ref5","isWearableType","_ref6","isConsoleType","_ref7","isEmbeddedType","_ref8","getMobileVendor","_ref9","getMobileModel","_ref10","getDeviceType","_ref11","isAndroidType","_ref12","isWindowsType","_ref13","isMacOsType","_ref14","isWinPhoneType","_ref15","isIOSType","_ref16","getOsVersion","_ref17","getOsName","_ref18","isChromeType","_ref19","isFirefoxType","_ref20","isChromiumType","_ref21","isEdgeType","_ref22","isYandexType","_ref23","isSafariType","_ref24","isMobileSafariType","_ref25","isOperaType","_ref26","isIEType","_ref27","isMIUIType","_ref28","isSamsungBrowserType","_ref29","getBrowserFullVersion","_ref30","getBrowserVersion","_ref31","major","getBrowserName","_ref32","getEngineName","_ref33","getEngineVersion","_ref34","isElectronType","isEdgeChromiumType","getIOS13","getIPad13","getIphone13","getIPod13","getUseragent","userAg","buildSelectorsObject","isEmbedded","isMobileSafari","isChromium","isMobileOnly","isDesktop","isAndroid","isWinPhone","isIOS","isChrome","isFirefox","isSafari","isOpera","isIE","osName","fullBrowserVersion","browserVersion","browserName","mobileVendor","mobileModel","engineName","engineVersion","isEdge","isYandex","deviceType","isIOS13","isIPad13","isIPhone13","isIPod13","isElectron","isEdgeChromium","isLegacyEdge","isWindows","isMacOs","isMIUI","isSamsungBrowser","useDeviceData","hookUserAgent","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MODEL","NAME","TYPE","VENDOR","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","AMAZON","APPLE","ASUS","BLACKBERRY","FIREFOX","GOOGLE","HUAWEI","LG","MICROSOFT","MOTOROLA","OPERA","SAMSUNG","SHARP","SONY","XIAOMI","ZEBRA","FACEBOOK","enumerize","enums","has","str1","str2","lowerize","substring","rgxMapper","arrays","j","k","q","matches","regex","strMapper","map","windowsVersionMap","ME","XP","Vista","RT","regexes","CHROME","EDGE","extensions","getResult","_ua","_rgxmap","mergedRegexes","_browser","_cpu","_device","_engine","_os","BROWSER","CPU","DEVICE","ENGINE","OS","define","$","jQuery","Zepto","get","set","aa","ba","da","Set","ea","fa","ha","add","ia","ja","ka","la","ma","t","g","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","z","qa","ra","sa","oa","isNaN","pa","na","removeAttribute","setAttributeNS","xlinkHref","ta","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","for","va","wa","xa","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","A","La","Ma","Na","prepareStackTrace","Reflect","construct","includes","Oa","tag","Pa","$$typeof","_context","_payload","_init","Qa","Ra","Sa","nodeName","Ua","_valueTracker","getValue","setValue","stopTracking","Ta","Va","checked","Wa","activeElement","body","Xa","defaultChecked","defaultValue","_wrapperState","initialChecked","Ya","initialValue","controlled","Za","$a","bb","cb","ownerDocument","db","eb","selected","defaultSelected","disabled","fb","dangerouslySetInnerHTML","children","gb","hb","ib","textContent","jb","kb","lb","mb","namespaceURI","innerHTML","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","nb","lastChild","nodeType","nodeValue","ob","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","pb","qb","rb","style","setProperty","sb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","tb","ub","is","vb","wb","srcElement","correspondingUseElement","parentNode","xb","yb","zb","Ab","Bb","stateNode","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","onError","Nb","Ob","Pb","Qb","Rb","Sb","Ub","alternate","return","flags","Vb","memoizedState","dehydrated","Wb","Yb","child","sibling","current","Xb","Zb","$b","unstable_scheduleCallback","ac","unstable_cancelCallback","bc","unstable_shouldYield","cc","unstable_requestPaint","B","unstable_now","dc","unstable_getCurrentPriorityLevel","ec","unstable_ImmediatePriority","fc","unstable_UserBlockingPriority","gc","unstable_NormalPriority","hc","unstable_LowPriority","ic","unstable_IdlePriority","jc","kc","nc","clz32","oc","pc","log","LN2","qc","rc","sc","tc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","uc","wc","xc","yc","zc","eventTimes","Bc","C","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Map","Oc","Pc","Qc","Rc","delete","pointerId","Sc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Uc","Vc","priority","isDehydrated","containerInfo","Wc","Xc","dispatchEvent","Yc","Zc","$c","ad","bd","ReactCurrentBatchConfig","cd","dd","transition","ed","fd","gd","hd","Tc","stopPropagation","jd","kd","ld","md","nd","keyCode","charCode","od","pd","qd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","vd","wd","xd","rd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","sd","td","view","detail","ud","zd","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","yd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Ad","Cd","dataTransfer","Ed","Gd","animationName","elapsedTime","pseudoElement","Hd","clipboardData","Id","Kd","Ld","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Md","Nd","Alt","Control","Meta","Shift","Od","Pd","fromCharCode","repeat","locale","which","Qd","Sd","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Ud","touches","targetTouches","changedTouches","Wd","Xd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Yd","Zd","$d","ae","documentMode","be","ce","de","ee","fe","ge","he","ke","color","date","datetime","email","month","range","tel","text","week","le","me","ne","event","listeners","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","oninput","ze","detachEvent","Ae","Be","attachEvent","Ce","De","Ee","Ge","He","Je","offset","nextSibling","Ke","contains","compareDocumentPosition","Le","HTMLIFrameElement","contentWindow","Me","contentEditable","Ne","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","focus","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","animationend","animationiteration","animationstart","transitionend","We","Xe","Ye","animation","Ze","$e","af","bf","cf","df","ef","ff","gf","kf","lf","mf","Tb","D","nf","of","pf","qf","random","rf","capture","passive","m","w","J","r","x","sf","tf","parentWindow","uf","vf","Z","ya","ab","ca","ie","char","je","wf","xf","yf","zf","Af","Bf","Cf","Df","__html","Ef","Ff","Gf","If","queueMicrotask","catch","Hf","Jf","Kf","Lf","previousSibling","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","E","G","Uf","H","Vf","Wf","Xf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Yf","Zf","$f","ag","getChildContext","bg","__reactInternalMemoizedMergedChildContext","cg","dg","eg","fg","gg","ig","jg","kg","lg","mg","ng","og","pg","qg","_currentValue","rg","childLanes","sg","dependencies","firstContext","lanes","tg","ug","memoizedValue","vg","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","interleaved","effects","yg","zg","eventTime","lane","Ag","Bg","Cg","Dg","Eg","u","y","Fg","Gg","Hg","Component","refs","Ig","Mg","isMounted","_reactInternals","enqueueSetState","Jg","Kg","Lg","enqueueReplaceState","enqueueForceUpdate","Ng","shouldComponentUpdate","isPureReactComponent","Og","state","updater","Pg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Qg","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","I","fh","gh","hh","deletions","ih","pendingProps","overflow","treeContext","retryLane","jh","mode","kh","lh","mh","memoizedProps","nh","oh","ph","ref","_owner","_stringRef","qh","rh","sh","th","uh","vh","implementation","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","tagName","Gh","Hh","Ih","K","Jh","revealOrder","Kh","Lh","_workInProgressVersionPrimary","Mh","ReactCurrentDispatcher","Nh","Oh","L","M","N","Ph","Qh","Rh","Sh","O","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","baseQueue","queue","ai","bi","ci","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","di","ei","fi","gi","hi","getSnapshot","ii","ji","P","ki","lastEffect","stores","li","mi","ni","destroy","deps","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Hi","Ii","Ti","Vi","Wi","Ji","WeakMap","Ki","Li","Mi","Ni","componentDidCatch","Oi","componentStack","Pi","pingCache","Qi","Ri","Si","Xi","tailMode","tail","Q","subtreeFlags","Yi","pendingContext","Zi","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","createTextNode","R","$i","rendering","aj","renderingStartTime","isBackwards","last","bj","cj","dj","ReactCurrentOwner","ej","fj","gj","hj","ij","jj","kj","lj","baseLanes","cachePool","transitions","mj","nj","oj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","pj","qj","rj","sj","tj","uj","vj","fallback","wj","xj","yj","zj","_reactRetry","Aj","Bj","Cj","Dj","Ej","Gj","Hj","S","Ij","WeakSet","T","Jj","U","Kj","Lj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","insertBefore","_reactRootContainer","Uj","V","Vj","Wj","Xj","onCommitFiberUnmount","componentWillUnmount","Yj","Zj","ak","bk","ck","dk","display","ek","fk","gk","hk","ik","__reactInternalSnapshotBeforeUpdate","src","Uk","jk","ceil","kk","lk","mk","W","X","Y","nk","ok","pk","qk","rk","Infinity","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","callbackNode","expirationTimes","expiredLanes","vc","callbackPriority","hg","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","finishedWork","finishedLanes","Ok","timeoutHandle","Pk","Qk","Rk","Sk","Tk","mutableReadLanes","Ac","Mj","onCommitFiberRoot","lc","onRecoverableError","Vk","onPostCommitFiberRoot","Wk","Xk","Zk","isReactComponent","pendingChildren","$k","mutableSourceEagerHydrationData","al","pendingSuspenseBoundaries","bl","cl","dl","fl","gl","hl","Fj","Yk","jl","reportError","kl","_internalRoot","ll","ml","nl","ol","ql","pl","unmount","unstable_scheduleHydration","querySelectorAll","form","rl","usingClientEntryPoint","Events","sl","findFiberByHostInstance","bundleType","rendererPackageName","tl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","ul","isDisabled","supportsFiber","inject","createPortal","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","_createClass","Constructor","protoProps","staticProps","_react2","_interopRequireDefault","_scrollLink2","default","_classCallCheck","_possibleConstructorReturn","ButtonElement","_React$Component","subClass","superClass","_inherits","_scrollElement2","_propTypes2","ElementWrapper","_this2","newProps","parentBindings","domNode","LinkElement","_temp","_this","_len","_key","_Link2","_Button2","_Element2","_scroller2","_scrollEvents2","_scrollSpy2","_animateScroll2","_Helpers2","scrollSpy","defaultScroller","scrollHash","protoTypes","to","containerId","container","activeClass","spy","smooth","delay","isDynamic","duration","absolute","onSetActive","onSetInactive","ignoreCancelEvents","hashSpy","spyThrottle","Helpers","customScroller","scroller","_initialiseProps","active","getElementById","scrollSpyContainer","getScrollSpyContainer","mount","mapContainer","addStateHandler","stateHandler","addSpyHandler","spyHandler","setState","className","handleClick","scrollTo","getActiveLink","isInitialized","elemTopBound","elemBottomBound","containerTop","getBoundingClientRect","cords","offsetY","isInside","isOutside","activeLink","setActiveLink","getHash","changeHash","updateStates","_React$Component2","_this3","childBindings","registerElems","prevProps","unregister","register","_smooth2","_cancelEvents2","getAnimationType","defaultEasing","requestAnimationFrameHelper","requestAnimationFrame","webkitRequestAnimationFrame","currentWindowProperties","getTime","currentPositionX","containerElement","supportPageOffset","pageXOffset","isCSS1Compat","compatMode","currentPositionY","pageYOffset","animateScroll","easing","timestamp","delta","round","targetPosition","startPosition","progress","percent","currentPosition","horizontal","easedAnimate","registered","setContainer","animateTopScroll","scrollOffset","delayTimeout","parseFloat","proceedOptions","scrollToTop","scrollToBottom","scrollWidth","offsetWidth","html","clientWidth","scrollContainerWidth","scrollHeight","offsetHeight","clientHeight","scrollContainerHeight","toPosition","scrollMore","_passiveEventListeners","events","cancelEvent","addPassiveEventListener","eventName","supportsPassiveOption","removePassiveEventListener","scrollEvent","evtName","_utils","_utils2","mountFlag","initialized","containers","handleHashChange","initStateFromHash","isInit","saveHashHistory","updateHash","_scrollHash2","Link","_React$PureComponent","PureComponent","elemLeftBound","elemRightBound","containerLeft","offsetX","_cords","_props$saveHashHistor","_props$saveHashHistor2","_saveHashHistory","_lodash","_lodash2","spyCallbacks","spySetState","scrollSpyContainers","throttle","eventHandler","throttleAmount","eventThrottler","scrollHandler","handler","update","__mapped","__activeLink","getElementsByName","getElementsByClassName","pow","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","getElementOffsetInfoUntil","predicate","offsetTop","currentOffsetParent","offsetParent","historyUpdate","hashVal","hashToUpdate","curLoc","urlToPush","history","pushState","replaceState","filterElementInContainer","scrollX","getComputedStyle","offsetLeft","scrollY","_getElementOffsetInfo","isDocument","__self","__source","jsx","jsxs","forceUpdate","escape","_status","_result","Children","count","only","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","_toInteger","_defined","toInteger","require$$0","defined","require$$1","_globalModule","__g","core","_coreModule","__e","_aFunction","aFunction","_ctx","that","_isObject","_anObject","_fails","_descriptors","_domCreate","_ie8DomDefine","require$$2","_toPrimitive","anObject","IE8_DOM_DEFINE","toPrimitive","dP","_objectDp","require$$3","Attributes","bitmap","createDesc","_hide","_has","ctx","hide","require$$4","$export","own","out","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","IS_WRAP","expProto","virtual","_redefine","_iterators","_cof","cof","_iobject","IObject","_toIobject","_toLength","toIObject","toLength","SHARED","store","_sharedModule","copyright","px","_uid","uid","_sharedKey","arrayIndexOf","$this","fromIndex","IE_PROTO","_objectKeysInternal","names","_enumBugKeys","$keys","enumBugKeys","_objectKeys","getKeys","_objectDps","Properties","_html","dPs","Empty","createDict","iframeDocument","iframe","require$$5","lt","close","_objectCreate","USE_SYMBOL","_wksModule","def","TAG","_setToStringTag","stat","setToStringTag","IteratorPrototype","_toObject","toObject","ObjectProto","_objectGpo","redefine","Iterators","$iterCreate","require$$6","require$$7","ITERATOR","require$$8","BUGGY","KEYS","VALUES","returnThis","_iterDefine","Base","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","values","$at","pos","iterated","_t","point","_k","Arguments","TO_STRING_TAG","DOMIterables","Collection","ARG","_classof","_anInstance","forbiddenField","Bt","_iterCall","ret","ArrayProto","_isArrayIter","classof","core_getIteratorMethod","getIteratorMethod","isArrayIter","getIterFn","BREAK","RETURN","_forOfModule","iterable","iterFn","exports$1","defer","channel","SPECIES","_speciesConstructor","_invoke","un","invoke","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","run","nextTick","port2","port1","onmessage","postMessage","importScripts","clear","macrotask","Observer","MutationObserver","WebKitMutationObserver","isNode","PromiseCapability","$$resolve","$$reject","_newPromiseCapability","_perform","_userAgent","newPromiseCapability","_promiseResolve","promiseCapability","_redefineAll","safe","DESCRIPTORS","_setSpecies","KEY","SAFE_CLOSING","riter","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","skipClosing","iter","anInstance","forOf","speciesConstructor","require$$9","task","require$$10","microtask","head","notify","parent","exit","enter","standalone","toggle","observe","characterData","newPromiseCapabilityModule","require$$12","perform","require$$13","require$$14","promiseResolve","require$$15","PROMISE","versions","v8","$Promise","empty","USE_NATIVE","FakePromise","require$$16","PromiseRejectionEvent","isThenable","isReject","_c","_v","reaction","exited","fail","_h","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","_a","onrejectionhandled","$reject","_w","$resolve","wrapper","require$$17","$export$k","require$$18","require$$20","capability","require$$21","remaining","$index","alreadyCalled","race","finally","onFinally","try","callbackfn","asyncGeneratorStep","gen","_next","_throw","arg","info","_Promise","_asyncToGenerator","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","_metaModule","NEED","fastKey","getWeak","onFreeze","_wksExt","wksExt","_wksDefine","$Symbol","_objectGops","_objectPie","gOPS","pIE","_isArray","hiddenKeys","_objectGopn","gOPN","windowNames","_objectGopnExt","gOPD","_objectGopd","$fails","wks","require$$11","wksDefine","require$$19","_create","gOPNExt","require$$22","$GOPD","require$$23","$GOPS","require$$24","$DP","require$$25","require$$26","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","$defineProperty","$defineProperties","getSymbols","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","require$$27","require$$28","$export$h","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","require$$30","setToStringTag$1","_Symbol","_Symbol$iterator","$export$g","$Object","exp","fails","$getPrototypeOf","check","_setProto","buggy","_Object$defineProperty","_Object$create","_Object$getPrototypeOf","_Object$setPrototypeOf","_regeneratorRuntime","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","doneResult","isGeneratorFunction","genFun","ctor","mark","awrap","async","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","runtime","regenerator","regeneratorRuntime","accidentalStrictMode","globalThis","dataset","objectFit","getAttribute","objectPosition","getPropertyValue","right","bottom","marginTop","marginLeft","Event","objectFitPolyfill","arraySlice","factories","_bind","partArgs","bound","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","assertThisInitialized","_createProperty","createProperty","$export$b","arrayLike","aLen","mapfn","mapping","_validateCollection","redefineAll","$iterDefine","setSpecies","validate","SIZE","getEntry","_f","_collectionStrong","getConstructor","IS_MAP","ADDER","_l","setStrong","_collection","IS_WEAK","IS_ADDER","strong","_collectionToJson","_setCollectionOf","COLLECTION","_setCollectionFrom","mapFn","nextItem","prefix","EE","once","addListener","emitter","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","listenerCount","a1","a2","a3","a4","a5","removeListener","on","removeAllListeners","off","prefixed","MAP","Barcode","Symbology","CompositeFlag","createFromWASMResult","decodedData","rawData","_unused","symbology","topLeft","topRight","bottomRight","bottomLeft","compositeFlag","isGs1DataCarrier","encodingArray","AZTEC","humanizedSymbologyNames","_Map","CODABAR","CODE11","CODE128","CODE25","CODE32","CODE39","CODE93","DATA_MATRIX","DOTCODE","EAN13","EAN8","FIVE_DIGIT_ADD_ON","GS1_DATABAR_EXPANDED","GS1_DATABAR_LIMITED","GS1_DATABAR","IATA_2_OF_5","INTERLEAVED_2_OF_5","KIX","LAPA4SC","MATRIX_2_OF_5","MAXICODE","MICRO_PDF417","MICRO_QR","MSI_PLESSEY","PDF417","QR","RM4SCC","TWO_DIGIT_ADD_ON","UPCA","UPCE","USPS_INTELLIGENT_MAIL","jsonSymbologyNames","_humanizedSymbologyNa","_jsonSymbologyNames$g","api","init","converter","defaultAttributes","attributes","toUTCString","stringifiedAttributes","jar","foundKey","withAttributes","withConverter","Js","architecture","BrowserCompatibility","Feature","BrowserHelper","dataCapture","originalFSSyncfs","imageBufferPointer","imageBufferSize","preloading","writableDataPath","resourceFilesDataPath","delayedRegistration","highEndBlurryRecognition","licenseKey","scanSettings","imageSettings","recognitionMode","cameraProperties","deviceName","writableDataPathPreload","writableDataPathStandard","scanQueue","parseQueue","gpuAccelerationAvailable","OffscreenCanvas","blurryRecognitionAvailable","workSubmitted","loadingInProgress","fileSystemSynced","runtimeLoaded","wasmReady","scannerSettingsReady","scannerImageSettingsReady","contextAvailable","fsSyncPromise","fsSyncInProgress","fsSyncScheduled","newDelayedRegistration","newHighEndBlurryRecognition","newLicenseKey","completeCreateContext","hiddenScanditLogoAllowed","Module","_can_hide_logo","licenseKeyLength","lengthBytesUTF8","licenseKeyPointer","_malloc","stringToUTF8","writableDataPathLength","writableDataPathPointer","resourceFilesDataPathLength","resourceFilesDataPathPointer","_create_context","_free","reportCameraProperties","reportDeviceName","augmentErrorInformation","errorCode","_location$href","URL","startsWith","origin","errorMessage","processScanWorkUnit","scanWorkUnit","highQualitySingleFrameMode","applyScanSettings","imageData","resultData","byteLength","barcodeResult","textResult","HEAPU8","UTF8ToString","_scanner_scan","requestId","barcodes","texts","workOnScanQueue","applyImageSettings","processParseWorkUnit","parseWorkUnit","dataFormat","dataLength","dataPointer","optionsLength","optionsPointer","resultPointer","_parser_parse_string","workOnParseQueue","clearSession","_scanner_session_clear","level","_key3","dataArgument","errorObject","retryWithExponentialBackoff","backoffMs","maxBackoffMs","singleTryRejectionCallback","newBackoffMs","parsedSettings","textRecognitionSettings","_parsedSettings$textR","scanSettingsLength","scanSettingsPointer","textRecognitionSettingsLength","textRecognitionSettingsPointer","_scanner_settings_new_from_json","blurryRecognition","matrixScanEnabled","_parsedSettings$matri","gpuAcceleration","channels","format","_scanner_image_settings_new","_report_camera_properties","cameraType","autofocus","deviceNameLength","deviceNamePointer","_set_device_name","verifiedWasmFetch","wasmURI","textRecognition","simdSupport","awaitFullResponse","fetch","clone","arrayBuffer","responseData","crypto","_crypto","subtle","_crypto$subtle","digest","hashString","byteNumber","byteHex","expectedHashString","instantiateWebAssembly","importObject","successCallback","existingResponse","bytes","WebAssembly","instantiate","results","syncFSPromisified","populate","initialPopulation","resolveCallback","openDbSourceRequest","openDbTargetRequest","fsObjectStoreName","handleError","_openDbSourceRequest","_openDbTargetRequest$","indexedDB","onupgradeneeded","createObjectStore","onsuccess","objectStoreNames","objects","sourceTransaction","transaction","cursorRequest","objectStore","openCursor","cursor","mergedObjectsCount","targetTransaction","targetObjectStore","oncomplete","countRequest","primaryKey","continue","onblocked","mergedObjects","syncFS","forceScheduling","loadLibrary","deviceId","libraryLocation","locationPath","preload","deviceModelName","reportLoadSuccess","callMain","_getLibraryLocationUR","cdnURI","fileExtension","jsURI","resourceFilesSubfolder","canvas","instantiateWasm","wasmJSVersion","_self$wasmJSVersion","instantiateStreaming","noInitialRun","preRun","FS","syncfs","originalCallback","mkdir","IDBFS","onRuntimeInitialized","print","printErr","_key2","setScanSettings","newScanSettings","newBlurryRecognitionAvailable","blurryRecognitionRequiresUpdate","completeSetScanSettings","setImageSettings","newImageSettings","addScanWorkUnit","addParseWorkUnit","createBlurryTable","reportResult","symbologyLength","symbologyPointer","_create_blurry_table","setCameraProperties","setDeviceName","newDeviceName","BLOB","userAgentInfo","query","mediaQueryList","_window$matchMedia","matchMedia","media","objectHasPropertyWithType","propertyNames","propertyType","objectProperty","fullSupport","scannerSupport","missingFeatures","HTTP_PROTOCOL","isSecureContext","SECURE_CONTEXT","MEDIA_DEVICES","WEB_WORKERS","WEB_ASSEMBLY","URL_OBJECT","OFFSCREEN_CANVAS","getContext","WEBGL","WEB_ASSEMBLY_ERROR_FREE","devideIdKey","localStorage","getItem","Cookies","setItem","randomDeviceIdBytes","getRandomValues","_Array$from","HTMLElement","dataCaptureWorkerBlob","edataCaptureWorkerFunction","dataCaptureInstance","settings","DataCaptureLoader","preloadedDataCaptureWorker","Worker","createObjectURL","load","preloadedDataCaptureWorkerAvailable","dataCaptureWorker","terminate","scanditDataCaptureLocation","userLicenseKey","Logger","Level","levelToNumber","DEBUG","INFO","WARN","ERROR","QUIET","currentLevel","_console","debug","_console2","_console3","_console4","BlurryRecognitionPreloader","availableBlurryRecognitionSymbologies","_Set","_prepareBlurryTables","alreadyAvailable","checkBlurryTablesAlreadyAvailable","queuedBlurryRecognitionSymbologies","readyBlurryRecognitionSymbologies","eventEmitter","dataCaptureWorkerOnMessage","newQueuedBlurryRecognitionSymbologies","getEnabledSymbologies","symbologyQueuePosition","every","isSymbologyEnabled","openDbRequest","handleErrorOrNew","_openDbRequest$result","storeKeysRequest","getAllKeys","highEndBlurryTableFiles","defaultBlurryTableFiles","file","ev","createNextBlurryTableSymbology","_context2","worker","workerIndexedDBSupportTestFunction","deleteDatabase","_isNativeReflectConstruct","_Reflect$construct","sham","Proxy","Boolean","_construct","Parent","Class","isNativeReflectConstruct","_wrapNativeSuper","_cache","Camera","Type","CustomError","_ref$name","_ref$message","UnsupportedBrowserError","browserCompatibility","_super","_counter","_html5AudioPool","html5PoolSize","_codecs","_howls","_muted","_volume","_canPlayEvent","_navigator","masterGain","noAudio","usingWebAudio","autoSuspend","autoUnlock","_setup","volume","_","gain","setValueAtTime","currentTime","_webAudio","_getSoundIds","_soundById","_node","mute","muted","unload","codecs","_autoSuspend","Audio","oncanplaythrough","_setupCodecs","canPlayType","mp3","mpeg","opus","ogg","oga","wav","aac","caf","m4a","m4b","mp4","weba","webm","dolby","flac","_unlockAudio","_audioUnlocked","_mobileUnloaded","sampleRate","_scratchBuffer","createBuffer","_unlocked","_releaseHtml5Audio","_autoResume","createBufferSource","connect","destination","noteOn","resume","onended","disconnect","_emit","_obtainHtml5Audio","play","suspend","_sounds","_paused","_suspendTimer","_resumeAfterSuspend","_autoplay","autoplay","_format","_html5","html5","_loop","loop","_pool","pool","_preload","_rate","rate","_sprite","sprite","_src","_xhr","xhr","_duration","_state","_endTimers","_queue","_playLock","_onend","onend","_onfade","onfade","_onload","onload","_onloaderror","onloaderror","_onplayerror","onplayerror","_onpause","onpause","_onplay","onplay","_onstop","onstop","_onmute","onmute","_onvolume","onvolume","_onrate","onrate","_onseek","onseek","_onunlock","onunlock","_onresume","_ended","_id","_inactiveSound","_loadQueue","_seek","abs","_start","_stop","_refreshBuffer","_playStart","bufferSource","noteGrainOn","_clearTimer","playbackRate","paused","ejecta","isCocoonJS","pause","seek","_rateSeek","_stopFade","noteOff","_cleanBuffer","_clearSound","_interval","fade","linearRampToValueAtTime","_startFadeInterval","_fadeTo","setInterval","clearInterval","cancelScheduledValues","loopStart","loopEnd","playing","_errorFn","_loadFn","_endFn","ended","_drain","_panner","_parent","createGain","createGainNode","_errorListener","_loadListener","_endListener","__default","atob","decodeAudioData","AudioContext","webkitAudioContext","appVersion","Howler","Howl","HowlerGlobal","Sound","mc","FRONT","_toConsumableArray","_Array$isArray","ImageSettings","Format","Parser","DataFormat","scanner","RecognizedText","ScanResult","barcode","rejectedCodes","rejectedTexts","$values","SymbologySettings","enabled","colorInvertedEnabled","activeSymbolCounts","defaultActiveSymbolCounts","_SymbologySettings$de","_SymbologySettings$de2","defaultExtensions","checksums","_SymbologySettings$de3","defaultChecksums","_SymbologySettings$de4","minCount","maxCount","getNumberRange","_SymbologySettings$de5","extension","isValidExtension","checksum","isValidChecksum","Extension","_Object$values","Checksum","STRIP_LEADING_FNC1","MOD_10","MOD_11","TextRecognitionSettings","ScanSettings","RecognitionMode","CodeDirection","recognizer","_ref$recognizer","characterWhitelist","textDuplicateFilter","_ref$textDuplicateFil","properties","_JSON$stringify","duplicateFilter","durationMilliseconds","_ref$textRecognitionS","CODE","_ref$recognitionMode","enabledSymbologies","_ref$enabledSymbologi","codeDuplicateFilter","_ref$codeDuplicateFil","maxNumberOfCodesPerFrame","_ref$maxNumberOfCodes","searchArea","_ref$searchArea","_ref$gpuAcceleration","_ref$blurryRecognitio","codeDirectionHint","LEFT_TO_RIGHT","_ref$codeDirectionHin","symbologySettings","setRecognitionMode","enableSymbologies","baseSearchArea","symbologies","toJSONName","combinedSearchArea","isFullSearchArea","toJSONString","codeLocation1d","codeLocation2d","isEnabled","setSymbologiesEnabled","limit","setEnabled","_iterator","_step","_iterator2","_step2","setMultipleSymbologiesEnabled","setSingleSymbologyEnabled","Scanner","_ref$scanSettings","checkBrowserCompatibility","configurePhase","isReadyToWork","workerScanQueueLength","workerParseRequestId","dataCaptureLoader","getDataCaptureWorker","activeBlurryRecognitionSymbologies","blurryRecognitionPreloader","handleBlurryTablesUpdate","returnDataCaptureWorker","updateBlurryRecognitionPriority","isBlurryRecognitionAvailable","some","getDeviceName","HTMLImageElement","imageDataConversionContext","naturalWidth","naturalHeight","drawImage","getImageData","GRAY_8U","RGB_8U","RGBA_8U","workerScanRequestId","workResultEvent","workErrorEvent","workResult","returnedImageData","licenseKeyFeatures","parseResultEvent","parseErrorEvent","parserResult","jsonString","fields","fieldsByName","parserField","SingleImageModeSettings","getDefaultSingleImageModeSettings","base64image","informationElement","createContextualFragment","firstElementChild","buttonElement","containerStyle","backgroundColor","informationStyle","buttonStyle","borderColor","fill","UsageStrategy","NEVER","getDesc","_stringWs","spaces","space","ltrim","rtrim","exporter","ALIAS","FORCE","_stringTrim","$parseInt","$trim","ws","hex","radix","CameraSettings","ResolutionPreference","MeteringMode","CameraResolutionConstraint","_parseInt","CameraAccess","availableVideoDevices","standardErrorNamesMapping","backCameraKeywords","outdatedDevices","deviceChangeListener","mapNonStandardErrorName","_standardErrorNamesMa","adjustCameraFromMediaStream","mediaStream","camera","videoTracks","getVideoTracks","mediaTrackSettings","_mediaTrackSettings","mediaStreamTrack","getSettings","facingMode","BACK","label","extractAccessibleCamerasFromDevices","devices","cameras","videoDevice","videoDevices","isDesktopDevice","lowercaseLabel","keyword","backCameraIndex","cameraResolutions","NaN","cameraResolution","lastIndexOf","getStreamForDeviceAccessPermission","mediaDevices","getUserMedia","video","audio","checkAndUpdateCameraDeviceIdInformation","oldAvailableDevices","newAvailableDevices","deviceIdChanges","_newAvailableDevices$","newDeviceId","refreshDevices","cameraAlreadyAccessed","ondevicechange","_availableVideoDevice","enumerateVideoDevices","stream","_getCameras","getUserMediaDelayed","getUserMediaParams","_navigator$mediaDevic","getUserMediaVideoParams","cameraResolutionConstraint","userMediaVideoParams","resizeMode","ULTRA_HD","_objectSpread","ideal","FULL_HD","HD","SD","NONE","_context3","markCameraAsInaccessible","enumerateDevices","_context4","getSources","MediaStreamTrack","_window$MediaStreamTr2","groupId","mainCameraForType","allHaveBlankLabel","allHaveNonEmptyLabel","someHaveLabel","cameraOfType","sort","camera1","camera2","localeCompare","prioritizeMainCameraOverride","prioritizedCameras","currentCameraType","mainCameraOverride","frontCameras","backCameras","CameraManager","triggerCameraAccessError","gui","postStreamInitialization","videoResizeHandle","videoTrackEndedRecovery","videoTrackMuteRecovery","triggerManualFocus","triggerZoomStart","triggerZoomMove","checkCameraVideoStreamAccessIfVisible","_initializeCamera","_triggerAutoFocus","_triggerManualFocusForSingleShot","_triggerManualFocusForContinuous","_videoTrackEndedRecovery","_accessInitialCamera","_setupCamerasAndStream","_recoverStreamIfNeeded","_setZoom","_toggleTorch","_initializeCameraWithSettings","_reinitializeCamera","_stopStream","_setupCameras","cameraSwitcherEnabled","torchToggleEnabled","tapToFocusEnabled","pinchToZoomEnabled","getCameras","setCameraSwitcherVisible","torch","mediaTrackCapabilities","setTorchTogglerVisible","enableTapToFocusListeners","disableTapToFocusListeners","enablePinchToZoomListeners","disablePinchToZoomListeners","setInitialCameraType","getMainCameraForType","selectedCamera","initializeCameraWithSettings","selectedCameraSettings","cameraSettings","cameraSetupPromise","setupCamerasAndStream","cameraInitializationFailure","activeCamera","currentResolution","checkCameraVideoStreamAccessIfVisibleListener","cameraAccessTimeout","videoMetadataCheckInterval","getCapabilitiesTimeout","manualFocusWaitTimeout","manualToAutofocusResumeTimeout","autofocusInterval","videoElement","_this$abortedCameraIn","_this$mediaStream","videoTrackEndedListener","srcObject","abortedCameraInitializationResolveCallback","_context5","noCameraErrorParameters","_context6","activeCameraSettings","cameraInitializationPromise","_context7","setSelectedCamera","initializeCameraAndCheckUpdatedSettings","_this$mediaTrackCapab2","_context8","torchEnabled","applyConstraints","advanced","_context9","setTorchEnabled","zoomPercentage","currentZoom","_this$mediaTrackCapab3","_context10","zoomRange","targetZoom","_this$mediaStream2","_videoTracks$","_context11","reinitializeCamera","_context12","setVideoVisible","accessInitialCamera","initialCamera","initialCameraDeviceId","_this$mediaStream3","_this$mediaStream3$ge","_this$mediaStream3$ge2","find","_initialCamera","mainCameraForTypeOverridesOnDesktop","updateActiveCameraCurrentResolution","recoverStreamIfNeeded","accessAutoselectedCamera","_this$activeCameraSet","resolutionPreference","sortCamerasForCameraType","autoselectedCamera","_context13","_context14","videoWidth","videoHeight","setMirrorImageEnabled","isMirrorImageEnabled","storeStreamCapabilities","setupAutofocus","getCapabilitiesTimeoutMs","visibilityState","setCameraAccessTimeout","_context15","onloadeddata","_context16","isMuteEvent","isCameraRecoveryVisible","setCameraRecoveryVisible","_context19","triggerFocusMode","CONTINUOUS","manualToAutofocusResumeTimeoutMs","manualFocusResetNeeded","getConstraints","_videoTracks$0$getCon","constraint","focusMode","MANUAL","manualFocusWaitTimeoutMs","_this4","triggerAutoFocus","autofocusIntervalMs","_context20","SINGLE_SHOT","_context21","pinchToZoomDistance","focusModeCapability","triggerManualFocusForContinuous","triggerManualFocusForSingleShot","hypot","screen","pinchToZoomInitialZoom","currentConstraints","currentZoomConstraint","_context22","setZoom","getCapabilities","_this$mediaTrackCapab5","_context24","_this5","triggerManualFocusListener","triggerZoomStartListener","triggerZoomMoveListener","_this6","initializeCamera","cameraSettingsProperty","_this7","_context25","_context26","currentCameraDeviceId","_context27","stopStream","getInitialCameraResolutionConstraint","accessCameraStream","getTracks","notReadableErrorParameters","_this8","videoTrackMuteListener","setupCameraStreamVideo","handleCameraInitializationError","_context28","_this9","_this9$cameraAccessRe","cameraAccessRejectCallback","cameraAccessTimeoutMs","_this10","_this11","videoMetadataCheckStartTime","performance","_context29","videoMetadataCheckTimeoutMs","videoMetadataCheckIntervalMs","postStreamInitializationListener","videoResizeListener","cameraStreamVideoCheck","checkCameraAccess","checkVideoMetadata","_this12","playVideo","DummyCameraManager","_1","_2","_3","_4","$assign","_objectAssign","ResizeObserverBoxOptions","resizeObservers","msg","BORDER_BOX","CONTENT_BOX","DEVICE_PIXEL_CONTENT_BOX","trigger","BarcodePicker","GuiStyle","ObjectFit","Attribute","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","fromRect","rectangle","isSVG","SVGElement","isHidden","getBBox","_b","getClientRects","scope","scrollRegexp","verticalRegexp","IE","parseDimension","pixel","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","cs","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","horizontalPadding","verticalPadding","horizontalBorderArea","borderLeftWidth","verticalBorderArea","horizontalScrollbarThickness","verticalScrollbarThickness","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","devicePixelRatio","calculateBoxSize","observedBox","ResizeObserverEntry","calculateDepthForNode","depth","broadcastActiveObservations","shallowestDepth","callbacks","ro","activeTargets","ot","targetDepth","lastReportedSize","observer","callbacks_1","gatherActiveObservationsAtDepth","skippedTargets","observationTargets","isActive","watching","observerConfig","childList","subtree","scheduled","scheduler","Scheduler","stopped","schedule","until","elementsHaveResized","ErrorEvent","createEvent","initEvent","toggle_1","el_1","updateCount","ResizeObservation","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","ResizeObserverController","firstObservation","box","unobserve","lastObservation","ResizeObserver","ResizeObserverPolyfill","GUI","originElement","singleImageModeEnabled","singleImageModeSettings","scanningPaused","cameraUploadCallback","mirrorImageOverrides","cameraUploadInProgress","cameraSwitchInProgress","dataCaptureContextCreated","grandParentElement","grandParentElementClassName","parentElement","parentElementClassName","cameraSwitcherElement","torchTogglerElement","laserContainerElement","laserActiveImageElement","laserPausedImageElement","cameraRecoveryElement","viewfinderElement","webGLContextLostListener","handleWebGLContextLost","context2d","cameraUploadElement","cameraUploadLabelElement","cameraUploadInputElement","cameraUploadProgressElement","setupCameraUploadGuiAssets","guiStyle","setupContext","setupVideoElement","setupCameraSwitcher","setupTorchToggler","setupCameraRecovery","cameraRecoveryText","setupFullGuiAssets","setGuiStyle","setVideoFit","videoFit","setLaserArea","laserArea","setViewfinderArea","viewfinderArea","visibilityListener","checkAndRecoverPlayback","newScanSettingsListener","handleNewScanSettings","videoPauseListener","handleVideoPause","handleVideoResize","hideLogo","contextCreatedShowLogoListener","showScanditLogo","contextCreatedActivateGUIListener","activateGUI","resize","setVisible","visible","_checkAndRecoverPlayback","contextWebGL","_this$contextWebGL$ca","getExtension","_this$contextWebGL2","loseContext","classList","hiddenClassName","cameraManager","hiddenOpacityClassName","pausedClassName","LASER","flashColorClassName","VIEWFINDER","flashWhiteClassName","_this$cameraManager2","mirrorImageOverride","override","_this$cameraManager3","mirroredClassName","customLaserArea","getScanSettings","getSearchArea","usablePercentage","customViewfinderArea","COVER","setBaseSearchArea","flashLaser","flashViewfinder","isVideoAndContextStateValid","drawingBufferWidth","drawingBufferHeight","imageDataLength","texImage2D","TEXTURE_2D","RGBA","UNSIGNED_BYTE","readPixels","playPromise","visibility","_this$cameraUploadInp","busyScanning","flashInsetClassName","opacityPulseClassName","force2d","alpha","antialias","setupWebGL","texture","createTexture","bindTexture","frameBuffer","createFramebuffer","bindFramebuffer","FRAMEBUFFER","framebufferTexture2D","COLOR_ATTACHMENT0","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","videoElementClassName","defaultSettings","defaultMobile","defaultDesktop","cameraUploadElementClassName","_Object$assign","_this$singleImageMode","accept","cameraUploadFile","cameraUploadInputCheckFunction","cameraUploadButtonIconElement","_this$singleImageMode2","maxWidth","maxHeight","laserContainerElementClassName","viewfinderElementClassName","resizeCameraUpload","resizeVideo","handleVideoDisplay","transform","videoRatio","widthPercentage","heightPercentage","_this$cameraManager4","_this$videoElement","progressPercentageValue","image","updateCameraUploadProgress","resizedImageSizeLimit","resizedImageWidth","resizedImageHeight","cameraUploadFileProcess","setCameraUploadGuiBusyScanning","files","Image","fileReader","FileReader","cameraUploadImageLoad","onprogress","event2","lengthComputable","loaded","total","_fileReader$error","readAsDataURL","currentCameraIndex","newCameraIndex","_this$cameraManager5","cameraSwitcherElementClassName","cameraSwitcherListener","cameraRecoveryElementClassName","cameraRecoveryListener","torchTogglerElementClassName","toggleTorch","scanditLogoImageElement","scanditLogoImageElementClassName","resumeScanning","hidden","isVideoElementDetached","insertAdjacentElement","removeProperty","viewport","assertUnreachable","convertJsonToObject","json","toJson","playSoundOnScan","vibrateOnScan","targetScanningFPS","destroyed","beepSound","vibrateFunction","vibrate","webkitVibrate","mozVibrate","msVibrate","setPlaySoundOnScanEnabled","setVibrateOnScanEnabled","setTargetScanningFPS","_scanner$applyScanSet","scannerReadyEventListener","handleScannerReady","processVideoFrame","setCameraType","scheduleVideoProcessing","setCameraManager","_videoProcessing","_accessCamera","_setActiveCamera","_resumeScanning","destroyScanner","pauseScanning","pauseCamera","isReady","cameraAccess","getActiveCamera","setupCameras","setSelectedCameraSettings","applyCameraSettings","isVisible","isCameraSwitcherEnabled","setCameraSwitcherEnabled","isTorchToggleEnabled","setTorchToggleEnabled","isTapToFocusEnabled","setTapToFocusEnabled","isPinchToZoomEnabled","setPinchToZoomEnabled","createParserForFormat","isValidHTMLElement","reassignOriginElement","scanResult","externalImageData","_this$vibrateFunction","acceptedBarcodes","acceptedTexts","flashGUI","videoProcessing","processingStartTime","averageProcessingTime","nextProcessingCallDelay","internalImageData","getImageSettings","processImage","handleScanResult","isBusyProcessing","latestVideoTimeProcessed","getVideoCurrentTime","scheduleNextVideoProcessing","_ref5$visible","_ref5$singleImageMode","_ref5$playSoundOnScan","_ref5$vibrateOnScan","_ref5$scanningPaused","CONTAIN","_ref5$videoFit","_ref5$cameraRecoveryT","_ref5$scanSettings","enableCameraSwitcher","_ref5$enableCameraSwi","enableTorchToggle","_ref5$enableTorchTogg","enableTapToFocus","_ref5$enableTapToFocu","enablePinchToZoom","_ref5$enablePinchToZo","accessCamera","_ref5$accessCamera","_ref5$cameraType","_ref5$targetScanningF","_ref5$hideLogo","singleImageModePlatformSettings","mobile","desktop","singleImageModeDisallowed","usageStrategy","singleImageModeForced","ALWAYS","barcodePicker","setInteractionOptions","alert","getSchema","ACCESS_CAMERA","CAMERA","CAMERA_SETTINGS","CAMERA_TYPE","CONFIGURE","ENABLE_CAMERA_SWITCHER","ENABLE_PINCH_TO_ZOOM","ENABLE_TAP_TO_FOCUS","ENABLE_TORCH_TOGGLE","GUI_STYLE","LASER_AREA","PLAY_SOUND_ON_SCAN","SCANNING_PAUSED","SINGLE_IMAGE_MODE_SETTINGS","TARGET_SCANNING_FPS","VIBRATE_ON_SCAN","VIDEO_FIT","VIEWFINDER_AREA","VISIBLE","CONFIGURE_ENGINE_LOCATION","CONFIGURE_LICENSE_KEY","CONFIGURE_HIGH_QUALITY_BLURRY_RECOGNITION","CONFIGURE_LOAD_TEXT_RECOGNITION","CONFIGURE_PRELOAD_BLURRY_RECOGNITION","CONFIGURE_PRELOAD_ENGINE","SCAN_SETTINGS_BLURRY_RECOGNITION","SCAN_SETTINGS_CODE_DIRECTION_HINT","SCAN_SETTINGS_CODE_DUPLICATE_FILTER","SCAN_SETTINGS_DEVICE_NAME","SCAN_SETTINGS_ENABLED_SYMBOLOGIES","SCAN_SETTINGS_GPU_ACCELERATION","SCAN_SETTINGS_MAX_NUMBER_OF_CODES_PER_FRAME","SCAN_SETTINGS_RECOGNITION_MODE","SCAN_SETTINGS_SEARCH_AREA","SCAN_SETTINGS_TEXT_RECOGNITION_SETTINGS","LazyAttributeConverter","convertToPrimary","attribute","_this$view$getAttribu","__decorate","decorators","decorate","Validator","Number","isInteger","areaObject","isValidSearchAreaProperty","_camera","_settings","booleanAttribute","integer","jsonArray","codeDirection","validationMessage","expectationMessage","getExpectationMessageForType","To","Controller","_getSingleImageModeSettings","_getCameraFromAttribute","_initPicker","_viewConnectedCallback","viewConnected","initializeDom","initializeAttributeConversionGetter","lazyAttributeConverter","initPicker","trackAttributes","rawAttribute","validateAttribute","normalizedAttribute","attributeToCamelCase","applyChangeFromAttributeChange","picker","pauseCameraAccess","getCameraFromAttribute","setActiveCamera","setBlurryRecognitionEnabled","setCodeDirectionHint","setCodeDuplicateFilter","onEnabledSymbologiesChanged","setGpuAccelerationEnabled","setMaxNumberOfCodesPerFrame","setSearchArea","setTextRecognitionSettings","validateAllAttributes","configure","engineLocation","highQualityBlurryRecognition","loadTextRecognition","preloadBlurryRecognition","preloadEngine","t2","getSingleImageModeSettings","t22","getBarcodePickerProxyHandler","handleException","dispatchPickerEvent","proxiedGui","proxiedCameraManager","controllerRef","onPickerPropertyUpdate","newValue","onScannerNewScanSettings","allSymbologies","isBlurryRecognitionEnabled","getCodeDirectionHint","getCodeDuplicateFilter","reduce","isGpuAccelerationEnabled","getMaxNumberOfCodesPerFrame","getRecognitionMode","getTextRecognitionSettings","change","cameraAttr","userCameraId","userCamera","symbologiesToEnable","shouldEnable","getSymbologySettings","mappingsByOrigin","_mappingsByOrigin$cha2","_mappingsByOrigin$cha","_this$lazyAttributeCo","_this$lazyAttributeCo2","waitOnChildrenReady","platformSetting","querySelector","scanResultOrError","CustomEvent","dispatchCustomEvent","getAttributes","attr","validatorFunction","_Validator$expectatio","isBooleanAttribute","isIntegerAttribute","isValidCodeDirection","isValidRecognitionMode","isValidTextRecognitionSettingsObject","isValidCameraType","isValidGuiStyle","isValidVideoFit","isValidJsonArray","isValidSearchAreaAttribute","isValidCameraObject","isValidCameraSettingsObject","isValidSingleImageModeSettingsObject","attrName","findIndex","ScanditBarcodePicker","_connectedCallback","controller","shadowDom","attachShadow","viewConnectedCallback","viewDisconnectedCallback","attributeChangedCallback","initialDomContent","att","styles","wcStyles","pickerStyles","customElements","TAG_NAME","registerComponent","getDeviceId","resetConfigure","logLevel","_ref$logLevel","_ref$engineLocation","_ref$highQualityBlurr","_ref$loadTextRecognit","_ref$preloadBlurryRec","_ref$preloadEngine","configurePromise","setLevel","resolveCheck","checkIndexedDBStatus","databases","indexedDBStatusCheckInterval","prepareBlurryTables","sortIndex","startTime","expirationTime","priorityLevel","scheduling","isInputPending","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","amdO","getter","definition","chunkId","miniCssF","inProgress","dataWebpackPrefix","script","needAttach","scripts","getElementsByTagName","charset","onScriptComplete","doneFns","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","chunkLoadingGlobal","NavigationContext","LocationContext","RouteContext","outlet","invariant","cond","matchRoutes","routes","locationArg","basename","stripBasename","parsePath","branches","flattenRoutes","score","siblings","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matchRouteBranch","parentsMeta","parentPath","route","relativePath","caseSensitive","joinPaths","computeScore","paramRe","isSplat","segments","initialScore","segment","branch","matchedParams","matchedPathname","remainingPathname","matchPath","pathnameBase","normalizePathname","paramNames","regexpSource","paramName","compilePath","matcher","captureGroups","splatValue","safelyDecodeURIComponent","nextChar","paths","useInRouterContext","useLocation","_renderMatches","parentMatches","reduceRight","React.createElement","Route","_props","Router","basenameProp","locationProp","navigationType","NavigationType","static","staticProp","navigationContext","trailingPathname","Routes","routeMatch","parentParams","parentPathnameBase","locationFromContext","parsedLocationArg","_parsedLocationArg$pa","useRoutes","createRoutesFromChildren","BrowserRouter","historyRef","createBrowserHistory","listen","_g","scrollElement","scrollMeTo","SvgLogoHeader","svgRef","title","titleId","xmlns","viewBox","fillRule","points","setOpen","steps","img1","alt","img2","img3","img4","img5","item","setHeight","accordion","showDescription","ariaExpanded","isExpanded","innerStyle","question","answer","questionsAnswers","activeIndex","setActiveIndex","renderedQuestionsAnswers","vehicleValuation","machineValuation","SvgLogoFooter","getProto","isObjectType","isNullOrUndefined","isDateObject","isCheckBoxInput","getNodeParentName","compact","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","formState","_proxyFormState","localProxyFormState","isRoot","formStateData","isEmptyObject","useSubscribe","subscription","subject","tearDown","_names","formValues","isGlobal","watch","fieldName","watchAll","validateAllFieldCriteria","errors","types","tempPath","isKey","stringToPath","objValue","focusFieldBy","fieldsNames","field","currentField","isBlurEvent","watchName","cloneObject","copy","isWeb","FileList","unset","previousObjRef","updatePath","childObject","baseGet","objectRef","currentPaths","currentPathsLength","createSubject","_observers","observers","deepEqual","object1","object2","isPrimitive","keys1","keys2","val1","val2","isOnSubmit","isOnBlur","isOnChange","isOnAll","isOnTouch","isRadioInput","isHTMLElement","isConnected","markFieldsDirty","isParentNodeArray","objectHasFunction","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","defaultValues","defaultResult","isValid","validResult","option","valueAsNumber","valueAsDate","setValueAs","defaultReturn","previous","getFieldValue","isFileInput","getRadioValue","isMultipleSelect","selectedOptions","isCheckBox","getCheckboxValue","getFieldValueAs","_fields","criteriaMode","shouldUseNativeValidation","rule","isRegex","required","maxLength","minLength","schemaErrorLookup","foundError","isTouched","isSubmitted","reValidateMode","getValidateError","isMessage","isBoolean","validationData","inputValue","inputRef","setCustomValidity","reportValidity","isRadio","isRadioOrCheckbox","isEmpty","appendErrorsCurry","appendErrors","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","getValueAndMessage","maxOutput","minOutput","valueDate","exceedMin","valueNumber","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","defaultOptions","shouldFocusError","createFormControl","delayErrorCallback","_options","_formState","isDirty","isValidating","dirtyFields","submitCount","touchedFields","isSubmitting","isSubmitSuccessful","_defaultValues","_formValues","shouldUnregister","_stateFlags","unMount","timer","validateFields","_subjects","validationModeBeforeSubmit","getValidationModes","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","_updateValid","shouldSkipRender","resolver","_executeSchema","executeBuildInValidation","_updateFieldArray","shouldSetValues","shouldUpdateFieldsAndState","fieldValues","argA","argB","unsetEmptyArray","getDirtyFields","_getDirty","updateErrors","updateValidAndValue","shouldSkipSetValueAs","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","isFieldDirty","output","isPreviousFieldTouched","isPreviousFormDirty","isPreviousFieldDirty","shouldRenderByError","fieldState","previousFieldError","shouldUpdateValid","delayError","updatedFormState","getResolverOptions","executeSchemaAndUpdateState","shouldOnlyCheckValid","valid","fieldReference","validateField","fieldError","_removeUnmounted","live","getValues","_getWatch","generateWatchOutput","_getFieldArray","selectRef","checkboxRef","radioRef","shouldTouch","shouldValidate","setValues","fieldKey","isFieldArray","cloneValue","isWatched","onChange","getEventValue","shouldSkipValidation","hasValidation","skipValidation","watched","onBlur","previousErrorLookupResult","errorLookupResult","fieldNames","convertToArrayPayload","shouldFocus","getFieldState","invalid","clearErrors","inputName","setError","keepValue","keepError","keepDirty","keepTouched","keepDefaultValue","keepIsValid","disabledIsDefined","getRuleValue","fieldRef","radioOrCheckbox","isNameInFieldArray","handleSubmit","onValid","onInvalid","hasNoPromiseError","resetField","keepStateOptions","updatedValues","cloneUpdatedValues","keepDefaultValues","keepValues","keepDirtyValues","closest","keepSubmitCount","keepIsSubmitted","keepErrors","setFocus","shouldSelect","select","control","checkboxText","placeholder","validation","classNames","autoComplete","QrCodeDataContext","updateData","setData","newData","SvgMotocykl","stroke","x1","y1","x2","y2","SvgSamOsobowy","cx","cy","SvgSamElektr","SvgSamCiezarowy","SvgCiezarowyZZabudowa","SvgAutobus","SvgMaszynaBudowlanaRolnicza","rx","ry","SvgSamochodPremium","SvgNaczepa","SvgWozekWidlowy","postForm","decodeDataService","decodedText","Accept","QrCodeInString","loading","isUpload","uploading","statusRef","progressValue","kindId","makeId","makeName","normalCars","offRoadCars","smallTrack","bigTruck","bus","motorcycle","hintValues","filteredHints","setFilteredHints","hint","filterMe","ReCAPTCHA","handleExpired","handleErrored","handleChange","handleRecaptchaRef","_proto","grecaptcha","_widgetId","getResponse","getWidgetId","execute","_executeRequested","executeAsync","executionResolve","executionReject","onExpired","onErrored","explicitRender","sitekey","theme","tabindex","stoken","badge","captcha","delayOfCaptchaIframeRemoving","temporaryNode","elem","_this$props","childProps","SCRIPT_MAP","idCount","callbackName","getScriptURL","recaptchaOptions","useRecaptchaNet","globalName","WrappedComponent","wrappedComponentName","AsyncScriptLoader","_Component","__scriptURL","asyncScriptLoaderGetScriptLoaderID","__scriptLoaderID","setupScriptURL","asyncScriptLoaderHandleLoad","asyncScriptOnLoad","asyncScriptLoaderTriggerOnScriptLoaded","mapEntry","obsKey","scriptURL","scriptId","errored","callObserverFuncAndRemoveObserver","observersMap","removeOnUnmount","allScripts","forwardedRef","ForwardedComponent","hoistStatics","regExpText","regExpPhone","regExpEmail","regExpPostalCode","regExpNIP","regExpVIN","regExpRegNumber","categories","orderCode","typesOfCategory","typeOfCarsCategory","price","icon","mainCategoryId","subtitle","parentCategory","captchaToken","forceResetForm","setForceResetForm","ifFormEnabled","category","setCategory","setParentCategory","setLoading","success","setSuccess","setFail","acceptNewOrders","linkToPayment","setLinkToPayment","recaptchaRef","qrCodeContext","_formControl","updateFormState","shouldRenderFormState","getProxyFormState","useForm","sendNewForm","VehicleCategory","actualCategory","vehicle","Fuel","contactPerson","Name","Surname","ownerCompany","Owner","dataFromQr","ContactPerson","OwnerCompany","VIN","Vin","Make","RegNumber","RegistrationNumber","FirstRegDate","FirstRegistrationDate","InspectionAddressCity","City","InspectionAddressPostalCode","PostalCode","InspectionAddress","Adress","onSubmit","res","PaymentUrl","forceCaptchaChallenge","resetCategory","handleCategory","lock","hintsListArray","makesList","make","filterMakesList","informationClause","valuationRules","europe","poland","contract","closeScanner","uncodedData","isLoaded","setIsLoaded","isError","setIsError","scan","handleScan","ScanditSDK","errorName","showScanner","setShowScanner","decodeData","Data","HomePage","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","reportWebVitals"],"sourceRoot":""}