{"ast":null,"code":"import sync, { getFrameData } from 'framesync';\nimport { velocityPerSecond } from 'popmotion';\nimport { SubscriptionManager } from '../utils/subscription-manager.js';\nvar isFloat = function isFloat(value) {\n  return !isNaN(parseFloat(value));\n};\n/**\n * `MotionValue` is used to track the state and velocity of motion values.\n *\n * @public\n */\nvar MotionValue = /** @class */function () {\n  /**\n   * @param init - The initiating value\n   * @param config - Optional configuration options\n   *\n   * -  `transformer`: A function to transform incoming values with.\n   *\n   * @internal\n   */\n  function MotionValue(init) {\n    var _this = this;\n    /**\n     * Duration, in milliseconds, since last updating frame.\n     *\n     * @internal\n     */\n    this.timeDelta = 0;\n    /**\n     * Timestamp of the last time this `MotionValue` was updated.\n     *\n     * @internal\n     */\n    this.lastUpdated = 0;\n    /**\n     * Functions to notify when the `MotionValue` updates.\n     *\n     * @internal\n     */\n    this.updateSubscribers = new SubscriptionManager();\n    /**\n     * Functions to notify when the velocity updates.\n     *\n     * @internal\n     */\n    this.velocityUpdateSubscribers = new SubscriptionManager();\n    /**\n     * Functions to notify when the `MotionValue` updates and `render` is set to `true`.\n     *\n     * @internal\n     */\n    this.renderSubscribers = new SubscriptionManager();\n    /**\n     * Tracks whether this value can output a velocity. Currently this is only true\n     * if the value is numerical, but we might be able to widen the scope here and support\n     * other value types.\n     *\n     * @internal\n     */\n    this.canTrackVelocity = false;\n    this.updateAndNotify = function (v, render) {\n      if (render === void 0) {\n        render = true;\n      }\n      _this.prev = _this.current;\n      _this.current = v;\n      // Update timestamp\n      var _a = getFrameData(),\n        delta = _a.delta,\n        timestamp = _a.timestamp;\n      if (_this.lastUpdated !== timestamp) {\n        _this.timeDelta = delta;\n        _this.lastUpdated = timestamp;\n        sync.postRender(_this.scheduleVelocityCheck);\n      }\n      // Update update subscribers\n      if (_this.prev !== _this.current) {\n        _this.updateSubscribers.notify(_this.current);\n      }\n      // Update velocity subscribers\n      if (_this.velocityUpdateSubscribers.getSize()) {\n        _this.velocityUpdateSubscribers.notify(_this.getVelocity());\n      }\n      // Update render subscribers\n      if (render) {\n        _this.renderSubscribers.notify(_this.current);\n      }\n    };\n    /**\n     * Schedule a velocity check for the next frame.\n     *\n     * This is an instanced and bound function to prevent generating a new\n     * function once per frame.\n     *\n     * @internal\n     */\n    this.scheduleVelocityCheck = function () {\n      return sync.postRender(_this.velocityCheck);\n    };\n    /**\n     * Updates `prev` with `current` if the value hasn't been updated this frame.\n     * This ensures velocity calculations return `0`.\n     *\n     * This is an instanced and bound function to prevent generating a new\n     * function once per frame.\n     *\n     * @internal\n     */\n    this.velocityCheck = function (_a) {\n      var timestamp = _a.timestamp;\n      if (timestamp !== _this.lastUpdated) {\n        _this.prev = _this.current;\n        _this.velocityUpdateSubscribers.notify(_this.getVelocity());\n      }\n    };\n    this.hasAnimated = false;\n    this.prev = this.current = init;\n    this.canTrackVelocity = isFloat(this.current);\n  }\n  /**\n   * Adds a function that will be notified when the `MotionValue` is updated.\n   *\n   * It returns a function that, when called, will cancel the subscription.\n   *\n   * When calling `onChange` inside a React component, it should be wrapped with the\n   * `useEffect` hook. As it returns an unsubscribe function, this should be returned\n   * from the `useEffect` function to ensure you don't add duplicate subscribers..\n   *\n   * @library\n   *\n   * ```jsx\n   * function MyComponent() {\n   *   const x = useMotionValue(0)\n   *   const y = useMotionValue(0)\n   *   const opacity = useMotionValue(1)\n   *\n   *   useEffect(() => {\n   *     function updateOpacity() {\n   *       const maxXY = Math.max(x.get(), y.get())\n   *       const newOpacity = transform(maxXY, [0, 100], [1, 0])\n   *       opacity.set(newOpacity)\n   *     }\n   *\n   *     const unsubscribeX = x.onChange(updateOpacity)\n   *     const unsubscribeY = y.onChange(updateOpacity)\n   *\n   *     return () => {\n   *       unsubscribeX()\n   *       unsubscribeY()\n   *     }\n   *   }, [])\n   *\n   *   return <Frame x={x} />\n   * }\n   * ```\n   *\n   * @motion\n   *\n   * ```jsx\n   * export const MyComponent = () => {\n   *   const x = useMotionValue(0)\n   *   const y = useMotionValue(0)\n   *   const opacity = useMotionValue(1)\n   *\n   *   useEffect(() => {\n   *     function updateOpacity() {\n   *       const maxXY = Math.max(x.get(), y.get())\n   *       const newOpacity = transform(maxXY, [0, 100], [1, 0])\n   *       opacity.set(newOpacity)\n   *     }\n   *\n   *     const unsubscribeX = x.onChange(updateOpacity)\n   *     const unsubscribeY = y.onChange(updateOpacity)\n   *\n   *     return () => {\n   *       unsubscribeX()\n   *       unsubscribeY()\n   *     }\n   *   }, [])\n   *\n   *   return <motion.div style={{ x }} />\n   * }\n   * ```\n   *\n   * @internalremarks\n   *\n   * We could look into a `useOnChange` hook if the above lifecycle management proves confusing.\n   *\n   * ```jsx\n   * useOnChange(x, () => {})\n   * ```\n   *\n   * @param subscriber - A function that receives the latest value.\n   * @returns A function that, when called, will cancel this subscription.\n   *\n   * @public\n   */\n  MotionValue.prototype.onChange = function (subscription) {\n    return this.updateSubscribers.add(subscription);\n  };\n  MotionValue.prototype.clearListeners = function () {\n    this.updateSubscribers.clear();\n  };\n  /**\n   * Adds a function that will be notified when the `MotionValue` requests a render.\n   *\n   * @param subscriber - A function that's provided the latest value.\n   * @returns A function that, when called, will cancel this subscription.\n   *\n   * @internal\n   */\n  MotionValue.prototype.onRenderRequest = function (subscription) {\n    // Render immediately\n    subscription(this.get());\n    return this.renderSubscribers.add(subscription);\n  };\n  /**\n   * Attaches a passive effect to the `MotionValue`.\n   *\n   * @internal\n   */\n  MotionValue.prototype.attach = function (passiveEffect) {\n    this.passiveEffect = passiveEffect;\n  };\n  /**\n   * Sets the state of the `MotionValue`.\n   *\n   * @remarks\n   *\n   * ```jsx\n   * const x = useMotionValue(0)\n   * x.set(10)\n   * ```\n   *\n   * @param latest - Latest value to set.\n   * @param render - Whether to notify render subscribers. Defaults to `true`\n   *\n   * @public\n   */\n  MotionValue.prototype.set = function (v, render) {\n    if (render === void 0) {\n      render = true;\n    }\n    if (!render || !this.passiveEffect) {\n      this.updateAndNotify(v, render);\n    } else {\n      this.passiveEffect(v, this.updateAndNotify);\n    }\n  };\n  /**\n   * Returns the latest state of `MotionValue`\n   *\n   * @returns - The latest state of `MotionValue`\n   *\n   * @public\n   */\n  MotionValue.prototype.get = function () {\n    return this.current;\n  };\n  /**\n   * @public\n   */\n  MotionValue.prototype.getPrevious = function () {\n    return this.prev;\n  };\n  /**\n   * Returns the latest velocity of `MotionValue`\n   *\n   * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.\n   *\n   * @public\n   */\n  MotionValue.prototype.getVelocity = function () {\n    // This could be isFloat(this.prev) && isFloat(this.current), but that would be wasteful\n    return this.canTrackVelocity ?\n    // These casts could be avoided if parseFloat would be typed better\n    velocityPerSecond(parseFloat(this.current) - parseFloat(this.prev), this.timeDelta) : 0;\n  };\n  /**\n   * Registers a new animation to control this `MotionValue`. Only one\n   * animation can drive a `MotionValue` at one time.\n   *\n   * ```jsx\n   * value.start()\n   * ```\n   *\n   * @param animation - A function that starts the provided animation\n   *\n   * @internal\n   */\n  MotionValue.prototype.start = function (animation) {\n    var _this = this;\n    this.stop();\n    return new Promise(function (resolve) {\n      _this.hasAnimated = true;\n      _this.stopAnimation = animation(resolve);\n    }).then(function () {\n      return _this.clearAnimation();\n    });\n  };\n  /**\n   * Stop the currently active animation.\n   *\n   * @public\n   */\n  MotionValue.prototype.stop = function () {\n    if (this.stopAnimation) this.stopAnimation();\n    this.clearAnimation();\n  };\n  /**\n   * Returns `true` if this value is currently animating.\n   *\n   * @public\n   */\n  MotionValue.prototype.isAnimating = function () {\n    return !!this.stopAnimation;\n  };\n  MotionValue.prototype.clearAnimation = function () {\n    this.stopAnimation = null;\n  };\n  /**\n   * Destroy and clean up subscribers to this `MotionValue`.\n   *\n   * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically\n   * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually\n   * created a `MotionValue` via the `motionValue` function.\n   *\n   * @public\n   */\n  MotionValue.prototype.destroy = function () {\n    this.updateSubscribers.clear();\n    this.renderSubscribers.clear();\n    this.stop();\n  };\n  return MotionValue;\n}();\n/**\n * @internal\n */\nfunction motionValue(init) {\n  return new MotionValue(init);\n}\nexport { MotionValue, motionValue };","map":{"version":3,"names":["sync","getFrameData","velocityPerSecond","SubscriptionManager","isFloat","value","isNaN","parseFloat","MotionValue","init","_this","timeDelta","lastUpdated","updateSubscribers","velocityUpdateSubscribers","renderSubscribers","canTrackVelocity","updateAndNotify","v","render","prev","current","_a","delta","timestamp","postRender","scheduleVelocityCheck","notify","getSize","getVelocity","velocityCheck","hasAnimated","prototype","onChange","subscription","add","clearListeners","clear","onRenderRequest","get","attach","passiveEffect","set","getPrevious","start","animation","stop","Promise","resolve","stopAnimation","then","clearAnimation","isAnimating","destroy","motionValue"],"sources":["C:/LDT/DSP_Management/node_modules/framer-motion/dist/es/value/index.js"],"sourcesContent":["import sync, { getFrameData } from 'framesync';\nimport { velocityPerSecond } from 'popmotion';\nimport { SubscriptionManager } from '../utils/subscription-manager.js';\n\nvar isFloat = function (value) {\n    return !isNaN(parseFloat(value));\n};\n/**\n * `MotionValue` is used to track the state and velocity of motion values.\n *\n * @public\n */\nvar MotionValue = /** @class */ (function () {\n    /**\n     * @param init - The initiating value\n     * @param config - Optional configuration options\n     *\n     * -  `transformer`: A function to transform incoming values with.\n     *\n     * @internal\n     */\n    function MotionValue(init) {\n        var _this = this;\n        /**\n         * Duration, in milliseconds, since last updating frame.\n         *\n         * @internal\n         */\n        this.timeDelta = 0;\n        /**\n         * Timestamp of the last time this `MotionValue` was updated.\n         *\n         * @internal\n         */\n        this.lastUpdated = 0;\n        /**\n         * Functions to notify when the `MotionValue` updates.\n         *\n         * @internal\n         */\n        this.updateSubscribers = new SubscriptionManager();\n        /**\n         * Functions to notify when the velocity updates.\n         *\n         * @internal\n         */\n        this.velocityUpdateSubscribers = new SubscriptionManager();\n        /**\n         * Functions to notify when the `MotionValue` updates and `render` is set to `true`.\n         *\n         * @internal\n         */\n        this.renderSubscribers = new SubscriptionManager();\n        /**\n         * Tracks whether this value can output a velocity. Currently this is only true\n         * if the value is numerical, but we might be able to widen the scope here and support\n         * other value types.\n         *\n         * @internal\n         */\n        this.canTrackVelocity = false;\n        this.updateAndNotify = function (v, render) {\n            if (render === void 0) { render = true; }\n            _this.prev = _this.current;\n            _this.current = v;\n            // Update timestamp\n            var _a = getFrameData(), delta = _a.delta, timestamp = _a.timestamp;\n            if (_this.lastUpdated !== timestamp) {\n                _this.timeDelta = delta;\n                _this.lastUpdated = timestamp;\n                sync.postRender(_this.scheduleVelocityCheck);\n            }\n            // Update update subscribers\n            if (_this.prev !== _this.current) {\n                _this.updateSubscribers.notify(_this.current);\n            }\n            // Update velocity subscribers\n            if (_this.velocityUpdateSubscribers.getSize()) {\n                _this.velocityUpdateSubscribers.notify(_this.getVelocity());\n            }\n            // Update render subscribers\n            if (render) {\n                _this.renderSubscribers.notify(_this.current);\n            }\n        };\n        /**\n         * Schedule a velocity check for the next frame.\n         *\n         * This is an instanced and bound function to prevent generating a new\n         * function once per frame.\n         *\n         * @internal\n         */\n        this.scheduleVelocityCheck = function () { return sync.postRender(_this.velocityCheck); };\n        /**\n         * Updates `prev` with `current` if the value hasn't been updated this frame.\n         * This ensures velocity calculations return `0`.\n         *\n         * This is an instanced and bound function to prevent generating a new\n         * function once per frame.\n         *\n         * @internal\n         */\n        this.velocityCheck = function (_a) {\n            var timestamp = _a.timestamp;\n            if (timestamp !== _this.lastUpdated) {\n                _this.prev = _this.current;\n                _this.velocityUpdateSubscribers.notify(_this.getVelocity());\n            }\n        };\n        this.hasAnimated = false;\n        this.prev = this.current = init;\n        this.canTrackVelocity = isFloat(this.current);\n    }\n    /**\n     * Adds a function that will be notified when the `MotionValue` is updated.\n     *\n     * It returns a function that, when called, will cancel the subscription.\n     *\n     * When calling `onChange` inside a React component, it should be wrapped with the\n     * `useEffect` hook. As it returns an unsubscribe function, this should be returned\n     * from the `useEffect` function to ensure you don't add duplicate subscribers..\n     *\n     * @library\n     *\n     * ```jsx\n     * function MyComponent() {\n     *   const x = useMotionValue(0)\n     *   const y = useMotionValue(0)\n     *   const opacity = useMotionValue(1)\n     *\n     *   useEffect(() => {\n     *     function updateOpacity() {\n     *       const maxXY = Math.max(x.get(), y.get())\n     *       const newOpacity = transform(maxXY, [0, 100], [1, 0])\n     *       opacity.set(newOpacity)\n     *     }\n     *\n     *     const unsubscribeX = x.onChange(updateOpacity)\n     *     const unsubscribeY = y.onChange(updateOpacity)\n     *\n     *     return () => {\n     *       unsubscribeX()\n     *       unsubscribeY()\n     *     }\n     *   }, [])\n     *\n     *   return <Frame x={x} />\n     * }\n     * ```\n     *\n     * @motion\n     *\n     * ```jsx\n     * export const MyComponent = () => {\n     *   const x = useMotionValue(0)\n     *   const y = useMotionValue(0)\n     *   const opacity = useMotionValue(1)\n     *\n     *   useEffect(() => {\n     *     function updateOpacity() {\n     *       const maxXY = Math.max(x.get(), y.get())\n     *       const newOpacity = transform(maxXY, [0, 100], [1, 0])\n     *       opacity.set(newOpacity)\n     *     }\n     *\n     *     const unsubscribeX = x.onChange(updateOpacity)\n     *     const unsubscribeY = y.onChange(updateOpacity)\n     *\n     *     return () => {\n     *       unsubscribeX()\n     *       unsubscribeY()\n     *     }\n     *   }, [])\n     *\n     *   return <motion.div style={{ x }} />\n     * }\n     * ```\n     *\n     * @internalremarks\n     *\n     * We could look into a `useOnChange` hook if the above lifecycle management proves confusing.\n     *\n     * ```jsx\n     * useOnChange(x, () => {})\n     * ```\n     *\n     * @param subscriber - A function that receives the latest value.\n     * @returns A function that, when called, will cancel this subscription.\n     *\n     * @public\n     */\n    MotionValue.prototype.onChange = function (subscription) {\n        return this.updateSubscribers.add(subscription);\n    };\n    MotionValue.prototype.clearListeners = function () {\n        this.updateSubscribers.clear();\n    };\n    /**\n     * Adds a function that will be notified when the `MotionValue` requests a render.\n     *\n     * @param subscriber - A function that's provided the latest value.\n     * @returns A function that, when called, will cancel this subscription.\n     *\n     * @internal\n     */\n    MotionValue.prototype.onRenderRequest = function (subscription) {\n        // Render immediately\n        subscription(this.get());\n        return this.renderSubscribers.add(subscription);\n    };\n    /**\n     * Attaches a passive effect to the `MotionValue`.\n     *\n     * @internal\n     */\n    MotionValue.prototype.attach = function (passiveEffect) {\n        this.passiveEffect = passiveEffect;\n    };\n    /**\n     * Sets the state of the `MotionValue`.\n     *\n     * @remarks\n     *\n     * ```jsx\n     * const x = useMotionValue(0)\n     * x.set(10)\n     * ```\n     *\n     * @param latest - Latest value to set.\n     * @param render - Whether to notify render subscribers. Defaults to `true`\n     *\n     * @public\n     */\n    MotionValue.prototype.set = function (v, render) {\n        if (render === void 0) { render = true; }\n        if (!render || !this.passiveEffect) {\n            this.updateAndNotify(v, render);\n        }\n        else {\n            this.passiveEffect(v, this.updateAndNotify);\n        }\n    };\n    /**\n     * Returns the latest state of `MotionValue`\n     *\n     * @returns - The latest state of `MotionValue`\n     *\n     * @public\n     */\n    MotionValue.prototype.get = function () {\n        return this.current;\n    };\n    /**\n     * @public\n     */\n    MotionValue.prototype.getPrevious = function () {\n        return this.prev;\n    };\n    /**\n     * Returns the latest velocity of `MotionValue`\n     *\n     * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.\n     *\n     * @public\n     */\n    MotionValue.prototype.getVelocity = function () {\n        // This could be isFloat(this.prev) && isFloat(this.current), but that would be wasteful\n        return this.canTrackVelocity\n            ? // These casts could be avoided if parseFloat would be typed better\n                velocityPerSecond(parseFloat(this.current) -\n                    parseFloat(this.prev), this.timeDelta)\n            : 0;\n    };\n    /**\n     * Registers a new animation to control this `MotionValue`. Only one\n     * animation can drive a `MotionValue` at one time.\n     *\n     * ```jsx\n     * value.start()\n     * ```\n     *\n     * @param animation - A function that starts the provided animation\n     *\n     * @internal\n     */\n    MotionValue.prototype.start = function (animation) {\n        var _this = this;\n        this.stop();\n        return new Promise(function (resolve) {\n            _this.hasAnimated = true;\n            _this.stopAnimation = animation(resolve);\n        }).then(function () { return _this.clearAnimation(); });\n    };\n    /**\n     * Stop the currently active animation.\n     *\n     * @public\n     */\n    MotionValue.prototype.stop = function () {\n        if (this.stopAnimation)\n            this.stopAnimation();\n        this.clearAnimation();\n    };\n    /**\n     * Returns `true` if this value is currently animating.\n     *\n     * @public\n     */\n    MotionValue.prototype.isAnimating = function () {\n        return !!this.stopAnimation;\n    };\n    MotionValue.prototype.clearAnimation = function () {\n        this.stopAnimation = null;\n    };\n    /**\n     * Destroy and clean up subscribers to this `MotionValue`.\n     *\n     * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically\n     * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually\n     * created a `MotionValue` via the `motionValue` function.\n     *\n     * @public\n     */\n    MotionValue.prototype.destroy = function () {\n        this.updateSubscribers.clear();\n        this.renderSubscribers.clear();\n        this.stop();\n    };\n    return MotionValue;\n}());\n/**\n * @internal\n */\nfunction motionValue(init) {\n    return new MotionValue(init);\n}\n\nexport { MotionValue, motionValue };\n"],"mappings":"AAAA,OAAOA,IAAI,IAAIC,YAAY,QAAQ,WAAW;AAC9C,SAASC,iBAAiB,QAAQ,WAAW;AAC7C,SAASC,mBAAmB,QAAQ,kCAAkC;AAEtE,IAAIC,OAAO,GAAG,SAAVA,OAAOA,CAAaC,KAAK,EAAE;EAC3B,OAAO,CAACC,KAAK,CAACC,UAAU,CAACF,KAAK,CAAC,CAAC;AACpC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAIG,WAAW,GAAG,aAAe,YAAY;EACzC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACI,SAASA,WAAWA,CAACC,IAAI,EAAE;IACvB,IAAIC,KAAK,GAAG,IAAI;IAChB;AACR;AACA;AACA;AACA;IACQ,IAAI,CAACC,SAAS,GAAG,CAAC;IAClB;AACR;AACA;AACA;AACA;IACQ,IAAI,CAACC,WAAW,GAAG,CAAC;IACpB;AACR;AACA;AACA;AACA;IACQ,IAAI,CAACC,iBAAiB,GAAG,IAAIV,mBAAmB,CAAC,CAAC;IAClD;AACR;AACA;AACA;AACA;IACQ,IAAI,CAACW,yBAAyB,GAAG,IAAIX,mBAAmB,CAAC,CAAC;IAC1D;AACR;AACA;AACA;AACA;IACQ,IAAI,CAACY,iBAAiB,GAAG,IAAIZ,mBAAmB,CAAC,CAAC;IAClD;AACR;AACA;AACA;AACA;AACA;AACA;IACQ,IAAI,CAACa,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAACC,eAAe,GAAG,UAAUC,CAAC,EAAEC,MAAM,EAAE;MACxC,IAAIA,MAAM,KAAK,KAAK,CAAC,EAAE;QAAEA,MAAM,GAAG,IAAI;MAAE;MACxCT,KAAK,CAACU,IAAI,GAAGV,KAAK,CAACW,OAAO;MAC1BX,KAAK,CAACW,OAAO,GAAGH,CAAC;MACjB;MACA,IAAII,EAAE,GAAGrB,YAAY,CAAC,CAAC;QAAEsB,KAAK,GAAGD,EAAE,CAACC,KAAK;QAAEC,SAAS,GAAGF,EAAE,CAACE,SAAS;MACnE,IAAId,KAAK,CAACE,WAAW,KAAKY,SAAS,EAAE;QACjCd,KAAK,CAACC,SAAS,GAAGY,KAAK;QACvBb,KAAK,CAACE,WAAW,GAAGY,SAAS;QAC7BxB,IAAI,CAACyB,UAAU,CAACf,KAAK,CAACgB,qBAAqB,CAAC;MAChD;MACA;MACA,IAAIhB,KAAK,CAACU,IAAI,KAAKV,KAAK,CAACW,OAAO,EAAE;QAC9BX,KAAK,CAACG,iBAAiB,CAACc,MAAM,CAACjB,KAAK,CAACW,OAAO,CAAC;MACjD;MACA;MACA,IAAIX,KAAK,CAACI,yBAAyB,CAACc,OAAO,CAAC,CAAC,EAAE;QAC3ClB,KAAK,CAACI,yBAAyB,CAACa,MAAM,CAACjB,KAAK,CAACmB,WAAW,CAAC,CAAC,CAAC;MAC/D;MACA;MACA,IAAIV,MAAM,EAAE;QACRT,KAAK,CAACK,iBAAiB,CAACY,MAAM,CAACjB,KAAK,CAACW,OAAO,CAAC;MACjD;IACJ,CAAC;IACD;AACR;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,IAAI,CAACK,qBAAqB,GAAG,YAAY;MAAE,OAAO1B,IAAI,CAACyB,UAAU,CAACf,KAAK,CAACoB,aAAa,CAAC;IAAE,CAAC;IACzF;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,IAAI,CAACA,aAAa,GAAG,UAAUR,EAAE,EAAE;MAC/B,IAAIE,SAAS,GAAGF,EAAE,CAACE,SAAS;MAC5B,IAAIA,SAAS,KAAKd,KAAK,CAACE,WAAW,EAAE;QACjCF,KAAK,CAACU,IAAI,GAAGV,KAAK,CAACW,OAAO;QAC1BX,KAAK,CAACI,yBAAyB,CAACa,MAAM,CAACjB,KAAK,CAACmB,WAAW,CAAC,CAAC,CAAC;MAC/D;IACJ,CAAC;IACD,IAAI,CAACE,WAAW,GAAG,KAAK;IACxB,IAAI,CAACX,IAAI,GAAG,IAAI,CAACC,OAAO,GAAGZ,IAAI;IAC/B,IAAI,CAACO,gBAAgB,GAAGZ,OAAO,CAAC,IAAI,CAACiB,OAAO,CAAC;EACjD;EACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACIb,WAAW,CAACwB,SAAS,CAACC,QAAQ,GAAG,UAAUC,YAAY,EAAE;IACrD,OAAO,IAAI,CAACrB,iBAAiB,CAACsB,GAAG,CAACD,YAAY,CAAC;EACnD,CAAC;EACD1B,WAAW,CAACwB,SAAS,CAACI,cAAc,GAAG,YAAY;IAC/C,IAAI,CAACvB,iBAAiB,CAACwB,KAAK,CAAC,CAAC;EAClC,CAAC;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACI7B,WAAW,CAACwB,SAAS,CAACM,eAAe,GAAG,UAAUJ,YAAY,EAAE;IAC5D;IACAA,YAAY,CAAC,IAAI,CAACK,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,IAAI,CAACxB,iBAAiB,CAACoB,GAAG,CAACD,YAAY,CAAC;EACnD,CAAC;EACD;AACJ;AACA;AACA;AACA;EACI1B,WAAW,CAACwB,SAAS,CAACQ,MAAM,GAAG,UAAUC,aAAa,EAAE;IACpD,IAAI,CAACA,aAAa,GAAGA,aAAa;EACtC,CAAC;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACIjC,WAAW,CAACwB,SAAS,CAACU,GAAG,GAAG,UAAUxB,CAAC,EAAEC,MAAM,EAAE;IAC7C,IAAIA,MAAM,KAAK,KAAK,CAAC,EAAE;MAAEA,MAAM,GAAG,IAAI;IAAE;IACxC,IAAI,CAACA,MAAM,IAAI,CAAC,IAAI,CAACsB,aAAa,EAAE;MAChC,IAAI,CAACxB,eAAe,CAACC,CAAC,EAAEC,MAAM,CAAC;IACnC,CAAC,MACI;MACD,IAAI,CAACsB,aAAa,CAACvB,CAAC,EAAE,IAAI,CAACD,eAAe,CAAC;IAC/C;EACJ,CAAC;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;EACIT,WAAW,CAACwB,SAAS,CAACO,GAAG,GAAG,YAAY;IACpC,OAAO,IAAI,CAAClB,OAAO;EACvB,CAAC;EACD;AACJ;AACA;EACIb,WAAW,CAACwB,SAAS,CAACW,WAAW,GAAG,YAAY;IAC5C,OAAO,IAAI,CAACvB,IAAI;EACpB,CAAC;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;EACIZ,WAAW,CAACwB,SAAS,CAACH,WAAW,GAAG,YAAY;IAC5C;IACA,OAAO,IAAI,CAACb,gBAAgB;IACtB;IACEd,iBAAiB,CAACK,UAAU,CAAC,IAAI,CAACc,OAAO,CAAC,GACtCd,UAAU,CAAC,IAAI,CAACa,IAAI,CAAC,EAAE,IAAI,CAACT,SAAS,CAAC,GAC5C,CAAC;EACX,CAAC;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACIH,WAAW,CAACwB,SAAS,CAACY,KAAK,GAAG,UAAUC,SAAS,EAAE;IAC/C,IAAInC,KAAK,GAAG,IAAI;IAChB,IAAI,CAACoC,IAAI,CAAC,CAAC;IACX,OAAO,IAAIC,OAAO,CAAC,UAAUC,OAAO,EAAE;MAClCtC,KAAK,CAACqB,WAAW,GAAG,IAAI;MACxBrB,KAAK,CAACuC,aAAa,GAAGJ,SAAS,CAACG,OAAO,CAAC;IAC5C,CAAC,CAAC,CAACE,IAAI,CAAC,YAAY;MAAE,OAAOxC,KAAK,CAACyC,cAAc,CAAC,CAAC;IAAE,CAAC,CAAC;EAC3D,CAAC;EACD;AACJ;AACA;AACA;AACA;EACI3C,WAAW,CAACwB,SAAS,CAACc,IAAI,GAAG,YAAY;IACrC,IAAI,IAAI,CAACG,aAAa,EAClB,IAAI,CAACA,aAAa,CAAC,CAAC;IACxB,IAAI,CAACE,cAAc,CAAC,CAAC;EACzB,CAAC;EACD;AACJ;AACA;AACA;AACA;EACI3C,WAAW,CAACwB,SAAS,CAACoB,WAAW,GAAG,YAAY;IAC5C,OAAO,CAAC,CAAC,IAAI,CAACH,aAAa;EAC/B,CAAC;EACDzC,WAAW,CAACwB,SAAS,CAACmB,cAAc,GAAG,YAAY;IAC/C,IAAI,CAACF,aAAa,GAAG,IAAI;EAC7B,CAAC;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACIzC,WAAW,CAACwB,SAAS,CAACqB,OAAO,GAAG,YAAY;IACxC,IAAI,CAACxC,iBAAiB,CAACwB,KAAK,CAAC,CAAC;IAC9B,IAAI,CAACtB,iBAAiB,CAACsB,KAAK,CAAC,CAAC;IAC9B,IAAI,CAACS,IAAI,CAAC,CAAC;EACf,CAAC;EACD,OAAOtC,WAAW;AACtB,CAAC,CAAC,CAAE;AACJ;AACA;AACA;AACA,SAAS8C,WAAWA,CAAC7C,IAAI,EAAE;EACvB,OAAO,IAAID,WAAW,CAACC,IAAI,CAAC;AAChC;AAEA,SAASD,WAAW,EAAE8C,WAAW","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}