diff --git a/spine-ts/README.md b/spine-ts/README.md index 35c05319f..91e6d020f 100644 --- a/spine-ts/README.md +++ b/spine-ts/README.md @@ -5,6 +5,7 @@ up into multiple modules: 1. **Core**: `core/`, the core classes to load and process Spine models 1. **WebGL**: `webgl/`, a self-contained WebGL backend, build on the core classes +1. **Canvas**: `canvas/`, a self-contained Canvas backend, build on the core classes 1. **Widget**: `widget/`, a self-contained widget to easily display Spine animations on your website, build on core classes & WebGL backend. While the source code for the core library and backends is written in TypeScript, all code is compiled to easily consumable JavaScript. @@ -18,7 +19,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f spine-ts works with data exported from the latest Spine version. -spine-ts supports all Spine features. +spine-ts WebGL & Widget backends supports all Spine features. The spine-ts Canvas backend does not support color tinting, mesh attachments or shearing. Mesh attachments are supported by setting `spine.canvas.SkeletonRenderer.useTriangleRendering` to true. Note that this method is slow and may lead to artifacts on some browsers. spine-ts does not yet support loading the binary format. @@ -26,6 +27,7 @@ spine-ts does not yet support loading the binary format. 1. Download the Spine Runtimes source using [git](https://help.github.com/articles/set-up-git) or by downloading it [as a zip](https://github.com/EsotericSoftware/spine-runtimes/archive/master.zip). 2. To use only the core library without rendering support, include the `build/spine-core.js` file in your project. 3. To use the WebGL backend, include the `spine-webgl.js` file in your project. +3. To use the Canvas backend, include the `spine-canvas.js` file in your project. 4. To use the Widget, include `spine-widget.js` file in your project. All `*.js` files are self-contained and include both the core and respective backend classes. @@ -41,7 +43,7 @@ cd spine-ts python -m SimpleHTTPServer ```` -Then open `http://localhost:8000/webgl/example` or `http://localhost:8000/widget/example` in your browser. +Then open `http://localhost:8000/webgl/example`, `http://localhost:8000/canvas/example` or `http://localhost:8000/widget/example` in your browser. ## Development Setup The spine-ts runtime and the various backends are implemented in TypeScript for greater maintainability and better tooling support. To @@ -52,11 +54,12 @@ setup a development environment, follow these steps. 3. Install [Visual Studio Code](https://code.visualstudio.com/) 4. On the command line, change into the `spine-ts` directory 5. Start the TypeScript compiler in watcher mode for the backend you want to work on: - 1. **Core**: `tsc -w -p tsconfig.core.json`, builds `core/src`, outputs `build/spine-core.js|d.ts|js.map` - 2. **WebGL**: `tsc -w -p tsconfig.webgl.json`, builds `core/src` and `webgl/src`, outputs `build/spine-webgl.js|d.ts|js.map` - 3. **Widget**: `tsc -w -p tsconfig.widget.json`, builds `core/src` and `widget/src`, outputs `build/spine-widget.js|d.ts|js.map` + * **Core**: `tsc -w -p tsconfig.core.json`, builds `core/src`, outputs `build/spine-core.js|d.ts|js.map` + * **WebGL**: `tsc -w -p tsconfig.webgl.json`, builds `core/src` and `webgl/src`, outputs `build/spine-webgl.js|d.ts|js.map` + * **WebGL**: `tsc -w -p tsconfig.canvas.json`, builds `core/src` and `canvas/src`, outputs `build/spine-canvas.js|d.ts|js.map` + * **Widget**: `tsc -w -p tsconfig.widget.json`, builds `core/src` and `widget/src`, outputs `build/spine-widget.js|d.ts|js.map` 6. Open the `spine-ts` folder in Visual Studio Code. VS Code will use the `tsconfig.json` file all source files from core and all -backends for your development pleasure. The actual JavaScript output is still created by the command line TypeScript compiler process from the previous step. +backends for your development pleasure. The actual JavaScript output is still created by the command line TypeScript compiler process from the previous step. Each backend contains an `example/` folder with an `index.html` file that demonstrates the respective backend. For development, we suggest to run a HTTP server in the root of `spine-ts`, e.g. @@ -66,4 +69,4 @@ cd spine-ts python -m SimpleHTTPServer ``` -Then navigate to `http://localhost:8000/webgl/example` or `http://localhost:8000/widget/example` \ No newline at end of file +Then navigate to `http://localhost:8000/webgl/example`, `http://localhost:8000/canvas/example` or `http://localhost:8000/widget/example` \ No newline at end of file diff --git a/spine-ts/build/spine-all.d.ts b/spine-ts/build/spine-all.d.ts index bab571348..55352f4f4 100644 --- a/spine-ts/build/spine-all.d.ts +++ b/spine-ts/build/spine-all.d.ts @@ -1,33 +1,64 @@ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +declare module spine { + abstract class Texture { + protected _image: HTMLImageElement; + constructor(image: HTMLImageElement); + getImage(): HTMLImageElement; + abstract setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void; + abstract setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void; + abstract dispose(): void; + static filterFromString(text: string): TextureFilter; + static wrapFromString(text: string): TextureWrap; + } + enum TextureFilter { + Nearest = 9728, + Linear = 9729, + MipMap = 9987, + MipMapNearestNearest = 9984, + MipMapLinearNearest = 9985, + MipMapNearestLinear = 9986, + MipMapLinearLinear = 9987, + } + enum TextureWrap { + MirroredRepeat = 33648, + ClampToEdge = 33071, + Repeat = 10497, + } + class TextureRegion { + renderObject: any; + u: number; + v: number; + u2: number; + v2: number; + width: number; + height: number; + rotate: boolean; + offsetX: number; + offsetY: number; + originalWidth: number; + originalHeight: number; + } +} +declare module spine.canvas { + class CanvasTexture extends Texture { + constructor(image: HTMLImageElement); + setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void; + setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void; + dispose(): void; + } +} +declare module spine.canvas { + class SkeletonRenderer { + static QUAD_TRIANGLES: number[]; + private _ctx; + useTriangleRendering: boolean; + useDebugRendering: boolean; + constructor(context: CanvasRenderingContext2D); + draw(skeleton: Skeleton): void; + private drawImages(skeleton); + private drawTriangles(skeleton); + private drawTriangle(img, x0, y0, u0, v0, x1, y1, u1, v1, x2, y2, u2, v2); + } +} declare module spine { class Animation { name: string; @@ -53,9 +84,6 @@ declare module spine { setLinear(frameIndex: number): void; setStepped(frameIndex: number): void; getCurveType(frameIndex: number): number; - /** Sets the control handle positions for an interpolation bezier curve used to transition from this keyframe to the next. - * cx1 and cx2 are from 0 to 1, representing the percent of time between the two keyframes. cy1 and cy2 are the percent of - * the difference between the keyframe's values. */ setCurve(frameIndex: number, cx1: number, cy1: number, cx2: number, cy2: number): void; getCurvePercent(frameIndex: number, percent: number): number; abstract apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; @@ -68,7 +96,6 @@ declare module spine { boneIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and angle of the specified keyframe. */ setFrame(frameIndex: number, time: number, degrees: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -82,7 +109,6 @@ declare module spine { boneIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, x: number, y: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -108,7 +134,6 @@ declare module spine { slotIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, r: number, g: number, b: number, a: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -118,7 +143,6 @@ declare module spine { attachmentNames: Array; constructor(frameCount: number); getFrameCount(): number; - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, attachmentName: string): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -127,9 +151,7 @@ declare module spine { events: Array; constructor(frameCount: number); getFrameCount(): number; - /** Sets the time of the specified keyframe. */ setFrame(frameIndex: number, event: Event): void; - /** Fires events for frames > lastTime and <= time. */ apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } class DrawOrderTimeline implements Timeline { @@ -137,8 +159,6 @@ declare module spine { drawOrders: Array>; constructor(frameCount: number); getFrameCount(): number; - /** Sets the time of the specified keyframe. - * @param drawOrder May be null to use bind pose draw order. */ setFrame(frameIndex: number, time: number, drawOrder: Array): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -148,7 +168,6 @@ declare module spine { slotIndex: number; attachment: VertexAttachment; constructor(frameCount: number); - /** Sets the time of the specified keyframe. */ setFrame(frameIndex: number, time: number, vertices: ArrayLike): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -162,7 +181,6 @@ declare module spine { ikConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time, mix and bend direction of the specified keyframe. */ setFrame(frameIndex: number, time: number, mix: number, bendDirection: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -180,7 +198,6 @@ declare module spine { transformConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and mixes of the specified keyframe. */ setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number, scaleMix: number, shearMix: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -192,7 +209,6 @@ declare module spine { pathConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, value: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -210,41 +226,10 @@ declare module spine { pathConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and mixes of the specified keyframe. */ setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class AnimationState { data: AnimationStateData; @@ -260,20 +245,12 @@ declare module spine { freeAll(entry: TrackEntry): void; expandToIndex(index: number): TrackEntry; setCurrent(index: number, entry: TrackEntry): void; - /** @see #setAnimation(int, Animation, boolean) */ setAnimation(trackIndex: number, animationName: string, loop: boolean): TrackEntry; - /** Set the current animation. Any queued animations are cleared. */ setAnimationWith(trackIndex: number, animation: Animation, loop: boolean): TrackEntry; - /** {@link #addAnimation(int, Animation, boolean, float)} */ addAnimation(trackIndex: number, animationName: string, loop: boolean, delay: number): TrackEntry; - /** Adds an animation to be played delay seconds after the current or last queued animation. - * @param delay May be <= 0 to use duration of previous animation minus any mix duration plus the negative delay. */ addAnimationWith(trackIndex: number, animation: Animation, loop: boolean, delay: number): TrackEntry; - /** @return May be null. */ getCurrent(trackIndex: number): TrackEntry; - /** Adds a listener to receive events for all animations. */ addListener(listener: AnimationStateListener): void; - /** Removes the listener added with {@link #addListener(AnimationStateListener)}. */ removeListener(listener: AnimationStateListener): void; clearListeners(): void; } @@ -292,7 +269,6 @@ declare module spine { listener: AnimationStateListener; mix: number; reset(): void; - /** Returns true if the current time is greater than the end time, regardless of looping. */ isComplete(): boolean; } abstract class AnimationStateAdapter implements AnimationStateListener { @@ -302,47 +278,12 @@ declare module spine { end(trackIndex: number): void; } interface AnimationStateListener { - /** Invoked when the current animation triggers an event. */ event(trackIndex: number, event: Event): void; - /** Invoked when the current animation has completed. - * @param loopCount The number of times the animation reached the end. */ complete(trackIndex: number, loopCount: number): void; - /** Invoked just after the current animation is set. */ start(trackIndex: number): void; - /** Invoked just before the current animation is replaced. */ end(trackIndex: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class AnimationStateData { skeletonData: SkeletonData; @@ -354,36 +295,27 @@ declare module spine { getMix(from: Animation, to: Animation): number; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +declare module spine { + class AssetManager implements Disposable { + private _textureLoader; + private _assets; + private _errors; + private _toLoad; + private _loaded; + constructor(textureLoader: (image: HTMLImageElement) => any); + loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void; + loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void; + get(path: string): any; + remove(path: string): void; + removeAll(): void; + isLoadingComplete(): boolean; + toLoad(): number; + loaded(): number; + dispose(): void; + hasErrors(): boolean; + errors(): Map; + } +} declare module spine { enum BlendMode { Normal = 0, @@ -392,36 +324,6 @@ declare module spine { Screen = 3, } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Bone implements Updatable { data: BoneData; @@ -445,13 +347,9 @@ declare module spine { worldSignX: number; worldSignY: number; sorted: boolean; - /** @param parent May be null. */ constructor(data: BoneData, skeleton: Skeleton, parent: Bone); - /** Same as {@link #updateWorldTransform()}. This method exists for Bone to implement {@link Updatable}. */ update(): void; - /** Computes the world transform using the parent bone and this bone's local transform. */ updateWorldTransform(): void; - /** Computes the world transform using the parent bone and the specified local transform. */ updateWorldTransformWith(x: number, y: number, rotation: number, scaleX: number, scaleY: number, shearX: number, shearY: number): void; setToSetupPose(): void; getWorldRotationX(): number; @@ -461,46 +359,11 @@ declare module spine { worldToLocalRotationX(): number; worldToLocalRotationY(): number; rotateWorld(degrees: number): void; - /** Computes the local transform from the world transform. This can be useful to perform processing on the local transform - * after the world transform has been modified directly (eg, by a constraint). - *

- * Some redundant information is lost by the world transform, such as -1,-1 scale versus 180 rotation. The computed local - * transform values may differ from the original values but are functionally the same. */ updateLocalTransform(): void; worldToLocal(world: Vector2): Vector2; localToWorld(local: Vector2): Vector2; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class BoneData { index: number; @@ -519,36 +382,6 @@ declare module spine { constructor(index: number, name: string, parent: BoneData); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Event { data: EventData; @@ -559,36 +392,6 @@ declare module spine { constructor(time: number, data: EventData); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class EventData { name: string; @@ -598,36 +401,6 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class IkConstraint implements Updatable { data: IkConstraintData; @@ -639,45 +412,10 @@ declare module spine { constructor(data: IkConstraintData, skeleton: Skeleton); apply(): void; update(): void; - /** Adjusts the bone rotation so the tip is as close to the target position as possible. The target is specified in the world - * coordinate system. */ apply1(bone: Bone, targetX: number, targetY: number, alpha: number): void; - /** Adjusts the parent and child bone rotations so the tip of the child is as close to the target position as possible. The - * target is specified in the world coordinate system. - * @param child A direct descendant of the parent bone. */ apply2(parent: Bone, child: Bone, targetX: number, targetY: number, bendDir: number, alpha: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class IkConstraintData { name: string; @@ -688,36 +426,6 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class PathConstraint implements Updatable { static NONE: number; @@ -745,36 +453,6 @@ declare module spine { addCurvePosition(p: number, x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, out: Array, o: number, tangents: boolean): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class PathConstraintData { name: string; @@ -805,36 +483,6 @@ declare module spine { ChainScale = 2, } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Skeleton { data: SkeletonData; @@ -859,80 +507,27 @@ declare module spine { sortPathConstraintAttachmentWith(attachment: Attachment, slotBone: Bone): void; sortBone(bone: Bone): void; sortReset(bones: Array): void; - /** Updates the world transform for each bone and applies constraints. */ updateWorldTransform(): void; - /** Sets the bones, constraints, and slots to their setup pose values. */ setToSetupPose(): void; - /** Sets the bones and constraints to their setup pose values. */ setBonesToSetupPose(): void; setSlotsToSetupPose(): void; - /** @return May return null. */ getRootBone(): Bone; - /** @return May be null. */ findBone(boneName: string): Bone; - /** @return -1 if the bone was not found. */ findBoneIndex(boneName: string): number; - /** @return May be null. */ findSlot(slotName: string): Slot; - /** @return -1 if the bone was not found. */ findSlotIndex(slotName: string): number; - /** Sets a skin by name. - * @see #setSkin(Skin) */ setSkinByName(skinName: string): void; - /** Sets the skin used to look up attachments before looking in the {@link SkeletonData#getDefaultSkin() default skin}. - * Attachments from the new skin are attached if the corresponding attachment from the old skin was attached. If there was no - * old skin, each slot's setup mode attachment is attached from the new skin. - * @param newSkin May be null. */ setSkin(newSkin: Skin): void; - /** @return May be null. */ getAttachmentByName(slotName: string, attachmentName: string): Attachment; - /** @return May be null. */ getAttachment(slotIndex: number, attachmentName: string): Attachment; - /** @param attachmentName May be null. */ setAttachment(slotName: string, attachmentName: string): void; - /** @return May be null. */ findIkConstraint(constraintName: string): IkConstraint; - /** @return May be null. */ findTransformConstraint(constraintName: string): TransformConstraint; - /** @return May be null. */ findPathConstraint(constraintName: string): PathConstraint; - /** Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose. - * @param offset The distance from the skeleton origin to the bottom left corner of the AABB. - * @param size The width and height of the AABB. */ getBounds(offset: Vector2, size: Vector2): void; update(delta: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SkeletonBounds { minX: number; @@ -944,57 +539,16 @@ declare module spine { private _polygonPool; update(skeleton: Skeleton, updateAabb: boolean): void; aabbCompute(): void; - /** Returns true if the axis aligned bounding box contains the point. */ aabbContainsPoint(x: number, y: number): boolean; - /** Returns true if the axis aligned bounding box intersects the line segment. */ aabbIntersectsSegment(x1: number, y1: number, x2: number, y2: number): boolean; - /** Returns true if the axis aligned bounding box intersects the axis aligned bounding box of the specified bounds. */ aabbIntersectsSkeleton(bounds: SkeletonBounds): boolean; - /** Returns the first bounding box attachment that contains the point, or null. When doing many checks, it is usually more - * efficient to only call this method if {@link #aabbContainsPoint(float, float)} returns true. */ containsPoint(x: number, y: number): BoundingBoxAttachment; - /** Returns true if the polygon contains the point. */ containsPointPolygon(polygon: ArrayLike, x: number, y: number): boolean; - /** Returns the first bounding box attachment that contains any part of the line segment, or null. When doing many checks, it - * is usually more efficient to only call this method if {@link #aabbIntersectsSegment(float, float, float, float)} returns - * true. */ intersectsSegment(x1: number, y1: number, x2: number, y2: number): BoundingBoxAttachment; - /** Returns true if the polygon contains any part of the line segment. */ intersectsSegmentPolygon(polygon: ArrayLike, x1: number, y1: number, x2: number, y2: number): boolean; - /** Returns the polygon for the specified bounding box, or null. */ getPolygon(boundingBox: BoundingBoxAttachment): ArrayLike; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SkeletonData { name: string; @@ -1025,36 +579,6 @@ declare module spine { findPathConstraintIndex(pathConstraintName: string): number; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SkeletonJson { attachmentLoader: AttachmentLoader; @@ -1073,78 +597,16 @@ declare module spine { static rotateModeFromString(str: string): RotateMode; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Skin { name: string; attachments: Map[]; constructor(name: string); addAttachment(slotIndex: number, name: string, attachment: Attachment): void; - /** @return May be null. */ getAttachment(slotIndex: number, name: string): Attachment; - /** Attach each attachment in this skin if the corresponding attachment in the old skin is currently attached. */ attachAll(skeleton: Skeleton, oldSkin: Skin): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Slot { data: SlotData; @@ -1154,47 +616,13 @@ declare module spine { private attachmentTime; attachmentVertices: number[]; constructor(data: SlotData, bone: Bone); - /** @return May be null. */ getAttachment(): Attachment; - /** Sets the attachment and if it changed, resets {@link #getAttachmentTime()} and clears {@link #getAttachmentVertices()}. - * @param attachment May be null. */ setAttachment(attachment: Attachment): void; setAttachmentTime(time: number): void; - /** Returns the time since the attachment was set. */ getAttachmentTime(): number; setToSetupPose(): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SlotData { index: number; @@ -1206,36 +634,45 @@ declare module spine { constructor(index: number, name: string, boneData: BoneData); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +declare module spine { + class TextureAtlas implements Disposable { + pages: TextureAtlasPage[]; + regions: TextureAtlasRegion[]; + constructor(atlasText: string, textureLoader: (path: string) => any); + private load(atlasText, textureLoader); + findRegion(name: string): TextureAtlasRegion; + dispose(): void; + } + class TextureAtlasPage { + name: string; + minFilter: TextureFilter; + magFilter: TextureFilter; + uWrap: TextureWrap; + vWrap: TextureWrap; + texture: Texture; + width: number; + height: number; + } + class TextureAtlasRegion extends TextureRegion { + page: TextureAtlasPage; + name: string; + x: number; + y: number; + index: number; + rotate: boolean; + texture: Texture; + } +} +declare module spine { + class TextureAtlasAttachmentLoader implements AttachmentLoader { + atlas: TextureAtlas; + constructor(atlas: TextureAtlas); + newRegionAttachment(skin: Skin, name: string, path: string): RegionAttachment; + newMeshAttachment(skin: Skin, name: string, path: string): MeshAttachment; + newBoundingBoxAttachment(skin: Skin, name: string): BoundingBoxAttachment; + newPathAttachment(skin: Skin, name: string): PathAttachment; + } +} declare module spine { class TransformConstraint implements Updatable { data: TransformConstraintData; @@ -1251,36 +688,6 @@ declare module spine { update(): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class TransformConstraintData { name: string; @@ -1299,71 +706,11 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { interface Updatable { update(): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { interface Map { [key: string]: T; @@ -1420,36 +767,6 @@ declare module spine { set(x: number, y: number): Vector2; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { abstract class Attachment { name: string; @@ -1461,88 +778,18 @@ declare module spine { worldVerticesLength: number; constructor(name: string); computeWorldVertices(slot: Slot, worldVertices: ArrayLike): void; - /** Transforms local vertices to world coordinates. - * @param start The index of the first local vertex value to transform. Each vertex has 2 values, x and y. - * @param count The number of world vertex values to output. Must be <= {@link #getWorldVerticesLength()} - start. - * @param worldVertices The output world vertices. Must have a length >= offset + count. - * @param offset The worldVertices index to begin writing values. */ computeWorldVerticesWith(slot: Slot, start: number, count: number, worldVertices: ArrayLike, offset: number): void; - /** Returns true if a deform originally applied to the specified attachment should be applied to this attachment. */ applyDeform(sourceAttachment: VertexAttachment): boolean; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { interface AttachmentLoader { - /** @return May be null to not load an attachment. */ newRegionAttachment(skin: Skin, name: string, path: string): RegionAttachment; - /** @return May be null to not load an attachment. */ newMeshAttachment(skin: Skin, name: string, path: string): MeshAttachment; - /** @return May be null to not load an attachment. */ newBoundingBoxAttachment(skin: Skin, name: string): BoundingBoxAttachment; - /** @return May be null to not load an attachment */ newPathAttachment(skin: Skin, name: string): PathAttachment; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { enum AttachmentType { Region = 0, @@ -1552,71 +799,11 @@ declare module spine { Path = 4, } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class BoundingBoxAttachment extends VertexAttachment { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class MeshAttachment extends VertexAttachment { region: TextureRegion; @@ -1631,44 +818,12 @@ declare module spine { tempColor: Color; constructor(name: string); updateUVs(): void; - /** @return The updated world vertices. */ updateWorldVertices(slot: Slot, premultipliedAlpha: boolean): ArrayLike; applyDeform(sourceAttachment: VertexAttachment): boolean; getParentMesh(): MeshAttachment; - /** @param parentMesh May be null. */ setParentMesh(parentMesh: MeshAttachment): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class PathAttachment extends VertexAttachment { lengths: Array; @@ -1677,36 +832,6 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class RegionAttachment extends Attachment { static OX1: number; @@ -1769,133 +894,20 @@ declare module spine { updateWorldVertices(slot: Slot, premultipliedAlpha: boolean): ArrayLike; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -declare module spine { - class TextureRegion { - renderObject: any; - u: number; - v: number; - u2: number; - v2: number; - width: number; - height: number; - rotate: boolean; - offsetX: number; - offsetY: number; - originalWidth: number; - originalHeight: number; - } -} -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { - class AssetManager implements Disposable { + class GLTexture extends Texture implements Disposable { private _gl; - private _assets; - private _errors; - private _toLoad; - private _loaded; - constructor(gl: WebGLRenderingContext); - loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void; - loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void; - get(path: string): string | Texture; - remove(path: string): void; - removeAll(): void; - isLoadingComplete(): boolean; - toLoad(): number; - loaded(): number; + private _texture; + private _boundUnit; + constructor(gl: WebGLRenderingContext, image: HTMLImageElement, useMipMaps?: boolean); + setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void; + setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void; + update(useMipMaps: boolean): void; + bind(unit?: number): void; + unbind(): void; dispose(): void; - hasErrors(): boolean; - errors(): Map; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { const M00: number; const M01: number; @@ -1931,36 +943,6 @@ declare module spine.webgl { multiplyLeft(matrix: Matrix4): Matrix4; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { class Mesh implements Disposable { private _attributes; @@ -2015,36 +997,6 @@ declare module spine.webgl { Float = 0, } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { class PolygonBatcher { private _gl; @@ -2060,42 +1012,12 @@ declare module spine.webgl { constructor(gl: WebGLRenderingContext, maxVertices?: number); begin(shader: Shader): void; setBlendMode(srcBlend: number, dstBlend: number): void; - draw(texture: Texture, vertices: ArrayLike, indices: Array): void; + draw(texture: GLTexture, vertices: ArrayLike, indices: Array): void; private flush(); end(): void; drawCalls(): number; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { class Shader implements Disposable { private _vertexShader; @@ -2136,36 +1058,6 @@ declare module spine.webgl { static newColored(gl: WebGLRenderingContext): Shader; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { class SkeletonRenderer { static QUAD_TRIANGLES: number[]; @@ -2175,201 +1067,6 @@ declare module spine.webgl { draw(batcher: PolygonBatcher, skeleton: Skeleton): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -declare module spine.webgl { - class Texture implements Disposable { - private _gl; - private _texture; - private _image; - private _boundUnit; - constructor(gl: WebGLRenderingContext, image: HTMLImageElement, useMipMaps?: boolean); - getImage(): HTMLImageElement; - setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void; - setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void; - update(useMipMaps: boolean): void; - bind(unit?: number): void; - unbind(): void; - dispose(): void; - static filterFromString(text: string): TextureFilter; - static wrapFromString(text: string): TextureWrap; - } - enum TextureFilter { - Nearest, - Linear, - MipMap, - MipMapNearestNearest, - MipMapLinearNearest, - MipMapNearestLinear, - MipMapLinearLinear, - } - enum TextureWrap { - MirroredRepeat, - ClampToEdge, - Repeat, - } -} -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -declare module spine.webgl { - class TextureAtlas implements Disposable { - pages: TextureAtlasPage[]; - regions: TextureAtlasRegion[]; - constructor(atlasText: string, textureLoader: (path: string) => Texture); - private load(atlasText, textureLoader); - findRegion(name: string): TextureAtlasRegion; - dispose(): void; - } - class TextureAtlasPage { - name: string; - minFilter: TextureFilter; - magFilter: TextureFilter; - uWrap: TextureWrap; - vWrap: TextureWrap; - texture: Texture; - width: number; - height: number; - } - class TextureAtlasRegion extends TextureRegion { - page: TextureAtlasPage; - name: string; - x: number; - y: number; - index: number; - rotate: boolean; - texture: Texture; - } -} -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -declare module spine.webgl { - class TextureAtlasAttachmentLoader implements AttachmentLoader { - atlas: TextureAtlas; - constructor(atlas: TextureAtlas); - /** @return May be null to not load an attachment. */ - newRegionAttachment(skin: Skin, name: string, path: string): RegionAttachment; - /** @return May be null to not load an attachment. */ - newMeshAttachment(skin: Skin, name: string, path: string): MeshAttachment; - /** @return May be null to not load an attachment. */ - newBoundingBoxAttachment(skin: Skin, name: string): BoundingBoxAttachment; - /** @return May be null to not load an attachment */ - newPathAttachment(skin: Skin, name: string): PathAttachment; - } -} -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { class Vector3 { x: number; @@ -2388,70 +1085,10 @@ declare module spine.webgl { distance(v: Vector3): number; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { function getSourceGLBlendMode(gl: WebGLRenderingContext, blendMode: BlendMode, premultipliedAlpha?: boolean): number; function getDestGLBlendMode(gl: WebGLRenderingContext, blendMode: BlendMode): number; } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SpineWidget { skeleton: Skeleton; diff --git a/spine-ts/build/spine-all.js b/spine-ts/build/spine-all.js index 5ccb40c8d..2fc41df2c 100644 --- a/spine-ts/build/spine-all.js +++ b/spine-ts/build/spine-all.js @@ -1,39 +1,237 @@ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +var spine; +(function (spine) { + var Texture = (function () { + function Texture(image) { + this._image = image; + } + Texture.prototype.getImage = function () { + return this._image; + }; + Texture.filterFromString = function (text) { + switch (text.toLowerCase()) { + case "nearest": return TextureFilter.Nearest; + case "linear": return TextureFilter.Linear; + case "mipmap": return TextureFilter.MipMap; + case "mipmapnearestnearest": return TextureFilter.MipMapNearestNearest; + case "mipmaplinearnearest": return TextureFilter.MipMapLinearNearest; + case "mipmapnearestlinear": return TextureFilter.MipMapNearestLinear; + case "mipmaplinearlinear": return TextureFilter.MipMapLinearLinear; + default: throw new Error("Unknown texture filter " + text); + } + }; + Texture.wrapFromString = function (text) { + switch (text.toLowerCase()) { + case "mirroredtepeat": return TextureWrap.MirroredRepeat; + case "clamptoedge": return TextureWrap.ClampToEdge; + case "repeat": return TextureWrap.Repeat; + default: throw new Error("Unknown texture wrap " + text); + } + }; + return Texture; + }()); + spine.Texture = Texture; + (function (TextureFilter) { + TextureFilter[TextureFilter["Nearest"] = 9728] = "Nearest"; + TextureFilter[TextureFilter["Linear"] = 9729] = "Linear"; + TextureFilter[TextureFilter["MipMap"] = 9987] = "MipMap"; + TextureFilter[TextureFilter["MipMapNearestNearest"] = 9984] = "MipMapNearestNearest"; + TextureFilter[TextureFilter["MipMapLinearNearest"] = 9985] = "MipMapLinearNearest"; + TextureFilter[TextureFilter["MipMapNearestLinear"] = 9986] = "MipMapNearestLinear"; + TextureFilter[TextureFilter["MipMapLinearLinear"] = 9987] = "MipMapLinearLinear"; + })(spine.TextureFilter || (spine.TextureFilter = {})); + var TextureFilter = spine.TextureFilter; + (function (TextureWrap) { + TextureWrap[TextureWrap["MirroredRepeat"] = 33648] = "MirroredRepeat"; + TextureWrap[TextureWrap["ClampToEdge"] = 33071] = "ClampToEdge"; + TextureWrap[TextureWrap["Repeat"] = 10497] = "Repeat"; + })(spine.TextureWrap || (spine.TextureWrap = {})); + var TextureWrap = spine.TextureWrap; + var TextureRegion = (function () { + function TextureRegion() { + this.u = 0; + this.v = 0; + this.u2 = 0; + this.v2 = 0; + this.width = 0; + this.height = 0; + this.rotate = false; + this.offsetX = 0; + this.offsetY = 0; + this.originalWidth = 0; + this.originalHeight = 0; + } + return TextureRegion; + }()); + spine.TextureRegion = TextureRegion; +})(spine || (spine = {})); var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; var spine; +(function (spine) { + var canvas; + (function (canvas) { + var CanvasTexture = (function (_super) { + __extends(CanvasTexture, _super); + function CanvasTexture(image) { + _super.call(this, image); + } + CanvasTexture.prototype.setFilters = function (minFilter, magFilter) { }; + CanvasTexture.prototype.setWraps = function (uWrap, vWrap) { }; + CanvasTexture.prototype.dispose = function () { }; + return CanvasTexture; + }(spine.Texture)); + canvas.CanvasTexture = CanvasTexture; + })(canvas = spine.canvas || (spine.canvas = {})); +})(spine || (spine = {})); +var spine; +(function (spine) { + var canvas; + (function (canvas) { + var SkeletonRenderer = (function () { + function SkeletonRenderer(context) { + this.useTriangleRendering = false; + this.useDebugRendering = false; + this._ctx = context; + } + SkeletonRenderer.prototype.draw = function (skeleton) { + if (this.useTriangleRendering) + this.drawTriangles(skeleton); + else + this.drawImages(skeleton); + }; + SkeletonRenderer.prototype.drawImages = function (skeleton) { + var ctx = this._ctx; + var drawOrder = skeleton.drawOrder; + if (this.useDebugRendering) + ctx.strokeStyle = "green"; + for (var i = 0, n = drawOrder.length; i < n; i++) { + var slot = drawOrder[i]; + var attachment = slot.getAttachment(); + var region = null; + var image = null; + var vertices = null; + if (attachment instanceof spine.RegionAttachment) { + var regionAttachment = attachment; + vertices = regionAttachment.updateWorldVertices(slot, false); + region = regionAttachment.region; + image = (region).texture.getImage(); + } + else + continue; + var att = attachment; + var bone = slot.bone; + var x = vertices[0]; + var y = vertices[1]; + var rotation = (bone.getWorldRotationX() - att.rotation) * Math.PI / 180; + var xx = vertices[24] - vertices[0]; + var xy = vertices[25] - vertices[1]; + var yx = vertices[8] - vertices[0]; + var yy = vertices[9] - vertices[1]; + var w = Math.sqrt(xx * xx + xy * xy), h = -Math.sqrt(yx * yx + yy * yy); + ctx.translate(x, y); + ctx.rotate(rotation); + if (region.rotate) { + ctx.rotate(Math.PI / 2); + ctx.drawImage(image, region.x, region.y, region.height, region.width, 0, 0, h, -w); + ctx.rotate(-Math.PI / 2); + } + else { + ctx.drawImage(image, region.x, region.y, region.width, region.height, 0, 0, w, h); + } + if (this.useDebugRendering) + ctx.strokeRect(0, 0, w, h); + ctx.rotate(-rotation); + ctx.translate(-x, -y); + } + }; + SkeletonRenderer.prototype.drawTriangles = function (skeleton) { + var blendMode = null; + var vertices = null; + var triangles = null; + var drawOrder = skeleton.drawOrder; + for (var i = 0, n = drawOrder.length; i < n; i++) { + var slot = drawOrder[i]; + var attachment = slot.getAttachment(); + var texture = null; + var region = null; + if (attachment instanceof spine.RegionAttachment) { + var regionAttachment = attachment; + vertices = regionAttachment.updateWorldVertices(slot, false); + triangles = SkeletonRenderer.QUAD_TRIANGLES; + region = regionAttachment.region; + texture = region.texture.getImage(); + } + else if (attachment instanceof spine.MeshAttachment) { + var mesh = attachment; + vertices = mesh.updateWorldVertices(slot, false); + triangles = mesh.triangles; + texture = mesh.region.renderObject.texture.getImage(); + } + else + continue; + if (texture != null) { + var slotBlendMode = slot.data.blendMode; + if (slotBlendMode != blendMode) { + blendMode = slotBlendMode; + } + var ctx = this._ctx; + for (var j = 0; j < triangles.length; j += 3) { + var t1 = triangles[j] * 8, t2 = triangles[j + 1] * 8, t3 = triangles[j + 2] * 8; + var x0 = vertices[t1], y0 = vertices[t1 + 1], u0 = vertices[t1 + 6], v0 = vertices[t1 + 7]; + var x1 = vertices[t2], y1 = vertices[t2 + 1], u1 = vertices[t2 + 6], v1 = vertices[t2 + 7]; + var x2 = vertices[t3], y2 = vertices[t3 + 1], u2 = vertices[t3 + 6], v2 = vertices[t3 + 7]; + this.drawTriangle(texture, x0, y0, u0, v0, x1, y1, u1, v1, x2, y2, u2, v2); + if (this.useDebugRendering) { + ctx.strokeStyle = "green"; + ctx.beginPath(); + ctx.moveTo(x0, y0); + ctx.lineTo(x1, y1); + ctx.lineTo(x2, y2); + ctx.lineTo(x0, y0); + ctx.stroke(); + } + } + } + } + }; + SkeletonRenderer.prototype.drawTriangle = function (img, x0, y0, u0, v0, x1, y1, u1, v1, x2, y2, u2, v2) { + var ctx = this._ctx; + u0 *= img.width; + v0 *= img.height; + u1 *= img.width; + v1 *= img.height; + u2 *= img.width; + v2 *= img.height; + ctx.beginPath(); + ctx.moveTo(x0, y0); + ctx.lineTo(x1, y1); + ctx.lineTo(x2, y2); + ctx.closePath(); + x1 -= x0; + y1 -= y0; + x2 -= x0; + y2 -= y0; + u1 -= u0; + v1 -= v0; + u2 -= u0; + v2 -= v0; + var det = 1 / (u1 * v2 - u2 * v1), a = (v2 * x1 - v1 * x2) * det, b = (v2 * y1 - v1 * y2) * det, c = (u1 * x2 - u2 * x1) * det, d = (u1 * y2 - u2 * y1) * det, e = x0 - a * u0 - c * v0, f = y0 - b * u0 - d * v0; + ctx.save(); + ctx.transform(a, b, c, d, e, f); + ctx.clip(); + ctx.drawImage(img, 0, 0); + ctx.restore(); + }; + SkeletonRenderer.QUAD_TRIANGLES = [0, 1, 2, 2, 3, 0]; + return SkeletonRenderer; + }()); + canvas.SkeletonRenderer = SkeletonRenderer; + })(canvas = spine.canvas || (spine.canvas = {})); +})(spine || (spine = {})); +var spine; (function (spine) { var Animation = (function () { function Animation(name, timelines, duration) { @@ -121,9 +319,6 @@ var spine; return CurveTimeline.STEPPED; return CurveTimeline.BEZIER; }; - /** Sets the control handle positions for an interpolation bezier curve used to transition from this keyframe to the next. - * cx1 and cx2 are from 0 to 1, representing the percent of time between the two keyframes. cy1 and cy2 are the percent of - * the difference between the keyframe's values. */ CurveTimeline.prototype.setCurve = function (frameIndex, cx1, cy1, cx2, cy2) { var tmpx = (-cx1 * 2 + cx2) * 0.03, tmpy = (-cy1 * 2 + cy2) * 0.03; var dddfx = ((cx1 - cx2) * 3 + 1) * 0.006, dddfy = ((cy1 - cy2) * 3 + 1) * 0.006; @@ -171,7 +366,7 @@ var spine; } } var y = curves[i - 1]; - return y + (1 - y) * (percent - x) / (1 - x); // Last point is 1,1. + return y + (1 - y) * (percent - x) / (1 - x); }; CurveTimeline.LINEAR = 0; CurveTimeline.STEPPED = 1; @@ -186,7 +381,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount << 1); } - /** Sets the time and angle of the specified keyframe. */ RotateTimeline.prototype.setFrame = function (frameIndex, time, degrees) { frameIndex <<= 1; this.frames[frameIndex] = time; @@ -195,7 +389,7 @@ var spine; RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - RotateTimeline.ENTRIES]) { var amount_1 = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] - bone.rotation; @@ -206,7 +400,6 @@ var spine; bone.rotation += amount_1 * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, RotateTimeline.ENTRIES); var prevRotation = frames[frame + RotateTimeline.PREV_ROTATION]; var frameTime = frames[frame]; @@ -236,7 +429,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * TranslateTimeline.ENTRIES); } - /** Sets the time and value of the specified keyframe. */ TranslateTimeline.prototype.setFrame = function (frameIndex, time, x, y) { frameIndex *= TranslateTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -246,14 +438,13 @@ var spine; TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) { bone.x += (bone.data.x + frames[frames.length + TranslateTimeline.PREV_X] - bone.x) * alpha; bone.y += (bone.data.y + frames[frames.length + TranslateTimeline.PREV_Y] - bone.y) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, TranslateTimeline.ENTRIES); var prevX = frames[frame + TranslateTimeline.PREV_X]; var prevY = frames[frame + TranslateTimeline.PREV_Y]; @@ -279,14 +470,13 @@ var spine; ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) { bone.scaleX += (bone.data.scaleX * frames[frames.length + ScaleTimeline.PREV_X] - bone.scaleX) * alpha; bone.scaleY += (bone.data.scaleY * frames[frames.length + ScaleTimeline.PREV_Y] - bone.scaleY) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, ScaleTimeline.ENTRIES); var prevX = frames[frame + ScaleTimeline.PREV_X]; var prevY = frames[frame + ScaleTimeline.PREV_Y]; @@ -306,14 +496,13 @@ var spine; ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - ShearTimeline.ENTRIES]) { bone.shearX += (bone.data.shearX + frames[frames.length + ShearTimeline.PREV_X] - bone.shearX) * alpha; bone.shearY += (bone.data.shearY + frames[frames.length + ShearTimeline.PREV_Y] - bone.shearY) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, ShearTimeline.ENTRIES); var prevX = frames[frame + ShearTimeline.PREV_X]; var prevY = frames[frame + ShearTimeline.PREV_Y]; @@ -331,7 +520,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * ColorTimeline.ENTRIES); } - /** Sets the time and value of the specified keyframe. */ ColorTimeline.prototype.setFrame = function (frameIndex, time, r, g, b, a) { frameIndex *= ColorTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -343,7 +531,7 @@ var spine; ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var r = 0, g = 0, b = 0, a = 0; if (time >= frames[frames.length - ColorTimeline.ENTRIES]) { var i = frames.length; @@ -353,7 +541,6 @@ var spine; a = frames[i + ColorTimeline.PREV_A]; } else { - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, ColorTimeline.ENTRIES); r = frames[frame + ColorTimeline.PREV_R]; g = frames[frame + ColorTimeline.PREV_G]; @@ -393,7 +580,6 @@ var spine; AttachmentTimeline.prototype.getFrameCount = function () { return this.frames.length; }; - /** Sets the time and value of the specified keyframe. */ AttachmentTimeline.prototype.setFrame = function (frameIndex, time, attachmentName) { this.frames[frameIndex] = time; this.attachmentNames[frameIndex] = attachmentName; @@ -401,7 +587,7 @@ var spine; AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var frameIndex = 0; if (time >= frames[frames.length - 1]) frameIndex = frames.length - 1; @@ -422,12 +608,10 @@ var spine; EventTimeline.prototype.getFrameCount = function () { return this.frames.length; }; - /** Sets the time of the specified keyframe. */ EventTimeline.prototype.setFrame = function (frameIndex, event) { this.frames[frameIndex] = event.time; this.events[frameIndex] = event; }; - /** Fires events for frames > lastTime and <= time. */ EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { if (firedEvents == null) return; @@ -440,7 +624,7 @@ var spine; else if (lastTime >= frames[frameCount - 1]) return; if (time < frames[0]) - return; // Time is before first frame. + return; var frame = 0; if (lastTime < frames[0]) frame = 0; @@ -467,8 +651,6 @@ var spine; DrawOrderTimeline.prototype.getFrameCount = function () { return this.frames.length; }; - /** Sets the time of the specified keyframe. - * @param drawOrder May be null to use bind pose draw order. */ DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) { this.frames[frameIndex] = time; this.drawOrders[frameIndex] = drawOrder; @@ -476,7 +658,7 @@ var spine; DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var frame = 0; if (time >= frames[frames.length - 1]) frame = frames.length - 1; @@ -502,7 +684,6 @@ var spine; this.frames = spine.Utils.newFloatArray(frameCount); this.frameVertices = new Array(frameCount); } - /** Sets the time of the specified keyframe. */ DeformTimeline.prototype.setFrame = function (frameIndex, time, vertices) { this.frames[frameIndex] = time; this.frameVertices[frameIndex] = vertices; @@ -514,12 +695,12 @@ var spine; return; var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var frameVertices = this.frameVertices; var vertexCount = frameVertices[0].length; var verticesArray = slot.attachmentVertices; if (verticesArray.length != vertexCount) - alpha = 1; // Don't mix from uninitialized slot vertices. + alpha = 1; var vertices = spine.Utils.setArraySize(verticesArray, vertexCount); if (time >= frames[frames.length - 1]) { var lastVertices = frameVertices[frames.length - 1]; @@ -531,7 +712,6 @@ var spine; spine.Utils.arrayCopy(lastVertices, 0, vertices, 0, vertexCount); return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time); var prevVertices = frameVertices[frame - 1]; var nextVertices = frameVertices[frame]; @@ -559,7 +739,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * IkConstraintTimeline.ENTRIES); } - /** Sets the time, mix and bend direction of the specified keyframe. */ IkConstraintTimeline.prototype.setFrame = function (frameIndex, time, mix, bendDirection) { frameIndex *= IkConstraintTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -569,14 +748,13 @@ var spine; IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.ikConstraints[this.ikConstraintIndex]; if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) { constraint.mix += (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.mix) * alpha; constraint.bendDirection = Math.floor(frames[frames.length + IkConstraintTimeline.PREV_BEND_DIRECTION]); return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, IkConstraintTimeline.ENTRIES); var mix = frames[frame + IkConstraintTimeline.PREV_MIX]; var frameTime = frames[frame]; @@ -599,7 +777,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * TransformConstraintTimeline.ENTRIES); } - /** Sets the time and mixes of the specified keyframe. */ TransformConstraintTimeline.prototype.setFrame = function (frameIndex, time, rotateMix, translateMix, scaleMix, shearMix) { frameIndex *= TransformConstraintTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -611,7 +788,7 @@ var spine; TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.transformConstraints[this.transformConstraintIndex]; if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) { var i = frames.length; @@ -621,7 +798,6 @@ var spine; constraint.shearMix += (frames[i + TransformConstraintTimeline.PREV_SHEAR] - constraint.shearMix) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, TransformConstraintTimeline.ENTRIES); var frameTime = frames[frame]; var percent = this.getCurvePercent(frame / TransformConstraintTimeline.ENTRIES - 1, 1 - (time - frameTime) / (frames[frame + TransformConstraintTimeline.PREV_TIME] - frameTime)); @@ -654,7 +830,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * PathConstraintPositionTimeline.ENTRIES); } - /** Sets the time and value of the specified keyframe. */ PathConstraintPositionTimeline.prototype.setFrame = function (frameIndex, time, value) { frameIndex *= PathConstraintPositionTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -663,14 +838,13 @@ var spine; PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.pathConstraints[this.pathConstraintIndex]; if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES]) { var i = frames.length; constraint.position += (frames[i + PathConstraintPositionTimeline.PREV_VALUE] - constraint.position) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, PathConstraintPositionTimeline.ENTRIES); var position = frames[frame + PathConstraintPositionTimeline.PREV_VALUE]; var frameTime = frames[frame]; @@ -692,14 +866,13 @@ var spine; PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.pathConstraints[this.pathConstraintIndex]; if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES]) { var i = frames.length; constraint.spacing += (frames[i + PathConstraintSpacingTimeline.PREV_VALUE] - constraint.spacing) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, PathConstraintSpacingTimeline.ENTRIES); var spacing = frames[frame + PathConstraintSpacingTimeline.PREV_VALUE]; var frameTime = frames[frame]; @@ -715,7 +888,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * PathConstraintMixTimeline.ENTRIES); } - /** Sets the time and mixes of the specified keyframe. */ PathConstraintMixTimeline.prototype.setFrame = function (frameIndex, time, rotateMix, translateMix) { frameIndex *= PathConstraintMixTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -725,7 +897,7 @@ var spine; PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.pathConstraints[this.pathConstraintIndex]; if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) { var i = frames.length; @@ -733,7 +905,6 @@ var spine; constraint.translateMix += (frames[i + PathConstraintMixTimeline.PREV_TRANSLATE] - constraint.translateMix) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, PathConstraintMixTimeline.ENTRIES); var rotate = frames[frame + PathConstraintMixTimeline.PREV_ROTATE]; var translate = frames[frame + PathConstraintMixTimeline.PREV_TRANSLATE]; @@ -753,36 +924,6 @@ var spine; }(CurveTimeline)); spine.PathConstraintMixTimeline = PathConstraintMixTimeline; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var AnimationState = (function () { @@ -807,15 +948,14 @@ var spine; var nextTime = current.lastTime - next.delay; if (nextTime >= 0) { var nextDelta = delta * next.timeScale; - next.time = nextTime + nextDelta; // For start event to see correct time. - current.time += delta * current.timeScale; // For end event to see correct time. + next.time = nextTime + nextDelta; + current.time += delta * current.timeScale; this.setCurrent(i, next); - next.time -= nextDelta; // Prevent increasing time twice, below. + next.time -= nextDelta; current = next; } } else if (!current.loop && current.lastTime >= current.endTime) { - // End non-looping animation when it reaches its end time and there is no next entry. this.clearTrack(i); continue; } @@ -863,7 +1003,6 @@ var spine; for (var iii = 0; iii < listenerCount; iii++) this.listeners[iii].event(i, event_1); } - // Check if completed the animation or a loop iteration. if (loop ? (lastTime % endTime > time % endTime) : (lastTime < endTime && time >= endTime)) { var count = spine.MathUtils.toInt(time / endTime); if (current.listener != null) @@ -917,7 +1056,6 @@ var spine; entry.mixDuration = this.data.getMix(current.animation, entry.animation); if (entry.mixDuration > 0) { entry.mixTime = 0; - // If a mix is in progress, mix from the closest animation. if (previous != null && current.mixTime / current.mixDuration < 0.5) { entry.previous = previous; previous = current; @@ -932,14 +1070,12 @@ var spine; for (var i = 0, n = this.listeners.length; i < n; i++) this.listeners[i].start(index); }; - /** @see #setAnimation(int, Animation, boolean) */ AnimationState.prototype.setAnimation = function (trackIndex, animationName, loop) { var animation = this.data.skeletonData.findAnimation(animationName); if (animation == null) throw new Error("Animation not found: " + animationName); return this.setAnimationWith(trackIndex, animation, loop); }; - /** Set the current animation. Any queued animations are cleared. */ AnimationState.prototype.setAnimationWith = function (trackIndex, animation, loop) { var current = this.expandToIndex(trackIndex); if (current != null) @@ -951,15 +1087,12 @@ var spine; this.setCurrent(trackIndex, entry); return entry; }; - /** {@link #addAnimation(int, Animation, boolean, float)} */ AnimationState.prototype.addAnimation = function (trackIndex, animationName, loop, delay) { var animation = this.data.skeletonData.findAnimation(animationName); if (animation == null) throw new Error("Animation not found: " + animationName); return this.addAnimationWith(trackIndex, animation, loop, delay); }; - /** Adds an animation to be played delay seconds after the current or last queued animation. - * @param delay May be <= 0 to use duration of previous animation minus any mix duration plus the negative delay. */ AnimationState.prototype.addAnimationWith = function (trackIndex, animation, loop, delay) { var entry = new TrackEntry(); entry.animation = animation; @@ -982,19 +1115,16 @@ var spine; entry.delay = delay; return entry; }; - /** @return May be null. */ AnimationState.prototype.getCurrent = function (trackIndex) { if (trackIndex >= this.tracks.length) return null; return this.tracks[trackIndex]; }; - /** Adds a listener to receive events for all animations. */ AnimationState.prototype.addListener = function (listener) { if (listener == null) throw new Error("listener cannot be null."); this.listeners.push(listener); }; - /** Removes the listener added with {@link #addListener(AnimationStateListener)}. */ AnimationState.prototype.removeListener = function (listener) { var index = this.listeners.indexOf(listener); if (index >= 0) @@ -1024,10 +1154,9 @@ var spine; this.animation = null; this.listener = null; this.timeScale = 1; - this.lastTime = -1; // Trigger events on frame zero. + this.lastTime = -1; this.time = 0; }; - /** Returns true if the current time is greater than the end time, regardless of looping. */ TrackEntry.prototype.isComplete = function () { return this.time >= this.endTime; }; @@ -1049,36 +1178,6 @@ var spine; }()); spine.AnimationStateAdapter = AnimationStateAdapter; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var AnimationStateData = (function () { @@ -1115,36 +1214,103 @@ var spine; }()); spine.AnimationStateData = AnimationStateData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +var spine; +(function (spine) { + var AssetManager = (function () { + function AssetManager(textureLoader) { + this._assets = {}; + this._errors = {}; + this._toLoad = 0; + this._loaded = 0; + this._textureLoader = textureLoader; + } + AssetManager.prototype.loadText = function (path, success, error) { + var _this = this; + if (success === void 0) { success = null; } + if (error === void 0) { error = null; } + this._toLoad++; + var request = new XMLHttpRequest(); + request.onreadystatechange = function () { + if (request.readyState == XMLHttpRequest.DONE) { + if (request.status >= 200 && request.status < 300) { + if (success) + success(path, request.responseText); + _this._assets[path] = request.responseText; + } + else { + if (error) + error(path, "Couldn't load text " + path + ": status " + request.status + ", " + request.responseText); + _this._errors[path] = "Couldn't load text " + path + ": status " + request.status + ", " + request.responseText; + } + _this._toLoad--; + _this._loaded++; + } + }; + request.open("GET", path, true); + request.send(); + }; + AssetManager.prototype.loadTexture = function (path, success, error) { + var _this = this; + if (success === void 0) { success = null; } + if (error === void 0) { error = null; } + this._toLoad++; + var img = new Image(); + img.src = path; + img.onload = function (ev) { + if (success) + success(path, img); + var texture = _this._textureLoader(img); + _this._assets[path] = texture; + _this._toLoad--; + _this._loaded++; + }; + img.onerror = function (ev) { + if (error) + error(path, "Couldn't load image " + path); + _this._errors[path] = "Couldn't load image " + path; + _this._toLoad--; + _this._loaded++; + }; + }; + AssetManager.prototype.get = function (path) { + return this._assets[path]; + }; + AssetManager.prototype.remove = function (path) { + var asset = this._assets[path]; + if (asset.dispose) + asset.dispose(); + this._assets[path] = null; + }; + AssetManager.prototype.removeAll = function () { + for (var key in this._assets) { + var asset = this._assets[key]; + if (asset.dispose) + asset.dispose(); + } + this._assets = {}; + }; + AssetManager.prototype.isLoadingComplete = function () { + return this._toLoad == 0; + }; + AssetManager.prototype.toLoad = function () { + return this._toLoad; + }; + AssetManager.prototype.loaded = function () { + return this._loaded; + }; + AssetManager.prototype.dispose = function () { + this.removeAll(); + }; + AssetManager.prototype.hasErrors = function () { + return Object.keys(this._errors).length > 0; + }; + AssetManager.prototype.errors = function () { + return this._errors; + }; + return AssetManager; + }()); + spine.AssetManager = AssetManager; +})(spine || (spine = {})); var spine; (function (spine) { (function (BlendMode) { @@ -1155,40 +1321,9 @@ var spine; })(spine.BlendMode || (spine.BlendMode = {})); var BlendMode = spine.BlendMode; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Bone = (function () { - /** @param parent May be null. */ function Bone(data, skeleton, parent) { this.children = new Array(); this.x = 0; @@ -1217,15 +1352,12 @@ var spine; this.parent = parent; this.setToSetupPose(); } - /** Same as {@link #updateWorldTransform()}. This method exists for Bone to implement {@link Updatable}. */ Bone.prototype.update = function () { this.updateWorldTransformWith(this.x, this.y, this.rotation, this.scaleX, this.scaleY, this.shearX, this.shearY); }; - /** Computes the world transform using the parent bone and this bone's local transform. */ Bone.prototype.updateWorldTransform = function () { this.updateWorldTransformWith(this.x, this.y, this.rotation, this.scaleX, this.scaleY, this.shearX, this.shearY); }; - /** Computes the world transform using the parent bone and the specified local transform. */ Bone.prototype.updateWorldTransformWith = function (x, y, rotation, scaleX, scaleY, shearX, shearY) { this.appliedRotation = rotation; var rotationY = rotation + 90 + shearY; @@ -1380,11 +1512,6 @@ var spine; this.c = sin * a + cos * c; this.d = sin * b + cos * d; }; - /** Computes the local transform from the world transform. This can be useful to perform processing on the local transform - * after the world transform has been modified directly (eg, by a constraint). - *

- * Some redundant information is lost by the world transform, such as -1,-1 scale versus 180 rotation. The computed local - * transform values may differ from the original values but are functionally the same. */ Bone.prototype.updateLocalTransform = function () { var parent = this.parent; if (parent == null) { @@ -1445,36 +1572,6 @@ var spine; }()); spine.Bone = Bone; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var BoneData = (function () { @@ -1500,36 +1597,6 @@ var spine; }()); spine.BoneData = BoneData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Event = (function () { @@ -1543,36 +1610,6 @@ var spine; }()); spine.Event = Event; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var EventData = (function () { @@ -1583,36 +1620,6 @@ var spine; }()); spine.EventData = EventData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var IkConstraint = (function () { @@ -1647,8 +1654,6 @@ var spine; break; } }; - /** Adjusts the bone rotation so the tip is as close to the target position as possible. The target is specified in the world - * coordinate system. */ IkConstraint.prototype.apply1 = function (bone, targetX, targetY, alpha) { var pp = bone.parent; var id = 1 / (pp.a * pp.d - pp.b * pp.c); @@ -1663,9 +1668,6 @@ var spine; rotationIK += 360; bone.updateWorldTransformWith(bone.x, bone.y, bone.rotation + rotationIK * alpha, bone.scaleX, bone.scaleY, bone.shearX, bone.shearY); }; - /** Adjusts the parent and child bone rotations so the tip of the child is as close to the target position as possible. The - * target is specified in the world coordinate system. - * @param child A direct descendant of the parent bone. */ IkConstraint.prototype.apply2 = function (parent, child, targetX, targetY, bendDir, alpha) { if (alpha == 0) { child.updateWorldTransform(); @@ -1809,36 +1811,6 @@ var spine; }()); spine.IkConstraint = IkConstraint; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var IkConstraintData = (function () { @@ -1852,36 +1824,6 @@ var spine; }()); spine.IkConstraintData = IkConstraintData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var PathConstraint = (function () { @@ -2039,7 +1981,6 @@ var spine; this.addAfterPosition(p - pathLength_1, world, 0, out, o); continue; } - // Determine curve containing position. for (;; curve++) { var length_4 = lengths[curve]; if (p > length_4) @@ -2065,7 +2006,6 @@ var spine; } return out; } - // World vertices. if (closed) { verticesLength += 2; world = spine.Utils.setArraySize(this.world, verticesLength); @@ -2080,7 +2020,6 @@ var spine; world = spine.Utils.setArraySize(this.world, verticesLength); path.computeWorldVerticesWith(target, 2, verticesLength, world, 0); } - // Curve lengths. var curves = spine.Utils.setArraySize(this.curves, curveCount); var pathLength = 0; var x1 = world[0], y1 = world[1], cx1 = 0, cy1 = 0, cx2 = 0, cy2 = 0, x2 = 0, y2 = 0; @@ -2142,7 +2081,6 @@ var spine; this.addAfterPosition(p - pathLength, world, verticesLength - 4, out, o); continue; } - // Determine curve containing position. for (;; curve++) { var length_5 = curves[curve]; if (p > length_5) @@ -2155,7 +2093,6 @@ var spine; } break; } - // Curve segment lengths. if (curve != prevCurve) { prevCurve = curve; var ii = curve * 6; @@ -2195,7 +2132,6 @@ var spine; segments[9] = curveLength; segment = 0; } - // Weight by segment length. p *= curveLength; for (;; segment++) { var length_6 = segments[segment]; @@ -2243,36 +2179,6 @@ var spine; }()); spine.PathConstraint = PathConstraint; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var PathConstraintData = (function () { @@ -2301,36 +2207,6 @@ var spine; })(spine.RotateMode || (spine.RotateMode = {})); var RotateMode = spine.RotateMode; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Skeleton = (function () { @@ -2391,7 +2267,6 @@ var spine; var bones = this.bones; for (var i = 0, n = bones.length; i < n; i++) bones[i].sorted = false; - // IK first, lowest hierarchy depth first. var ikConstraints = this.ikConstraintsSorted; ikConstraints.length = 0; for (var i = 0; i < this.ikConstraints.length; i++) @@ -2507,18 +2382,15 @@ var spine; bone.sorted = false; } }; - /** Updates the world transform for each bone and applies constraints. */ Skeleton.prototype.updateWorldTransform = function () { var updateCache = this._updateCache; for (var i = 0, n = updateCache.length; i < n; i++) updateCache[i].update(); }; - /** Sets the bones, constraints, and slots to their setup pose values. */ Skeleton.prototype.setToSetupPose = function () { this.setBonesToSetupPose(); this.setSlotsToSetupPose(); }; - /** Sets the bones and constraints to their setup pose values. */ Skeleton.prototype.setBonesToSetupPose = function () { var bones = this.bones; for (var i = 0, n = bones.length; i < n; i++) @@ -2554,13 +2426,11 @@ var spine; for (var i = 0, n = slots.length; i < n; i++) slots[i].setToSetupPose(); }; - /** @return May return null. */ Skeleton.prototype.getRootBone = function () { if (this.bones.length == 0) return null; return this.bones[0]; }; - /** @return May be null. */ Skeleton.prototype.findBone = function (boneName) { if (boneName == null) throw new Error("boneName cannot be null."); @@ -2572,7 +2442,6 @@ var spine; } return null; }; - /** @return -1 if the bone was not found. */ Skeleton.prototype.findBoneIndex = function (boneName) { if (boneName == null) throw new Error("boneName cannot be null."); @@ -2582,7 +2451,6 @@ var spine; return i; return -1; }; - /** @return May be null. */ Skeleton.prototype.findSlot = function (slotName) { if (slotName == null) throw new Error("slotName cannot be null."); @@ -2594,7 +2462,6 @@ var spine; } return null; }; - /** @return -1 if the bone was not found. */ Skeleton.prototype.findSlotIndex = function (slotName) { if (slotName == null) throw new Error("slotName cannot be null."); @@ -2604,18 +2471,12 @@ var spine; return i; return -1; }; - /** Sets a skin by name. - * @see #setSkin(Skin) */ Skeleton.prototype.setSkinByName = function (skinName) { var skin = this.data.findSkin(skinName); if (skin == null) throw new Error("Skin not found: " + skinName); this.setSkin(skin); }; - /** Sets the skin used to look up attachments before looking in the {@link SkeletonData#getDefaultSkin() default skin}. - * Attachments from the new skin are attached if the corresponding attachment from the old skin was attached. If there was no - * old skin, each slot's setup mode attachment is attached from the new skin. - * @param newSkin May be null. */ Skeleton.prototype.setSkin = function (newSkin) { if (newSkin != null) { if (this.skin != null) @@ -2635,11 +2496,9 @@ var spine; } this.skin = newSkin; }; - /** @return May be null. */ Skeleton.prototype.getAttachmentByName = function (slotName, attachmentName) { return this.getAttachment(this.data.findSlotIndex(slotName), attachmentName); }; - /** @return May be null. */ Skeleton.prototype.getAttachment = function (slotIndex, attachmentName) { if (attachmentName == null) throw new Error("attachmentName cannot be null."); @@ -2652,7 +2511,6 @@ var spine; return this.data.defaultSkin.getAttachment(slotIndex, attachmentName); return null; }; - /** @param attachmentName May be null. */ Skeleton.prototype.setAttachment = function (slotName, attachmentName) { if (slotName == null) throw new Error("slotName cannot be null."); @@ -2672,7 +2530,6 @@ var spine; } throw new Error("Slot not found: " + slotName); }; - /** @return May be null. */ Skeleton.prototype.findIkConstraint = function (constraintName) { if (constraintName == null) throw new Error("constraintName cannot be null."); @@ -2684,7 +2541,6 @@ var spine; } return null; }; - /** @return May be null. */ Skeleton.prototype.findTransformConstraint = function (constraintName) { if (constraintName == null) throw new Error("constraintName cannot be null."); @@ -2696,7 +2552,6 @@ var spine; } return null; }; - /** @return May be null. */ Skeleton.prototype.findPathConstraint = function (constraintName) { if (constraintName == null) throw new Error("constraintName cannot be null."); @@ -2708,9 +2563,6 @@ var spine; } return null; }; - /** Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose. - * @param offset The distance from the skeleton origin to the bottom left corner of the AABB. - * @param size The width and height of the AABB. */ Skeleton.prototype.getBounds = function (offset, size) { if (offset == null) throw new Error("offset cannot be null."); @@ -2746,36 +2598,6 @@ var spine; }()); spine.Skeleton = Skeleton; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SkeletonBounds = (function () { @@ -2838,11 +2660,9 @@ var spine; this.maxX = maxX; this.maxY = maxY; }; - /** Returns true if the axis aligned bounding box contains the point. */ SkeletonBounds.prototype.aabbContainsPoint = function (x, y) { return x >= this.minX && x <= this.maxX && y >= this.minY && y <= this.maxY; }; - /** Returns true if the axis aligned bounding box intersects the line segment. */ SkeletonBounds.prototype.aabbIntersectsSegment = function (x1, y1, x2, y2) { var minX = this.minX; var minY = this.minY; @@ -2865,12 +2685,9 @@ var spine; return true; return false; }; - /** Returns true if the axis aligned bounding box intersects the axis aligned bounding box of the specified bounds. */ SkeletonBounds.prototype.aabbIntersectsSkeleton = function (bounds) { return this.minX < bounds.maxX && this.maxX > bounds.minX && this.minY < bounds.maxY && this.maxY > bounds.minY; }; - /** Returns the first bounding box attachment that contains the point, or null. When doing many checks, it is usually more - * efficient to only call this method if {@link #aabbContainsPoint(float, float)} returns true. */ SkeletonBounds.prototype.containsPoint = function (x, y) { var polygons = this.polygons; for (var i = 0, n = polygons.length; i < n; i++) @@ -2878,7 +2695,6 @@ var spine; return this.boundingBoxes[i]; return null; }; - /** Returns true if the polygon contains the point. */ SkeletonBounds.prototype.containsPointPolygon = function (polygon, x, y) { var vertices = polygon; var nn = polygon.length; @@ -2896,9 +2712,6 @@ var spine; } return inside; }; - /** Returns the first bounding box attachment that contains any part of the line segment, or null. When doing many checks, it - * is usually more efficient to only call this method if {@link #aabbIntersectsSegment(float, float, float, float)} returns - * true. */ SkeletonBounds.prototype.intersectsSegment = function (x1, y1, x2, y2) { var polygons = this.polygons; for (var i = 0, n = polygons.length; i < n; i++) @@ -2906,7 +2719,6 @@ var spine; return this.boundingBoxes[i]; return null; }; - /** Returns true if the polygon contains any part of the line segment. */ SkeletonBounds.prototype.intersectsSegmentPolygon = function (polygon, x1, y1, x2, y2) { var vertices = polygon; var nn = polygon.length; @@ -2929,7 +2741,6 @@ var spine; } return false; }; - /** Returns the polygon for the specified bounding box, or null. */ SkeletonBounds.prototype.getPolygon = function (boundingBox) { if (boundingBox == null) throw new Error("boundingBox cannot be null."); @@ -2940,42 +2751,12 @@ var spine; }()); spine.SkeletonBounds = SkeletonBounds; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SkeletonData = (function () { function SkeletonData() { - this.bones = new Array(); // Ordered parents first. - this.slots = new Array(); // Setup pose draw order. + this.bones = new Array(); + this.slots = new Array(); this.skins = new Array(); this.events = new Array(); this.animations = new Array(); @@ -3102,36 +2883,6 @@ var spine; }()); spine.SkeletonData = SkeletonData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SkeletonJson = (function () { @@ -3144,7 +2895,6 @@ var spine; var scale = this.scale; var skeletonData = new spine.SkeletonData(); var root = JSON.parse(json); - // Skeleton var skeletonMap = root.skeleton; if (skeletonMap != null) { skeletonData.hash = skeletonMap.hash; @@ -3153,7 +2903,6 @@ var spine; skeletonData.height = skeletonMap.height; skeletonData.imagesPath = skeletonMap.images; } - // Bones if (root.bones) { for (var i = 0; i < root.bones.length; i++) { var boneMap = root.bones[i]; @@ -3178,7 +2927,6 @@ var spine; skeletonData.bones.push(data); } } - // Slots. if (root.slots) { for (var i = 0; i < root.slots.length; i++) { var slotMap = root.slots[i]; @@ -3196,7 +2944,6 @@ var spine; skeletonData.slots.push(data); } } - // IK constraints if (root.ik) { for (var i = 0; i < root.ik.length; i++) { var constraintMap = root.ik[i]; @@ -3217,7 +2964,6 @@ var spine; skeletonData.ikConstraints.push(data); } } - // Transform constraints. if (root.transform) { for (var i = 0; i < root.transform.length; i++) { var constraintMap = root.transform[i]; @@ -3246,7 +2992,6 @@ var spine; skeletonData.transformConstraints.push(data); } } - // Path constraints. if (root.path) { for (var i = 0; i < root.path.length; i++) { var constraintMap = root.path[i]; @@ -3277,7 +3022,6 @@ var spine; skeletonData.pathConstraints.push(data); } } - // Skins. if (root.skins) { for (var skinName in root.skins) { var skinMap = root.skins[skinName]; @@ -3298,7 +3042,6 @@ var spine; skeletonData.defaultSkin = skin; } } - // Linked meshes. for (var i = 0, n = this.linkedMeshes.length; i < n; i++) { var linkedMesh = this.linkedMeshes[i]; var skin = linkedMesh.skin == null ? skeletonData.defaultSkin : skeletonData.findSkin(linkedMesh.skin); @@ -3311,7 +3054,6 @@ var spine; linkedMesh.mesh.updateUVs(); } this.linkedMeshes.length = 0; - // Events. if (root.events) { for (var eventName in root.events) { var eventMap = root.events[eventName]; @@ -3322,7 +3064,6 @@ var spine; skeletonData.events.push(data); } } - // Animations. if (root.animations) { for (var animationName in root.animations) { var animationMap = root.animations[animationName]; @@ -3434,7 +3175,6 @@ var spine; var scale = this.scale; var timelines = new Array(); var duration = 0; - // Slot timelines. if (map.slots) { for (var slotName in map.slots) { var slotMap = map.slots[slotName]; @@ -3474,7 +3214,6 @@ var spine; } } } - // Bone timelines. if (map.bones) { for (var boneName in map.bones) { var boneMap = map.bones[boneName]; @@ -3524,7 +3263,6 @@ var spine; } } } - // IK constraint timelines. if (map.ik) { for (var constraintName in map.ik) { var constraintMap = map.ik[constraintName]; @@ -3542,7 +3280,6 @@ var spine; duration = Math.max(duration, timeline.frames[(timeline.getFrameCount() - 1) * spine.IkConstraintTimeline.ENTRIES]); } } - // Transform constraint timelines. if (map.transform) { for (var constraintName in map.transform) { var constraintMap = map.transform[constraintName]; @@ -3560,7 +3297,6 @@ var spine; duration = Math.max(duration, timeline.frames[(timeline.getFrameCount() - 1) * spine.TransformConstraintTimeline.ENTRIES]); } } - // Path constraint timelines. if (map.paths) { for (var constraintName in map.paths) { var constraintMap = map.paths[constraintName]; @@ -3610,7 +3346,6 @@ var spine; } } } - // Deform timelines. if (map.deform) { for (var deformName in map.deform) { var deformMap = map.deform[deformName]; @@ -3663,7 +3398,6 @@ var spine; } } } - // Draw order timeline. var drawOrderNode = map.drawOrder; if (drawOrderNode == null) drawOrderNode = map.draworder; @@ -3684,16 +3418,12 @@ var spine; var slotIndex = skeletonData.findSlotIndex(offsetMap.slot); if (slotIndex == -1) throw new Error("Slot not found: " + offsetMap.slot); - // Collect unchanged items. while (originalIndex != slotIndex) unchanged[unchangedIndex++] = originalIndex++; - // Set changed items. drawOrder[originalIndex + offsetMap.offset] = originalIndex++; } - // Collect remaining unchanged items. while (originalIndex < slotCount) unchanged[unchangedIndex++] = originalIndex++; - // Fill in unchanged items. for (var i = slotCount - 1; i >= 0; i--) if (drawOrder[i] == -1) drawOrder[i] = unchanged[--unchangedIndex]; @@ -3703,7 +3433,6 @@ var spine; timelines.push(timeline); duration = Math.max(duration, timeline.frames[timeline.getFrameCount() - 1]); } - // Event timeline. if (map.events) { var timeline = new spine.EventTimeline(map.events.length); var frameIndex = 0; @@ -3792,36 +3521,6 @@ var spine; return LinkedMesh; }()); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Skin = (function () { @@ -3841,12 +3540,10 @@ var spine; attachments[slotIndex] = {}; attachments[slotIndex][name] = attachment; }; - /** @return May be null. */ Skin.prototype.getAttachment = function (slotIndex, name) { var dictionary = this.attachments[slotIndex]; return dictionary ? dictionary[name] : null; }; - /** Attach each attachment in this skin if the corresponding attachment in the old skin is currently attached. */ Skin.prototype.attachAll = function (skeleton, oldSkin) { var slotIndex = 0; for (var i = 0; i < skeleton.slots.length; i++) { @@ -3871,36 +3568,6 @@ var spine; }()); spine.Skin = Skin; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Slot = (function () { @@ -3915,12 +3582,9 @@ var spine; this.color = new spine.Color(); this.setToSetupPose(); } - /** @return May be null. */ Slot.prototype.getAttachment = function () { return this.attachment; }; - /** Sets the attachment and if it changed, resets {@link #getAttachmentTime()} and clears {@link #getAttachmentVertices()}. - * @param attachment May be null. */ Slot.prototype.setAttachment = function (attachment) { if (this.attachment == attachment) return; @@ -3931,7 +3595,6 @@ var spine; Slot.prototype.setAttachmentTime = function (time) { this.attachmentTime = this.bone.skeleton.time - time; }; - /** Returns the time since the attachment was set. */ Slot.prototype.getAttachmentTime = function () { return this.bone.skeleton.time - this.attachmentTime; }; @@ -3948,36 +3611,6 @@ var spine; }()); spine.Slot = Slot; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SlotData = (function () { @@ -3997,36 +3630,196 @@ var spine; }()); spine.SlotData = SlotData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +var spine; +(function (spine) { + var TextureAtlas = (function () { + function TextureAtlas(atlasText, textureLoader) { + this.pages = new Array(); + this.regions = new Array(); + this.load(atlasText, textureLoader); + } + TextureAtlas.prototype.load = function (atlasText, textureLoader) { + if (textureLoader == null) + throw new Error("textureLoader cannot be null."); + var reader = new TextureAtlasReader(atlasText); + var tuple = new Array(4); + var page = null; + while (true) { + var line = reader.readLine(); + if (line == null) + break; + line = line.trim(); + if (line.length == 0) + page = null; + else if (!page) { + page = new TextureAtlasPage(); + page.name = line; + if (reader.readTuple(tuple) == 2) { + page.width = parseInt(tuple[0]); + page.height = parseInt(tuple[1]); + reader.readTuple(tuple); + } + reader.readTuple(tuple); + page.minFilter = spine.Texture.filterFromString(tuple[0]); + page.magFilter = spine.Texture.filterFromString(tuple[1]); + var direction = reader.readValue(); + page.uWrap = spine.TextureWrap.ClampToEdge; + page.vWrap = spine.TextureWrap.ClampToEdge; + if (direction == "x") + page.uWrap = spine.TextureWrap.Repeat; + else if (direction == "y") + page.vWrap = spine.TextureWrap.Repeat; + else if (direction == "xy") + page.uWrap = page.vWrap = spine.TextureWrap.Repeat; + page.texture = textureLoader(line); + page.texture.setFilters(page.minFilter, page.magFilter); + page.texture.setWraps(page.uWrap, page.vWrap); + page.width = page.texture.getImage().width; + page.height = page.texture.getImage().height; + this.pages.push(page); + } + else { + var region = new TextureAtlasRegion(); + region.name = line; + region.page = page; + region.rotate = reader.readValue() == "true"; + reader.readTuple(tuple); + var x = parseInt(tuple[0]); + var y = parseInt(tuple[1]); + reader.readTuple(tuple); + var width = parseInt(tuple[0]); + var height = parseInt(tuple[1]); + region.u = x / page.width; + region.v = y / page.height; + if (region.rotate) { + region.u2 = (x + height) / page.width; + region.v2 = (y + width) / page.height; + } + else { + region.u2 = (x + width) / page.width; + region.v2 = (y + height) / page.height; + } + region.x = x; + region.y = y; + region.width = Math.abs(width); + region.height = Math.abs(height); + if (reader.readTuple(tuple) == 4) { + if (reader.readTuple(tuple) == 4) { + reader.readTuple(tuple); + } + } + region.originalWidth = parseInt(tuple[0]); + region.originalHeight = parseInt(tuple[1]); + reader.readTuple(tuple); + region.offsetX = parseInt(tuple[0]); + region.offsetY = parseInt(tuple[1]); + region.index = parseInt(reader.readValue()); + region.texture = page.texture; + this.regions.push(region); + } + } + }; + TextureAtlas.prototype.findRegion = function (name) { + for (var i = 0; i < this.regions.length; i++) { + if (this.regions[i].name == name) { + return this.regions[i]; + } + } + return null; + }; + TextureAtlas.prototype.dispose = function () { + for (var i = 0; i < this.pages.length; i++) { + this.pages[i].texture.dispose(); + } + }; + return TextureAtlas; + }()); + spine.TextureAtlas = TextureAtlas; + var TextureAtlasReader = (function () { + function TextureAtlasReader(text) { + this.index = 0; + this.lines = text.split(/\r\n|\r|\n/); + } + TextureAtlasReader.prototype.readLine = function () { + if (this.index >= this.lines.length) + return null; + return this.lines[this.index++]; + }; + TextureAtlasReader.prototype.readValue = function () { + var line = this.readLine(); + var colon = line.indexOf(":"); + if (colon == -1) + throw new Error("Invalid line: " + line); + return line.substring(colon + 1).trim(); + }; + TextureAtlasReader.prototype.readTuple = function (tuple) { + var line = this.readLine(); + var colon = line.indexOf(":"); + if (colon == -1) + throw new Error("Invalid line: " + line); + var i = 0, lastMatch = colon + 1; + for (; i < 3; i++) { + var comma = line.indexOf(",", lastMatch); + if (comma == -1) + break; + tuple[i] = line.substr(lastMatch, comma - lastMatch).trim(); + lastMatch = comma + 1; + } + tuple[i] = line.substring(lastMatch).trim(); + return i + 1; + }; + return TextureAtlasReader; + }()); + var TextureAtlasPage = (function () { + function TextureAtlasPage() { + } + return TextureAtlasPage; + }()); + spine.TextureAtlasPage = TextureAtlasPage; + var TextureAtlasRegion = (function (_super) { + __extends(TextureAtlasRegion, _super); + function TextureAtlasRegion() { + _super.apply(this, arguments); + } + return TextureAtlasRegion; + }(spine.TextureRegion)); + spine.TextureAtlasRegion = TextureAtlasRegion; +})(spine || (spine = {})); +var spine; +(function (spine) { + var TextureAtlasAttachmentLoader = (function () { + function TextureAtlasAttachmentLoader(atlas) { + this.atlas = atlas; + } + TextureAtlasAttachmentLoader.prototype.newRegionAttachment = function (skin, name, path) { + var region = this.atlas.findRegion(path); + region.renderObject = region; + if (region == null) + throw new Error("Region not found in atlas: " + path + " (region attachment: " + name + ")"); + var attachment = new spine.RegionAttachment(name); + attachment.setRegion(region); + attachment.region = region; + return attachment; + }; + TextureAtlasAttachmentLoader.prototype.newMeshAttachment = function (skin, name, path) { + var region = this.atlas.findRegion(path); + region.renderObject = region; + if (region == null) + throw new Error("Region not found in atlas: " + path + " (mesh attachment: " + name + ")"); + var attachment = new spine.MeshAttachment(name); + attachment.region = region; + return attachment; + }; + TextureAtlasAttachmentLoader.prototype.newBoundingBoxAttachment = function (skin, name) { + return new spine.BoundingBoxAttachment(name); + }; + TextureAtlasAttachmentLoader.prototype.newPathAttachment = function (skin, name) { + return new spine.PathAttachment(name); + }; + return TextureAtlasAttachmentLoader; + }()); + spine.TextureAtlasAttachmentLoader = TextureAtlasAttachmentLoader; +})(spine || (spine = {})); var spine; (function (spine) { var TransformConstraint = (function () { @@ -4111,36 +3904,6 @@ var spine; }()); spine.TransformConstraint = TransformConstraint; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var TransformConstraintData = (function () { @@ -4164,66 +3927,6 @@ var spine; }()); spine.TransformConstraintData = TransformConstraintData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Color = (function () { @@ -4398,36 +4101,6 @@ var spine; }()); spine.Vector2 = Vector2; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Attachment = (function () { @@ -4448,11 +4121,6 @@ var spine; VertexAttachment.prototype.computeWorldVertices = function (slot, worldVertices) { this.computeWorldVerticesWith(slot, 0, this.worldVerticesLength, worldVertices, 0); }; - /** Transforms local vertices to world coordinates. - * @param start The index of the first local vertex value to transform. Each vertex has 2 values, x and y. - * @param count The number of world vertex values to output. Must be <= {@link #getWorldVerticesLength()} - start. - * @param worldVertices The output world vertices. Must have a length >= offset + count. - * @param offset The worldVertices index to begin writing values. */ VertexAttachment.prototype.computeWorldVerticesWith = function (slot, start, count, worldVertices, offset) { count += offset; var skeleton = slot.bone.skeleton; @@ -4513,7 +4181,6 @@ var spine; } } }; - /** Returns true if a deform originally applied to the specified attachment should be applied to this attachment. */ VertexAttachment.prototype.applyDeform = function (sourceAttachment) { return this == sourceAttachment; }; @@ -4521,66 +4188,6 @@ var spine; }(Attachment)); spine.VertexAttachment = VertexAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { (function (AttachmentType) { @@ -4592,36 +4199,6 @@ var spine; })(spine.AttachmentType || (spine.AttachmentType = {})); var AttachmentType = spine.AttachmentType; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var BoundingBoxAttachment = (function (_super) { @@ -4633,36 +4210,6 @@ var spine; }(spine.VertexAttachment)); spine.BoundingBoxAttachment = BoundingBoxAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var MeshAttachment = (function (_super) { @@ -4703,7 +4250,6 @@ var spine; } } }; - /** @return The updated world vertices. */ MeshAttachment.prototype.updateWorldVertices = function (slot, premultipliedAlpha) { var skeleton = slot.bone.skeleton; var skeletonColor = skeleton.color, slotColor = slot.color, meshColor = this.color; @@ -4780,7 +4326,6 @@ var spine; MeshAttachment.prototype.getParentMesh = function () { return this._parentMesh; }; - /** @param parentMesh May be null. */ MeshAttachment.prototype.setParentMesh = function (parentMesh) { this._parentMesh = parentMesh; if (parentMesh != null) { @@ -4795,36 +4340,6 @@ var spine; }(spine.VertexAttachment)); spine.MeshAttachment = MeshAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var PathAttachment = (function (_super) { @@ -4838,36 +4353,6 @@ var spine; }(spine.VertexAttachment)); spine.PathAttachment = PathAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var RegionAttachment = (function (_super) { @@ -4954,7 +4439,7 @@ var spine; var offsetX = 0, offsetY = 0; offsetX = offset[RegionAttachment.OX1]; offsetY = offset[RegionAttachment.OY1]; - vertices[RegionAttachment.X1] = offsetX * a + offsetY * b + x; // br + vertices[RegionAttachment.X1] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y1] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C1R] = color.r; vertices[RegionAttachment.C1G] = color.g; @@ -4962,7 +4447,7 @@ var spine; vertices[RegionAttachment.C1A] = color.a; offsetX = offset[RegionAttachment.OX2]; offsetY = offset[RegionAttachment.OY2]; - vertices[RegionAttachment.X2] = offsetX * a + offsetY * b + x; // bl + vertices[RegionAttachment.X2] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y2] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C2R] = color.r; vertices[RegionAttachment.C2G] = color.g; @@ -4970,7 +4455,7 @@ var spine; vertices[RegionAttachment.C2A] = color.a; offsetX = offset[RegionAttachment.OX3]; offsetY = offset[RegionAttachment.OY3]; - vertices[RegionAttachment.X3] = offsetX * a + offsetY * b + x; // ul + vertices[RegionAttachment.X3] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y3] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C3R] = color.r; vertices[RegionAttachment.C3G] = color.g; @@ -4978,7 +4463,7 @@ var spine; vertices[RegionAttachment.C3A] = color.a; offsetX = offset[RegionAttachment.OX4]; offsetY = offset[RegionAttachment.OY4]; - vertices[RegionAttachment.X4] = offsetX * a + offsetY * b + x; // ur + vertices[RegionAttachment.X4] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y4] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C4R] = color.r; vertices[RegionAttachment.C4G] = color.g; @@ -5030,217 +4515,64 @@ var spine; }(spine.Attachment)); spine.RegionAttachment = RegionAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -var spine; -(function (spine) { - var TextureRegion = (function () { - function TextureRegion() { - this.u = 0; - this.v = 0; - this.u2 = 0; - this.v2 = 0; - this.width = 0; - this.height = 0; - this.rotate = false; - this.offsetX = 0; - this.offsetY = 0; - this.originalWidth = 0; - this.originalHeight = 0; - } - return TextureRegion; - }()); - spine.TextureRegion = TextureRegion; -})(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; (function (webgl) { - var AssetManager = (function () { - function AssetManager(gl) { - this._assets = {}; - this._errors = {}; - this._toLoad = 0; - this._loaded = 0; + var GLTexture = (function (_super) { + __extends(GLTexture, _super); + function GLTexture(gl, image, useMipMaps) { + if (useMipMaps === void 0) { useMipMaps = false; } + _super.call(this, image); + this._boundUnit = 0; this._gl = gl; + this._texture = gl.createTexture(); + this.update(useMipMaps); } - AssetManager.prototype.loadText = function (path, success, error) { - var _this = this; - if (success === void 0) { success = null; } - if (error === void 0) { error = null; } - this._toLoad++; - var request = new XMLHttpRequest(); - request.onreadystatechange = function () { - if (request.readyState == XMLHttpRequest.DONE) { - if (request.status >= 200 && request.status < 300) { - if (success) - success(path, request.responseText); - _this._assets[path] = request.responseText; - } - else { - if (error) - error(path, "Couldn't load text " + path + ": status " + request.status + ", " + request.responseText); - _this._errors[path] = "Couldn't load text " + path + ": status " + request.status + ", " + request.responseText; - } - _this._toLoad--; - _this._loaded++; - } - }; - request.open("GET", path, true); - request.send(); + GLTexture.prototype.setFilters = function (minFilter, magFilter) { + var gl = this._gl; + this.bind(); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, magFilter); }; - AssetManager.prototype.loadTexture = function (path, success, error) { - var _this = this; - if (success === void 0) { success = null; } - if (error === void 0) { error = null; } - this._toLoad++; - var img = new Image(); - img.src = path; - img.onload = function (ev) { - if (success) - success(path, img); - var texture = new webgl.Texture(_this._gl, img); - _this._assets[path] = texture; - _this._toLoad--; - _this._loaded++; - }; - img.onerror = function (ev) { - if (error) - error(path, "Couldn't load image " + path); - _this._errors[path] = "Couldn't load image " + path; - _this._toLoad--; - _this._loaded++; - }; + GLTexture.prototype.setWraps = function (uWrap, vWrap) { + var gl = this._gl; + this.bind(); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, uWrap); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, vWrap); }; - AssetManager.prototype.get = function (path) { - return this._assets[path]; + GLTexture.prototype.update = function (useMipMaps) { + var gl = this._gl; + this.bind(); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, this._image); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, useMipMaps ? gl.LINEAR_MIPMAP_LINEAR : gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + if (useMipMaps) + gl.generateMipmap(gl.TEXTURE_2D); }; - AssetManager.prototype.remove = function (path) { - var asset = this._assets[path]; - if (asset instanceof webgl.Texture) { - asset.dispose(); - } - this._assets[path] = null; + GLTexture.prototype.bind = function (unit) { + if (unit === void 0) { unit = 0; } + var gl = this._gl; + this._boundUnit = unit; + gl.activeTexture(gl.TEXTURE0 + unit); + gl.bindTexture(gl.TEXTURE_2D, this._texture); }; - AssetManager.prototype.removeAll = function () { - for (var key in this._assets) { - var asset = this._assets[key]; - if (asset instanceof webgl.Texture) - asset.dispose(); - } - this._assets = {}; + GLTexture.prototype.unbind = function () { + var gl = this._gl; + gl.activeTexture(gl.TEXTURE0 + this._boundUnit); + gl.bindTexture(gl.TEXTURE_2D, null); }; - AssetManager.prototype.isLoadingComplete = function () { - return this._toLoad == 0; + GLTexture.prototype.dispose = function () { + var gl = this._gl; + gl.deleteTexture(this._texture); }; - AssetManager.prototype.toLoad = function () { - return this._toLoad; - }; - AssetManager.prototype.loaded = function () { - return this._loaded; - }; - AssetManager.prototype.dispose = function () { - this.removeAll(); - }; - AssetManager.prototype.hasErrors = function () { - return Object.keys(this._errors).length > 0; - }; - AssetManager.prototype.errors = function () { - return this._errors; - }; - return AssetManager; - }()); - webgl.AssetManager = AssetManager; + return GLTexture; + }(spine.Texture)); + webgl.GLTexture = GLTexture; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -5504,36 +4836,6 @@ var spine; webgl.Matrix4 = Matrix4; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -5698,36 +5000,6 @@ var spine; var VertexAttributeType = webgl.VertexAttributeType; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -5815,36 +5087,6 @@ var spine; webgl.PolygonBatcher = PolygonBatcher; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -5987,36 +5229,6 @@ var spine; webgl.Shader = Shader; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -6048,6 +5260,8 @@ var spine; triangles = mesh.triangles; texture = mesh.region.renderObject.texture; } + else + continue; if (texture != null) { var slotBlendMode = slot.data.blendMode; if (slotBlendMode != blendMode) { @@ -6064,425 +5278,6 @@ var spine; webgl.SkeletonRenderer = SkeletonRenderer; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -var spine; -(function (spine) { - var webgl; - (function (webgl) { - var Texture = (function () { - function Texture(gl, image, useMipMaps) { - if (useMipMaps === void 0) { useMipMaps = false; } - this._boundUnit = 0; - this._gl = gl; - this._texture = gl.createTexture(); - this._image = image; - this.update(useMipMaps); - } - Texture.prototype.getImage = function () { - return this._image; - }; - Texture.prototype.setFilters = function (minFilter, magFilter) { - var gl = this._gl; - this.bind(); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, magFilter); - }; - Texture.prototype.setWraps = function (uWrap, vWrap) { - var gl = this._gl; - this.bind(); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, uWrap); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, vWrap); - }; - Texture.prototype.update = function (useMipMaps) { - var gl = this._gl; - this.bind(); - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, this._image); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, useMipMaps ? gl.LINEAR_MIPMAP_LINEAR : gl.LINEAR); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); - if (useMipMaps) - gl.generateMipmap(gl.TEXTURE_2D); - }; - Texture.prototype.bind = function (unit) { - if (unit === void 0) { unit = 0; } - var gl = this._gl; - this._boundUnit = unit; - gl.activeTexture(gl.TEXTURE0 + unit); - gl.bindTexture(gl.TEXTURE_2D, this._texture); - }; - Texture.prototype.unbind = function () { - var gl = this._gl; - gl.activeTexture(gl.TEXTURE0 + this._boundUnit); - gl.bindTexture(gl.TEXTURE_2D, null); - }; - Texture.prototype.dispose = function () { - var gl = this._gl; - gl.deleteTexture(this._texture); - }; - Texture.filterFromString = function (text) { - switch (text.toLowerCase()) { - case "nearest": return TextureFilter.Nearest; - case "linear": return TextureFilter.Linear; - case "mipmap": return TextureFilter.MipMap; - case "mipmapnearestnearest": return TextureFilter.MipMapNearestNearest; - case "mipmaplinearnearest": return TextureFilter.MipMapLinearNearest; - case "mipmapnearestlinear": return TextureFilter.MipMapNearestLinear; - case "mipmaplinearlinear": return TextureFilter.MipMapLinearLinear; - default: throw new Error("Unknown texture filter " + text); - } - }; - Texture.wrapFromString = function (text) { - switch (text.toLowerCase()) { - case "mirroredtepeat": return TextureWrap.MirroredRepeat; - case "clamptoedge": return TextureWrap.ClampToEdge; - case "repeat": return TextureWrap.Repeat; - default: throw new Error("Unknown texture wrap " + text); - } - }; - return Texture; - }()); - webgl.Texture = Texture; - (function (TextureFilter) { - TextureFilter[TextureFilter["Nearest"] = WebGLRenderingContext.NEAREST] = "Nearest"; - TextureFilter[TextureFilter["Linear"] = WebGLRenderingContext.LINEAR] = "Linear"; - TextureFilter[TextureFilter["MipMap"] = WebGLRenderingContext.LINEAR_MIPMAP_LINEAR] = "MipMap"; - TextureFilter[TextureFilter["MipMapNearestNearest"] = WebGLRenderingContext.NEAREST_MIPMAP_NEAREST] = "MipMapNearestNearest"; - TextureFilter[TextureFilter["MipMapLinearNearest"] = WebGLRenderingContext.LINEAR_MIPMAP_NEAREST] = "MipMapLinearNearest"; - TextureFilter[TextureFilter["MipMapNearestLinear"] = WebGLRenderingContext.NEAREST_MIPMAP_LINEAR] = "MipMapNearestLinear"; - TextureFilter[TextureFilter["MipMapLinearLinear"] = WebGLRenderingContext.LINEAR_MIPMAP_LINEAR] = "MipMapLinearLinear"; - })(webgl.TextureFilter || (webgl.TextureFilter = {})); - var TextureFilter = webgl.TextureFilter; - (function (TextureWrap) { - TextureWrap[TextureWrap["MirroredRepeat"] = WebGLRenderingContext.MIRRORED_REPEAT] = "MirroredRepeat"; - TextureWrap[TextureWrap["ClampToEdge"] = WebGLRenderingContext.CLAMP_TO_EDGE] = "ClampToEdge"; - TextureWrap[TextureWrap["Repeat"] = WebGLRenderingContext.REPEAT] = "Repeat"; - })(webgl.TextureWrap || (webgl.TextureWrap = {})); - var TextureWrap = webgl.TextureWrap; - })(webgl = spine.webgl || (spine.webgl = {})); -})(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -var spine; -(function (spine) { - var webgl; - (function (webgl) { - var TextureAtlas = (function () { - function TextureAtlas(atlasText, textureLoader) { - this.pages = new Array(); - this.regions = new Array(); - this.load(atlasText, textureLoader); - } - TextureAtlas.prototype.load = function (atlasText, textureLoader) { - if (textureLoader == null) - throw new Error("textureLoader cannot be null."); - var reader = new TextureAtlasReader(atlasText); - var tuple = new Array(4); - var page = null; - while (true) { - var line = reader.readLine(); - if (line == null) - break; - line = line.trim(); - if (line.length == 0) - page = null; - else if (!page) { - page = new TextureAtlasPage(); - page.name = line; - if (reader.readTuple(tuple) == 2) { - page.width = parseInt(tuple[0]); - page.height = parseInt(tuple[1]); - reader.readTuple(tuple); - } - // page.format = Format[tuple[0]]; we don't need format in WebGL - reader.readTuple(tuple); - page.minFilter = webgl.Texture.filterFromString(tuple[0]); - page.magFilter = webgl.Texture.filterFromString(tuple[1]); - var direction = reader.readValue(); - page.uWrap = webgl.TextureWrap.ClampToEdge; - page.vWrap = webgl.TextureWrap.ClampToEdge; - if (direction == "x") - page.uWrap = webgl.TextureWrap.Repeat; - else if (direction == "y") - page.vWrap = webgl.TextureWrap.Repeat; - else if (direction == "xy") - page.uWrap = page.vWrap = webgl.TextureWrap.Repeat; - page.texture = textureLoader(line); - page.texture.setFilters(page.minFilter, page.magFilter); - page.texture.setWraps(page.uWrap, page.vWrap); - page.width = page.texture.getImage().width; - page.height = page.texture.getImage().height; - this.pages.push(page); - } - else { - var region = new TextureAtlasRegion(); - region.name = line; - region.page = page; - region.rotate = reader.readValue() == "true"; - reader.readTuple(tuple); - var x = parseInt(tuple[0]); - var y = parseInt(tuple[1]); - reader.readTuple(tuple); - var width = parseInt(tuple[0]); - var height = parseInt(tuple[1]); - region.u = x / page.width; - region.v = y / page.height; - if (region.rotate) { - region.u2 = (x + height) / page.width; - region.v2 = (y + width) / page.height; - } - else { - region.u2 = (x + width) / page.width; - region.v2 = (y + height) / page.height; - } - region.x = x; - region.y = y; - region.width = Math.abs(width); - region.height = Math.abs(height); - if (reader.readTuple(tuple) == 4) { - // region.splits = new Vector.(parseInt(tuple[0]), parseInt(tuple[1]), parseInt(tuple[2]), parseInt(tuple[3])); - if (reader.readTuple(tuple) == 4) { - //region.pads = Vector.(parseInt(tuple[0]), parseInt(tuple[1]), parseInt(tuple[2]), parseInt(tuple[3])); - reader.readTuple(tuple); - } - } - region.originalWidth = parseInt(tuple[0]); - region.originalHeight = parseInt(tuple[1]); - reader.readTuple(tuple); - region.offsetX = parseInt(tuple[0]); - region.offsetY = parseInt(tuple[1]); - region.index = parseInt(reader.readValue()); - region.texture = page.texture; - this.regions.push(region); - } - } - }; - TextureAtlas.prototype.findRegion = function (name) { - for (var i = 0; i < this.regions.length; i++) { - if (this.regions[i].name == name) { - return this.regions[i]; - } - } - return null; - }; - TextureAtlas.prototype.dispose = function () { - for (var i = 0; i < this.pages.length; i++) { - this.pages[i].texture.dispose(); - } - }; - return TextureAtlas; - }()); - webgl.TextureAtlas = TextureAtlas; - var TextureAtlasReader = (function () { - function TextureAtlasReader(text) { - this.index = 0; - this.lines = text.split(/\r\n|\r|\n/); - } - TextureAtlasReader.prototype.readLine = function () { - if (this.index >= this.lines.length) - return null; - return this.lines[this.index++]; - }; - TextureAtlasReader.prototype.readValue = function () { - var line = this.readLine(); - var colon = line.indexOf(":"); - if (colon == -1) - throw new Error("Invalid line: " + line); - return line.substring(colon + 1).trim(); - }; - TextureAtlasReader.prototype.readTuple = function (tuple) { - var line = this.readLine(); - var colon = line.indexOf(":"); - if (colon == -1) - throw new Error("Invalid line: " + line); - var i = 0, lastMatch = colon + 1; - for (; i < 3; i++) { - var comma = line.indexOf(",", lastMatch); - if (comma == -1) - break; - tuple[i] = line.substr(lastMatch, comma - lastMatch).trim(); - lastMatch = comma + 1; - } - tuple[i] = line.substring(lastMatch).trim(); - return i + 1; - }; - return TextureAtlasReader; - }()); - var TextureAtlasPage = (function () { - function TextureAtlasPage() { - } - return TextureAtlasPage; - }()); - webgl.TextureAtlasPage = TextureAtlasPage; - var TextureAtlasRegion = (function (_super) { - __extends(TextureAtlasRegion, _super); - function TextureAtlasRegion() { - _super.apply(this, arguments); - } - return TextureAtlasRegion; - }(spine.TextureRegion)); - webgl.TextureAtlasRegion = TextureAtlasRegion; - })(webgl = spine.webgl || (spine.webgl = {})); -})(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -var spine; -(function (spine) { - var webgl; - (function (webgl) { - var TextureAtlasAttachmentLoader = (function () { - function TextureAtlasAttachmentLoader(atlas) { - this.atlas = atlas; - } - /** @return May be null to not load an attachment. */ - TextureAtlasAttachmentLoader.prototype.newRegionAttachment = function (skin, name, path) { - var region = this.atlas.findRegion(path); - region.renderObject = region; - if (region == null) - throw new Error("Region not found in atlas: " + path + " (region attachment: " + name + ")"); - var attachment = new spine.RegionAttachment(name); - attachment.setRegion(region); - attachment.region = region; - return attachment; - }; - /** @return May be null to not load an attachment. */ - TextureAtlasAttachmentLoader.prototype.newMeshAttachment = function (skin, name, path) { - var region = this.atlas.findRegion(path); - region.renderObject = region; - if (region == null) - throw new Error("Region not found in atlas: " + path + " (mesh attachment: " + name + ")"); - var attachment = new spine.MeshAttachment(name); - attachment.region = region; - return attachment; - }; - /** @return May be null to not load an attachment. */ - TextureAtlasAttachmentLoader.prototype.newBoundingBoxAttachment = function (skin, name) { - return new spine.BoundingBoxAttachment(name); - }; - /** @return May be null to not load an attachment */ - TextureAtlasAttachmentLoader.prototype.newPathAttachment = function (skin, name) { - return new spine.PathAttachment(name); - }; - return TextureAtlasAttachmentLoader; - }()); - webgl.TextureAtlasAttachmentLoader = TextureAtlasAttachmentLoader; - })(webgl = spine.webgl || (spine.webgl = {})); -})(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -6556,36 +5351,6 @@ var spine; webgl.Vector3 = Vector3; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -6613,36 +5378,6 @@ var spine; webgl.getDestGLBlendMode = getDestGLBlendMode; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SpineWidget = (function () { @@ -6673,7 +5408,9 @@ var spine; this._batcher = new spine.webgl.PolygonBatcher(gl); this._mvp.ortho2d(0, 0, 639, 479); this._skeletonRenderer = new spine.webgl.SkeletonRenderer(gl); - var assets = this._assetManager = new spine.webgl.AssetManager(gl); + var assets = this._assetManager = new spine.AssetManager(function (image) { + return new spine.webgl.GLTexture(gl, image); + }); assets.loadText(config.atlas); assets.loadText(config.json); assets.loadTexture(config.atlas.replace(".atlas", ".png")); @@ -6728,12 +5465,12 @@ var spine; else throw new Error("Failed to load assets: " + JSON.stringify(assetManager.errors)); } - var atlas = new spine.webgl.TextureAtlas(this._assetManager.get(this._config.atlas), function (path) { - return assetManager.get(imagesPath + path); + var atlas = new spine.TextureAtlas(this._assetManager.get(this._config.atlas), function (path) { + var texture = assetManager.get(imagesPath + path); + return texture; }); - var atlasLoader = new spine.webgl.TextureAtlasAttachmentLoader(atlas); + var atlasLoader = new spine.TextureAtlasAttachmentLoader(atlas); var skeletonJson = new spine.SkeletonJson(atlasLoader); - // Set the scale to apply during parsing, parse the file, and create a new skeleton. skeletonJson.scale = config.scale; var skeletonData = skeletonJson.readSkeletonData(assetManager.get(config.json)); var skeleton = this.skeleton = new spine.Skeleton(skeletonData); @@ -6761,19 +5498,16 @@ var spine; var color = this._backgroundColor; gl.clearColor(color.r, color.g, color.b, color.a); gl.clear(gl.COLOR_BUFFER_BIT); - // Apply the animation state based on the delta time. var state = this.state; var skeleton = this.skeleton; var premultipliedAlpha = this._config.premultipliedAlpha; state.update(delta); state.apply(skeleton); skeleton.updateWorldTransform(); - // Bind the shader and set the texture and model-view-projection matrix. var shader = this._shader; shader.bind(); shader.setUniformi(spine.webgl.Shader.SAMPLER, 0); shader.setUniform4x4f(spine.webgl.Shader.MVP_MATRIX, this._mvp.values); - // Start the batch and tell the SkeletonRenderer to render the active skeleton. var batcher = this._batcher; var skeletonRenderer = this._skeletonRenderer; batcher.begin(shader); diff --git a/spine-ts/build/spine-all.js.map b/spine-ts/build/spine-all.js.map index accee76b1..53eac708d 100644 --- a/spine-ts/build/spine-all.js.map +++ b/spine-ts/build/spine-all.js.map @@ -1 +1 @@ -{"version":3,"file":"spine-all.js","sourceRoot":"","sources":["../core/src/Animation.ts","../core/src/AnimationState.ts","../core/src/AnimationStateData.ts","../core/src/BlendMode.ts","../core/src/Bone.ts","../core/src/BoneData.ts","../core/src/Event.ts","../core/src/EventData.ts","../core/src/IkConstraint.ts","../core/src/IkConstraintData.ts","../core/src/PathConstraint.ts","../core/src/PathConstraintData.ts","../core/src/Skeleton.ts","../core/src/SkeletonBounds.ts","../core/src/SkeletonData.ts","../core/src/SkeletonJson.ts","../core/src/Skin.ts","../core/src/Slot.ts","../core/src/SlotData.ts","../core/src/TransformConstraint.ts","../core/src/TransformConstraintData.ts","../core/src/Updatable.ts","../core/src/Utils.ts","../core/src/attachments/Attachment.ts","../core/src/attachments/AttachmentLoader.ts","../core/src/attachments/AttachmentType.ts","../core/src/attachments/BoundingBoxAttachment.ts","../core/src/attachments/MeshAttachment.ts","../core/src/attachments/PathAttachment.ts","../core/src/attachments/RegionAttachment.ts","../core/src/attachments/TextureRegion.ts","../webgl/src/AssetManager.ts","../webgl/src/Matrix4.ts","../webgl/src/Mesh.ts","../webgl/src/PolygonBatcher.ts","../webgl/src/Shader.ts","../webgl/src/SkeletonRenderer.ts","../webgl/src/Texture.ts","../webgl/src/TextureAtlas.ts","../webgl/src/TextureAtlasAttachmentLoader.ts","../webgl/src/Vector3.ts","../webgl/src/WebGL.ts","../widget/src/Widget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;;;;;;AAE/E,IAAO,KAAK,CAgxBX;AAhxBD,WAAO,KAAK,EAAC,CAAC;IACb;QAKC,mBAAa,IAAY,EAAE,SAA0B,EAAE,QAAgB;YACtE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACpE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,CAAC;QAED,yBAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,IAAa,EAAE,MAAoB;YAC7F,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAElE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;gBACtB,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;oBAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC7C,CAAC;YAED,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC/C,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,uBAAG,GAAH,UAAK,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,IAAa,EAAE,MAAoB,EAAE,KAAa;YAC1G,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAElE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;gBACtB,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;oBAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC7C,CAAC;YAED,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC/C,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;QAEM,sBAAY,GAAnB,UAAqB,MAAyB,EAAE,MAAc,EAAE,IAAgB;YAAhB,oBAAgB,GAAhB,QAAgB;YAC/E,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;YACpC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YAC3B,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC;YACzB,OAAO,IAAI,EAAE,CAAC;gBACb,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC;oBAC1C,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;gBACnB,IAAI;oBACH,IAAI,GAAG,OAAO,CAAC;gBAChB,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;oBAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;gBACzC,OAAO,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;QAEM,sBAAY,GAAnB,UAAqB,MAAyB,EAAE,MAAc,EAAE,IAAY;YAC3E,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI;gBAChE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QACF,gBAAC;IAAD,CAAC,AA3DD,IA2DC;IA3DY,eAAS,YA2DrB,CAAA;IAMD;QAMC,uBAAa,UAAkB;YAC9B,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,UAAU,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QACjF,CAAC;QAED,qCAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;QAC3D,CAAC;QAED,iCAAS,GAAT,UAAW,UAAkB;YAC5B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;QAC5E,CAAC;QAED,kCAAU,GAAV,UAAY,UAAkB;YAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC;QAC7E,CAAC;QAED,oCAAY,GAAZ,UAAc,UAAkB;YAC/B,IAAI,KAAK,GAAG,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC;YACnD,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7D,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,EAAE,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAC9D,EAAE,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC;gBAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;YAChE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QAC7B,CAAC;QAED;;2DAEmD;QACnD,gCAAQ,GAAR,UAAU,UAAkB,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW;YAC/E,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;YACnE,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YACjF,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;YACrD,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;YAE7F,IAAI,CAAC,GAAG,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC;YAC/C,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;YAEnC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClB,GAAG,IAAI,IAAI,CAAC;gBACZ,GAAG,IAAI,IAAI,CAAC;gBACZ,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC;gBACd,CAAC,IAAI,GAAG,CAAC;gBACT,CAAC,IAAI,GAAG,CAAC;YACV,CAAC;QACF,CAAC;QAED,uCAAe,GAAf,UAAiB,UAAkB,EAAE,OAAe;YACnD,OAAO,GAAG,eAAS,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,CAAC,GAAG,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC;YAC/C,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,EAAE,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,OAAO,CAAC;YACjD,EAAE,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,CAAC,EAAE,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1E,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;oBAClB,IAAI,KAAK,SAAQ,EAAE,KAAK,SAAQ,CAAC;oBACjC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;wBAChB,KAAK,GAAG,CAAC,CAAC;wBACV,KAAK,GAAG,CAAC,CAAC;oBACX,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACP,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACtB,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvB,CAAC;oBACD,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC1E,CAAC;YACF,CAAC;YACD,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB;QACpE,CAAC;QAlFM,oBAAM,GAAG,CAAC,CAAC;QAAQ,qBAAO,GAAG,CAAC,CAAC;QAAQ,oBAAM,GAAG,CAAC,CAAC;QAClD,yBAAW,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAoFjC,oBAAC;IAAD,CAAC,AAtFD,IAsFC;IAtFqB,mBAAa,gBAsFlC,CAAA;IAED;QAAoC,kCAAa;QAQhD,wBAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,yDAAyD;QACzD,iCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,OAAe;YAC1D,UAAU,KAAK,CAAC,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;QAC7D,CAAC;QAED,8BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE1C,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5D,IAAI,QAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACvG,OAAO,QAAM,GAAG,GAAG;oBAClB,QAAM,IAAI,GAAG,CAAC;gBACf,OAAO,QAAM,GAAG,CAAC,GAAG;oBACnB,QAAM,IAAI,GAAG,CAAC;gBACf,IAAI,CAAC,QAAQ,IAAI,QAAM,GAAG,KAAK,CAAC;gBAChC,MAAM,CAAC;YACR,CAAC;YAED,gEAAgE;YAChE,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;YACzE,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YAChE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAClD,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAElF,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;YACpE,OAAO,MAAM,GAAG,GAAG;gBAClB,MAAM,IAAI,GAAG,CAAC;YACf,OAAO,MAAM,GAAG,CAAC,GAAG;gBACnB,MAAM,IAAI,GAAG,CAAC;YACf,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChF,OAAO,MAAM,GAAG,GAAG;gBAClB,MAAM,IAAI,GAAG,CAAC;YACf,OAAO,MAAM,GAAG,CAAC,GAAG;gBACnB,MAAM,IAAI,GAAG,CAAC;YACf,IAAI,CAAC,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC;QACjC,CAAC;QArDM,sBAAO,GAAG,CAAC,CAAC;QACZ,wBAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,4BAAa,GAAG,CAAC,CAAC,CAAC;QAC1C,uBAAQ,GAAG,CAAC,CAAC;QAoDrB,qBAAC;IAAD,CAAC,AAvDD,CAAoC,aAAa,GAuDhD;IAvDY,oBAAc,iBAuD1B,CAAA;IAED;QAAuC,qCAAa;QAQnD,2BAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;QAED,yDAAyD;QACzD,oCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;YAC/D,UAAU,IAAI,iBAAiB,CAAC,OAAO,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;QAED,iCAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE1C,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/D,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC5F,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC5F,MAAM,CAAC;YACR,CAAC;YAED,gEAAgE;YAChE,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5E,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,iBAAiB,CAAC,OAAO,GAAG,CAAC,EACvE,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAErF,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YAC3G,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAC5G,CAAC;QA1CM,yBAAO,GAAG,CAAC,CAAC;QACZ,2BAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,wBAAM,GAAG,CAAC,CAAC,CAAC;QAAQ,wBAAM,GAAG,CAAC,CAAC,CAAC;QACvD,mBAAC,GAAG,CAAC,CAAC;QAAQ,mBAAC,GAAG,CAAC,CAAC;QAyC5B,wBAAC;IAAD,CAAC,AA5CD,CAAuC,aAAa,GA4CnD;IA5CY,uBAAiB,oBA4C7B,CAAA;IAED;QAAmC,iCAAiB;QACnD,uBAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;QACnB,CAAC;QAED,6BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1C,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACvG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACvG,MAAM,CAAC;YACR,CAAC;YAED,gEAAgE;YAChE,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YACxE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,GAAG,CAAC,EACnE,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAEjF,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACxH,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACzH,CAAC;QACF,oBAAC;IAAD,CAAC,AA3BD,CAAmC,iBAAiB,GA2BnD;IA3BY,mBAAa,gBA2BzB,CAAA;IAED;QAAmC,iCAAiB;QACnD,uBAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;QACnB,CAAC;QAED,6BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1C,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACvG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACvG,MAAM,CAAC;YACR,CAAC;YAED,gEAAgE;YAChE,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YACxE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,GAAG,CAAC,EACnE,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAEjF,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACxH,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACzH,CAAC;QACF,oBAAC;IAAD,CAAC,AA3BD,CAAmC,iBAAiB,GA2BnD;IA3BY,mBAAa,gBA2BzB,CAAA;IAED;QAAmC,iCAAa;QAQ/C,uBAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;QAED,yDAAyD;QACzD,gCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;YACrF,UAAU,IAAI,aAAa,CAAC,OAAO,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;QAED,6BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC/B,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,gEAAgE;gBAChE,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;gBACxE,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,GAAG,CAAC,EACnE,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;gBAEjF,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;gBACrD,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;gBACrD,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;gBACrD,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;YACtD,CAAC;YACD,IAAI,KAAK,GAAU,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YACxD,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YACvG,IAAI;gBACH,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;QAtDM,qBAAO,GAAG,CAAC,CAAC;QACZ,uBAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,oBAAM,GAAG,CAAC,CAAC,CAAC;QAAQ,oBAAM,GAAG,CAAC,CAAC,CAAC;QAAQ,oBAAM,GAAG,CAAC,CAAC,CAAC;QAAQ,oBAAM,GAAG,CAAC,CAAC,CAAC;QAC/F,eAAC,GAAG,CAAC,CAAC;QAAQ,eAAC,GAAG,CAAC,CAAC;QAAQ,eAAC,GAAG,CAAC,CAAC;QAAQ,eAAC,GAAG,CAAC,CAAC;QAqDxD,oBAAC;IAAD,CAAC,AAxDD,CAAmC,aAAa,GAwD/C;IAxDY,mBAAa,gBAwDzB,CAAA;IAED;QAKC,4BAAa,UAAkB;YAC9B,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,CAAS,UAAU,CAAC,CAAC;QACtD,CAAC;QAED,0CAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,yDAAyD;QACzD,qCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,cAAsB;YACjE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC;QACnD,CAAC;QAED,kCAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrC,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAChC,IAAI;gBACH,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAE1D,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACtD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;iBAC5B,aAAa,CAAC,cAAc,IAAI,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QACzG,CAAC;QACF,yBAAC;IAAD,CAAC,AAlCD,IAkCC;IAlCY,wBAAkB,qBAkC9B,CAAA;IAED;QAIC,uBAAa,UAAkB;YAC9B,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAQ,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,qCAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,+CAA+C;QAC/C,gCAAQ,GAAR,UAAU,UAAkB,EAAE,KAAY;YACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QACjC,CAAC;QAED,sDAAsD;QACtD,6BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC;YAChC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAEpC,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;gBACrE,QAAQ,GAAG,CAAC,CAAC,CAAC;YACf,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC;YACR,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,KAAK,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC;gBACL,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACjD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;oBAClB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;wBAAC,KAAK,CAAC;oBAC1C,KAAK,EAAE,CAAC;gBACT,CAAC;YACF,CAAC;YACD,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;gBAC1D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QACF,oBAAC;IAAD,CAAC,AA9CD,IA8CC;IA9CY,mBAAa,gBA8CzB,CAAA;IAED;QAIC,2BAAa,UAAkB;YAC9B,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAgB,UAAU,CAAC,CAAC;QACxD,CAAC;QAED,yCAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED;uEAC+D;QAC/D,oCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,SAAwB;YACnE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QACzC,CAAC;QAED,iCAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrC,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,IAAI;gBACH,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAElD,IAAI,SAAS,GAAgB,QAAQ,CAAC,SAAS,CAAC;YAChD,IAAI,KAAK,GAAgB,QAAQ,CAAC,KAAK,CAAC;YACxC,IAAI,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACnD,EAAE,CAAC,CAAC,qBAAqB,IAAI,IAAI,CAAC;gBACjC,WAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,CAAC;gBACL,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBAC3D,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;QACF,wBAAC;IAAD,CAAC,AAxCD,IAwCC;IAxCY,uBAAiB,oBAwC7B,CAAA;IAED;QAAoC,kCAAa;QAMhD,wBAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAoB,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,+CAA+C;QAC/C,iCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,QAA2B;YACtE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QAC3C,CAAC;QAED,8BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,IAAI,GAAS,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,cAAc,GAAe,IAAI,CAAC,aAAa,EAAE,CAAC;YACtD,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,YAAY,sBAAgB,CAAC,IAAI,CAAoB,cAAe,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE9H,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,IAAI,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAE1C,IAAI,aAAa,GAAkB,IAAI,CAAC,kBAAkB,CAAC;YAC3D,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,IAAI,WAAW,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,CAAC,8CAA8C;YAClG,IAAI,QAAQ,GAAkB,WAAK,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAE7E,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACpD,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBACf,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE;wBACnC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBACzD,CAAC;gBAAC,IAAI;oBACL,WAAK,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC5D,MAAM,CAAC;YACR,CAAC;YAED,gEAAgE;YAChE,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,YAAY,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAExG,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC3B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAClF,CAAC;YACF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC3B,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;gBACzD,CAAC;YACF,CAAC;QACF,CAAC;QACF,qBAAC;IAAD,CAAC,AA9DD,CAAoC,aAAa,GA8DhD;IA9DY,oBAAc,iBA8D1B,CAAA;IAED;QAA0C,wCAAa;QAQtD,8BAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9E,CAAC;QAED,uEAAuE;QACvE,uCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,GAAW,EAAE,aAAqB;YAC7E,UAAU,IAAI,oBAAoB,CAAC,OAAO,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,oBAAoB,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC;QAC/E,CAAC;QAED,oCAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,UAAU,GAAiB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE9E,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClE,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACnG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACxG,MAAM,CAAC;YACR,CAAC;YAED,gEAAgE;YAChE,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC/E,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,oBAAoB,CAAC,OAAO,GAAG,CAAC,EAC1E,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAExF,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC9G,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACjG,CAAC;QAzCM,4BAAO,GAAG,CAAC,CAAC;QACZ,8BAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,6BAAQ,GAAG,CAAC,CAAC,CAAC;QAAQ,wCAAmB,GAAG,CAAC,CAAC,CAAC;QACtE,wBAAG,GAAG,CAAC,CAAC;QAAQ,mCAAc,GAAG,CAAC,CAAC;QAwC3C,2BAAC;IAAD,CAAC,AA3CD,CAA0C,aAAa,GA2CtD;IA3CY,0BAAoB,uBA2ChC,CAAA;IAED;QAAiD,+CAAa;QAQ7D,qCAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrF,CAAC;QAED,yDAAyD;QACzD,8CAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,SAAiB,EAAE,YAAoB,EAAE,QAAgB,EAAE,QAAgB;YACtH,UAAU,IAAI,2BAA2B,CAAC,OAAO,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,2BAA2B,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;QACxE,CAAC;QAED,2CAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,UAAU,GAAwB,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAEnG,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,UAAU,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,2BAA2B,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;gBAC7G,UAAU,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,2BAA2B,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;gBACtH,UAAU,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,2BAA2B,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBAC1G,UAAU,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,2BAA2B,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBAC1G,MAAM,CAAC;YACR,CAAC;YAED,gEAAgE;YAChE,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC;YACtF,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,2BAA2B,CAAC,OAAO,GAAG,CAAC,EACjF,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAE/F,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAC;YAC3E,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;YACnE,UAAU,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAC1I,UAAU,CAAC,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC;kBAC7I,KAAK,CAAC;YACT,UAAU,CAAC,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YACrI,UAAU,CAAC,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QACtI,CAAC;QApDM,mCAAO,GAAG,CAAC,CAAC;QACZ,qCAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,uCAAW,GAAG,CAAC,CAAC,CAAC;QAAQ,0CAAc,GAAG,CAAC,CAAC,CAAC;QAAQ,sCAAU,GAAG,CAAC,CAAC,CAAC;QAAQ,sCAAU,GAAG,CAAC,CAAC,CAAC;QACpH,kCAAM,GAAG,CAAC,CAAC;QAAQ,qCAAS,GAAG,CAAC,CAAC;QAAQ,iCAAK,GAAG,CAAC,CAAC;QAAQ,iCAAK,GAAG,CAAC,CAAC;QAmD7E,kCAAC;IAAD,CAAC,AAtDD,CAAiD,aAAa,GAsD7D;IAtDY,iCAA2B,8BAsDvC,CAAA;IAED;QAAoD,kDAAa;QAShE,wCAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;QACxF,CAAC;QAED,yDAAyD;QACzD,iDAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,KAAa;YACxD,UAAU,IAAI,8BAA8B,CAAC,OAAO,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,8BAA8B,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACxE,CAAC;QAED,8CAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,UAAU,GAAmB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEpF,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,UAAU,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,8BAA8B,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBAC7G,MAAM,CAAC;YACR,CAAC;YAED,gEAAgE;YAChE,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,8BAA8B,CAAC,OAAO,CAAC,CAAC;YACzF,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,8BAA8B,CAAC,UAAU,CAAC,CAAC;YACzE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,8BAA8B,CAAC,OAAO,GAAG,CAAC,EACpF,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,8BAA8B,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAElG,UAAU,CAAC,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,8BAA8B,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QAC/I,CAAC;QAxCM,sCAAO,GAAG,CAAC,CAAC;QACZ,wCAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,yCAAU,GAAG,CAAC,CAAC,CAAC;QACvC,oCAAK,GAAG,CAAC,CAAC;QAuClB,qCAAC;IAAD,CAAC,AA1CD,CAAoD,aAAa,GA0ChE;IA1CY,oCAA8B,iCA0C1C,CAAA;IAED;QAAmD,iDAA8B;QAChF,uCAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;QACnB,CAAC;QAED,6CAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,UAAU,GAAmB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEpF,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3E,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,6BAA6B,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;gBAC1G,MAAM,CAAC;YACR,CAAC;YAED,gEAAgE;YAChE,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;YACxF,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;YACvE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,6BAA6B,CAAC,OAAO,GAAG,CAAC,EACnF,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,6BAA6B,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAEjG,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAC1I,CAAC;QACF,oCAAC;IAAD,CAAC,AA1BD,CAAmD,8BAA8B,GA0BhF;IA1BY,mCAA6B,gCA0BzC,CAAA;IAED;QAA+C,6CAAa;QAS3D,mCAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACnF,CAAC;QAED,yDAAyD;QACzD,4CAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,SAAiB,EAAE,YAAoB;YAClF,UAAU,IAAI,yBAAyB,CAAC,OAAO,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;QAC9E,CAAC;QAED,yCAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B;YAE5D,IAAI,UAAU,GAAmB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEpF,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,UAAU,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,yBAAyB,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;gBAC3G,UAAU,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,yBAAyB,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;gBACpH,MAAM,CAAC;YACR,CAAC;YAED,gEAAgE;YAChE,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACpF,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YACnE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;YACzE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,yBAAyB,CAAC,OAAO,GAAG,CAAC,EAC/E,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAE7F,UAAU,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YACxI,UAAU,CAAC,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC;kBAC3I,KAAK,CAAC;QACV,CAAC;QA7CM,iCAAO,GAAG,CAAC,CAAC;QACZ,mCAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,qCAAW,GAAG,CAAC,CAAC,CAAC;QAAQ,wCAAc,GAAG,CAAC,CAAC,CAAC;QACpE,gCAAM,GAAG,CAAC,CAAC;QAAQ,mCAAS,GAAG,CAAC,CAAC;QA4CzC,gCAAC;IAAD,CAAC,AA/CD,CAA+C,aAAa,GA+C3D;IA/CY,+BAAyB,4BA+CrC,CAAA;AACF,CAAC,EAhxBM,KAAK,KAAL,KAAK,QAgxBX;AC/yBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAiSX;AAjSD,WAAO,KAAK,EAAC,CAAC;IACb;QAOC,wBAAa,IAA+B;YAA/B,oBAA+B,GAA/B,WAA+B;YAL5C,WAAM,GAAG,IAAI,KAAK,EAAc,CAAC;YACjC,WAAM,GAAG,IAAI,KAAK,EAAS,CAAC;YAC5B,cAAS,GAAG,IAAI,KAAK,EAA0B,CAAC;YAChD,cAAS,GAAG,CAAC,CAAC;YAGb,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,+BAAM,GAAN,UAAQ,KAAa;YACpB,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC;YACxB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;oBAAC,QAAQ,CAAC;gBAE9B,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACxB,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;oBAClB,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7C,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnB,IAAI,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;wBACvC,IAAI,CAAC,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,uCAAuC;wBACzE,OAAO,CAAC,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,qCAAqC;wBAChF,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBACzB,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,wCAAwC;wBAChE,OAAO,GAAG,IAAI,CAAC;oBAChB,CAAC;gBACF,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACjE,qFAAqF;oBACrF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACnB,QAAQ,CAAC;gBACV,CAAC;gBAED,OAAO,CAAC,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC1C,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;oBAC9B,IAAI,aAAa,GAAG,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,aAAa,CAAC;oBACvC,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC;gBAClC,CAAC;YACF,CAAC;QACF,CAAC;QAED,8BAAK,GAAL,UAAO,QAAkB;YACxB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAE1C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;oBAAC,QAAQ,CAAC;gBAE9B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBAElB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACxB,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAChC,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC9B,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACxB,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC;oBAAC,IAAI,GAAG,OAAO,CAAC;gBAE5C,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAChC,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;oBACpB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,CAAC,CAAC;oBACL,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACjC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;wBAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;oBACvF,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAEpF,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;oBAChE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;wBAChB,KAAK,GAAG,CAAC,CAAC;wBACV,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACzB,CAAC;oBACD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACtE,CAAC;gBAED,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;oBACpD,IAAI,OAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;wBAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAK,CAAC,CAAC;oBAC/D,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,EAAE,GAAG,EAAE;wBAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAK,CAAC,CAAC;gBACtC,CAAC;gBAED,wDAAwD;gBACxD,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC5F,IAAI,KAAK,GAAG,eAAS,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;oBAC5C,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;wBAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBAClE,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;wBACzD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxC,CAAC;gBAED,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YACjC,CAAC;QACF,CAAC;QAED,oCAAW,GAAX;YACC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACjD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,mCAAU,GAAV,UAAY,UAAkB;YAC7B,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtC,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC;YAE5B,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC/D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACpD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAE/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,gCAAO,GAAP,UAAS,KAAiB;YACzB,OAAO,KAAK,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACtB,KAAK,GAAG,IAAI,CAAC;YACd,CAAC;QACF,CAAC;QAED,sCAAa,GAAb,UAAe,KAAa;YAC3B,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,mCAAU,GAAV,UAAY,KAAa,EAAE,KAAiB;YAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxC,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;gBACrB,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAChC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAExB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;oBAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC1D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBACpD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAE9B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC3B,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;oBAClB,2DAA2D;oBAC3D,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;wBACrE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBAC1B,QAAQ,GAAG,OAAO,CAAC;oBACpB,CAAC;oBAAC,IAAI;wBACL,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAC3B,CAAC;YACF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YAE3B,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACpD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,kDAAkD;QAClD,qCAAY,GAAZ,UAAc,UAAkB,EAAE,aAAqB,EAAE,IAAa;YACrE,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YACpE,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,aAAa,CAAC,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,oEAAoE;QACpE,yCAAgB,GAAhB,UAAkB,UAAkB,EAAE,SAAoB,EAAE,IAAa;YACxE,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC7C,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAED,4DAA4D;QAC5D,qCAAY,GAAZ,UAAc,UAAkB,EAAE,aAAqB,EAAE,IAAa,EAAE,KAAa;YACpF,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YACpE,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,aAAa,CAAC,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;QAED;4HACoH;QACpH,yCAAgB,GAAhB,UAAkB,UAAkB,EAAE,SAAoB,EAAE,IAAa,EAAE,KAAa;YACvF,IAAI,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC;YAEnC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI;oBACvB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YACnB,CAAC;YAAC,IAAI;gBACL,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;YAEjC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;oBAChB,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACrE,IAAI;oBACH,KAAK,GAAG,CAAC,CAAC;YACZ,CAAC;YACD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAEpB,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAED,2BAA2B;QAC3B,mCAAU,GAAV,UAAY,UAAkB;YAC7B,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,4DAA4D;QAC5D,oCAAW,GAAX,UAAa,QAAgC;YAC5C,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,oFAAoF;QACpF,uCAAc,GAAd,UAAgB,QAAgC;YAC/C,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,uCAAc,GAAd;YACC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,CAAC;QACF,qBAAC;IAAD,CAAC,AAzOD,IAyOC;IAzOY,oBAAc,iBAyO1B,CAAA;IAED;QAAA;YAGC,SAAI,GAAG,KAAK,CAAC;YACb,UAAK,GAAG,CAAC,CAAC;YAAC,SAAI,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC,CAAC;YAAC,YAAO,GAAG,CAAC,CAAC;YAAC,cAAS,GAAG,CAAC,CAAC;YAC/D,YAAO,GAAG,CAAC,CAAC;YAAC,gBAAW,GAAG,CAAC,CAAC;YAE7B,QAAG,GAAG,CAAC,CAAC;QAgBT,CAAC;QAdA,0BAAK,GAAL;YACC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,gCAAgC;YACpD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACf,CAAC;QAED,4FAA4F;QAC5F,+BAAU,GAAV;YACC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;QAClC,CAAC;QACF,iBAAC;IAAD,CAAC,AAvBD,IAuBC;IAvBY,gBAAU,aAuBtB,CAAA;IAED;QAAA;QAYA,CAAC;QAXA,qCAAK,GAAL,UAAO,UAAkB,EAAE,KAAY;QACvC,CAAC;QAED,wCAAQ,GAAR,UAAU,UAAkB,EAAE,SAAiB;QAC/C,CAAC;QAED,qCAAK,GAAL,UAAO,UAAkB;QACzB,CAAC;QAED,mCAAG,GAAH,UAAK,UAAkB;QACvB,CAAC;QACF,4BAAC;IAAD,CAAC,AAZD,IAYC;IAZqB,2BAAqB,wBAY1C,CAAA;AAgBF,CAAC,EAjSM,KAAK,KAAL,KAAK,QAiSX;AChUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAgCX;AAhCD,WAAO,KAAK,EAAC,CAAC;IACb;QAKC,4BAAa,YAA0B;YAHvC,uBAAkB,GAAgB,EAAG,CAAC;YACtC,eAAU,GAAG,CAAC,CAAC;YAGd,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAClC,CAAC;QAED,mCAAM,GAAN,UAAQ,QAAgB,EAAE,MAAc,EAAE,QAAgB;YACzD,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACrD,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,QAAQ,CAAC,CAAC;YACtE,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,MAAM,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,uCAAU,GAAV,UAAY,IAAe,EAAE,EAAa,EAAE,QAAgB;YAC3D,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACtD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACzC,CAAC;QAED,mCAAM,GAAN,UAAQ,IAAe,EAAE,EAAa;YACrC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,KAAK,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACtD,CAAC;QACF,yBAAC;IAAD,CAAC,AA9BD,IA8BC;IA9BY,wBAAkB,qBA8B9B,CAAA;AACF,CAAC,EAhCM,KAAK,KAAL,KAAK,QAgCX;AC/DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAOX;AAPD,WAAO,KAAK,EAAC,CAAC;IACb,WAAY,SAAS;QACpB,6CAAM,CAAA;QACN,iDAAQ,CAAA;QACR,iDAAQ,CAAA;QACR,6CAAM,CAAA;IACP,CAAC,EALW,eAAS,KAAT,eAAS,QAKpB;IALD,IAAY,SAAS,GAAT,eAKX,CAAA;AACF,CAAC,EAPM,KAAK,KAAL,KAAK,QAOX;ACtCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAqQX;AArQD,WAAO,KAAK,EAAC,CAAC;IACb;QAcC,iCAAiC;QACjC,cAAa,IAAc,EAAE,QAAkB,EAAE,MAAY;YAX7D,aAAQ,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC7B,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAC3E,oBAAe,GAAG,CAAC,CAAC;YAEpB,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YACzB,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YACzB,eAAU,GAAG,CAAC,CAAC;YAAC,eAAU,GAAG,CAAC,CAAC;YAE/B,WAAM,GAAG,KAAK,CAAC;YAId,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;QAED,2GAA2G;QAC3G,qBAAM,GAAN;YACC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClH,CAAC;QAED,0FAA0F;QAC1F,mCAAoB,GAApB;YACC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClH,CAAC;QAED,4FAA4F;QAC5F,uCAAwB,GAAxB,UAA0B,CAAS,EAAE,CAAS,EAAE,QAAgB,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc;YAC/H,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;YAEhC,IAAI,SAAS,GAAG,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC;YACvC,IAAI,EAAE,GAAG,eAAS,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,eAAS,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;YACjG,IAAI,EAAE,GAAG,eAAS,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,eAAS,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;YAEjG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;gBACpB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC7B,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpB,CAAC,GAAG,CAAC,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,EAAE,CAAC;oBACT,EAAE,GAAG,CAAC,EAAE,CAAC;gBACV,CAAC;gBACD,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpB,CAAC,GAAG,CAAC,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,EAAE,CAAC;oBACT,EAAE,GAAG,CAAC,EAAE,CAAC;gBACV,CAAC;gBACD,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,UAAU,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM,CAAC;YACR,CAAC;YAED,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/D,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAC5B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBAC/B,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,GAAG,CAAC;wBACH,IAAI,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;wBACnG,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBAC/B,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBACzB,EAAE,GAAG,IAAI,CAAC;wBACV,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBAC3B,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBACzB,EAAE,GAAG,IAAI,CAAC;wBAEV,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;4BAAC,KAAK,CAAC;wBACxC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBACxB,CAAC,QAAQ,MAAM,IAAI,IAAI,EAAE;oBACzB,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC5B,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;oBACnC,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,GAAG,CAAC;wBACH,IAAI,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;wBACnG,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;wBAC7C,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;wBACnE,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;wBAC7B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;wBACvB,EAAE,GAAG,IAAI,CAAC;wBACV,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;wBACzB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;wBACvB,EAAE,GAAG,IAAI,CAAC;wBAEV,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;4BAAC,GAAG,GAAG,CAAC,GAAG,CAAC;wBACzB,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBAC3B,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBACzB,EAAE,GAAG,IAAI,CAAC;wBACV,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBAC3B,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBACzB,EAAE,GAAG,IAAI,CAAC;wBAEV,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;4BAAC,KAAK,CAAC;wBACrC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBACxB,CAAC,QAAQ,MAAM,IAAI,IAAI,EAAE;oBACzB,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC5B,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACP,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACb,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACzB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACzB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClB,CAAC;YACF,CAAC;QACF,CAAC;QAED,6BAAc,GAAd;YACC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,gCAAiB,GAAjB;YACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;QACtD,CAAC;QAED,gCAAiB,GAAjB;YACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;QACtD,CAAC;QAED,6BAAc,GAAd;YACC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACvE,CAAC;QAED,6BAAc,GAAd;YACC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACvE,CAAC;QAED,oCAAqB,GAArB;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACvF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;QACxE,CAAC;QAED,oCAAqB,GAArB;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACvF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;QACxE,CAAC;QAED,0BAAW,GAAX,UAAa,OAAe;YAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED;;;;iGAIyF;QACzF,mCAAoB,GAApB;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACrB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;gBAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;gBACpF,MAAM,CAAC;YACR,CAAC;YACD,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;YAC/D,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;YACzC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACnC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACnC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACnC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3C,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;gBAC1B,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;gBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;gBACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;YACvD,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,CAAC;QAED,2BAAY,GAAZ,UAAc,KAAc;YAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACzD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAC5C,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAED,2BAAY,GAAZ,UAAc,KAAc;YAC3B,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAC7B,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAChD,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QACF,WAAC;IAAD,CAAC,AAnQD,IAmQC;IAnQY,UAAI,OAmQhB,CAAA;AACF,CAAC,EArQM,KAAK,KAAL,KAAK,QAqQX;ACpSD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAiBX;AAjBD,WAAO,KAAK,EAAC,CAAC;IACb;QAQC,kBAAa,KAAa,EAAE,IAAY,EAAE,MAAgB;YAH1D,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAC3E,oBAAe,GAAG,IAAI,CAAC;YAAC,iBAAY,GAAG,IAAI,CAAC;YAG3C,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACtD,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,CAAC;QACF,eAAC;IAAD,CAAC,AAfD,IAeC;IAfY,cAAQ,WAepB,CAAA;AACF,CAAC,EAjBM,KAAK,KAAL,KAAK,QAiBX;AChDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAcX;AAdD,WAAO,KAAK,EAAC,CAAC;IACb;QAOC,eAAa,IAAY,EAAE,IAAe;YACzC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,YAAC;IAAD,CAAC,AAZD,IAYC;IAZY,WAAK,QAYjB,CAAA;AACF,CAAC,EAdM,KAAK,KAAL,KAAK,QAcX;AC7CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAWX;AAXD,WAAO,KAAK,EAAC,CAAC;IACb;QAMC,mBAAa,IAAY;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,gBAAC;IAAD,CAAC,AATD,IASC;IATY,eAAS,YASrB,CAAA;AACF,CAAC,EAXM,KAAK,KAAL,KAAK,QAWX;AC1CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CA+LX;AA/LD,WAAO,KAAK,EAAC,CAAC;IACb;QASC,sBAAa,IAAsB,EAAE,QAAkB;YALvD,QAAG,GAAG,CAAC,CAAC;YACR,kBAAa,GAAG,CAAC,CAAC;YAElB,UAAK,GAAG,CAAC,CAAC;YAGT,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAExC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,4BAAK,GAAL;YACC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;QAED,6BAAM,GAAN;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,KAAK,CAAC;oBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9D,KAAK,CAAC;gBACP,KAAK,CAAC;oBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5F,KAAK,CAAC;YACP,CAAC;QACF,CAAC;QAED;gCACwB;QACxB,6BAAM,GAAN,UAAQ,IAAU,EAAE,OAAe,EAAE,OAAe,EAAE,KAAa;YAClE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;YACrD,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACvF,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,eAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrF,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAAC,UAAU,IAAI,GAAG,CAAC;YACvC,EAAE,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;gBACpB,UAAU,IAAI,GAAG,CAAC;YACnB,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC;gBAAC,UAAU,IAAI,GAAG,CAAC;YAC9C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EACtH,IAAI,CAAC,MAAM,CAAC,CAAC;QACf,CAAC;QAED;;kEAE0D;QAC1D,6BAAM,GAAN,UAAQ,MAAY,EAAE,KAAW,EAAE,OAAe,EAAE,OAAe,EAAE,OAAe,EAAE,KAAa;YAClG,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,KAAK,CAAC,oBAAoB,EAAE,CAAC;gBAC7B,MAAM,CAAC;YACR,CAAC;YACD,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/F,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7B,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACb,GAAG,GAAG,CAAC,GAAG,CAAC;gBACX,GAAG,GAAG,GAAG,CAAC;gBACV,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,GAAG,GAAG,CAAC,CAAC;gBACR,EAAE,GAAG,CAAC,CAAC;YACR,CAAC;YACD,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACb,GAAG,GAAG,CAAC,GAAG,CAAC;gBACX,EAAE,GAAG,CAAC,EAAE,CAAC;YACV,CAAC;YACD,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACb,GAAG,GAAG,CAAC,GAAG,CAAC;gBACX,GAAG,GAAG,GAAG,CAAC;YACX,CAAC;YAAC,IAAI;gBACL,GAAG,GAAG,CAAC,CAAC;YACT,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC;YACtC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACR,EAAE,GAAG,CAAC,CAAC;gBACP,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;gBACb,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtC,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;YACvC,CAAC;YACD,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;YACvB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACT,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACT,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACT,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACT,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;YAC/E,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACnE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;YACpB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACnE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACpF,KAAK,EACL,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACP,EAAE,IAAI,GAAG,CAAC;gBACV,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACZ,GAAG,GAAG,CAAC,CAAC,CAAC;gBACV,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;oBAAC,GAAG,GAAG,CAAC,CAAC;gBAC1B,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;gBAC9B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;gBAClB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACb,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACb,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC5E,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBACrC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBACpC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACzB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrB,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACnB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAClB,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC9C,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACjB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;wBACpC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC3B,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;wBACzC,KAAK,CAAC,KAAK,CAAC;oBACb,CAAC;gBACF,CAAC;gBACD,IAAI,QAAQ,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;gBACjE,IAAI,QAAQ,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;gBAClD,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACX,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;oBACjB,QAAQ,GAAG,CAAC,CAAC;oBACb,OAAO,GAAG,CAAC,CAAC;oBACZ,IAAI,GAAG,CAAC,CAAC;gBACV,CAAC;gBACD,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACX,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;oBACjB,QAAQ,GAAG,eAAS,CAAC,EAAE,CAAC;oBACxB,OAAO,GAAG,CAAC,CAAC;oBACZ,IAAI,GAAG,CAAC,CAAC;gBACV,CAAC;gBACD,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC3C,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC7B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;oBACjB,QAAQ,GAAG,KAAK,CAAC;oBACjB,OAAO,GAAG,CAAC,CAAC;oBACZ,IAAI,GAAG,CAAC,CAAC;oBACT,IAAI,GAAG,CAAC,CAAC;gBACV,CAAC;gBACD,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;oBACjB,QAAQ,GAAG,KAAK,CAAC;oBACjB,OAAO,GAAG,CAAC,CAAC;oBACZ,IAAI,GAAG,CAAC,CAAC;oBACT,IAAI,GAAG,CAAC,CAAC;gBACV,CAAC;gBACD,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC3C,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC;gBACzB,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACP,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC3C,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC;gBACzB,CAAC;YACF,CAAC;YACD,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC/B,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,eAAS,CAAC,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC;YACnD,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;gBACZ,EAAE,IAAI,GAAG,CAAC;YACX,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;gBAAC,EAAE,IAAI,GAAG,CAAC;YAC9B,MAAM,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnG,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC1B,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,eAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC;YACzE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;gBACZ,EAAE,IAAI,GAAG,CAAC;YACX,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;gBAAC,EAAE,IAAI,GAAG,CAAC;YAC9B,KAAK,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvH,CAAC;QACF,mBAAC;IAAD,CAAC,AA7LD,IA6LC;IA7LY,kBAAY,eA6LxB,CAAA;AACF,CAAC,EA/LM,KAAK,KAAL,KAAK,QA+LX;AC9ND;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAYX;AAZD,WAAO,KAAK,EAAC,CAAC;IACb;QAOC,0BAAa,IAAY;YALzB,UAAK,GAAG,IAAI,KAAK,EAAY,CAAC;YAE9B,kBAAa,GAAG,CAAC,CAAC;YAClB,QAAG,GAAG,CAAC,CAAC;YAGP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,uBAAC;IAAD,CAAC,AAVD,IAUC;IAVY,sBAAgB,mBAU5B,CAAA;AACF,CAAC,EAZM,KAAK,KAAL,KAAK,QAYX;AC3CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAoWX;AApWD,WAAO,KAAK,EAAC,CAAC;IACb;QAYC,wBAAa,IAAwB,EAAE,QAAkB;YANzD,aAAQ,GAAG,CAAC,CAAC;YAAC,YAAO,GAAG,CAAC,CAAC;YAAC,cAAS,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAE3D,WAAM,GAAG,IAAI,KAAK,EAAU,CAAC;YAAC,cAAS,GAAG,IAAI,KAAK,EAAU,CAAC;YAC9D,UAAK,GAAG,IAAI,KAAK,EAAU,CAAC;YAAC,WAAM,GAAG,IAAI,KAAK,EAAU,CAAC;YAAC,YAAO,GAAG,IAAI,KAAK,EAAU,CAAC;YACzF,aAAQ,GAAG,IAAI,KAAK,EAAU,CAAC;YAG9B,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,CAAC;QAED,8BAAK,GAAL;YACC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;QAED,+BAAM,GAAN;YACC,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC7C,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,YAAY,oBAAc,CAAC,CAAC;gBAAC,MAAM,CAAC;YAEpD,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACjE,IAAI,SAAS,GAAG,YAAY,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YACzD,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC;YAElC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACnC,IAAI,aAAa,GAAG,WAAW,IAAI,iBAAW,CAAC,MAAM,CAAC;YACtD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,IAAI,QAAQ,GAAG,UAAU,IAAI,gBAAU,CAAC,OAAO,EAAE,KAAK,GAAG,UAAU,IAAI,gBAAU,CAAC,UAAU,CAAC;YAC7F,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;YACtF,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,IAAI,MAAM,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAkB,IAAI,CAAC;YACzF,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,EAAE,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC;gBAC5B,EAAE,CAAC,CAAC,KAAK,CAAC;oBAAC,OAAO,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;oBAC7C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAI,QAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,QAAM,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,QAAM,GAAG,IAAI,CAAC,CAAC,CAAC;oBACxE,QAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClC,EAAE,CAAC,CAAC,KAAK,CAAC;wBAAC,OAAO,CAAC,CAAC,CAAC,GAAG,QAAM,CAAC;oBAC/B,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAM,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC;gBACvE,CAAC;YACF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE;oBACnC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACtB,CAAC;YAED,IAAI,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAiB,UAAU,EAAE,WAAW,EAAE,QAAQ,EAC3F,IAAI,CAAC,YAAY,IAAI,kBAAY,CAAC,OAAO,EAAE,WAAW,IAAI,iBAAW,CAAC,OAAO,CAAC,CAAC;YAChF,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,IAAI,SAAS,GAAG,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC;YACnD,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACrF,IAAI,GAAG,GAAG,UAAU,IAAI,gBAAU,CAAC,KAAK,IAAI,cAAc,IAAI,CAAC,CAAC;YAChE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;gBAChE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;gBAChE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC3E,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBACX,IAAI,QAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxB,EAAE,CAAC,CAAC,QAAM,IAAI,CAAC,CAAC,CAAC,CAAC;wBACjB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,QAAM,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;wBACpE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;wBACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBACb,CAAC;gBACF,CAAC;gBACD,KAAK,GAAG,CAAC,CAAC;gBACV,KAAK,GAAG,CAAC,CAAC;gBACV,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;oBAC5E,EAAE,CAAC,CAAC,QAAQ,CAAC;wBACZ,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtB,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC3B,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtB,IAAI;wBACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACxB,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,GAAG,eAAS,CAAC,MAAM,CAAC;oBAC1D,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACT,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAClB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAClB,IAAI,QAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;wBAC9B,KAAK,IAAI,CAAC,QAAM,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;wBACzD,KAAK,IAAI,CAAC,QAAM,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;oBAC1D,CAAC;oBACD,EAAE,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,EAAE,CAAC;wBACpB,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAS,CAAC,EAAE,CAAC;wBAC1B,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,CAAC,IAAI,SAAS,CAAC;oBACf,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClB,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;QACF,CAAC;QAED,8CAAqB,GAArB,UAAuB,IAAoB,EAAE,WAAmB,EAAE,QAAiB,EAAE,eAAwB,EAC5G,cAAuB;YACvB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAkB,IAAI,CAAC;YACrH,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,cAAc,GAAG,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC;YAEhH,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBACzB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC3B,UAAU,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,YAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;gBACrC,EAAE,CAAC,CAAC,eAAe,CAAC;oBAAC,QAAQ,IAAI,YAAU,CAAC;gBAC5C,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;oBACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE;wBACnC,MAAM,CAAC,CAAC,CAAC,IAAI,YAAU,CAAC;gBAC1B,CAAC;gBACD,KAAK,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC1C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChE,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACtB,QAAQ,IAAI,KAAK,CAAC;oBAClB,IAAI,CAAC,GAAG,QAAQ,CAAC;oBAEjB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBACZ,CAAC,IAAI,YAAU,CAAC;wBAChB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;4BAAC,CAAC,IAAI,YAAU,CAAC;wBAC3B,KAAK,GAAG,CAAC,CAAC;oBACX,CAAC;oBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAClB,EAAE,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;4BACxC,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC;4BAClC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;wBACvD,CAAC;wBACD,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;wBAC5C,QAAQ,CAAC;oBACV,CAAC;oBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAU,CAAC,CAAC,CAAC;wBAC3B,EAAE,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;4BACvC,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC;4BACjC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;wBACxE,CAAC;wBACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,YAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;wBACxD,QAAQ,CAAC;oBACV,CAAC;oBAED,uCAAuC;oBACvC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;wBACjB,IAAI,QAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC5B,EAAE,CAAC,CAAC,CAAC,GAAG,QAAM,CAAC;4BAAC,QAAQ,CAAC;wBACzB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;4BACd,CAAC,IAAI,QAAM,CAAC;wBACb,IAAI,CAAC,CAAC;4BACL,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;4BAC9B,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAM,GAAG,IAAI,CAAC,CAAC;wBAClC,CAAC;wBACD,KAAK,CAAC;oBACP,CAAC;oBACD,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;wBACxB,SAAS,GAAG,KAAK,CAAC;wBAClB,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC;4BACnC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;4BACvE,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;wBACvD,CAAC;wBAAC,IAAI;4BACL,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;oBACpE,CAAC;oBACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAC9G,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC;YACZ,CAAC;YAED,kBAAkB;YAClB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACZ,cAAc,IAAI,CAAC,CAAC;gBACpB,KAAK,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACvD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;gBACvE,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,UAAU,EAAE,CAAC;gBACb,cAAc,IAAI,CAAC,CAAC;gBACpB,KAAK,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACvD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;YAED,iBAAiB;YACjB,IAAI,MAAM,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACzD,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACrF,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;YACnF,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACf,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClB,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClB,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;gBACrC,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;gBACrC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;gBAC9C,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;gBAC9C,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;gBACxB,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;gBACxB,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;gBACpD,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;gBACpD,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC/C,GAAG,IAAI,IAAI,CAAC;gBACZ,GAAG,IAAI,IAAI,CAAC;gBACZ,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC;gBACd,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC/C,GAAG,IAAI,IAAI,CAAC;gBACZ,GAAG,IAAI,IAAI,CAAC;gBACZ,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC/C,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC;gBACpB,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC;gBACpB,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC/C,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;gBACvB,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,EAAE,CAAC;YACT,CAAC;YACD,EAAE,CAAC,CAAC,eAAe,CAAC;gBAAC,QAAQ,IAAI,UAAU,CAAC;YAC5C,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE;oBACnC,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;YAC1B,CAAC;YAED,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7E,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,QAAQ,IAAI,KAAK,CAAC;gBAClB,IAAI,CAAC,GAAG,QAAQ,CAAC;gBAEjB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,UAAU,CAAC;oBAChB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAAC,CAAC,IAAI,UAAU,CAAC;oBAC3B,KAAK,GAAG,CAAC,CAAC;gBACX,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClB,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC5C,QAAQ,CAAC;gBACV,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,UAAU,EAAE,KAAK,EAAE,cAAc,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBACzE,QAAQ,CAAC;gBACV,CAAC;gBAED,uCAAuC;gBACvC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;oBACjB,IAAI,QAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3B,EAAE,CAAC,CAAC,CAAC,GAAG,QAAM,CAAC;wBAAC,QAAQ,CAAC;oBACzB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;wBACd,CAAC,IAAI,QAAM,CAAC;oBACb,IAAI,CAAC,CAAC;wBACL,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC7B,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAM,GAAG,IAAI,CAAC,CAAC;oBAClC,CAAC;oBACD,KAAK,CAAC;gBACP,CAAC;gBAED,yBAAyB;gBACzB,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;oBACxB,SAAS,GAAG,KAAK,CAAC;oBAClB,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;oBACnB,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;oBACf,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACnB,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACpB,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACpB,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACpB,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACpB,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACnB,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACnB,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;oBACnC,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;oBACnC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;oBAC5C,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;oBAC5C,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;oBACxB,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;oBACxB,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;oBACnD,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;oBACnD,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC/C,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;oBAC1B,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;wBAC3B,GAAG,IAAI,IAAI,CAAC;wBACZ,GAAG,IAAI,IAAI,CAAC;wBACZ,IAAI,IAAI,KAAK,CAAC;wBACd,IAAI,IAAI,KAAK,CAAC;wBACd,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;wBAChD,QAAQ,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC;oBAC5B,CAAC;oBACD,GAAG,IAAI,IAAI,CAAC;oBACZ,GAAG,IAAI,IAAI,CAAC;oBACZ,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;oBAChD,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;oBAC1B,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC;oBACpB,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC;oBACpB,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;oBAChD,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;oBAC1B,OAAO,GAAG,CAAC,CAAC;gBACb,CAAC;gBAED,4BAA4B;gBAC5B,CAAC,IAAI,WAAW,CAAC;gBACjB,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC;oBACnB,IAAI,QAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC/B,EAAE,CAAC,CAAC,CAAC,GAAG,QAAM,CAAC;wBAAC,QAAQ,CAAC;oBACzB,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;wBAChB,CAAC,IAAI,QAAM,CAAC;oBACb,IAAI,CAAC,CAAC;wBACL,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;wBACjC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAM,GAAG,IAAI,CAAC,CAAC;oBAC5C,CAAC;oBACD,KAAK,CAAC;gBACP,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/G,CAAC;YACD,MAAM,CAAC,GAAG,CAAC;QACZ,CAAC;QAED,0CAAiB,GAAjB,UAAmB,CAAS,EAAE,IAAmB,EAAE,CAAS,EAAE,GAAkB,EAAE,CAAS;YAC1F,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QAED,yCAAgB,GAAhB,UAAkB,CAAS,EAAE,IAAmB,EAAE,CAAS,EAAE,GAAkB,EAAE,CAAS;YACzF,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QAED,yCAAgB,GAAhB,UAAkB,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,EAAU,EAAE,EAAU,EAC9H,GAAkB,EAAE,CAAS,EAAE,QAAiB;YAChD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC,GAAG,MAAM,CAAC;YACvB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YAClE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC;YACzG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,EAAE,CAAC,CAAC,QAAQ,CAAC;gBAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QACzH,CAAC;QAhWM,mBAAI,GAAG,CAAC,CAAC,CAAC;QAAQ,qBAAM,GAAG,CAAC,CAAC,CAAC;QAAQ,oBAAK,GAAG,CAAC,CAAC,CAAC;QAiWzD,qBAAC;IAAD,CAAC,AAlWD,IAkWC;IAlWY,oBAAc,iBAkW1B,CAAA;AACF,CAAC,EApWM,KAAK,KAAL,KAAK,QAoWX;ACnYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CA2BX;AA3BD,WAAO,KAAK,EAAC,CAAC;IACb;QAUC,4BAAa,IAAY;YARzB,UAAK,GAAG,IAAI,KAAK,EAAY,CAAC;YAS7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,yBAAC;IAAD,CAAC,AAbD,IAaC;IAbY,wBAAkB,qBAa9B,CAAA;IAED,WAAY,YAAY;QACvB,iDAAK,CAAA;QAAE,qDAAO,CAAA;IACf,CAAC,EAFW,kBAAY,KAAZ,kBAAY,QAEvB;IAFD,IAAY,YAAY,GAAZ,kBAEX,CAAA;IAED,WAAY,WAAW;QACtB,iDAAM,CAAA;QAAE,+CAAK,CAAA;QAAE,mDAAO,CAAA;IACvB,CAAC,EAFW,iBAAW,KAAX,iBAAW,QAEtB;IAFD,IAAY,WAAW,GAAX,iBAEX,CAAA;IAED,WAAY,UAAU;QACrB,iDAAO,CAAA;QAAE,6CAAK,CAAA;QAAE,uDAAU,CAAA;IAC3B,CAAC,EAFW,gBAAU,KAAV,gBAAU,QAErB;IAFD,IAAY,UAAU,GAAV,gBAEX,CAAA;AACF,CAAC,EA3BM,KAAK,KAAL,KAAK,QA2BX;AC1DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAqbX;AArbD,WAAO,KAAK,EAAC,CAAC;IACb;QAeC,kBAAa,IAAkB;YAP/B,iBAAY,GAAG,IAAI,KAAK,EAAa,CAAC;YAGtC,SAAI,GAAG,CAAC,CAAC;YACT,UAAK,GAAG,KAAK,CAAC;YAAC,UAAK,GAAG,KAAK,CAAC;YAC7B,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAGZ,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,IAAI,SAAM,CAAC;gBACf,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC;oBAC3B,IAAI,GAAG,IAAI,UAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACvC,IAAI,CAAC,CAAC;oBACL,IAAI,QAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC/C,IAAI,GAAG,IAAI,UAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAM,CAAC,CAAC;oBACxC,QAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,EAAQ,CAAC;YACnC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,IAAI,GAAG,IAAI,UAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAED,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,EAAgB,CAAC;YAC/C,IAAI,CAAC,mBAAmB,GAAG,IAAI,KAAK,EAAgB,CAAC;YACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpD,IAAI,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,kBAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,KAAK,EAAuB,CAAC;YAC7D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3D,IAAI,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,yBAAmB,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;YACxF,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,EAAkB,CAAC;YACnD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,oBAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC;QAED,8BAAW,GAAX;YACC,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YAEvB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;YAEzB,0CAA0C;YAC1C,IAAI,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAC7C,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE;gBACjD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;YACnC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpD,IAAI,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9B,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE;oBACpC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YACD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;gBACrB,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;oBAChC,IAAI,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;oBAC9B,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;wBAAC,KAAK,CAAC;oBAC/B,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC/B,CAAC;gBACD,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAC5B,CAAC;YACD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAEtB,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;gBACnC,IAAI,QAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC,QAAM,CAAC,CAAC;gBAEtB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE7B,IAAI,CAAC,SAAS,CAAC,QAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;YACnD,CAAC;YAED,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxD,IAAI,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBAEpC,IAAI,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAChC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBACzB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;oBAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACzF,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;oBACvE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC/E,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;oBAC1D,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAE7E,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,EAAE,CAAC,CAAC,UAAU,YAAY,oBAAc,CAAC;oBAAC,IAAI,CAAC,gCAAgC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAEtG,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;gBACnC,IAAI,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC;gBACnC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEhC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE7B,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;YAChC,CAAC;YAED,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7D,IAAI,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAEzC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAEjC,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;gBACnC,IAAI,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC;gBACnC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEhC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE7B,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;YAChC,CAAC;YAED,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QAED,+CAA4B,GAA5B,UAA8B,IAAU,EAAE,SAAiB,EAAE,QAAc;YAC1E,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC9C,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;gBAAC,MAAM,CAAC;YACzB,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,gCAAgC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;QAED,mDAAgC,GAAhC,UAAkC,UAAsB,EAAE,QAAc;YACvE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,YAAY,oBAAc,CAAC,CAAC;gBAAC,MAAM,CAAC;YACpD,IAAI,SAAS,GAAoB,UAAW,CAAC,KAAK,CAAC;YACnD,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzB,IAAI,CAAC,CAAC;gBACL,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3C,IAAI,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjC,CAAC;YACF,CAAC;QACF,CAAC;QAED,2BAAQ,GAAR,UAAU,IAAU;YACnB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC;YACxB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,4BAAS,GAAT,UAAW,KAAkB;YAC5B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;oBAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACrB,CAAC;QACF,CAAC;QAED,yEAAyE;QACzE,uCAAoB,GAApB;YACC,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACjD,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,CAAC;QAED,yEAAyE;QACzE,iCAAc,GAAd;YACC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5B,CAAC;QAED,iEAAiE;QACjE,sCAAmB,GAAnB;YACC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YAE3B,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAClC,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;gBACzD,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YACtC,CAAC;YAED,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7D,IAAI,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;gBAC3B,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACtC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC5C,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACpC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrC,CAAC;YAED,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxD,IAAI,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;gBAC3B,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACpC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAClC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACtC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7C,CAAC;QACF,CAAC;QAED,sCAAmB,GAAnB;YACC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,WAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;QAC5B,CAAC;QAED,+BAA+B;QAC/B,8BAAW,GAAX;YACC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QAED,2BAA2B;QAC3B,2BAAQ,GAAR,UAAU,QAAgB;YACzB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;YAC7C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,4CAA4C;QAC5C,gCAAa,GAAb,UAAe,QAAgB;YAC9B,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QAED,2BAA2B;QAC3B,2BAAQ,GAAR,UAAU,QAAgB;YACzB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;YAC7C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,4CAA4C;QAC5C,gCAAa,GAAb,UAAe,QAAgB;YAC9B,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QAED;iCACyB;QACzB,gCAAa,GAAb,UAAe,QAAgB;YAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED;;;yCAGiC;QACjC,0BAAO,GAAP,UAAS,OAAa;YACrB,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;gBACrB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;oBACrB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,CAAC;oBACL,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACpB,IAAI,MAAI,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;wBACpC,EAAE,CAAC,CAAC,MAAI,IAAI,IAAI,CAAC,CAAC,CAAC;4BAClB,IAAI,UAAU,GAAe,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,MAAI,CAAC,CAAC;4BAC5D,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;gCAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;wBACxD,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACrB,CAAC;QAED,2BAA2B;QAC3B,sCAAmB,GAAnB,UAAqB,QAAgB,EAAE,cAAsB;YAC5D,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;QAC9E,CAAC;QAED,2BAA2B;QAC3B,gCAAa,GAAb,UAAe,SAAiB,EAAE,cAAsB;YACvD,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;gBACvB,IAAI,UAAU,GAAe,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBAChF,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC3C,CAAC;YACD,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACzG,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,yCAAyC;QACzC,gCAAa,GAAb,UAAe,QAAgB,EAAE,cAAsB;YACtD,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC;oBAChC,IAAI,UAAU,GAAe,IAAI,CAAC;oBAClC,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC;wBAC5B,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;wBACnD,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;4BACtB,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,cAAc,GAAG,cAAc,GAAG,QAAQ,CAAC,CAAC;oBACzF,CAAC;oBACD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC/B,MAAM,CAAC;gBACR,CAAC;YACF,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,2BAA2B;QAC3B,mCAAgB,GAAhB,UAAkB,cAAsB;YACvC,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACpC,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,YAAY,CAAC;YACnE,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,2BAA2B;QAC3B,0CAAuB,GAAvB,UAAyB,cAAsB;YAC9C,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7D,IAAI,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACzC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC/D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,2BAA2B;QAC3B,qCAAkB,GAAlB,UAAoB,cAAsB;YACzC,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxD,IAAI,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACpC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC/D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED;;2DAEmD;QACnD,4BAAS,GAAT,UAAW,MAAe,EAAE,IAAa;YACxC,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9D,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;YACvI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,QAAQ,GAAsB,IAAI,CAAC;gBACvC,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,EAAE,CAAC,CAAC,UAAU,YAAY,sBAAgB,CAAC;oBAC1C,QAAQ,GAAsB,UAAW,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5E,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,YAAY,oBAAc,CAAC;oBAC7C,QAAQ,GAAoB,UAAW,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACzE,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;oBACtB,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;wBACzD,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC3C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC1B,CAAC;gBACF,CAAC;YACF,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,yBAAM,GAAN,UAAQ,KAAa;YACpB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;QACpB,CAAC;QACF,eAAC;IAAD,CAAC,AAnbD,IAmbC;IAnbY,cAAQ,WAmbpB,CAAA;AACF,CAAC,EArbM,KAAK,KAAL,KAAK,QAqbX;ACpdD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAiKX;AAjKD,WAAO,KAAK,EAAC,CAAC;IACb;QAAA;YACC,SAAI,GAAG,CAAC,CAAC;YAAC,SAAI,GAAG,CAAC,CAAC;YAAC,SAAI,GAAG,CAAC,CAAC;YAAC,SAAI,GAAG,CAAC,CAAC;YACvC,kBAAa,GAAG,IAAI,KAAK,EAAyB,CAAC;YACnD,aAAQ,GAAG,IAAI,KAAK,EAAqB,CAAC;YAClC,iBAAY,GAAG,IAAI,UAAI,CAAoB;gBAClD,MAAM,CAAC,WAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QAwJJ,CAAC;QAtJA,+BAAM,GAAN,UAAQ,QAAkB,EAAE,UAAmB;YAC9C,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC3B,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;YAE7B,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAEpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,EAAE,CAAC,CAAC,UAAU,YAAY,2BAAqB,CAAC,CAAC,CAAC;oBACjD,IAAI,WAAW,GAAG,UAAmC,CAAC;oBACtD,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAEhC,IAAI,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;oBACnC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACvD,OAAO,GAAG,WAAK,CAAC,aAAa,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;oBAChE,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,WAAW,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjD,CAAC;YACF,CAAC;YAED,EAAE,CAAC,CAAC,UAAU,CAAC;gBAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QAED,oCAAW,GAAX;YACC,IAAI,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;YACvI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,QAAQ,GAAG,OAAO,CAAC;gBACvB,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;oBACxD,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACrB,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC1B,CAAC;YACF,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,wEAAwE;QACxE,0CAAiB,GAAjB,UAAmB,CAAS,EAAE,CAAS;YACtC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;QAC7E,CAAC;QAED,iFAAiF;QACjF,8CAAqB,GAArB,UAAuB,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;YACpE,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;gBACxH,MAAM,CAAC,KAAK,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YAC7B,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACtC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YACzB,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC7B,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACtC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACzB,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAED,sHAAsH;QACtH,+CAAsB,GAAtB,UAAwB,MAAsB;YAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACjH,CAAC;QAED;0GACkG;QAClG,sCAAa,GAAb,UAAe,CAAS,EAAE,CAAS;YAClC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC9C,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,sDAAsD;QACtD,6CAAoB,GAApB,UAAsB,OAA0B,EAAE,CAAS,EAAE,CAAS;YACrE,IAAI,QAAQ,GAAG,OAAO,CAAC;YACvB,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAExB,IAAI,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;YACvB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,OAAO,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBACpC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChE,IAAI,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC3B,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;wBAAC,MAAM,GAAG,CAAC,MAAM,CAAC;gBACzG,CAAC;gBACD,SAAS,GAAG,EAAE,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,MAAM,CAAC;QACf,CAAC;QAED;;mBAEW;QACX,0CAAiB,GAAjB,UAAmB,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;YAChE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC9C,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,yEAAyE;QACzE,iDAAwB,GAAxB,UAA0B,OAA0B,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;YACnG,IAAI,QAAQ,GAAG,OAAO,CAAC;YACvB,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAExB,IAAI,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;YAC1C,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAC7B,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACjD,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC7C,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC7B,IAAI,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC1C,IAAI,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;gBACnD,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;gBACjD,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;oBACnD,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC;gBACnH,CAAC;gBACD,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,EAAE,CAAC;YACT,CAAC;YACD,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAED,mEAAmE;QACnE,mCAAU,GAAV,UAAY,WAAkC;YAC7C,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACxE,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACF,qBAAC;IAAD,CAAC,AA9JD,IA8JC;IA9JY,oBAAc,iBA8J1B,CAAA;AAEF,CAAC,EAjKM,KAAK,KAAL,KAAK,QAiKX;AChMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAuHX;AAvHD,WAAO,KAAK,EAAC,CAAC;IACb;QAAA;YAEC,UAAK,GAAG,IAAI,KAAK,EAAY,CAAC,CAAC,yBAAyB;YACxD,UAAK,GAAG,IAAI,KAAK,EAAY,CAAC,CAAC,yBAAyB;YACxD,UAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAE1B,WAAM,GAAG,IAAI,KAAK,EAAa,CAAC;YAChC,eAAU,GAAG,IAAI,KAAK,EAAa,CAAC;YACpC,kBAAa,GAAG,IAAI,KAAK,EAAoB,CAAC;YAC9C,yBAAoB,GAAG,IAAI,KAAK,EAA2B,CAAC;YAC5D,oBAAe,GAAG,IAAI,KAAK,EAAsB,CAAC;QA2GnD,CAAC;QAvGA,+BAAQ,GAAR,UAAU,QAAgB;YACzB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;YACxC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,oCAAa,GAAb,UAAe,QAAgB;YAC9B,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QAED,+BAAQ,GAAR,UAAU,QAAgB;YACzB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;YACxC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,oCAAa,GAAb,UAAe,QAAgB;YAC9B,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QAED,+BAAQ,GAAR,UAAU,QAAgB;YACzB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;YACxC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,gCAAS,GAAT,UAAW,aAAqB;YAC/B,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC5E,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,IAAI,OAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,EAAE,CAAC,CAAC,OAAK,CAAC,IAAI,IAAI,aAAa,CAAC;oBAAC,MAAM,CAAC,OAAK,CAAC;YAC/C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,oCAAa,GAAb,UAAe,aAAqB;YACnC,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC5E,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,IAAI,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC9B,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,aAAa,CAAC;oBAAC,MAAM,CAAC,SAAS,CAAC;YACvD,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,uCAAgB,GAAhB,UAAkB,cAAsB;YACvC,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAClC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC1D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,8CAAuB,GAAvB,UAAyB,cAAsB;YAC9C,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7D,IAAI,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACzC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC1D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,yCAAkB,GAAlB,UAAoB,cAAsB;YACzC,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxD,IAAI,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACpC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC1D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,8CAAuB,GAAvB,UAAyB,kBAA0B;YAClD,EAAE,CAAC,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACtF,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACrD,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,kBAAkB,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QACF,mBAAC;IAAD,CAAC,AArHD,IAqHC;IArHY,kBAAY,eAqHxB,CAAA;AACF,CAAC,EAvHM,KAAK,KAAL,KAAK,QAuHX;ACtJD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CA2qBX;AA3qBD,WAAO,KAAK,EAAC,CAAC;IACb;QAKC,sBAAa,gBAAkC;YAH/C,UAAK,GAAG,CAAC,CAAC;YACF,iBAAY,GAAG,IAAI,KAAK,EAAc,CAAC;YAG9C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC1C,CAAC;QAED,uCAAgB,GAAhB,UAAkB,IAAY;YAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,IAAI,YAAY,GAAG,IAAI,kBAAY,EAAE,CAAC;YACtC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE5B,WAAW;YACX,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChC,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC;gBACzB,YAAY,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;gBACrC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC;gBACzC,YAAY,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBACvC,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBACzC,YAAY,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;YAC9C,CAAC;YAED,QAAQ;YACR,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAE5B,IAAI,QAAM,GAAa,IAAI,CAAC;oBAC5B,IAAI,UAAU,GAAW,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChE,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;wBACxB,QAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBAC3C,EAAE,CAAC,CAAC,QAAM,IAAI,IAAI,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,UAAU,CAAC,CAAC;oBAC7E,CAAC;oBACD,IAAI,IAAI,GAAG,IAAI,cAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,QAAM,CAAC,CAAC;oBACzE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC1D,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAChD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBACtD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;oBACvE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;oBAEjE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;YAED,SAAS;YACT,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,QAAQ,GAAW,OAAO,CAAC,IAAI,CAAC;oBACpC,IAAI,QAAQ,GAAW,OAAO,CAAC,IAAI,CAAC;oBACpC,IAAI,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC/C,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,QAAQ,CAAC,CAAC;oBAC1E,IAAI,IAAI,GAAG,IAAI,cAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAEvE,IAAI,KAAK,GAAW,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;oBACzD,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;wBAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEnD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;oBACjE,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC7F,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;YAED,iBAAiB;YACjB,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACb,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,IAAI,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC/B,IAAI,IAAI,GAAG,IAAI,sBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAEpD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrD,IAAI,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBAC3C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,QAAQ,CAAC,CAAC;wBACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAED,IAAI,UAAU,GAAW,aAAa,CAAC,MAAM,CAAC;oBAC9C,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAChD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,UAAU,CAAC,CAAC;oBAEpF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjF,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;oBAErD,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC;YACF,CAAC;YAED,yBAAyB;YACzB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChD,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,IAAI,GAAG,IAAI,6BAAuB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAE3D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrD,IAAI,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBAC3C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,QAAQ,CAAC,CAAC;wBACtF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAED,IAAI,UAAU,GAAW,aAAa,CAAC,MAAM,CAAC;oBAC9C,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAChD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,UAAU,CAAC,CAAC;oBAEtG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAE9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;oBACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBAE5D,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,CAAC;YACF,CAAC;YAED,oBAAoB;YACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3C,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,IAAI,GAAG,IAAI,wBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAEtD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrD,IAAI,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBAC3C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,QAAQ,CAAC,CAAC;wBACtF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAED,IAAI,UAAU,GAAW,aAAa,CAAC,MAAM,CAAC;oBAC9C,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAChD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,UAAU,CAAC,CAAC;oBAEtF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;oBACjH,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC7G,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC3G,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBAClE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBAC5D,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,kBAAY,CAAC,KAAK,CAAC;wBAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;oBACpE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC1D,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,iBAAW,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,iBAAW,CAAC,KAAK,CAAC;wBAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;oBAC3G,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;oBAEpE,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,CAAC;YACF,CAAC;YAED,SAAS;YACT,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChB,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBACjC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;oBAClC,IAAI,IAAI,GAAG,IAAI,UAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC;wBAC9B,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACrD,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;wBACpE,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAChC,GAAG,CAAC,CAAC,IAAI,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;4BAC/B,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;4BACrF,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;gCAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;wBAC9E,CAAC;oBACF,CAAC;oBACD,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC9B,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;wBAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC7D,CAAC;YACF,CAAC;YAED,iBAAiB;YACjB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1D,IAAI,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,GAAG,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACvG,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;oBAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,QAAM,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBACzE,EAAE,CAAC,CAAC,QAAM,IAAI,IAAI,CAAC;oBAAC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACnF,UAAU,CAAC,IAAI,CAAC,aAAa,CAAkB,QAAM,CAAC,CAAC;gBACvD,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YAE7B,UAAU;YACV,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjB,GAAG,CAAC,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnC,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACtC,IAAI,IAAI,GAAG,IAAI,eAAS,CAAC,SAAS,CAAC,CAAC;oBACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;oBACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC3D,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACF,CAAC;YAED,cAAc;YACd,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrB,GAAG,CAAC,CAAC,IAAI,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC3C,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;oBAClD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;gBAC/D,CAAC;YACF,CAAC;YAED,MAAM,CAAC,YAAY,CAAC;QACrB,CAAC;QAED,qCAAc,GAAd,UAAgB,GAAQ,EAAE,IAAU,EAAE,SAAiB,EAAE,IAAY;YACpE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAExC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEhD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACd,KAAK,QAAQ,EAAE,CAAC;oBACf,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC5C,IAAI,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBACzE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC;oBAChC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;oBACnB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC9C,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC9C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAChD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAChD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBACpD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;oBACjC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;oBAEnC,IAAI,KAAK,GAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;oBACtD,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;wBAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAErD,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,CAAC,MAAM,CAAC;gBACf,CAAC;gBACD,KAAK,aAAa,EAAE,CAAC;oBACpB,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACrE,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC;oBAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;oBAClD,MAAM,CAAC,GAAG,CAAC;gBACZ,CAAC;gBACD,KAAK,MAAM,CAAC;gBACZ,KAAK,YAAY,EAAE,CAAC;oBACnB,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBACrE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC;oBAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBAEjB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC9C,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;wBAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEnD,IAAI,QAAM,GAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACxD,EAAE,CAAC,CAAC,QAAM,IAAI,IAAI,CAAC,CAAC,CAAC;wBACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;wBACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,EAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,QAAM,CAAC,CAAC,CAAC;wBAC3G,MAAM,CAAC,IAAI,CAAC;oBACb,CAAC;oBAED,IAAI,GAAG,GAAkB,GAAG,CAAC,GAAG,CAAC;oBACjC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;oBAC/B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;oBACrB,IAAI,CAAC,SAAS,EAAE,CAAC;oBAEjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;oBACpD,MAAM,CAAC,IAAI,CAAC;gBACb,CAAC;gBACD,KAAK,MAAM,EAAE,CAAC;oBACb,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC/D,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC;oBAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;oBAE/D,IAAI,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;oBAClC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;oBAE/C,IAAI,OAAO,GAAkB,WAAK,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;wBAC1C,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;oBACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,mCAAY,GAAZ,UAAc,GAAQ,EAAE,UAA4B,EAAE,cAAsB;YAC3E,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,UAAU,CAAC,mBAAmB,GAAG,cAAc,CAAC;YAChD,IAAI,QAAQ,GAAkB,GAAG,CAAC,QAAQ,CAAC;YAC3C,EAAE,CAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBAC9C,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;gBACvB,CAAC;gBACD,UAAU,CAAC,QAAQ,GAAG,WAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACnD,MAAM,CAAC;YACR,CAAC;YACD,IAAI,OAAO,GAAG,IAAI,KAAK,EAAU,CAAC;YAClC,IAAI,KAAK,GAAG,IAAI,KAAK,EAAU,CAAC;YAChC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;gBAC7C,IAAI,SAAS,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;YACD,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,UAAU,CAAC,QAAQ,GAAG,WAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,oCAAa,GAAb,UAAe,GAAQ,EAAE,IAAY,EAAE,YAA0B;YAChE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,IAAI,SAAS,GAAG,IAAI,KAAK,EAAY,CAAC;YACtC,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,kBAAkB;YAClB,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChC,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAClC,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;oBACpE,GAAG,CAAC,CAAC,IAAI,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC;wBAClC,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;wBACxC,EAAE,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC;4BAC7B,IAAI,QAAQ,GAAG,IAAI,mBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BACrD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;4BAE/B,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,IAAI,KAAK,GAAG,IAAI,WAAK,EAAE,CAAC;gCACxB,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gCACpC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gCACjF,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,mBAAa,CAAC,OAAO,CAAC,CAAC,CAAC;wBAExG,CAAC;wBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC;4BACxC,IAAI,QAAQ,GAAG,IAAI,wBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BAC1D,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;4BAE/B,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;4BAC/D,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC9E,CAAC;wBAAC,IAAI;4BACL,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,YAAY,GAAG,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;oBAC/F,CAAC;gBACF,CAAC;YACF,CAAC;YAED,kBAAkB;YAClB,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChC,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAClC,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;oBACpE,GAAG,CAAC,CAAC,IAAI,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC;wBAClC,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;wBACxC,EAAE,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC;4BAC/B,IAAI,QAAQ,GAAG,IAAI,oBAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BACtD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;4BAE/B,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gCAC7D,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,oBAAc,CAAC,OAAO,CAAC,CAAC,CAAC;wBAEzG,CAAC;wBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,KAAK,WAAW,IAAI,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;4BACjG,IAAI,QAAQ,GAAsB,IAAI,CAAC;4BACvC,IAAI,aAAa,GAAG,CAAC,CAAC;4BACtB,EAAE,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC;gCAC5B,QAAQ,GAAG,IAAI,mBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BAClD,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC;gCACjC,QAAQ,GAAG,IAAI,mBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BAClD,IAAI,CAAC,CAAC;gCACL,QAAQ,GAAG,IAAI,uBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gCACrD,aAAa,GAAG,KAAK,CAAC;4BACvB,CAAC;4BACD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;4BAE/B,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gCAC7E,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC;gCACnF,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,uBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;wBAE5G,CAAC;wBAAC,IAAI;4BACL,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,YAAY,GAAG,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;oBAC/F,CAAC;gBACF,CAAC;YACF,CAAC;YAED,2BAA2B;YAC3B,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACZ,GAAG,CAAC,CAAC,IAAI,cAAc,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnC,IAAI,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;oBAC3C,IAAI,UAAU,GAAG,YAAY,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;oBAC/D,IAAI,QAAQ,GAAG,IAAI,0BAAoB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAC9D,QAAQ,CAAC,iBAAiB,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC5E,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,IAAI,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wBAChC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAC7E,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;wBAC/C,UAAU,EAAE,CAAC;oBACd,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,0BAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/G,CAAC;YACF,CAAC;YAED,kCAAkC;YAClC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gBACnB,GAAG,CAAC,CAAC,IAAI,cAAc,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC1C,IAAI,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBAClD,IAAI,UAAU,GAAG,YAAY,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;oBACtE,IAAI,QAAQ,GAAG,IAAI,iCAA2B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBACrE,QAAQ,CAAC,wBAAwB,GAAG,YAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC1F,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,IAAI,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wBAChC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,EACnF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC7H,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;wBAC/C,UAAU,EAAE,CAAC;oBACd,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAC3B,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,iCAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzF,CAAC;YACF,CAAC;YAED,6BAA6B;YAC7B,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,CAAC,IAAI,cAAc,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtC,IAAI,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC9C,IAAI,KAAK,GAAG,YAAY,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;oBACjE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,cAAc,CAAC,CAAC;oBACjF,IAAI,IAAI,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;oBAC/C,GAAG,CAAC,CAAC,IAAI,YAAY,IAAI,aAAa,CAAC,CAAC,CAAC;wBACxC,IAAI,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;wBAC9C,EAAE,CAAC,CAAC,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;4BAC/D,IAAI,QAAQ,GAAmC,IAAI,CAAC;4BACpD,IAAI,aAAa,GAAG,CAAC,CAAC;4BACtB,EAAE,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;gCAChC,QAAQ,GAAG,IAAI,mCAA6B,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gCACjE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,iBAAW,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,iBAAW,CAAC,KAAK,CAAC;oCAAC,aAAa,GAAG,KAAK,CAAC;4BAC5G,CAAC;4BAAC,IAAI,CAAC,CAAC;gCACP,QAAQ,GAAG,IAAI,oCAA8B,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gCAClE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,kBAAY,CAAC,KAAK,CAAC;oCAAC,aAAa,GAAG,KAAK,CAAC;4BACpE,CAAC;4BACD,QAAQ,CAAC,mBAAmB,GAAG,KAAK,CAAC;4BACrC,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gCACvG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAC3B,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,oCAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC5F,CAAC;wBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC;4BACnC,IAAI,QAAQ,GAAG,IAAI,+BAAyB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BACjE,QAAQ,CAAC,mBAAmB,GAAG,KAAK,CAAC;4BACrC,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,EACnF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gCAC7C,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAC3B,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,+BAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;wBACvF,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,oBAAoB;YACpB,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChB,GAAG,CAAC,CAAC,IAAI,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnC,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACvC,IAAI,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC7C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,UAAU,CAAC,CAAC;oBACnE,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC;wBAChC,IAAI,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;wBAClC,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACrD,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;wBACxE,GAAG,CAAC,CAAC,IAAI,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC;4BAClC,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;4BACxC,IAAI,UAAU,GAAqB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;4BAC/E,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;gCAAC,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;4BAC5F,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC;4BACxC,IAAI,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;4BACnC,IAAI,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;4BAExE,IAAI,QAAQ,GAAG,IAAI,oBAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BACtD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;4BAC/B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;4BAEjC,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,IAAI,MAAM,SAAmB,CAAC;gCAC9B,IAAI,aAAa,GAAkB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;gCAC7E,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;oCACzB,MAAM,GAAG,QAAQ,GAAG,WAAK,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;gCAClE,IAAI,CAAC,CAAC;oCACL,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oCAC3C,IAAI,KAAK,GAAW,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oCACzD,WAAK,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;oCACvE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;wCAChB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;4CAC3D,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;oCACrB,CAAC;oCACD,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;wCACf,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE;4CACpC,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;oCAC3B,CAAC;gCACF,CAAC;gCAED,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gCACrD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC9E,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,uBAAuB;YACvB,IAAI,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC;YAClC,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;gBAAC,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC;YACzD,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC3B,IAAI,QAAQ,GAAG,IAAI,uBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,IAAI,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oBACpC,IAAI,SAAS,GAAkB,IAAI,CAAC;oBACpC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC3D,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;wBACrB,SAAS,GAAG,WAAK,CAAC,QAAQ,CAAS,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;wBAClD,IAAI,SAAS,GAAG,WAAK,CAAC,QAAQ,CAAS,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBACtE,IAAI,aAAa,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC;wBAC1C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACzC,IAAI,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;4BAC3B,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;4BAC3D,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;gCAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;4BAC1E,2BAA2B;4BAC3B,OAAO,aAAa,IAAI,SAAS;gCAChC,SAAS,CAAC,cAAc,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;4BAC/C,qBAAqB;4BACrB,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE,CAAC;wBAC/D,CAAC;wBACD,qCAAqC;wBACrC,OAAO,aAAa,GAAG,SAAS;4BAC/B,SAAS,CAAC,cAAc,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;wBAC/C,2BAA2B;wBAC3B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;4BACtC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gCAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;oBACrE,CAAC;oBACD,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC/D,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9E,CAAC;YAED,kBAAkB;YAClB,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChB,IAAI,QAAQ,GAAG,IAAI,mBAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpD,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACtD,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC5E,IAAI,OAAK,GAAG,IAAI,WAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAChD,OAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACpE,OAAK,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC1E,OAAK,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;oBAC7E,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAK,CAAC,CAAC;gBACxC,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9E,CAAC;YAED,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACnE,CAAC;YAED,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,eAAS,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,gCAAS,GAAT,UAAW,GAAQ,EAAE,QAAuB,EAAE,UAAkB;YAC/D,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAC,MAAM,CAAC;YACvB,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC;gBAC3B,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACjC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACzE,IAAI,KAAK,GAAkB,GAAG,CAAC,KAAK,CAAC;gBACrC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;QACF,CAAC;QAED,+BAAQ,GAAR,UAAU,GAAQ,EAAE,IAAY,EAAE,YAAiB;YAClD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;QAC3D,CAAC;QAEM,gCAAmB,GAA1B,UAA4B,GAAW;YACtC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACxB,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;gBAAC,MAAM,CAAC,eAAS,CAAC,MAAM,CAAC;YAC7C,EAAE,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC;gBAAC,MAAM,CAAC,eAAS,CAAC,QAAQ,CAAC;YACjD,EAAE,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC;gBAAC,MAAM,CAAC,eAAS,CAAC,QAAQ,CAAC;YACjD,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;gBAAC,MAAM,CAAC,eAAS,CAAC,MAAM,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,yBAAuB,GAAK,CAAC,CAAC;QAC/C,CAAC;QAEM,mCAAsB,GAA7B,UAA+B,GAAW;YACzC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACxB,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC;gBAAC,MAAM,CAAC,kBAAY,CAAC,KAAK,CAAC;YAC9C,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC;gBAAC,MAAM,CAAC,kBAAY,CAAC,OAAO,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,4BAA0B,GAAK,CAAC,CAAC;QAClD,CAAC;QAEM,kCAAqB,GAA5B,UAA8B,GAAW;YACxC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACxB,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;gBAAC,MAAM,CAAC,iBAAW,CAAC,MAAM,CAAC;YAC/C,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC;gBAAC,MAAM,CAAC,iBAAW,CAAC,KAAK,CAAC;YAC7C,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC;gBAAC,MAAM,CAAC,iBAAW,CAAC,OAAO,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,4BAA0B,GAAK,CAAC,CAAC;QAClD,CAAC;QAEM,iCAAoB,GAA3B,UAA6B,GAAW;YACvC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACxB,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC;gBAAC,MAAM,CAAC,gBAAU,CAAC,OAAO,CAAC;YAChD,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC;gBAAC,MAAM,CAAC,gBAAU,CAAC,KAAK,CAAC;YAC5C,EAAE,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC;gBAAC,MAAM,CAAC,gBAAU,CAAC,UAAU,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,0BAAwB,GAAK,CAAC,CAAC;QAChD,CAAC;QACF,mBAAC;IAAD,CAAC,AA5pBD,IA4pBC;IA5pBY,kBAAY,eA4pBxB,CAAA;IAED;QAKC,oBAAa,IAAoB,EAAE,IAAY,EAAE,SAAiB,EAAE,MAAc;YACjF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,CAAC;QACF,iBAAC;IAAD,CAAC,AAXD,IAWC;AACF,CAAC,EA3qBM,KAAK,KAAL,KAAK,QA2qBX;AC1sBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CA6CX;AA7CD,WAAO,KAAK,EAAC,CAAC;IACb;QAIC,cAAa,IAAY;YAFzB,gBAAW,GAAG,IAAI,KAAK,EAAmB,CAAC;YAG1C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,4BAAa,GAAb,UAAe,SAAiB,EAAE,IAAY,EAAE,UAAsB;YACrE,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACtE,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACnC,EAAE,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC;gBAAC,WAAW,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YACxE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAG,CAAC;YAC1D,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QAC3C,CAAC;QAED,2BAA2B;QAC3B,4BAAa,GAAb,UAAe,SAAiB,EAAE,IAAY;YAC7C,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC7C,CAAC;QAED,iHAAiH;QACjH,wBAAS,GAAT,UAAW,QAAkB,EAAE,OAAa;YAC3C,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC1C,EAAE,CAAC,CAAC,cAAc,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9D,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBAChD,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;wBAC5B,IAAI,cAAc,GAAc,UAAU,CAAC,GAAG,CAAC,CAAC;wBAChD,EAAE,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC;4BACtC,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;4BACrD,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;gCAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;4BACvD,KAAK,CAAC;wBACP,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,SAAS,EAAE,CAAC;YACb,CAAC;QACF,CAAC;QACF,WAAC;IAAD,CAAC,AA3CD,IA2CC;IA3CY,UAAI,OA2ChB,CAAA;AACF,CAAC,EA7CM,KAAK,KAAL,KAAK,QA6CX;AC5ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAmDX;AAnDD,WAAO,KAAK,EAAC,CAAC;IACb;QAQC,cAAa,IAAc,EAAE,IAAU;YAFvC,uBAAkB,GAAG,IAAI,KAAK,EAAU,CAAC;YAGxC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,WAAK,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;QAED,2BAA2B;QAC3B,4BAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACxB,CAAC;QAED;4CACoC;QACpC,4BAAa,GAAb,UAAe,UAAsB;YACpC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC;gBAAC,MAAM,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9C,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,gCAAiB,GAAjB,UAAmB,IAAY;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACtD,CAAC;QAED,qDAAqD;QACrD,gCAAiB,GAAjB;YACC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QACtD,CAAC;QAED,6BAAc,GAAd;YACC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC;gBACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,CAAC;gBACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACjG,CAAC;QACF,CAAC;QACF,WAAC;IAAD,CAAC,AAjDD,IAiDC;IAjDY,UAAI,OAiDhB,CAAA;AACF,CAAC,EAnDM,KAAK,KAAL,KAAK,QAmDX;AClFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAkBX;AAlBD,WAAO,KAAK,EAAC,CAAC;IACb;QAQC,kBAAa,KAAa,EAAE,IAAY,EAAE,QAAkB;YAJ5D,UAAK,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAK7B,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACtD,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,CAAC;QACF,eAAC;IAAD,CAAC,AAhBD,IAgBC;IAhBY,cAAQ,WAgBpB,CAAA;AACF,CAAC,EAlBM,KAAK,KAAL,KAAK,QAkBX;ACjDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAqFX;AArFD,WAAO,KAAK,EAAC,CAAC;IACb;QAOC,6BAAa,IAA6B,EAAE,QAAkB;YAH9D,cAAS,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAC5D,SAAI,GAAG,IAAI,aAAO,EAAE,CAAC;YAGpB,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,mCAAK,GAAL;YACC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;QAED,oCAAM,GAAN;YACC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrH,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;YAC/D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEpB,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;oBACnD,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,eAAS,CAAC,MAAM,CAAC;oBAC5F,EAAE,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,EAAE,CAAC;wBACpB,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAS,CAAC,EAAE,CAAC;wBAC1B,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,CAAC,IAAI,SAAS,CAAC;oBACf,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC5B,CAAC;gBAED,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;oBACrB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;oBACrD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;gBACtD,CAAC;gBAED,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClB,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACrF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBACZ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClC,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACjF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBACb,CAAC;gBAED,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;oBAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpF,EAAE,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,EAAE,CAAC;wBACpB,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAS,CAAC,EAAE,CAAC;wBAC1B,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,eAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;oBACpE,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;YACF,CAAC;QACF,CAAC;QACF,0BAAC;IAAD,CAAC,AAnFD,IAmFC;IAnFY,yBAAmB,sBAmF/B,CAAA;AACF,CAAC,EArFM,KAAK,KAAL,KAAK,QAqFX;ACpHD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAaX;AAbD,WAAO,KAAK,EAAC,CAAC;IACb;QAOC,iCAAa,IAAY;YALzB,UAAK,GAAG,IAAI,KAAK,EAAY,CAAC;YAE9B,cAAS,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAC5D,mBAAc,GAAG,CAAC,CAAC;YAAC,YAAO,GAAG,CAAC,CAAC;YAAC,YAAO,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAGlG,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,8BAAC;IAAD,CAAC,AAXD,IAWC;IAXY,6BAAuB,0BAWnC,CAAA;AACF,CAAC,EAbM,KAAK,KAAL,KAAK,QAaX;AC5CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AC7B/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAsKX;AAtKD,WAAO,KAAK,EAAC,CAAC;IASb;QACC,eAAoB,CAAa,EAAS,CAAa,EAAS,CAAa,EAAS,CAAa;YAAtF,iBAAoB,GAApB,KAAoB;YAAE,iBAAoB,GAApB,KAAoB;YAAE,iBAAoB,GAApB,KAAoB;YAAE,iBAAoB,GAApB,KAAoB;YAA/E,MAAC,GAAD,CAAC,CAAY;YAAS,MAAC,GAAD,CAAC,CAAY;YAAS,MAAC,GAAD,CAAC,CAAY;YAAS,MAAC,GAAD,CAAC,CAAY;QACnG,CAAC;QAED,mBAAG,GAAH,UAAK,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;YAC9C,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QAED,4BAAY,GAAZ,UAAc,CAAQ;YACrB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QAED,6BAAa,GAAb,UAAe,GAAW;YACzB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACjD,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YAChD,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YAChD,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YAChD,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QAC3E,CAAC;QAED,mBAAG,GAAH,UAAK,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;YAC9C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QAED,qBAAK,GAAL;YACC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAEhC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAEhC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAEhC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QACF,YAAC;IAAD,CAAC,AAjDD,IAiDC;IAjDY,WAAK,QAiDjB,CAAA;IAED;QAAA;QA6BA,CAAC;QArBO,eAAK,GAAZ,UAAc,KAAa,EAAE,GAAW,EAAE,GAAW;YACpD,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC;YAC5B,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAEM,gBAAM,GAAb,UAAe,OAAe;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAEM,gBAAM,GAAb,UAAe,OAAe;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAEM,gBAAM,GAAb,UAAe,KAAa;YAC3B,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,CAAC;QAEM,eAAK,GAAZ,UAAc,CAAS;YACtB,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QA3BM,YAAE,GAAG,SAAS,CAAC;QACf,aAAG,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QACvB,0BAAgB,GAAG,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;QACtC,gBAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC;QACpC,0BAAgB,GAAG,SAAS,CAAC,EAAE,GAAG,GAAG,CAAC;QACtC,gBAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC;QAuB5C,gBAAC;IAAD,CAAC,AA7BD,IA6BC;IA7BY,eAAS,YA6BrB,CAAA;IAED;QAAA;QAsCA,CAAC;QAnCO,eAAS,GAAhB,UAAqB,MAAoB,EAAE,WAAmB,EAAE,IAAkB,EAAE,SAAiB,EAAE,WAAmB;YACzH,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClF,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACF,CAAC;QAEM,kBAAY,GAAnB,UAAwB,KAAe,EAAE,IAAY,EAAE,KAAc;YAAd,qBAAc,GAAd,SAAc;YACpE,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC;YAClC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;gBACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;oBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACvD,CAAC;YACD,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAEM,cAAQ,GAAf,UAAoB,IAAY,EAAE,YAAe;YAChD,IAAI,KAAK,GAAG,IAAI,KAAK,CAAI,IAAI,CAAC,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;gBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAEM,mBAAa,GAApB,UAAsB,IAAY;YACjC,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,KAAK,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,CAAC;gBACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACpD,MAAM,CAAC,KAAK,CAAC;YACf,CAAC;QACF,CAAC;QAEM,kBAAY,GAAnB,UAAqB,KAAoB;YACxC,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACtE,CAAC;QApCM,2BAAqB,GAAG,OAAM,CAAC,YAAY,CAAC,KAAK,WAAW,CAAC;QAqCrE,YAAC;IAAD,CAAC,AAtCD,IAsCC;IAtCY,WAAK,QAsCjB,CAAA;IAED;QAIC,cAAa,YAAqB;YAH1B,WAAM,GAAG,IAAI,KAAK,CAAI,EAAE,CAAC,CAAC;YAIjC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QACnC,CAAC;QAED,qBAAM,GAAN;YACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1E,CAAC;QAED,mBAAI,GAAJ,UAAM,IAAO;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,sBAAO,GAAP,UAAS,KAAmB;YAC3B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,oBAAK,GAAL;YACC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC;QACF,WAAC;IAAD,CAAC,AAvBD,IAuBC;IAvBY,UAAI,OAuBhB,CAAA;IAED;QACC,iBAAoB,CAAK,EAAS,CAAK;YAA1B,iBAAY,GAAZ,KAAY;YAAE,iBAAY,GAAZ,KAAY;YAAnB,MAAC,GAAD,CAAC,CAAI;YAAS,MAAC,GAAD,CAAC,CAAI;QACvC,CAAC;QAED,qBAAG,GAAH,UAAK,CAAS,EAAE,CAAS;YACxB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QACF,cAAC;IAAD,CAAC,AATD,IASC;IATY,aAAO,UASnB,CAAA;AACF,CAAC,EAtKM,KAAK,KAAL,KAAK,QAsKX;ACrMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CA4FX;AA5FD,WAAO,KAAK,EAAC,CAAC;IACb;QAGC,oBAAa,IAAY;YACxB,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,iBAAC;IAAD,CAAC,AAPD,IAOC;IAPqB,gBAAU,aAO/B,CAAA;IAED;QAA+C,oCAAU;QAKxD,0BAAa,IAAY;YACxB,kBAAM,IAAI,CAAC,CAAC;YAHb,wBAAmB,GAAG,CAAC,CAAC;QAIxB,CAAC;QAED,+CAAoB,GAApB,UAAsB,IAAU,EAAE,aAAgC;YACjE,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;QAED;;;;4EAIoE;QACpE,mDAAwB,GAAxB,UAA0B,IAAU,EAAE,KAAa,EAAE,KAAa,EAAE,aAAgC,EAAE,MAAc;YACnH,KAAK,IAAI,MAAM,CAAC;YAChB,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YACnC,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;gBACnB,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;oBAAC,QAAQ,GAAG,WAAW,CAAC;gBACnD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACrB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;gBACjB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;gBACjB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACnD,GAAG,CAAC,CAAC,IAAI,GAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,GAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBACvC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM,CAAC;YACR,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;YACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACX,IAAI,IAAI,CAAC,CAAC;YACX,CAAC;YACD,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACnC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtD,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACnB,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnB,CAAC,IAAI,CAAC,CAAC;oBACP,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3B,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACrE,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBACzD,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;oBAC1D,CAAC;oBACD,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACtB,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3B,CAAC;YACF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,IAAI,MAAM,GAAG,WAAW,CAAC;gBACzB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACnB,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnB,CAAC,IAAI,CAAC,CAAC;oBACP,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBACnC,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACjG,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBACzD,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;oBAC1D,CAAC;oBACD,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACtB,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3B,CAAC;YACF,CAAC;QACF,CAAC;QAED,oHAAoH;QACpH,sCAAW,GAAX,UAAa,gBAAkC;YAC9C,MAAM,CAAC,IAAI,IAAI,gBAAgB,CAAC;QACjC,CAAC;QACF,uBAAC;IAAD,CAAC,AAjFD,CAA+C,UAAU,GAiFxD;IAjFqB,sBAAgB,mBAiFrC,CAAA;AACF,CAAC,EA5FM,KAAK,KAAL,KAAK,QA4FX;AC3HD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AC7B/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAIX;AAJD,WAAO,KAAK,EAAC,CAAC;IACb,WAAY,cAAc;QACzB,uDAAM,CAAA;QAAE,iEAAW,CAAA;QAAE,mDAAI,CAAA;QAAE,+DAAU,CAAA;QAAE,mDAAI,CAAA;IAC5C,CAAC,EAFW,oBAAc,KAAd,oBAAc,QAEzB;IAFD,IAAY,cAAc,GAAd,oBAEX,CAAA;AACF,CAAC,EAJM,KAAK,KAAL,KAAK,QAIX;ACnCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAMX;AAND,WAAO,KAAK,EAAC,CAAC;IACb;QAA2C,yCAAgB;QAC1D,+BAAa,IAAY;YACxB,kBAAM,IAAI,CAAC,CAAC;QACb,CAAC;QACF,4BAAC;IAAD,CAAC,AAJD,CAA2C,sBAAgB,GAI1D;IAJY,2BAAqB,wBAIjC,CAAA;AACF,CAAC,EANM,KAAK,KAAL,KAAK,QAMX;ACrCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CA6IX;AA7ID,WAAO,KAAK,EAAC,CAAC;IACb;QAAoC,kCAAgB;QAWnD,wBAAa,IAAY;YACxB,kBAAM,IAAI,CAAC,CAAC;YAPb,UAAK,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAG9B,kBAAa,GAAG,KAAK,CAAC;YACtB,cAAS,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAIlC,CAAC;QAED,kCAAS,GAAT;YACC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC;YACtC,IAAI,mBAAmB,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACpD,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,mBAAmB,CAAC;gBAClF,IAAI,CAAC,aAAa,GAAG,WAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAE/D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;YACxC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;gBACzB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;YACpB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClB,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC3B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;oBACrD,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBAChE,CAAC;YACF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;oBACjD,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;gBAC3D,CAAC;YACF,CAAC;QACF,CAAC;QAED,0CAA0C;QAC1C,4CAAmB,GAAnB,UAAqB,IAAU,EAAE,kBAA2B;YAC3D,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;YACnF,IAAI,KAAK,GAAG,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YACxD,IAAI,UAAU,GAAG,kBAAkB,GAAG,KAAK,GAAG,CAAC,CAAC;YAChD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,EACjE,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,EACxD,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,EACxD,KAAK,CAAC,CAAC;YAER,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YACnC,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACjE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;gBACnB,IAAI,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACrC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;oBAAC,QAAQ,GAAG,WAAW,CAAC;gBACnD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACrB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;gBACjB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;gBACjB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACnD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBACvC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC3C,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBAChC,CAAC;gBACD,MAAM,CAAC,aAAa,CAAC;YACtB,CAAC;YACD,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACnC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/D,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACnB,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBACxB,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACrE,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBACzD,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;oBAC1D,CAAC;oBACD,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACtB,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC1B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBAChC,CAAC;YACF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,IAAI,MAAM,GAAG,WAAW,CAAC;gBACzB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACnB,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBACxB,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpC,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACjG,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBACzD,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;oBAC1D,CAAC;oBACD,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACtB,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC1B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBAChC,CAAC;YACF,CAAC;YACD,MAAM,CAAC,aAAa,CAAC;QACtB,CAAC;QAED,oCAAW,GAAX,UAAa,gBAAkC;YAC9C,MAAM,CAAC,IAAI,IAAI,gBAAgB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAC,CAAC;QACjG,CAAC;QAED,sCAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QAED,qCAAqC;QACrC,sCAAa,GAAb,UAAe,UAA0B;YACxC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;gBACpC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;gBACtC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;gBACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACzC,CAAC;QACF,CAAC;QACF,qBAAC;IAAD,CAAC,AA1ID,CAAoC,sBAAgB,GA0InD;IA1IY,oBAAc,iBA0I1B,CAAA;AAEF,CAAC,EA7IM,KAAK,KAAL,KAAK,QA6IX;AC5KD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CASX;AATD,WAAO,KAAK,EAAC,CAAC;IACb;QAAoC,kCAAgB;QAInD,wBAAa,IAAY;YACxB,kBAAM,IAAI,CAAC,CAAC;YAHb,WAAM,GAAG,KAAK,CAAC;YAAC,kBAAa,GAAG,KAAK,CAAC;QAItC,CAAC;QACF,qBAAC;IAAD,CAAC,AAPD,CAAoC,sBAAgB,GAOnD;IAPY,oBAAc,iBAO1B,CAAA;AACF,CAAC,EATM,KAAK,KAAL,KAAK,QASX;ACxCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CA8KX;AA9KD,WAAO,KAAK,EAAC,CAAC;IACb;QAAsC,oCAAU;QA0D/C,0BAAa,IAAW;YACvB,kBAAM,IAAI,CAAC,CAAC;YAbb,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAAC,UAAK,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAC1E,UAAK,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAM9B,WAAM,GAAG,WAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAChC,aAAQ,GAAG,WAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEtC,cAAS,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAIlC,CAAC;QAED,oCAAS,GAAT,UAAW,MAAqB;YAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;YAC3C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;YAC3C,CAAC;QACF,CAAC;QAED,uCAAY,GAAZ;YACC,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;YACxE,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1E,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;YAChF,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;YACjF,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;YACxD,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;YACzD,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;YAC5C,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,SAAS,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACtC,IAAI,SAAS,GAAG,MAAM,GAAG,GAAG,CAAC;YAC7B,IAAI,SAAS,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACtC,IAAI,SAAS,GAAG,MAAM,GAAG,GAAG,CAAC;YAC7B,IAAI,UAAU,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACxC,IAAI,UAAU,GAAG,OAAO,GAAG,GAAG,CAAC;YAC/B,IAAI,UAAU,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACxC,IAAI,UAAU,GAAG,OAAO,GAAG,GAAG,CAAC;YAC/B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC;YACrD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC;YACrD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,SAAS,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC;YACvD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC;YACvD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,SAAS,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC;QACvD,CAAC;QAED,8CAAmB,GAAnB,UAAqB,IAAU,EAAE,kBAA2B;YAC3D,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACnC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3B,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,IAAI,KAAK,GAAG,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;YAC1D,IAAI,UAAU,GAAG,kBAAkB,GAAG,KAAK,GAAG,CAAC,CAAC;YAChD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,UAAU,EACnE,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,UAAU,EAC1D,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,UAAU,EAC1D,KAAK,CAAC,CAAC;YAER,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/D,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;YAE7B,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;YACpE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAEzC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;YACpE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAEzC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;YACpE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAEzC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;YACpE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAEzC,MAAM,CAAC,QAAQ,CAAC;QACjB,CAAC;QA1KM,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QAER,mBAAE,GAAG,CAAC,CAAC;QACP,mBAAE,GAAG,CAAC,CAAC;QACP,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,mBAAE,GAAG,CAAC,CAAC;QACP,mBAAE,GAAG,CAAC,CAAC;QAEP,mBAAE,GAAG,CAAC,CAAC;QACP,mBAAE,GAAG,CAAC,CAAC;QACP,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,mBAAE,GAAG,EAAE,CAAC;QACR,mBAAE,GAAG,EAAE,CAAC;QAER,mBAAE,GAAG,EAAE,CAAC;QACR,mBAAE,GAAG,EAAE,CAAC;QACR,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,mBAAE,GAAG,EAAE,CAAC;QACR,mBAAE,GAAG,EAAE,CAAC;QAER,mBAAE,GAAG,EAAE,CAAC;QACR,mBAAE,GAAG,EAAE,CAAC;QACR,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,mBAAE,GAAG,EAAE,CAAC;QACR,mBAAE,GAAG,EAAE,CAAC;QAgIhB,uBAAC;IAAD,CAAC,AA5KD,CAAsC,gBAAU,GA4K/C;IA5KY,sBAAgB,mBA4K5B,CAAA;AACF,CAAC,EA9KM,KAAK,KAAL,KAAK,QA8KX;AC7MD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAUX;AAVD,WAAO,KAAK,EAAC,CAAC;IACb;QAAA;YAEC,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YACb,OAAE,GAAG,CAAC,CAAC;YAAC,OAAE,GAAG,CAAC,CAAC;YACf,UAAK,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YACtB,WAAM,GAAG,KAAK,CAAC;YACf,YAAO,GAAG,CAAC,CAAC;YAAC,YAAO,GAAG,CAAC,CAAC;YACzB,kBAAa,GAAG,CAAC,CAAC;YAAC,mBAAc,GAAG,CAAC,CAAC;QACvC,CAAC;QAAD,oBAAC;IAAD,CAAC,AARD,IAQC;IARY,mBAAa,gBAQzB,CAAA;AACF,CAAC,EAVM,KAAK,KAAL,KAAK,QAUX;ACzCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CAqGX;AArGD,WAAO,KAAK;IAAC,IAAA,KAAK,CAqGjB;IArGY,WAAA,KAAK,EAAC,CAAC;QACnB;YAOC,sBAAa,EAAyB;gBAL9B,YAAO,GAA0B,EAAE,CAAC;gBACpC,YAAO,GAAgB,EAAE,CAAC;gBAC1B,YAAO,GAAG,CAAC,CAAC;gBACZ,YAAO,GAAG,CAAC,CAAC;gBAGnB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YACf,CAAC;YAED,+BAAQ,GAAR,UAAS,IAAY,EACpB,OAAoD,EACpD,KAAmD;gBAFpD,iBAqBC;gBApBA,uBAAoD,GAApD,cAAoD;gBACpD,qBAAmD,GAAnD,YAAmD;gBAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;gBACnC,OAAO,CAAC,kBAAkB,GAAG;oBAC5B,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC/C,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;4BACnD,EAAE,CAAC,CAAC,OAAO,CAAC;gCAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;4BACjD,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;wBAC3C,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACP,EAAE,CAAC,CAAC,KAAK,CAAC;gCAAC,KAAK,CAAC,IAAI,EAAE,wBAAsB,IAAI,iBAAY,OAAO,CAAC,MAAM,UAAK,OAAO,CAAC,YAAc,CAAC,CAAC;4BACxG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,wBAAsB,IAAI,iBAAY,OAAO,CAAC,MAAM,UAAK,OAAO,CAAC,YAAc,CAAC;wBACtG,CAAC;wBACD,KAAI,CAAC,OAAO,EAAE,CAAC;wBACf,KAAI,CAAC,OAAO,EAAE,CAAC;oBAChB,CAAC;gBACF,CAAC,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,EAAE,CAAC;YAChB,CAAC;YAED,kCAAW,GAAX,UAAa,IAAY,EACxB,OAA+D,EAC/D,KAAmD;gBAFpD,iBAoBC;gBAnBA,uBAA+D,GAA/D,cAA+D;gBAC/D,qBAAmD,GAAnD,YAAmD;gBAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;gBACtB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;gBACf,GAAG,CAAC,MAAM,GAAG,UAAC,EAAE;oBACf,EAAE,CAAC,CAAC,OAAO,CAAC;wBAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBAChC,IAAI,OAAO,GAAG,IAAI,aAAO,CAAC,KAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACzC,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;oBAC7B,KAAI,CAAC,OAAO,EAAE,CAAC;oBACf,KAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,CAAC,CAAA;gBACD,GAAG,CAAC,OAAO,GAAG,UAAC,EAAE;oBAChB,EAAE,CAAC,CAAC,KAAK,CAAC;wBAAC,KAAK,CAAC,IAAI,EAAE,yBAAuB,IAAM,CAAC,CAAC;oBACtD,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAI,yBAAuB,IAAM,CAAC;oBACpD,KAAI,CAAC,OAAO,EAAE,CAAC;oBACf,KAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,CAAC,CAAA;YACF,CAAC;YAED,0BAAG,GAAH,UAAK,IAAY;gBAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAED,6BAAM,GAAN,UAAQ,IAAY;gBACnB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,EAAE,CAAC,CAAC,KAAK,YAAY,aAAO,CAAC,CAAC,CAAC;oBAC9B,KAAK,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC3B,CAAC;YAED,gCAAS,GAAT;gBACC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC9B,EAAE,CAAC,CAAC,KAAK,YAAY,aAAO,CAAC;wBAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC/C,CAAC;gBACD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YACnB,CAAC;YAED,wCAAiB,GAAjB;gBACC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAC1B,CAAC;YAED,6BAAM,GAAN;gBACC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACrB,CAAC;YAED,6BAAM,GAAN;gBACC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACrB,CAAC;YAED,8BAAO,GAAP;gBACC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,CAAC;YAED,gCAAS,GAAT;gBACC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7C,CAAC;YAED,6BAAM,GAAN;gBACC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACrB,CAAC;YACF,mBAAC;QAAD,CAAC,AAnGD,IAmGC;QAnGY,kBAAY,eAmGxB,CAAA;IACF,CAAC,EArGY,KAAK,GAAL,WAAK,KAAL,WAAK,QAqGjB;AAAD,CAAC,EArGM,KAAK,KAAL,KAAK,QAqGX;ACpID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6B+E;AAE/E,IAAO,KAAK,CA+QX;AA/QD,WAAO,KAAK;IAAC,IAAA,KAAK,CA+QjB;IA/QY,WAAA,KAAK,EAAC,CAAC;QACN,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,EAAE,CAAC;QACT,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,EAAE,CAAC;QACT,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,EAAE,CAAC;QACT,SAAG,GAAG,EAAE,CAAC;QACT,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,EAAE,CAAC;QACT,SAAG,GAAG,EAAE,CAAC;QAEtB;YAIC;gBAHA,SAAI,GAAiB,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC1C,WAAM,GAAiB,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;gBAG3C,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;YAED,qBAAG,GAAH,UAAK,MAAyB;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,2BAAS,GAAT;gBACC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YAED,0BAAQ,GAAR;gBACC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,wBAAM,GAAN;gBACC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,KAAK,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC/G,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChH,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;oBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACzD,IAAI,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,6BAAW,GAAX;gBACC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,MAAM,CAAC,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC3G,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;YAChH,CAAC;YAED,2BAAS,GAAT,UAAW,CAAS,EAAE,CAAS,EAAE,CAAS;gBACzC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,CAAC,CAAC,SAAG,CAAC,IAAI,CAAC,CAAC;gBACZ,CAAC,CAAC,SAAG,CAAC,IAAI,CAAC,CAAC;gBACZ,CAAC,CAAC,SAAG,CAAC,IAAI,CAAC,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,sBAAI,GAAJ;gBACC,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YAED,4BAAU,GAAV,UAAY,IAAY,EAAE,GAAW,EAAE,IAAY,EAAE,WAAmB;gBACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC5D,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;gBACvC,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;gBAC3C,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,CAAC,CAAC,SAAG,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC;gBAC5B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,IAAI,CAAC;gBACd,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,IAAI,CAAC;gBACd,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACZ,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,IAAI,CAAC;gBACd,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,yBAAO,GAAP,UAAS,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;gBAC3D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;YAED,uBAAK,GAAL,UAAO,IAAY,EAAE,KAAa,EAAE,MAAc,EAAE,GAAW,EAAE,IAAY,EAAE,GAAW;gBACzF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBAChC,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBAChC,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAE/B,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBAC1C,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBAC1C,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAEtC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,CAAC,CAAC,SAAG,CAAC,GAAG,MAAM,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,MAAM,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,MAAM,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,EAAE,CAAC;gBACZ,CAAC,CAAC,SAAG,CAAC,GAAG,EAAE,CAAC;gBACZ,CAAC,CAAC,SAAG,CAAC,GAAG,EAAE,CAAC;gBACZ,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,0BAAQ,GAAR,UAAU,MAAe;gBACxB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAED,8BAAY,GAAZ,UAAc,MAAe;gBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,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"} \ No newline at end of file +{"version":3,"file":"spine-all.js","sourceRoot":"","sources":["../core/src/Texture.ts","../canvas/src/CanvasTexture.ts","../canvas/src/SkeletonRenderer.ts","../core/src/Animation.ts","../core/src/AnimationState.ts","../core/src/AnimationStateData.ts","../core/src/AssetManager.ts","../core/src/BlendMode.ts","../core/src/Bone.ts","../core/src/BoneData.ts","../core/src/Event.ts","../core/src/EventData.ts","../core/src/IkConstraint.ts","../core/src/IkConstraintData.ts","../core/src/PathConstraint.ts","../core/src/PathConstraintData.ts","../core/src/Skeleton.ts","../core/src/SkeletonBounds.ts","../core/src/SkeletonData.ts","../core/src/SkeletonJson.ts","../core/src/Skin.ts","../core/src/Slot.ts","../core/src/SlotData.ts","../core/src/TextureAtlas.ts","../core/src/TextureAtlasAttachmentLoader.ts","../core/src/TransformConstraint.ts","../core/src/TransformConstraintData.ts","../core/src/Updatable.ts","../core/src/Utils.ts","../core/src/attachments/Attachment.ts","../core/src/attachments/AttachmentLoader.ts","../core/src/attachments/AttachmentType.ts","../core/src/attachments/BoundingBoxAttachment.ts","../core/src/attachments/MeshAttachment.ts","../core/src/attachments/PathAttachment.ts","../core/src/attachments/RegionAttachment.ts","../webgl/src/GLTexture.ts","../webgl/src/Matrix4.ts","../webgl/src/Mesh.ts","../webgl/src/PolygonBatcher.ts","../webgl/src/Shader.ts","../webgl/src/SkeletonRenderer.ts","../webgl/src/Vector3.ts","../webgl/src/WebGL.ts","../widget/src/Widget.ts"],"names":[],"mappings":"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CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC/G,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChH,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;oBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACzD,IAAI,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,6BAAW,GAAX;gBACC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,MAAM,CAAC,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC3G,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,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AAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAED,8BAAY,GAAZ,UAAc,MAAe;gBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,S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"} \ No newline at end of file diff --git a/spine-ts/build/spine-core.d.ts b/spine-ts/build/spine-core.d.ts index 2eb80c097..d45abe059 100644 --- a/spine-ts/build/spine-core.d.ts +++ b/spine-ts/build/spine-core.d.ts @@ -1,33 +1,64 @@ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +declare module spine { + abstract class Texture { + protected _image: HTMLImageElement; + constructor(image: HTMLImageElement); + getImage(): HTMLImageElement; + abstract setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void; + abstract setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void; + abstract dispose(): void; + static filterFromString(text: string): TextureFilter; + static wrapFromString(text: string): TextureWrap; + } + enum TextureFilter { + Nearest = 9728, + Linear = 9729, + MipMap = 9987, + MipMapNearestNearest = 9984, + MipMapLinearNearest = 9985, + MipMapNearestLinear = 9986, + MipMapLinearLinear = 9987, + } + enum TextureWrap { + MirroredRepeat = 33648, + ClampToEdge = 33071, + Repeat = 10497, + } + class TextureRegion { + renderObject: any; + u: number; + v: number; + u2: number; + v2: number; + width: number; + height: number; + rotate: boolean; + offsetX: number; + offsetY: number; + originalWidth: number; + originalHeight: number; + } +} +declare module spine.canvas { + class CanvasTexture extends Texture { + constructor(image: HTMLImageElement); + setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void; + setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void; + dispose(): void; + } +} +declare module spine.canvas { + class SkeletonRenderer { + static QUAD_TRIANGLES: number[]; + private _ctx; + useTriangleRendering: boolean; + useDebugRendering: boolean; + constructor(context: CanvasRenderingContext2D); + draw(skeleton: Skeleton): void; + private drawImages(skeleton); + private drawTriangles(skeleton); + private drawTriangle(img, x0, y0, u0, v0, x1, y1, u1, v1, x2, y2, u2, v2); + } +} declare module spine { class Animation { name: string; @@ -53,9 +84,6 @@ declare module spine { setLinear(frameIndex: number): void; setStepped(frameIndex: number): void; getCurveType(frameIndex: number): number; - /** Sets the control handle positions for an interpolation bezier curve used to transition from this keyframe to the next. - * cx1 and cx2 are from 0 to 1, representing the percent of time between the two keyframes. cy1 and cy2 are the percent of - * the difference between the keyframe's values. */ setCurve(frameIndex: number, cx1: number, cy1: number, cx2: number, cy2: number): void; getCurvePercent(frameIndex: number, percent: number): number; abstract apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; @@ -68,7 +96,6 @@ declare module spine { boneIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and angle of the specified keyframe. */ setFrame(frameIndex: number, time: number, degrees: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -82,7 +109,6 @@ declare module spine { boneIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, x: number, y: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -108,7 +134,6 @@ declare module spine { slotIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, r: number, g: number, b: number, a: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -118,7 +143,6 @@ declare module spine { attachmentNames: Array; constructor(frameCount: number); getFrameCount(): number; - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, attachmentName: string): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -127,9 +151,7 @@ declare module spine { events: Array; constructor(frameCount: number); getFrameCount(): number; - /** Sets the time of the specified keyframe. */ setFrame(frameIndex: number, event: Event): void; - /** Fires events for frames > lastTime and <= time. */ apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } class DrawOrderTimeline implements Timeline { @@ -137,8 +159,6 @@ declare module spine { drawOrders: Array>; constructor(frameCount: number); getFrameCount(): number; - /** Sets the time of the specified keyframe. - * @param drawOrder May be null to use bind pose draw order. */ setFrame(frameIndex: number, time: number, drawOrder: Array): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -148,7 +168,6 @@ declare module spine { slotIndex: number; attachment: VertexAttachment; constructor(frameCount: number); - /** Sets the time of the specified keyframe. */ setFrame(frameIndex: number, time: number, vertices: ArrayLike): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -162,7 +181,6 @@ declare module spine { ikConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time, mix and bend direction of the specified keyframe. */ setFrame(frameIndex: number, time: number, mix: number, bendDirection: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -180,7 +198,6 @@ declare module spine { transformConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and mixes of the specified keyframe. */ setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number, scaleMix: number, shearMix: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -192,7 +209,6 @@ declare module spine { pathConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, value: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -210,41 +226,10 @@ declare module spine { pathConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and mixes of the specified keyframe. */ setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class AnimationState { data: AnimationStateData; @@ -260,20 +245,12 @@ declare module spine { freeAll(entry: TrackEntry): void; expandToIndex(index: number): TrackEntry; setCurrent(index: number, entry: TrackEntry): void; - /** @see #setAnimation(int, Animation, boolean) */ setAnimation(trackIndex: number, animationName: string, loop: boolean): TrackEntry; - /** Set the current animation. Any queued animations are cleared. */ setAnimationWith(trackIndex: number, animation: Animation, loop: boolean): TrackEntry; - /** {@link #addAnimation(int, Animation, boolean, float)} */ addAnimation(trackIndex: number, animationName: string, loop: boolean, delay: number): TrackEntry; - /** Adds an animation to be played delay seconds after the current or last queued animation. - * @param delay May be <= 0 to use duration of previous animation minus any mix duration plus the negative delay. */ addAnimationWith(trackIndex: number, animation: Animation, loop: boolean, delay: number): TrackEntry; - /** @return May be null. */ getCurrent(trackIndex: number): TrackEntry; - /** Adds a listener to receive events for all animations. */ addListener(listener: AnimationStateListener): void; - /** Removes the listener added with {@link #addListener(AnimationStateListener)}. */ removeListener(listener: AnimationStateListener): void; clearListeners(): void; } @@ -292,7 +269,6 @@ declare module spine { listener: AnimationStateListener; mix: number; reset(): void; - /** Returns true if the current time is greater than the end time, regardless of looping. */ isComplete(): boolean; } abstract class AnimationStateAdapter implements AnimationStateListener { @@ -302,47 +278,12 @@ declare module spine { end(trackIndex: number): void; } interface AnimationStateListener { - /** Invoked when the current animation triggers an event. */ event(trackIndex: number, event: Event): void; - /** Invoked when the current animation has completed. - * @param loopCount The number of times the animation reached the end. */ complete(trackIndex: number, loopCount: number): void; - /** Invoked just after the current animation is set. */ start(trackIndex: number): void; - /** Invoked just before the current animation is replaced. */ end(trackIndex: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class AnimationStateData { skeletonData: SkeletonData; @@ -354,36 +295,27 @@ declare module spine { getMix(from: Animation, to: Animation): number; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +declare module spine { + class AssetManager implements Disposable { + private _textureLoader; + private _assets; + private _errors; + private _toLoad; + private _loaded; + constructor(textureLoader: (image: HTMLImageElement) => any); + loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void; + loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void; + get(path: string): any; + remove(path: string): void; + removeAll(): void; + isLoadingComplete(): boolean; + toLoad(): number; + loaded(): number; + dispose(): void; + hasErrors(): boolean; + errors(): Map; + } +} declare module spine { enum BlendMode { Normal = 0, @@ -392,36 +324,6 @@ declare module spine { Screen = 3, } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Bone implements Updatable { data: BoneData; @@ -445,13 +347,9 @@ declare module spine { worldSignX: number; worldSignY: number; sorted: boolean; - /** @param parent May be null. */ constructor(data: BoneData, skeleton: Skeleton, parent: Bone); - /** Same as {@link #updateWorldTransform()}. This method exists for Bone to implement {@link Updatable}. */ update(): void; - /** Computes the world transform using the parent bone and this bone's local transform. */ updateWorldTransform(): void; - /** Computes the world transform using the parent bone and the specified local transform. */ updateWorldTransformWith(x: number, y: number, rotation: number, scaleX: number, scaleY: number, shearX: number, shearY: number): void; setToSetupPose(): void; getWorldRotationX(): number; @@ -461,46 +359,11 @@ declare module spine { worldToLocalRotationX(): number; worldToLocalRotationY(): number; rotateWorld(degrees: number): void; - /** Computes the local transform from the world transform. This can be useful to perform processing on the local transform - * after the world transform has been modified directly (eg, by a constraint). - *

- * Some redundant information is lost by the world transform, such as -1,-1 scale versus 180 rotation. The computed local - * transform values may differ from the original values but are functionally the same. */ updateLocalTransform(): void; worldToLocal(world: Vector2): Vector2; localToWorld(local: Vector2): Vector2; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class BoneData { index: number; @@ -519,36 +382,6 @@ declare module spine { constructor(index: number, name: string, parent: BoneData); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Event { data: EventData; @@ -559,36 +392,6 @@ declare module spine { constructor(time: number, data: EventData); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class EventData { name: string; @@ -598,36 +401,6 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class IkConstraint implements Updatable { data: IkConstraintData; @@ -639,45 +412,10 @@ declare module spine { constructor(data: IkConstraintData, skeleton: Skeleton); apply(): void; update(): void; - /** Adjusts the bone rotation so the tip is as close to the target position as possible. The target is specified in the world - * coordinate system. */ apply1(bone: Bone, targetX: number, targetY: number, alpha: number): void; - /** Adjusts the parent and child bone rotations so the tip of the child is as close to the target position as possible. The - * target is specified in the world coordinate system. - * @param child A direct descendant of the parent bone. */ apply2(parent: Bone, child: Bone, targetX: number, targetY: number, bendDir: number, alpha: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class IkConstraintData { name: string; @@ -688,36 +426,6 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class PathConstraint implements Updatable { static NONE: number; @@ -745,36 +453,6 @@ declare module spine { addCurvePosition(p: number, x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, out: Array, o: number, tangents: boolean): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class PathConstraintData { name: string; @@ -805,36 +483,6 @@ declare module spine { ChainScale = 2, } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Skeleton { data: SkeletonData; @@ -859,80 +507,27 @@ declare module spine { sortPathConstraintAttachmentWith(attachment: Attachment, slotBone: Bone): void; sortBone(bone: Bone): void; sortReset(bones: Array): void; - /** Updates the world transform for each bone and applies constraints. */ updateWorldTransform(): void; - /** Sets the bones, constraints, and slots to their setup pose values. */ setToSetupPose(): void; - /** Sets the bones and constraints to their setup pose values. */ setBonesToSetupPose(): void; setSlotsToSetupPose(): void; - /** @return May return null. */ getRootBone(): Bone; - /** @return May be null. */ findBone(boneName: string): Bone; - /** @return -1 if the bone was not found. */ findBoneIndex(boneName: string): number; - /** @return May be null. */ findSlot(slotName: string): Slot; - /** @return -1 if the bone was not found. */ findSlotIndex(slotName: string): number; - /** Sets a skin by name. - * @see #setSkin(Skin) */ setSkinByName(skinName: string): void; - /** Sets the skin used to look up attachments before looking in the {@link SkeletonData#getDefaultSkin() default skin}. - * Attachments from the new skin are attached if the corresponding attachment from the old skin was attached. If there was no - * old skin, each slot's setup mode attachment is attached from the new skin. - * @param newSkin May be null. */ setSkin(newSkin: Skin): void; - /** @return May be null. */ getAttachmentByName(slotName: string, attachmentName: string): Attachment; - /** @return May be null. */ getAttachment(slotIndex: number, attachmentName: string): Attachment; - /** @param attachmentName May be null. */ setAttachment(slotName: string, attachmentName: string): void; - /** @return May be null. */ findIkConstraint(constraintName: string): IkConstraint; - /** @return May be null. */ findTransformConstraint(constraintName: string): TransformConstraint; - /** @return May be null. */ findPathConstraint(constraintName: string): PathConstraint; - /** Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose. - * @param offset The distance from the skeleton origin to the bottom left corner of the AABB. - * @param size The width and height of the AABB. */ getBounds(offset: Vector2, size: Vector2): void; update(delta: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SkeletonBounds { minX: number; @@ -944,57 +539,16 @@ declare module spine { private _polygonPool; update(skeleton: Skeleton, updateAabb: boolean): void; aabbCompute(): void; - /** Returns true if the axis aligned bounding box contains the point. */ aabbContainsPoint(x: number, y: number): boolean; - /** Returns true if the axis aligned bounding box intersects the line segment. */ aabbIntersectsSegment(x1: number, y1: number, x2: number, y2: number): boolean; - /** Returns true if the axis aligned bounding box intersects the axis aligned bounding box of the specified bounds. */ aabbIntersectsSkeleton(bounds: SkeletonBounds): boolean; - /** Returns the first bounding box attachment that contains the point, or null. When doing many checks, it is usually more - * efficient to only call this method if {@link #aabbContainsPoint(float, float)} returns true. */ containsPoint(x: number, y: number): BoundingBoxAttachment; - /** Returns true if the polygon contains the point. */ containsPointPolygon(polygon: ArrayLike, x: number, y: number): boolean; - /** Returns the first bounding box attachment that contains any part of the line segment, or null. When doing many checks, it - * is usually more efficient to only call this method if {@link #aabbIntersectsSegment(float, float, float, float)} returns - * true. */ intersectsSegment(x1: number, y1: number, x2: number, y2: number): BoundingBoxAttachment; - /** Returns true if the polygon contains any part of the line segment. */ intersectsSegmentPolygon(polygon: ArrayLike, x1: number, y1: number, x2: number, y2: number): boolean; - /** Returns the polygon for the specified bounding box, or null. */ getPolygon(boundingBox: BoundingBoxAttachment): ArrayLike; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SkeletonData { name: string; @@ -1025,36 +579,6 @@ declare module spine { findPathConstraintIndex(pathConstraintName: string): number; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SkeletonJson { attachmentLoader: AttachmentLoader; @@ -1073,78 +597,16 @@ declare module spine { static rotateModeFromString(str: string): RotateMode; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Skin { name: string; attachments: Map[]; constructor(name: string); addAttachment(slotIndex: number, name: string, attachment: Attachment): void; - /** @return May be null. */ getAttachment(slotIndex: number, name: string): Attachment; - /** Attach each attachment in this skin if the corresponding attachment in the old skin is currently attached. */ attachAll(skeleton: Skeleton, oldSkin: Skin): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Slot { data: SlotData; @@ -1154,47 +616,13 @@ declare module spine { private attachmentTime; attachmentVertices: number[]; constructor(data: SlotData, bone: Bone); - /** @return May be null. */ getAttachment(): Attachment; - /** Sets the attachment and if it changed, resets {@link #getAttachmentTime()} and clears {@link #getAttachmentVertices()}. - * @param attachment May be null. */ setAttachment(attachment: Attachment): void; setAttachmentTime(time: number): void; - /** Returns the time since the attachment was set. */ getAttachmentTime(): number; setToSetupPose(): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SlotData { index: number; @@ -1206,36 +634,45 @@ declare module spine { constructor(index: number, name: string, boneData: BoneData); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +declare module spine { + class TextureAtlas implements Disposable { + pages: TextureAtlasPage[]; + regions: TextureAtlasRegion[]; + constructor(atlasText: string, textureLoader: (path: string) => any); + private load(atlasText, textureLoader); + findRegion(name: string): TextureAtlasRegion; + dispose(): void; + } + class TextureAtlasPage { + name: string; + minFilter: TextureFilter; + magFilter: TextureFilter; + uWrap: TextureWrap; + vWrap: TextureWrap; + texture: Texture; + width: number; + height: number; + } + class TextureAtlasRegion extends TextureRegion { + page: TextureAtlasPage; + name: string; + x: number; + y: number; + index: number; + rotate: boolean; + texture: Texture; + } +} +declare module spine { + class TextureAtlasAttachmentLoader implements AttachmentLoader { + atlas: TextureAtlas; + constructor(atlas: TextureAtlas); + newRegionAttachment(skin: Skin, name: string, path: string): RegionAttachment; + newMeshAttachment(skin: Skin, name: string, path: string): MeshAttachment; + newBoundingBoxAttachment(skin: Skin, name: string): BoundingBoxAttachment; + newPathAttachment(skin: Skin, name: string): PathAttachment; + } +} declare module spine { class TransformConstraint implements Updatable { data: TransformConstraintData; @@ -1251,36 +688,6 @@ declare module spine { update(): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class TransformConstraintData { name: string; @@ -1299,71 +706,11 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { interface Updatable { update(): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { interface Map { [key: string]: T; @@ -1420,36 +767,6 @@ declare module spine { set(x: number, y: number): Vector2; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { abstract class Attachment { name: string; @@ -1461,88 +778,18 @@ declare module spine { worldVerticesLength: number; constructor(name: string); computeWorldVertices(slot: Slot, worldVertices: ArrayLike): void; - /** Transforms local vertices to world coordinates. - * @param start The index of the first local vertex value to transform. Each vertex has 2 values, x and y. - * @param count The number of world vertex values to output. Must be <= {@link #getWorldVerticesLength()} - start. - * @param worldVertices The output world vertices. Must have a length >= offset + count. - * @param offset The worldVertices index to begin writing values. */ computeWorldVerticesWith(slot: Slot, start: number, count: number, worldVertices: ArrayLike, offset: number): void; - /** Returns true if a deform originally applied to the specified attachment should be applied to this attachment. */ applyDeform(sourceAttachment: VertexAttachment): boolean; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { interface AttachmentLoader { - /** @return May be null to not load an attachment. */ newRegionAttachment(skin: Skin, name: string, path: string): RegionAttachment; - /** @return May be null to not load an attachment. */ newMeshAttachment(skin: Skin, name: string, path: string): MeshAttachment; - /** @return May be null to not load an attachment. */ newBoundingBoxAttachment(skin: Skin, name: string): BoundingBoxAttachment; - /** @return May be null to not load an attachment */ newPathAttachment(skin: Skin, name: string): PathAttachment; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { enum AttachmentType { Region = 0, @@ -1552,71 +799,11 @@ declare module spine { Path = 4, } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class BoundingBoxAttachment extends VertexAttachment { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class MeshAttachment extends VertexAttachment { region: TextureRegion; @@ -1631,44 +818,12 @@ declare module spine { tempColor: Color; constructor(name: string); updateUVs(): void; - /** @return The updated world vertices. */ updateWorldVertices(slot: Slot, premultipliedAlpha: boolean): ArrayLike; applyDeform(sourceAttachment: VertexAttachment): boolean; getParentMesh(): MeshAttachment; - /** @param parentMesh May be null. */ setParentMesh(parentMesh: MeshAttachment): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class PathAttachment extends VertexAttachment { lengths: Array; @@ -1677,36 +832,6 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class RegionAttachment extends Attachment { static OX1: number; @@ -1769,49 +894,3 @@ declare module spine { updateWorldVertices(slot: Slot, premultipliedAlpha: boolean): ArrayLike; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -declare module spine { - class TextureRegion { - renderObject: any; - u: number; - v: number; - u2: number; - v2: number; - width: number; - height: number; - rotate: boolean; - offsetX: number; - offsetY: number; - originalWidth: number; - originalHeight: number; - } -} diff --git a/spine-ts/build/spine-core.js b/spine-ts/build/spine-core.js index 5fad91a44..44f833f21 100644 --- a/spine-ts/build/spine-core.js +++ b/spine-ts/build/spine-core.js @@ -1,39 +1,237 @@ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +var spine; +(function (spine) { + var Texture = (function () { + function Texture(image) { + this._image = image; + } + Texture.prototype.getImage = function () { + return this._image; + }; + Texture.filterFromString = function (text) { + switch (text.toLowerCase()) { + case "nearest": return TextureFilter.Nearest; + case "linear": return TextureFilter.Linear; + case "mipmap": return TextureFilter.MipMap; + case "mipmapnearestnearest": return TextureFilter.MipMapNearestNearest; + case "mipmaplinearnearest": return TextureFilter.MipMapLinearNearest; + case "mipmapnearestlinear": return TextureFilter.MipMapNearestLinear; + case "mipmaplinearlinear": return TextureFilter.MipMapLinearLinear; + default: throw new Error("Unknown texture filter " + text); + } + }; + Texture.wrapFromString = function (text) { + switch (text.toLowerCase()) { + case "mirroredtepeat": return TextureWrap.MirroredRepeat; + case "clamptoedge": return TextureWrap.ClampToEdge; + case "repeat": return TextureWrap.Repeat; + default: throw new Error("Unknown texture wrap " + text); + } + }; + return Texture; + }()); + spine.Texture = Texture; + (function (TextureFilter) { + TextureFilter[TextureFilter["Nearest"] = 9728] = "Nearest"; + TextureFilter[TextureFilter["Linear"] = 9729] = "Linear"; + TextureFilter[TextureFilter["MipMap"] = 9987] = "MipMap"; + TextureFilter[TextureFilter["MipMapNearestNearest"] = 9984] = "MipMapNearestNearest"; + TextureFilter[TextureFilter["MipMapLinearNearest"] = 9985] = "MipMapLinearNearest"; + TextureFilter[TextureFilter["MipMapNearestLinear"] = 9986] = "MipMapNearestLinear"; + TextureFilter[TextureFilter["MipMapLinearLinear"] = 9987] = "MipMapLinearLinear"; + })(spine.TextureFilter || (spine.TextureFilter = {})); + var TextureFilter = spine.TextureFilter; + (function (TextureWrap) { + TextureWrap[TextureWrap["MirroredRepeat"] = 33648] = "MirroredRepeat"; + TextureWrap[TextureWrap["ClampToEdge"] = 33071] = "ClampToEdge"; + TextureWrap[TextureWrap["Repeat"] = 10497] = "Repeat"; + })(spine.TextureWrap || (spine.TextureWrap = {})); + var TextureWrap = spine.TextureWrap; + var TextureRegion = (function () { + function TextureRegion() { + this.u = 0; + this.v = 0; + this.u2 = 0; + this.v2 = 0; + this.width = 0; + this.height = 0; + this.rotate = false; + this.offsetX = 0; + this.offsetY = 0; + this.originalWidth = 0; + this.originalHeight = 0; + } + return TextureRegion; + }()); + spine.TextureRegion = TextureRegion; +})(spine || (spine = {})); var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; var spine; +(function (spine) { + var canvas; + (function (canvas) { + var CanvasTexture = (function (_super) { + __extends(CanvasTexture, _super); + function CanvasTexture(image) { + _super.call(this, image); + } + CanvasTexture.prototype.setFilters = function (minFilter, magFilter) { }; + CanvasTexture.prototype.setWraps = function (uWrap, vWrap) { }; + CanvasTexture.prototype.dispose = function () { }; + return CanvasTexture; + }(spine.Texture)); + canvas.CanvasTexture = CanvasTexture; + })(canvas = spine.canvas || (spine.canvas = {})); +})(spine || (spine = {})); +var spine; +(function (spine) { + var canvas; + (function (canvas) { + var SkeletonRenderer = (function () { + function SkeletonRenderer(context) { + this.useTriangleRendering = false; + this.useDebugRendering = false; + this._ctx = context; + } + SkeletonRenderer.prototype.draw = function (skeleton) { + if (this.useTriangleRendering) + this.drawTriangles(skeleton); + else + this.drawImages(skeleton); + }; + SkeletonRenderer.prototype.drawImages = function (skeleton) { + var ctx = this._ctx; + var drawOrder = skeleton.drawOrder; + if (this.useDebugRendering) + ctx.strokeStyle = "green"; + for (var i = 0, n = drawOrder.length; i < n; i++) { + var slot = drawOrder[i]; + var attachment = slot.getAttachment(); + var region = null; + var image = null; + var vertices = null; + if (attachment instanceof spine.RegionAttachment) { + var regionAttachment = attachment; + vertices = regionAttachment.updateWorldVertices(slot, false); + region = regionAttachment.region; + image = (region).texture.getImage(); + } + else + continue; + var att = attachment; + var bone = slot.bone; + var x = vertices[0]; + var y = vertices[1]; + var rotation = (bone.getWorldRotationX() - att.rotation) * Math.PI / 180; + var xx = vertices[24] - vertices[0]; + var xy = vertices[25] - vertices[1]; + var yx = vertices[8] - vertices[0]; + var yy = vertices[9] - vertices[1]; + var w = Math.sqrt(xx * xx + xy * xy), h = -Math.sqrt(yx * yx + yy * yy); + ctx.translate(x, y); + ctx.rotate(rotation); + if (region.rotate) { + ctx.rotate(Math.PI / 2); + ctx.drawImage(image, region.x, region.y, region.height, region.width, 0, 0, h, -w); + ctx.rotate(-Math.PI / 2); + } + else { + ctx.drawImage(image, region.x, region.y, region.width, region.height, 0, 0, w, h); + } + if (this.useDebugRendering) + ctx.strokeRect(0, 0, w, h); + ctx.rotate(-rotation); + ctx.translate(-x, -y); + } + }; + SkeletonRenderer.prototype.drawTriangles = function (skeleton) { + var blendMode = null; + var vertices = null; + var triangles = null; + var drawOrder = skeleton.drawOrder; + for (var i = 0, n = drawOrder.length; i < n; i++) { + var slot = drawOrder[i]; + var attachment = slot.getAttachment(); + var texture = null; + var region = null; + if (attachment instanceof spine.RegionAttachment) { + var regionAttachment = attachment; + vertices = regionAttachment.updateWorldVertices(slot, false); + triangles = SkeletonRenderer.QUAD_TRIANGLES; + region = regionAttachment.region; + texture = region.texture.getImage(); + } + else if (attachment instanceof spine.MeshAttachment) { + var mesh = attachment; + vertices = mesh.updateWorldVertices(slot, false); + triangles = mesh.triangles; + texture = mesh.region.renderObject.texture.getImage(); + } + else + continue; + if (texture != null) { + var slotBlendMode = slot.data.blendMode; + if (slotBlendMode != blendMode) { + blendMode = slotBlendMode; + } + var ctx = this._ctx; + for (var j = 0; j < triangles.length; j += 3) { + var t1 = triangles[j] * 8, t2 = triangles[j + 1] * 8, t3 = triangles[j + 2] * 8; + var x0 = vertices[t1], y0 = vertices[t1 + 1], u0 = vertices[t1 + 6], v0 = vertices[t1 + 7]; + var x1 = vertices[t2], y1 = vertices[t2 + 1], u1 = vertices[t2 + 6], v1 = vertices[t2 + 7]; + var x2 = vertices[t3], y2 = vertices[t3 + 1], u2 = vertices[t3 + 6], v2 = vertices[t3 + 7]; + this.drawTriangle(texture, x0, y0, u0, v0, x1, y1, u1, v1, x2, y2, u2, v2); + if (this.useDebugRendering) { + ctx.strokeStyle = "green"; + ctx.beginPath(); + ctx.moveTo(x0, y0); + ctx.lineTo(x1, y1); + ctx.lineTo(x2, y2); + ctx.lineTo(x0, y0); + ctx.stroke(); + } + } + } + } + }; + SkeletonRenderer.prototype.drawTriangle = function (img, x0, y0, u0, v0, x1, y1, u1, v1, x2, y2, u2, v2) { + var ctx = this._ctx; + u0 *= img.width; + v0 *= img.height; + u1 *= img.width; + v1 *= img.height; + u2 *= img.width; + v2 *= img.height; + ctx.beginPath(); + ctx.moveTo(x0, y0); + ctx.lineTo(x1, y1); + ctx.lineTo(x2, y2); + ctx.closePath(); + x1 -= x0; + y1 -= y0; + x2 -= x0; + y2 -= y0; + u1 -= u0; + v1 -= v0; + u2 -= u0; + v2 -= v0; + var det = 1 / (u1 * v2 - u2 * v1), a = (v2 * x1 - v1 * x2) * det, b = (v2 * y1 - v1 * y2) * det, c = (u1 * x2 - u2 * x1) * det, d = (u1 * y2 - u2 * y1) * det, e = x0 - a * u0 - c * v0, f = y0 - b * u0 - d * v0; + ctx.save(); + ctx.transform(a, b, c, d, e, f); + ctx.clip(); + ctx.drawImage(img, 0, 0); + ctx.restore(); + }; + SkeletonRenderer.QUAD_TRIANGLES = [0, 1, 2, 2, 3, 0]; + return SkeletonRenderer; + }()); + canvas.SkeletonRenderer = SkeletonRenderer; + })(canvas = spine.canvas || (spine.canvas = {})); +})(spine || (spine = {})); +var spine; (function (spine) { var Animation = (function () { function Animation(name, timelines, duration) { @@ -121,9 +319,6 @@ var spine; return CurveTimeline.STEPPED; return CurveTimeline.BEZIER; }; - /** Sets the control handle positions for an interpolation bezier curve used to transition from this keyframe to the next. - * cx1 and cx2 are from 0 to 1, representing the percent of time between the two keyframes. cy1 and cy2 are the percent of - * the difference between the keyframe's values. */ CurveTimeline.prototype.setCurve = function (frameIndex, cx1, cy1, cx2, cy2) { var tmpx = (-cx1 * 2 + cx2) * 0.03, tmpy = (-cy1 * 2 + cy2) * 0.03; var dddfx = ((cx1 - cx2) * 3 + 1) * 0.006, dddfy = ((cy1 - cy2) * 3 + 1) * 0.006; @@ -171,7 +366,7 @@ var spine; } } var y = curves[i - 1]; - return y + (1 - y) * (percent - x) / (1 - x); // Last point is 1,1. + return y + (1 - y) * (percent - x) / (1 - x); }; CurveTimeline.LINEAR = 0; CurveTimeline.STEPPED = 1; @@ -186,7 +381,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount << 1); } - /** Sets the time and angle of the specified keyframe. */ RotateTimeline.prototype.setFrame = function (frameIndex, time, degrees) { frameIndex <<= 1; this.frames[frameIndex] = time; @@ -195,7 +389,7 @@ var spine; RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - RotateTimeline.ENTRIES]) { var amount_1 = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] - bone.rotation; @@ -206,7 +400,6 @@ var spine; bone.rotation += amount_1 * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, RotateTimeline.ENTRIES); var prevRotation = frames[frame + RotateTimeline.PREV_ROTATION]; var frameTime = frames[frame]; @@ -236,7 +429,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * TranslateTimeline.ENTRIES); } - /** Sets the time and value of the specified keyframe. */ TranslateTimeline.prototype.setFrame = function (frameIndex, time, x, y) { frameIndex *= TranslateTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -246,14 +438,13 @@ var spine; TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) { bone.x += (bone.data.x + frames[frames.length + TranslateTimeline.PREV_X] - bone.x) * alpha; bone.y += (bone.data.y + frames[frames.length + TranslateTimeline.PREV_Y] - bone.y) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, TranslateTimeline.ENTRIES); var prevX = frames[frame + TranslateTimeline.PREV_X]; var prevY = frames[frame + TranslateTimeline.PREV_Y]; @@ -279,14 +470,13 @@ var spine; ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) { bone.scaleX += (bone.data.scaleX * frames[frames.length + ScaleTimeline.PREV_X] - bone.scaleX) * alpha; bone.scaleY += (bone.data.scaleY * frames[frames.length + ScaleTimeline.PREV_Y] - bone.scaleY) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, ScaleTimeline.ENTRIES); var prevX = frames[frame + ScaleTimeline.PREV_X]; var prevY = frames[frame + ScaleTimeline.PREV_Y]; @@ -306,14 +496,13 @@ var spine; ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - ShearTimeline.ENTRIES]) { bone.shearX += (bone.data.shearX + frames[frames.length + ShearTimeline.PREV_X] - bone.shearX) * alpha; bone.shearY += (bone.data.shearY + frames[frames.length + ShearTimeline.PREV_Y] - bone.shearY) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, ShearTimeline.ENTRIES); var prevX = frames[frame + ShearTimeline.PREV_X]; var prevY = frames[frame + ShearTimeline.PREV_Y]; @@ -331,7 +520,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * ColorTimeline.ENTRIES); } - /** Sets the time and value of the specified keyframe. */ ColorTimeline.prototype.setFrame = function (frameIndex, time, r, g, b, a) { frameIndex *= ColorTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -343,7 +531,7 @@ var spine; ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var r = 0, g = 0, b = 0, a = 0; if (time >= frames[frames.length - ColorTimeline.ENTRIES]) { var i = frames.length; @@ -353,7 +541,6 @@ var spine; a = frames[i + ColorTimeline.PREV_A]; } else { - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, ColorTimeline.ENTRIES); r = frames[frame + ColorTimeline.PREV_R]; g = frames[frame + ColorTimeline.PREV_G]; @@ -393,7 +580,6 @@ var spine; AttachmentTimeline.prototype.getFrameCount = function () { return this.frames.length; }; - /** Sets the time and value of the specified keyframe. */ AttachmentTimeline.prototype.setFrame = function (frameIndex, time, attachmentName) { this.frames[frameIndex] = time; this.attachmentNames[frameIndex] = attachmentName; @@ -401,7 +587,7 @@ var spine; AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var frameIndex = 0; if (time >= frames[frames.length - 1]) frameIndex = frames.length - 1; @@ -422,12 +608,10 @@ var spine; EventTimeline.prototype.getFrameCount = function () { return this.frames.length; }; - /** Sets the time of the specified keyframe. */ EventTimeline.prototype.setFrame = function (frameIndex, event) { this.frames[frameIndex] = event.time; this.events[frameIndex] = event; }; - /** Fires events for frames > lastTime and <= time. */ EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { if (firedEvents == null) return; @@ -440,7 +624,7 @@ var spine; else if (lastTime >= frames[frameCount - 1]) return; if (time < frames[0]) - return; // Time is before first frame. + return; var frame = 0; if (lastTime < frames[0]) frame = 0; @@ -467,8 +651,6 @@ var spine; DrawOrderTimeline.prototype.getFrameCount = function () { return this.frames.length; }; - /** Sets the time of the specified keyframe. - * @param drawOrder May be null to use bind pose draw order. */ DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) { this.frames[frameIndex] = time; this.drawOrders[frameIndex] = drawOrder; @@ -476,7 +658,7 @@ var spine; DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var frame = 0; if (time >= frames[frames.length - 1]) frame = frames.length - 1; @@ -502,7 +684,6 @@ var spine; this.frames = spine.Utils.newFloatArray(frameCount); this.frameVertices = new Array(frameCount); } - /** Sets the time of the specified keyframe. */ DeformTimeline.prototype.setFrame = function (frameIndex, time, vertices) { this.frames[frameIndex] = time; this.frameVertices[frameIndex] = vertices; @@ -514,12 +695,12 @@ var spine; return; var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var frameVertices = this.frameVertices; var vertexCount = frameVertices[0].length; var verticesArray = slot.attachmentVertices; if (verticesArray.length != vertexCount) - alpha = 1; // Don't mix from uninitialized slot vertices. + alpha = 1; var vertices = spine.Utils.setArraySize(verticesArray, vertexCount); if (time >= frames[frames.length - 1]) { var lastVertices = frameVertices[frames.length - 1]; @@ -531,7 +712,6 @@ var spine; spine.Utils.arrayCopy(lastVertices, 0, vertices, 0, vertexCount); return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time); var prevVertices = frameVertices[frame - 1]; var nextVertices = frameVertices[frame]; @@ -559,7 +739,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * IkConstraintTimeline.ENTRIES); } - /** Sets the time, mix and bend direction of the specified keyframe. */ IkConstraintTimeline.prototype.setFrame = function (frameIndex, time, mix, bendDirection) { frameIndex *= IkConstraintTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -569,14 +748,13 @@ var spine; IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.ikConstraints[this.ikConstraintIndex]; if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) { constraint.mix += (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.mix) * alpha; constraint.bendDirection = Math.floor(frames[frames.length + IkConstraintTimeline.PREV_BEND_DIRECTION]); return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, IkConstraintTimeline.ENTRIES); var mix = frames[frame + IkConstraintTimeline.PREV_MIX]; var frameTime = frames[frame]; @@ -599,7 +777,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * TransformConstraintTimeline.ENTRIES); } - /** Sets the time and mixes of the specified keyframe. */ TransformConstraintTimeline.prototype.setFrame = function (frameIndex, time, rotateMix, translateMix, scaleMix, shearMix) { frameIndex *= TransformConstraintTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -611,7 +788,7 @@ var spine; TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.transformConstraints[this.transformConstraintIndex]; if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) { var i = frames.length; @@ -621,7 +798,6 @@ var spine; constraint.shearMix += (frames[i + TransformConstraintTimeline.PREV_SHEAR] - constraint.shearMix) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, TransformConstraintTimeline.ENTRIES); var frameTime = frames[frame]; var percent = this.getCurvePercent(frame / TransformConstraintTimeline.ENTRIES - 1, 1 - (time - frameTime) / (frames[frame + TransformConstraintTimeline.PREV_TIME] - frameTime)); @@ -654,7 +830,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * PathConstraintPositionTimeline.ENTRIES); } - /** Sets the time and value of the specified keyframe. */ PathConstraintPositionTimeline.prototype.setFrame = function (frameIndex, time, value) { frameIndex *= PathConstraintPositionTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -663,14 +838,13 @@ var spine; PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.pathConstraints[this.pathConstraintIndex]; if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES]) { var i = frames.length; constraint.position += (frames[i + PathConstraintPositionTimeline.PREV_VALUE] - constraint.position) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, PathConstraintPositionTimeline.ENTRIES); var position = frames[frame + PathConstraintPositionTimeline.PREV_VALUE]; var frameTime = frames[frame]; @@ -692,14 +866,13 @@ var spine; PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.pathConstraints[this.pathConstraintIndex]; if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES]) { var i = frames.length; constraint.spacing += (frames[i + PathConstraintSpacingTimeline.PREV_VALUE] - constraint.spacing) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, PathConstraintSpacingTimeline.ENTRIES); var spacing = frames[frame + PathConstraintSpacingTimeline.PREV_VALUE]; var frameTime = frames[frame]; @@ -715,7 +888,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * PathConstraintMixTimeline.ENTRIES); } - /** Sets the time and mixes of the specified keyframe. */ PathConstraintMixTimeline.prototype.setFrame = function (frameIndex, time, rotateMix, translateMix) { frameIndex *= PathConstraintMixTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -725,7 +897,7 @@ var spine; PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.pathConstraints[this.pathConstraintIndex]; if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) { var i = frames.length; @@ -733,7 +905,6 @@ var spine; constraint.translateMix += (frames[i + PathConstraintMixTimeline.PREV_TRANSLATE] - constraint.translateMix) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, PathConstraintMixTimeline.ENTRIES); var rotate = frames[frame + PathConstraintMixTimeline.PREV_ROTATE]; var translate = frames[frame + PathConstraintMixTimeline.PREV_TRANSLATE]; @@ -753,36 +924,6 @@ var spine; }(CurveTimeline)); spine.PathConstraintMixTimeline = PathConstraintMixTimeline; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var AnimationState = (function () { @@ -807,15 +948,14 @@ var spine; var nextTime = current.lastTime - next.delay; if (nextTime >= 0) { var nextDelta = delta * next.timeScale; - next.time = nextTime + nextDelta; // For start event to see correct time. - current.time += delta * current.timeScale; // For end event to see correct time. + next.time = nextTime + nextDelta; + current.time += delta * current.timeScale; this.setCurrent(i, next); - next.time -= nextDelta; // Prevent increasing time twice, below. + next.time -= nextDelta; current = next; } } else if (!current.loop && current.lastTime >= current.endTime) { - // End non-looping animation when it reaches its end time and there is no next entry. this.clearTrack(i); continue; } @@ -863,7 +1003,6 @@ var spine; for (var iii = 0; iii < listenerCount; iii++) this.listeners[iii].event(i, event_1); } - // Check if completed the animation or a loop iteration. if (loop ? (lastTime % endTime > time % endTime) : (lastTime < endTime && time >= endTime)) { var count = spine.MathUtils.toInt(time / endTime); if (current.listener != null) @@ -917,7 +1056,6 @@ var spine; entry.mixDuration = this.data.getMix(current.animation, entry.animation); if (entry.mixDuration > 0) { entry.mixTime = 0; - // If a mix is in progress, mix from the closest animation. if (previous != null && current.mixTime / current.mixDuration < 0.5) { entry.previous = previous; previous = current; @@ -932,14 +1070,12 @@ var spine; for (var i = 0, n = this.listeners.length; i < n; i++) this.listeners[i].start(index); }; - /** @see #setAnimation(int, Animation, boolean) */ AnimationState.prototype.setAnimation = function (trackIndex, animationName, loop) { var animation = this.data.skeletonData.findAnimation(animationName); if (animation == null) throw new Error("Animation not found: " + animationName); return this.setAnimationWith(trackIndex, animation, loop); }; - /** Set the current animation. Any queued animations are cleared. */ AnimationState.prototype.setAnimationWith = function (trackIndex, animation, loop) { var current = this.expandToIndex(trackIndex); if (current != null) @@ -951,15 +1087,12 @@ var spine; this.setCurrent(trackIndex, entry); return entry; }; - /** {@link #addAnimation(int, Animation, boolean, float)} */ AnimationState.prototype.addAnimation = function (trackIndex, animationName, loop, delay) { var animation = this.data.skeletonData.findAnimation(animationName); if (animation == null) throw new Error("Animation not found: " + animationName); return this.addAnimationWith(trackIndex, animation, loop, delay); }; - /** Adds an animation to be played delay seconds after the current or last queued animation. - * @param delay May be <= 0 to use duration of previous animation minus any mix duration plus the negative delay. */ AnimationState.prototype.addAnimationWith = function (trackIndex, animation, loop, delay) { var entry = new TrackEntry(); entry.animation = animation; @@ -982,19 +1115,16 @@ var spine; entry.delay = delay; return entry; }; - /** @return May be null. */ AnimationState.prototype.getCurrent = function (trackIndex) { if (trackIndex >= this.tracks.length) return null; return this.tracks[trackIndex]; }; - /** Adds a listener to receive events for all animations. */ AnimationState.prototype.addListener = function (listener) { if (listener == null) throw new Error("listener cannot be null."); this.listeners.push(listener); }; - /** Removes the listener added with {@link #addListener(AnimationStateListener)}. */ AnimationState.prototype.removeListener = function (listener) { var index = this.listeners.indexOf(listener); if (index >= 0) @@ -1024,10 +1154,9 @@ var spine; this.animation = null; this.listener = null; this.timeScale = 1; - this.lastTime = -1; // Trigger events on frame zero. + this.lastTime = -1; this.time = 0; }; - /** Returns true if the current time is greater than the end time, regardless of looping. */ TrackEntry.prototype.isComplete = function () { return this.time >= this.endTime; }; @@ -1049,36 +1178,6 @@ var spine; }()); spine.AnimationStateAdapter = AnimationStateAdapter; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var AnimationStateData = (function () { @@ -1115,36 +1214,103 @@ var spine; }()); spine.AnimationStateData = AnimationStateData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +var spine; +(function (spine) { + var AssetManager = (function () { + function AssetManager(textureLoader) { + this._assets = {}; + this._errors = {}; + this._toLoad = 0; + this._loaded = 0; + this._textureLoader = textureLoader; + } + AssetManager.prototype.loadText = function (path, success, error) { + var _this = this; + if (success === void 0) { success = null; } + if (error === void 0) { error = null; } + this._toLoad++; + var request = new XMLHttpRequest(); + request.onreadystatechange = function () { + if (request.readyState == XMLHttpRequest.DONE) { + if (request.status >= 200 && request.status < 300) { + if (success) + success(path, request.responseText); + _this._assets[path] = request.responseText; + } + else { + if (error) + error(path, "Couldn't load text " + path + ": status " + request.status + ", " + request.responseText); + _this._errors[path] = "Couldn't load text " + path + ": status " + request.status + ", " + request.responseText; + } + _this._toLoad--; + _this._loaded++; + } + }; + request.open("GET", path, true); + request.send(); + }; + AssetManager.prototype.loadTexture = function (path, success, error) { + var _this = this; + if (success === void 0) { success = null; } + if (error === void 0) { error = null; } + this._toLoad++; + var img = new Image(); + img.src = path; + img.onload = function (ev) { + if (success) + success(path, img); + var texture = _this._textureLoader(img); + _this._assets[path] = texture; + _this._toLoad--; + _this._loaded++; + }; + img.onerror = function (ev) { + if (error) + error(path, "Couldn't load image " + path); + _this._errors[path] = "Couldn't load image " + path; + _this._toLoad--; + _this._loaded++; + }; + }; + AssetManager.prototype.get = function (path) { + return this._assets[path]; + }; + AssetManager.prototype.remove = function (path) { + var asset = this._assets[path]; + if (asset.dispose) + asset.dispose(); + this._assets[path] = null; + }; + AssetManager.prototype.removeAll = function () { + for (var key in this._assets) { + var asset = this._assets[key]; + if (asset.dispose) + asset.dispose(); + } + this._assets = {}; + }; + AssetManager.prototype.isLoadingComplete = function () { + return this._toLoad == 0; + }; + AssetManager.prototype.toLoad = function () { + return this._toLoad; + }; + AssetManager.prototype.loaded = function () { + return this._loaded; + }; + AssetManager.prototype.dispose = function () { + this.removeAll(); + }; + AssetManager.prototype.hasErrors = function () { + return Object.keys(this._errors).length > 0; + }; + AssetManager.prototype.errors = function () { + return this._errors; + }; + return AssetManager; + }()); + spine.AssetManager = AssetManager; +})(spine || (spine = {})); var spine; (function (spine) { (function (BlendMode) { @@ -1155,40 +1321,9 @@ var spine; })(spine.BlendMode || (spine.BlendMode = {})); var BlendMode = spine.BlendMode; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Bone = (function () { - /** @param parent May be null. */ function Bone(data, skeleton, parent) { this.children = new Array(); this.x = 0; @@ -1217,15 +1352,12 @@ var spine; this.parent = parent; this.setToSetupPose(); } - /** Same as {@link #updateWorldTransform()}. This method exists for Bone to implement {@link Updatable}. */ Bone.prototype.update = function () { this.updateWorldTransformWith(this.x, this.y, this.rotation, this.scaleX, this.scaleY, this.shearX, this.shearY); }; - /** Computes the world transform using the parent bone and this bone's local transform. */ Bone.prototype.updateWorldTransform = function () { this.updateWorldTransformWith(this.x, this.y, this.rotation, this.scaleX, this.scaleY, this.shearX, this.shearY); }; - /** Computes the world transform using the parent bone and the specified local transform. */ Bone.prototype.updateWorldTransformWith = function (x, y, rotation, scaleX, scaleY, shearX, shearY) { this.appliedRotation = rotation; var rotationY = rotation + 90 + shearY; @@ -1380,11 +1512,6 @@ var spine; this.c = sin * a + cos * c; this.d = sin * b + cos * d; }; - /** Computes the local transform from the world transform. This can be useful to perform processing on the local transform - * after the world transform has been modified directly (eg, by a constraint). - *

- * Some redundant information is lost by the world transform, such as -1,-1 scale versus 180 rotation. The computed local - * transform values may differ from the original values but are functionally the same. */ Bone.prototype.updateLocalTransform = function () { var parent = this.parent; if (parent == null) { @@ -1445,36 +1572,6 @@ var spine; }()); spine.Bone = Bone; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var BoneData = (function () { @@ -1500,36 +1597,6 @@ var spine; }()); spine.BoneData = BoneData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Event = (function () { @@ -1543,36 +1610,6 @@ var spine; }()); spine.Event = Event; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var EventData = (function () { @@ -1583,36 +1620,6 @@ var spine; }()); spine.EventData = EventData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var IkConstraint = (function () { @@ -1647,8 +1654,6 @@ var spine; break; } }; - /** Adjusts the bone rotation so the tip is as close to the target position as possible. The target is specified in the world - * coordinate system. */ IkConstraint.prototype.apply1 = function (bone, targetX, targetY, alpha) { var pp = bone.parent; var id = 1 / (pp.a * pp.d - pp.b * pp.c); @@ -1663,9 +1668,6 @@ var spine; rotationIK += 360; bone.updateWorldTransformWith(bone.x, bone.y, bone.rotation + rotationIK * alpha, bone.scaleX, bone.scaleY, bone.shearX, bone.shearY); }; - /** Adjusts the parent and child bone rotations so the tip of the child is as close to the target position as possible. The - * target is specified in the world coordinate system. - * @param child A direct descendant of the parent bone. */ IkConstraint.prototype.apply2 = function (parent, child, targetX, targetY, bendDir, alpha) { if (alpha == 0) { child.updateWorldTransform(); @@ -1809,36 +1811,6 @@ var spine; }()); spine.IkConstraint = IkConstraint; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var IkConstraintData = (function () { @@ -1852,36 +1824,6 @@ var spine; }()); spine.IkConstraintData = IkConstraintData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var PathConstraint = (function () { @@ -2039,7 +1981,6 @@ var spine; this.addAfterPosition(p - pathLength_1, world, 0, out, o); continue; } - // Determine curve containing position. for (;; curve++) { var length_4 = lengths[curve]; if (p > length_4) @@ -2065,7 +2006,6 @@ var spine; } return out; } - // World vertices. if (closed) { verticesLength += 2; world = spine.Utils.setArraySize(this.world, verticesLength); @@ -2080,7 +2020,6 @@ var spine; world = spine.Utils.setArraySize(this.world, verticesLength); path.computeWorldVerticesWith(target, 2, verticesLength, world, 0); } - // Curve lengths. var curves = spine.Utils.setArraySize(this.curves, curveCount); var pathLength = 0; var x1 = world[0], y1 = world[1], cx1 = 0, cy1 = 0, cx2 = 0, cy2 = 0, x2 = 0, y2 = 0; @@ -2142,7 +2081,6 @@ var spine; this.addAfterPosition(p - pathLength, world, verticesLength - 4, out, o); continue; } - // Determine curve containing position. for (;; curve++) { var length_5 = curves[curve]; if (p > length_5) @@ -2155,7 +2093,6 @@ var spine; } break; } - // Curve segment lengths. if (curve != prevCurve) { prevCurve = curve; var ii = curve * 6; @@ -2195,7 +2132,6 @@ var spine; segments[9] = curveLength; segment = 0; } - // Weight by segment length. p *= curveLength; for (;; segment++) { var length_6 = segments[segment]; @@ -2243,36 +2179,6 @@ var spine; }()); spine.PathConstraint = PathConstraint; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var PathConstraintData = (function () { @@ -2301,36 +2207,6 @@ var spine; })(spine.RotateMode || (spine.RotateMode = {})); var RotateMode = spine.RotateMode; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Skeleton = (function () { @@ -2391,7 +2267,6 @@ var spine; var bones = this.bones; for (var i = 0, n = bones.length; i < n; i++) bones[i].sorted = false; - // IK first, lowest hierarchy depth first. var ikConstraints = this.ikConstraintsSorted; ikConstraints.length = 0; for (var i = 0; i < this.ikConstraints.length; i++) @@ -2507,18 +2382,15 @@ var spine; bone.sorted = false; } }; - /** Updates the world transform for each bone and applies constraints. */ Skeleton.prototype.updateWorldTransform = function () { var updateCache = this._updateCache; for (var i = 0, n = updateCache.length; i < n; i++) updateCache[i].update(); }; - /** Sets the bones, constraints, and slots to their setup pose values. */ Skeleton.prototype.setToSetupPose = function () { this.setBonesToSetupPose(); this.setSlotsToSetupPose(); }; - /** Sets the bones and constraints to their setup pose values. */ Skeleton.prototype.setBonesToSetupPose = function () { var bones = this.bones; for (var i = 0, n = bones.length; i < n; i++) @@ -2554,13 +2426,11 @@ var spine; for (var i = 0, n = slots.length; i < n; i++) slots[i].setToSetupPose(); }; - /** @return May return null. */ Skeleton.prototype.getRootBone = function () { if (this.bones.length == 0) return null; return this.bones[0]; }; - /** @return May be null. */ Skeleton.prototype.findBone = function (boneName) { if (boneName == null) throw new Error("boneName cannot be null."); @@ -2572,7 +2442,6 @@ var spine; } return null; }; - /** @return -1 if the bone was not found. */ Skeleton.prototype.findBoneIndex = function (boneName) { if (boneName == null) throw new Error("boneName cannot be null."); @@ -2582,7 +2451,6 @@ var spine; return i; return -1; }; - /** @return May be null. */ Skeleton.prototype.findSlot = function (slotName) { if (slotName == null) throw new Error("slotName cannot be null."); @@ -2594,7 +2462,6 @@ var spine; } return null; }; - /** @return -1 if the bone was not found. */ Skeleton.prototype.findSlotIndex = function (slotName) { if (slotName == null) throw new Error("slotName cannot be null."); @@ -2604,18 +2471,12 @@ var spine; return i; return -1; }; - /** Sets a skin by name. - * @see #setSkin(Skin) */ Skeleton.prototype.setSkinByName = function (skinName) { var skin = this.data.findSkin(skinName); if (skin == null) throw new Error("Skin not found: " + skinName); this.setSkin(skin); }; - /** Sets the skin used to look up attachments before looking in the {@link SkeletonData#getDefaultSkin() default skin}. - * Attachments from the new skin are attached if the corresponding attachment from the old skin was attached. If there was no - * old skin, each slot's setup mode attachment is attached from the new skin. - * @param newSkin May be null. */ Skeleton.prototype.setSkin = function (newSkin) { if (newSkin != null) { if (this.skin != null) @@ -2635,11 +2496,9 @@ var spine; } this.skin = newSkin; }; - /** @return May be null. */ Skeleton.prototype.getAttachmentByName = function (slotName, attachmentName) { return this.getAttachment(this.data.findSlotIndex(slotName), attachmentName); }; - /** @return May be null. */ Skeleton.prototype.getAttachment = function (slotIndex, attachmentName) { if (attachmentName == null) throw new Error("attachmentName cannot be null."); @@ -2652,7 +2511,6 @@ var spine; return this.data.defaultSkin.getAttachment(slotIndex, attachmentName); return null; }; - /** @param attachmentName May be null. */ Skeleton.prototype.setAttachment = function (slotName, attachmentName) { if (slotName == null) throw new Error("slotName cannot be null."); @@ -2672,7 +2530,6 @@ var spine; } throw new Error("Slot not found: " + slotName); }; - /** @return May be null. */ Skeleton.prototype.findIkConstraint = function (constraintName) { if (constraintName == null) throw new Error("constraintName cannot be null."); @@ -2684,7 +2541,6 @@ var spine; } return null; }; - /** @return May be null. */ Skeleton.prototype.findTransformConstraint = function (constraintName) { if (constraintName == null) throw new Error("constraintName cannot be null."); @@ -2696,7 +2552,6 @@ var spine; } return null; }; - /** @return May be null. */ Skeleton.prototype.findPathConstraint = function (constraintName) { if (constraintName == null) throw new Error("constraintName cannot be null."); @@ -2708,9 +2563,6 @@ var spine; } return null; }; - /** Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose. - * @param offset The distance from the skeleton origin to the bottom left corner of the AABB. - * @param size The width and height of the AABB. */ Skeleton.prototype.getBounds = function (offset, size) { if (offset == null) throw new Error("offset cannot be null."); @@ -2746,36 +2598,6 @@ var spine; }()); spine.Skeleton = Skeleton; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SkeletonBounds = (function () { @@ -2838,11 +2660,9 @@ var spine; this.maxX = maxX; this.maxY = maxY; }; - /** Returns true if the axis aligned bounding box contains the point. */ SkeletonBounds.prototype.aabbContainsPoint = function (x, y) { return x >= this.minX && x <= this.maxX && y >= this.minY && y <= this.maxY; }; - /** Returns true if the axis aligned bounding box intersects the line segment. */ SkeletonBounds.prototype.aabbIntersectsSegment = function (x1, y1, x2, y2) { var minX = this.minX; var minY = this.minY; @@ -2865,12 +2685,9 @@ var spine; return true; return false; }; - /** Returns true if the axis aligned bounding box intersects the axis aligned bounding box of the specified bounds. */ SkeletonBounds.prototype.aabbIntersectsSkeleton = function (bounds) { return this.minX < bounds.maxX && this.maxX > bounds.minX && this.minY < bounds.maxY && this.maxY > bounds.minY; }; - /** Returns the first bounding box attachment that contains the point, or null. When doing many checks, it is usually more - * efficient to only call this method if {@link #aabbContainsPoint(float, float)} returns true. */ SkeletonBounds.prototype.containsPoint = function (x, y) { var polygons = this.polygons; for (var i = 0, n = polygons.length; i < n; i++) @@ -2878,7 +2695,6 @@ var spine; return this.boundingBoxes[i]; return null; }; - /** Returns true if the polygon contains the point. */ SkeletonBounds.prototype.containsPointPolygon = function (polygon, x, y) { var vertices = polygon; var nn = polygon.length; @@ -2896,9 +2712,6 @@ var spine; } return inside; }; - /** Returns the first bounding box attachment that contains any part of the line segment, or null. When doing many checks, it - * is usually more efficient to only call this method if {@link #aabbIntersectsSegment(float, float, float, float)} returns - * true. */ SkeletonBounds.prototype.intersectsSegment = function (x1, y1, x2, y2) { var polygons = this.polygons; for (var i = 0, n = polygons.length; i < n; i++) @@ -2906,7 +2719,6 @@ var spine; return this.boundingBoxes[i]; return null; }; - /** Returns true if the polygon contains any part of the line segment. */ SkeletonBounds.prototype.intersectsSegmentPolygon = function (polygon, x1, y1, x2, y2) { var vertices = polygon; var nn = polygon.length; @@ -2929,7 +2741,6 @@ var spine; } return false; }; - /** Returns the polygon for the specified bounding box, or null. */ SkeletonBounds.prototype.getPolygon = function (boundingBox) { if (boundingBox == null) throw new Error("boundingBox cannot be null."); @@ -2940,42 +2751,12 @@ var spine; }()); spine.SkeletonBounds = SkeletonBounds; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SkeletonData = (function () { function SkeletonData() { - this.bones = new Array(); // Ordered parents first. - this.slots = new Array(); // Setup pose draw order. + this.bones = new Array(); + this.slots = new Array(); this.skins = new Array(); this.events = new Array(); this.animations = new Array(); @@ -3102,36 +2883,6 @@ var spine; }()); spine.SkeletonData = SkeletonData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SkeletonJson = (function () { @@ -3144,7 +2895,6 @@ var spine; var scale = this.scale; var skeletonData = new spine.SkeletonData(); var root = JSON.parse(json); - // Skeleton var skeletonMap = root.skeleton; if (skeletonMap != null) { skeletonData.hash = skeletonMap.hash; @@ -3153,7 +2903,6 @@ var spine; skeletonData.height = skeletonMap.height; skeletonData.imagesPath = skeletonMap.images; } - // Bones if (root.bones) { for (var i = 0; i < root.bones.length; i++) { var boneMap = root.bones[i]; @@ -3178,7 +2927,6 @@ var spine; skeletonData.bones.push(data); } } - // Slots. if (root.slots) { for (var i = 0; i < root.slots.length; i++) { var slotMap = root.slots[i]; @@ -3196,7 +2944,6 @@ var spine; skeletonData.slots.push(data); } } - // IK constraints if (root.ik) { for (var i = 0; i < root.ik.length; i++) { var constraintMap = root.ik[i]; @@ -3217,7 +2964,6 @@ var spine; skeletonData.ikConstraints.push(data); } } - // Transform constraints. if (root.transform) { for (var i = 0; i < root.transform.length; i++) { var constraintMap = root.transform[i]; @@ -3246,7 +2992,6 @@ var spine; skeletonData.transformConstraints.push(data); } } - // Path constraints. if (root.path) { for (var i = 0; i < root.path.length; i++) { var constraintMap = root.path[i]; @@ -3277,7 +3022,6 @@ var spine; skeletonData.pathConstraints.push(data); } } - // Skins. if (root.skins) { for (var skinName in root.skins) { var skinMap = root.skins[skinName]; @@ -3298,7 +3042,6 @@ var spine; skeletonData.defaultSkin = skin; } } - // Linked meshes. for (var i = 0, n = this.linkedMeshes.length; i < n; i++) { var linkedMesh = this.linkedMeshes[i]; var skin = linkedMesh.skin == null ? skeletonData.defaultSkin : skeletonData.findSkin(linkedMesh.skin); @@ -3311,7 +3054,6 @@ var spine; linkedMesh.mesh.updateUVs(); } this.linkedMeshes.length = 0; - // Events. if (root.events) { for (var eventName in root.events) { var eventMap = root.events[eventName]; @@ -3322,7 +3064,6 @@ var spine; skeletonData.events.push(data); } } - // Animations. if (root.animations) { for (var animationName in root.animations) { var animationMap = root.animations[animationName]; @@ -3434,7 +3175,6 @@ var spine; var scale = this.scale; var timelines = new Array(); var duration = 0; - // Slot timelines. if (map.slots) { for (var slotName in map.slots) { var slotMap = map.slots[slotName]; @@ -3474,7 +3214,6 @@ var spine; } } } - // Bone timelines. if (map.bones) { for (var boneName in map.bones) { var boneMap = map.bones[boneName]; @@ -3524,7 +3263,6 @@ var spine; } } } - // IK constraint timelines. if (map.ik) { for (var constraintName in map.ik) { var constraintMap = map.ik[constraintName]; @@ -3542,7 +3280,6 @@ var spine; duration = Math.max(duration, timeline.frames[(timeline.getFrameCount() - 1) * spine.IkConstraintTimeline.ENTRIES]); } } - // Transform constraint timelines. if (map.transform) { for (var constraintName in map.transform) { var constraintMap = map.transform[constraintName]; @@ -3560,7 +3297,6 @@ var spine; duration = Math.max(duration, timeline.frames[(timeline.getFrameCount() - 1) * spine.TransformConstraintTimeline.ENTRIES]); } } - // Path constraint timelines. if (map.paths) { for (var constraintName in map.paths) { var constraintMap = map.paths[constraintName]; @@ -3610,7 +3346,6 @@ var spine; } } } - // Deform timelines. if (map.deform) { for (var deformName in map.deform) { var deformMap = map.deform[deformName]; @@ -3663,7 +3398,6 @@ var spine; } } } - // Draw order timeline. var drawOrderNode = map.drawOrder; if (drawOrderNode == null) drawOrderNode = map.draworder; @@ -3684,16 +3418,12 @@ var spine; var slotIndex = skeletonData.findSlotIndex(offsetMap.slot); if (slotIndex == -1) throw new Error("Slot not found: " + offsetMap.slot); - // Collect unchanged items. while (originalIndex != slotIndex) unchanged[unchangedIndex++] = originalIndex++; - // Set changed items. drawOrder[originalIndex + offsetMap.offset] = originalIndex++; } - // Collect remaining unchanged items. while (originalIndex < slotCount) unchanged[unchangedIndex++] = originalIndex++; - // Fill in unchanged items. for (var i = slotCount - 1; i >= 0; i--) if (drawOrder[i] == -1) drawOrder[i] = unchanged[--unchangedIndex]; @@ -3703,7 +3433,6 @@ var spine; timelines.push(timeline); duration = Math.max(duration, timeline.frames[timeline.getFrameCount() - 1]); } - // Event timeline. if (map.events) { var timeline = new spine.EventTimeline(map.events.length); var frameIndex = 0; @@ -3792,36 +3521,6 @@ var spine; return LinkedMesh; }()); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Skin = (function () { @@ -3841,12 +3540,10 @@ var spine; attachments[slotIndex] = {}; attachments[slotIndex][name] = attachment; }; - /** @return May be null. */ Skin.prototype.getAttachment = function (slotIndex, name) { var dictionary = this.attachments[slotIndex]; return dictionary ? dictionary[name] : null; }; - /** Attach each attachment in this skin if the corresponding attachment in the old skin is currently attached. */ Skin.prototype.attachAll = function (skeleton, oldSkin) { var slotIndex = 0; for (var i = 0; i < skeleton.slots.length; i++) { @@ -3871,36 +3568,6 @@ var spine; }()); spine.Skin = Skin; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Slot = (function () { @@ -3915,12 +3582,9 @@ var spine; this.color = new spine.Color(); this.setToSetupPose(); } - /** @return May be null. */ Slot.prototype.getAttachment = function () { return this.attachment; }; - /** Sets the attachment and if it changed, resets {@link #getAttachmentTime()} and clears {@link #getAttachmentVertices()}. - * @param attachment May be null. */ Slot.prototype.setAttachment = function (attachment) { if (this.attachment == attachment) return; @@ -3931,7 +3595,6 @@ var spine; Slot.prototype.setAttachmentTime = function (time) { this.attachmentTime = this.bone.skeleton.time - time; }; - /** Returns the time since the attachment was set. */ Slot.prototype.getAttachmentTime = function () { return this.bone.skeleton.time - this.attachmentTime; }; @@ -3948,36 +3611,6 @@ var spine; }()); spine.Slot = Slot; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SlotData = (function () { @@ -3997,36 +3630,196 @@ var spine; }()); spine.SlotData = SlotData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +var spine; +(function (spine) { + var TextureAtlas = (function () { + function TextureAtlas(atlasText, textureLoader) { + this.pages = new Array(); + this.regions = new Array(); + this.load(atlasText, textureLoader); + } + TextureAtlas.prototype.load = function (atlasText, textureLoader) { + if (textureLoader == null) + throw new Error("textureLoader cannot be null."); + var reader = new TextureAtlasReader(atlasText); + var tuple = new Array(4); + var page = null; + while (true) { + var line = reader.readLine(); + if (line == null) + break; + line = line.trim(); + if (line.length == 0) + page = null; + else if (!page) { + page = new TextureAtlasPage(); + page.name = line; + if (reader.readTuple(tuple) == 2) { + page.width = parseInt(tuple[0]); + page.height = parseInt(tuple[1]); + reader.readTuple(tuple); + } + reader.readTuple(tuple); + page.minFilter = spine.Texture.filterFromString(tuple[0]); + page.magFilter = spine.Texture.filterFromString(tuple[1]); + var direction = reader.readValue(); + page.uWrap = spine.TextureWrap.ClampToEdge; + page.vWrap = spine.TextureWrap.ClampToEdge; + if (direction == "x") + page.uWrap = spine.TextureWrap.Repeat; + else if (direction == "y") + page.vWrap = spine.TextureWrap.Repeat; + else if (direction == "xy") + page.uWrap = page.vWrap = spine.TextureWrap.Repeat; + page.texture = textureLoader(line); + page.texture.setFilters(page.minFilter, page.magFilter); + page.texture.setWraps(page.uWrap, page.vWrap); + page.width = page.texture.getImage().width; + page.height = page.texture.getImage().height; + this.pages.push(page); + } + else { + var region = new TextureAtlasRegion(); + region.name = line; + region.page = page; + region.rotate = reader.readValue() == "true"; + reader.readTuple(tuple); + var x = parseInt(tuple[0]); + var y = parseInt(tuple[1]); + reader.readTuple(tuple); + var width = parseInt(tuple[0]); + var height = parseInt(tuple[1]); + region.u = x / page.width; + region.v = y / page.height; + if (region.rotate) { + region.u2 = (x + height) / page.width; + region.v2 = (y + width) / page.height; + } + else { + region.u2 = (x + width) / page.width; + region.v2 = (y + height) / page.height; + } + region.x = x; + region.y = y; + region.width = Math.abs(width); + region.height = Math.abs(height); + if (reader.readTuple(tuple) == 4) { + if (reader.readTuple(tuple) == 4) { + reader.readTuple(tuple); + } + } + region.originalWidth = parseInt(tuple[0]); + region.originalHeight = parseInt(tuple[1]); + reader.readTuple(tuple); + region.offsetX = parseInt(tuple[0]); + region.offsetY = parseInt(tuple[1]); + region.index = parseInt(reader.readValue()); + region.texture = page.texture; + this.regions.push(region); + } + } + }; + TextureAtlas.prototype.findRegion = function (name) { + for (var i = 0; i < this.regions.length; i++) { + if (this.regions[i].name == name) { + return this.regions[i]; + } + } + return null; + }; + TextureAtlas.prototype.dispose = function () { + for (var i = 0; i < this.pages.length; i++) { + this.pages[i].texture.dispose(); + } + }; + return TextureAtlas; + }()); + spine.TextureAtlas = TextureAtlas; + var TextureAtlasReader = (function () { + function TextureAtlasReader(text) { + this.index = 0; + this.lines = text.split(/\r\n|\r|\n/); + } + TextureAtlasReader.prototype.readLine = function () { + if (this.index >= this.lines.length) + return null; + return this.lines[this.index++]; + }; + TextureAtlasReader.prototype.readValue = function () { + var line = this.readLine(); + var colon = line.indexOf(":"); + if (colon == -1) + throw new Error("Invalid line: " + line); + return line.substring(colon + 1).trim(); + }; + TextureAtlasReader.prototype.readTuple = function (tuple) { + var line = this.readLine(); + var colon = line.indexOf(":"); + if (colon == -1) + throw new Error("Invalid line: " + line); + var i = 0, lastMatch = colon + 1; + for (; i < 3; i++) { + var comma = line.indexOf(",", lastMatch); + if (comma == -1) + break; + tuple[i] = line.substr(lastMatch, comma - lastMatch).trim(); + lastMatch = comma + 1; + } + tuple[i] = line.substring(lastMatch).trim(); + return i + 1; + }; + return TextureAtlasReader; + }()); + var TextureAtlasPage = (function () { + function TextureAtlasPage() { + } + return TextureAtlasPage; + }()); + spine.TextureAtlasPage = TextureAtlasPage; + var TextureAtlasRegion = (function (_super) { + __extends(TextureAtlasRegion, _super); + function TextureAtlasRegion() { + _super.apply(this, arguments); + } + return TextureAtlasRegion; + }(spine.TextureRegion)); + spine.TextureAtlasRegion = TextureAtlasRegion; +})(spine || (spine = {})); +var spine; +(function (spine) { + var TextureAtlasAttachmentLoader = (function () { + function TextureAtlasAttachmentLoader(atlas) { + this.atlas = atlas; + } + TextureAtlasAttachmentLoader.prototype.newRegionAttachment = function (skin, name, path) { + var region = this.atlas.findRegion(path); + region.renderObject = region; + if (region == null) + throw new Error("Region not found in atlas: " + path + " (region attachment: " + name + ")"); + var attachment = new spine.RegionAttachment(name); + attachment.setRegion(region); + attachment.region = region; + return attachment; + }; + TextureAtlasAttachmentLoader.prototype.newMeshAttachment = function (skin, name, path) { + var region = this.atlas.findRegion(path); + region.renderObject = region; + if (region == null) + throw new Error("Region not found in atlas: " + path + " (mesh attachment: " + name + ")"); + var attachment = new spine.MeshAttachment(name); + attachment.region = region; + return attachment; + }; + TextureAtlasAttachmentLoader.prototype.newBoundingBoxAttachment = function (skin, name) { + return new spine.BoundingBoxAttachment(name); + }; + TextureAtlasAttachmentLoader.prototype.newPathAttachment = function (skin, name) { + return new spine.PathAttachment(name); + }; + return TextureAtlasAttachmentLoader; + }()); + spine.TextureAtlasAttachmentLoader = TextureAtlasAttachmentLoader; +})(spine || (spine = {})); var spine; (function (spine) { var TransformConstraint = (function () { @@ -4111,36 +3904,6 @@ var spine; }()); spine.TransformConstraint = TransformConstraint; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var TransformConstraintData = (function () { @@ -4164,66 +3927,6 @@ var spine; }()); spine.TransformConstraintData = TransformConstraintData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Color = (function () { @@ -4398,36 +4101,6 @@ var spine; }()); spine.Vector2 = Vector2; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Attachment = (function () { @@ -4448,11 +4121,6 @@ var spine; VertexAttachment.prototype.computeWorldVertices = function (slot, worldVertices) { this.computeWorldVerticesWith(slot, 0, this.worldVerticesLength, worldVertices, 0); }; - /** Transforms local vertices to world coordinates. - * @param start The index of the first local vertex value to transform. Each vertex has 2 values, x and y. - * @param count The number of world vertex values to output. Must be <= {@link #getWorldVerticesLength()} - start. - * @param worldVertices The output world vertices. Must have a length >= offset + count. - * @param offset The worldVertices index to begin writing values. */ VertexAttachment.prototype.computeWorldVerticesWith = function (slot, start, count, worldVertices, offset) { count += offset; var skeleton = slot.bone.skeleton; @@ -4513,7 +4181,6 @@ var spine; } } }; - /** Returns true if a deform originally applied to the specified attachment should be applied to this attachment. */ VertexAttachment.prototype.applyDeform = function (sourceAttachment) { return this == sourceAttachment; }; @@ -4521,66 +4188,6 @@ var spine; }(Attachment)); spine.VertexAttachment = VertexAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { (function (AttachmentType) { @@ -4592,36 +4199,6 @@ var spine; })(spine.AttachmentType || (spine.AttachmentType = {})); var AttachmentType = spine.AttachmentType; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var BoundingBoxAttachment = (function (_super) { @@ -4633,36 +4210,6 @@ var spine; }(spine.VertexAttachment)); spine.BoundingBoxAttachment = BoundingBoxAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var MeshAttachment = (function (_super) { @@ -4703,7 +4250,6 @@ var spine; } } }; - /** @return The updated world vertices. */ MeshAttachment.prototype.updateWorldVertices = function (slot, premultipliedAlpha) { var skeleton = slot.bone.skeleton; var skeletonColor = skeleton.color, slotColor = slot.color, meshColor = this.color; @@ -4780,7 +4326,6 @@ var spine; MeshAttachment.prototype.getParentMesh = function () { return this._parentMesh; }; - /** @param parentMesh May be null. */ MeshAttachment.prototype.setParentMesh = function (parentMesh) { this._parentMesh = parentMesh; if (parentMesh != null) { @@ -4795,36 +4340,6 @@ var spine; }(spine.VertexAttachment)); spine.MeshAttachment = MeshAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var PathAttachment = (function (_super) { @@ -4838,36 +4353,6 @@ var spine; }(spine.VertexAttachment)); spine.PathAttachment = PathAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var RegionAttachment = (function (_super) { @@ -4954,7 +4439,7 @@ var spine; var offsetX = 0, offsetY = 0; offsetX = offset[RegionAttachment.OX1]; offsetY = offset[RegionAttachment.OY1]; - vertices[RegionAttachment.X1] = offsetX * a + offsetY * b + x; // br + vertices[RegionAttachment.X1] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y1] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C1R] = color.r; vertices[RegionAttachment.C1G] = color.g; @@ -4962,7 +4447,7 @@ var spine; vertices[RegionAttachment.C1A] = color.a; offsetX = offset[RegionAttachment.OX2]; offsetY = offset[RegionAttachment.OY2]; - vertices[RegionAttachment.X2] = offsetX * a + offsetY * b + x; // bl + vertices[RegionAttachment.X2] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y2] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C2R] = color.r; vertices[RegionAttachment.C2G] = color.g; @@ -4970,7 +4455,7 @@ var spine; vertices[RegionAttachment.C2A] = color.a; offsetX = offset[RegionAttachment.OX3]; offsetY = offset[RegionAttachment.OY3]; - vertices[RegionAttachment.X3] = offsetX * a + offsetY * b + x; // ul + vertices[RegionAttachment.X3] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y3] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C3R] = color.r; vertices[RegionAttachment.C3G] = color.g; @@ -4978,7 +4463,7 @@ var spine; vertices[RegionAttachment.C3A] = color.a; offsetX = offset[RegionAttachment.OX4]; offsetY = offset[RegionAttachment.OY4]; - vertices[RegionAttachment.X4] = offsetX * a + offsetY * b + x; // ur + vertices[RegionAttachment.X4] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y4] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C4R] = color.r; vertices[RegionAttachment.C4G] = color.g; @@ -5030,54 +4515,4 @@ var spine; }(spine.Attachment)); spine.RegionAttachment = RegionAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -var spine; -(function (spine) { - var TextureRegion = (function () { - function TextureRegion() { - this.u = 0; - this.v = 0; - this.u2 = 0; - this.v2 = 0; - this.width = 0; - this.height = 0; - this.rotate = false; - this.offsetX = 0; - this.offsetY = 0; - this.originalWidth = 0; - this.originalHeight = 0; - } - return TextureRegion; - }()); - spine.TextureRegion = TextureRegion; -})(spine || (spine = {})); //# sourceMappingURL=spine-core.js.map \ No newline at end of file diff --git a/spine-ts/build/spine-core.js.map b/spine-ts/build/spine-core.js.map index c34d20005..0fbf4c400 100644 --- a/spine-ts/build/spine-core.js.map +++ b/spine-ts/build/spine-core.js.map @@ -1 +1 @@ -{"version":3,"file":"spine-core.js","sourceRoot":"","sources":["../core/src/Animation.ts","../core/src/AnimationState.ts","../core/src/AnimationStateData.ts","../core/src/BlendMode.ts","../core/src/Bone.ts","../core/src/BoneData.ts","../core/src/Event.ts","../core/src/EventData.ts","../core/src/IkConstraint.ts","../core/src/IkConstraintData.ts","../core/src/PathConstraint.ts","../core/src/PathConstraintData.ts","../core/src/Skeleton.ts","../core/src/SkeletonBounds.ts","../core/src/SkeletonData.ts","../core/src/SkeletonJson.ts","../core/src/Skin.ts","../core/src/Slot.ts","../core/src/SlotData.ts","../core/src/TransformConstraint.ts","../core/src/TransformConstraintData.ts","../core/src/Updatable.ts","../core/src/Utils.ts","../core/src/attachments/Attachment.ts","../core/src/attachments/AttachmentLoader.ts","../core/src/attachments/AttachmentType.ts","../core/src/attachments/BoundingBoxAttachment.ts","../core/src/attachments/MeshAttachment.ts","../core/src/attachments/PathAttachment.ts","../core/src/attachments/RegionAttachment.ts","../core/src/attachments/TextureRegion.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"spine-core.js","sourceRoot":"","sources":["../core/src/Texture.ts","../canvas/src/CanvasTexture.ts","../canvas/src/SkeletonRenderer.ts","../core/src/Animation.ts","../core/src/AnimationState.ts","../core/src/AnimationStateData.ts","../core/src/AssetManager.ts","../core/src/BlendMode.ts","../core/src/Bone.ts","../core/src/BoneData.ts","../core/src/Event.ts","../core/src/EventData.ts","../core/src/IkConstraint.ts","../core/src/IkConstraintData.ts","../core/src/PathConstraint.ts","../core/src/PathConstraintData.ts","../core/src/Skeleton.ts","../core/src/SkeletonBounds.ts","../core/src/SkeletonData.ts","../core/src/SkeletonJson.ts","../core/src/Skin.ts","../core/src/Slot.ts","../core/src/SlotData.ts","../core/src/TextureAtlas.ts","../core/src/TextureAtlasAttachmentLoader.ts","../core/src/TransformConstraint.ts","../core/src/TransformConstraintData.ts","../core/src/Updatable.ts","../core/src/Utils.ts","../core/src/attachments/Attachment.ts","../core/src/attachments/AttachmentLoader.ts","../core/src/attachments/AttachmentType.ts","../core/src/attachments/BoundingBoxAttachment.ts","../core/src/attachments/MeshAttachment.ts","../core/src/attachments/PathAttachment.ts","../core/src/attachments/RegionAttachment.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/spine-ts/build/spine-widget.d.ts b/spine-ts/build/spine-widget.d.ts index 9c5382835..6ec6852b5 100644 --- a/spine-ts/build/spine-widget.d.ts +++ b/spine-ts/build/spine-widget.d.ts @@ -1,33 +1,3 @@ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Animation { name: string; @@ -53,9 +23,6 @@ declare module spine { setLinear(frameIndex: number): void; setStepped(frameIndex: number): void; getCurveType(frameIndex: number): number; - /** Sets the control handle positions for an interpolation bezier curve used to transition from this keyframe to the next. - * cx1 and cx2 are from 0 to 1, representing the percent of time between the two keyframes. cy1 and cy2 are the percent of - * the difference between the keyframe's values. */ setCurve(frameIndex: number, cx1: number, cy1: number, cx2: number, cy2: number): void; getCurvePercent(frameIndex: number, percent: number): number; abstract apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; @@ -68,7 +35,6 @@ declare module spine { boneIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and angle of the specified keyframe. */ setFrame(frameIndex: number, time: number, degrees: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -82,7 +48,6 @@ declare module spine { boneIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, x: number, y: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -108,7 +73,6 @@ declare module spine { slotIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, r: number, g: number, b: number, a: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -118,7 +82,6 @@ declare module spine { attachmentNames: Array; constructor(frameCount: number); getFrameCount(): number; - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, attachmentName: string): void; apply(skeleton: Skeleton, lastTime: number, time: number, events: Array, alpha: number): void; } @@ -127,9 +90,7 @@ declare module spine { events: Array; constructor(frameCount: number); getFrameCount(): number; - /** Sets the time of the specified keyframe. */ setFrame(frameIndex: number, event: Event): void; - /** Fires events for frames > lastTime and <= time. */ apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } class DrawOrderTimeline implements Timeline { @@ -137,8 +98,6 @@ declare module spine { drawOrders: Array>; constructor(frameCount: number); getFrameCount(): number; - /** Sets the time of the specified keyframe. - * @param drawOrder May be null to use bind pose draw order. */ setFrame(frameIndex: number, time: number, drawOrder: Array): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -148,7 +107,6 @@ declare module spine { slotIndex: number; attachment: VertexAttachment; constructor(frameCount: number); - /** Sets the time of the specified keyframe. */ setFrame(frameIndex: number, time: number, vertices: ArrayLike): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -162,7 +120,6 @@ declare module spine { ikConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time, mix and bend direction of the specified keyframe. */ setFrame(frameIndex: number, time: number, mix: number, bendDirection: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -180,7 +137,6 @@ declare module spine { transformConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and mixes of the specified keyframe. */ setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number, scaleMix: number, shearMix: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -192,7 +148,6 @@ declare module spine { pathConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and value of the specified keyframe. */ setFrame(frameIndex: number, time: number, value: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } @@ -210,41 +165,10 @@ declare module spine { pathConstraintIndex: number; frames: ArrayLike; constructor(frameCount: number); - /** Sets the time and mixes of the specified keyframe. */ setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number): void; apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array, alpha: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class AnimationState { data: AnimationStateData; @@ -260,20 +184,12 @@ declare module spine { freeAll(entry: TrackEntry): void; expandToIndex(index: number): TrackEntry; setCurrent(index: number, entry: TrackEntry): void; - /** @see #setAnimation(int, Animation, boolean) */ setAnimation(trackIndex: number, animationName: string, loop: boolean): TrackEntry; - /** Set the current animation. Any queued animations are cleared. */ setAnimationWith(trackIndex: number, animation: Animation, loop: boolean): TrackEntry; - /** {@link #addAnimation(int, Animation, boolean, float)} */ addAnimation(trackIndex: number, animationName: string, loop: boolean, delay: number): TrackEntry; - /** Adds an animation to be played delay seconds after the current or last queued animation. - * @param delay May be <= 0 to use duration of previous animation minus any mix duration plus the negative delay. */ addAnimationWith(trackIndex: number, animation: Animation, loop: boolean, delay: number): TrackEntry; - /** @return May be null. */ getCurrent(trackIndex: number): TrackEntry; - /** Adds a listener to receive events for all animations. */ addListener(listener: AnimationStateListener): void; - /** Removes the listener added with {@link #addListener(AnimationStateListener)}. */ removeListener(listener: AnimationStateListener): void; clearListeners(): void; } @@ -292,7 +208,6 @@ declare module spine { listener: AnimationStateListener; mix: number; reset(): void; - /** Returns true if the current time is greater than the end time, regardless of looping. */ isComplete(): boolean; } abstract class AnimationStateAdapter implements AnimationStateListener { @@ -302,47 +217,12 @@ declare module spine { end(trackIndex: number): void; } interface AnimationStateListener { - /** Invoked when the current animation triggers an event. */ event(trackIndex: number, event: Event): void; - /** Invoked when the current animation has completed. - * @param loopCount The number of times the animation reached the end. */ complete(trackIndex: number, loopCount: number): void; - /** Invoked just after the current animation is set. */ start(trackIndex: number): void; - /** Invoked just before the current animation is replaced. */ end(trackIndex: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class AnimationStateData { skeletonData: SkeletonData; @@ -354,36 +234,6 @@ declare module spine { getMix(from: Animation, to: Animation): number; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class AssetManager implements Disposable { private _textureLoader; @@ -405,36 +255,6 @@ declare module spine { errors(): Map; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { enum BlendMode { Normal = 0, @@ -443,36 +263,6 @@ declare module spine { Screen = 3, } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Bone implements Updatable { data: BoneData; @@ -496,13 +286,9 @@ declare module spine { worldSignX: number; worldSignY: number; sorted: boolean; - /** @param parent May be null. */ constructor(data: BoneData, skeleton: Skeleton, parent: Bone); - /** Same as {@link #updateWorldTransform()}. This method exists for Bone to implement {@link Updatable}. */ update(): void; - /** Computes the world transform using the parent bone and this bone's local transform. */ updateWorldTransform(): void; - /** Computes the world transform using the parent bone and the specified local transform. */ updateWorldTransformWith(x: number, y: number, rotation: number, scaleX: number, scaleY: number, shearX: number, shearY: number): void; setToSetupPose(): void; getWorldRotationX(): number; @@ -512,46 +298,11 @@ declare module spine { worldToLocalRotationX(): number; worldToLocalRotationY(): number; rotateWorld(degrees: number): void; - /** Computes the local transform from the world transform. This can be useful to perform processing on the local transform - * after the world transform has been modified directly (eg, by a constraint). - *

- * Some redundant information is lost by the world transform, such as -1,-1 scale versus 180 rotation. The computed local - * transform values may differ from the original values but are functionally the same. */ updateLocalTransform(): void; worldToLocal(world: Vector2): Vector2; localToWorld(local: Vector2): Vector2; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class BoneData { index: number; @@ -570,36 +321,6 @@ declare module spine { constructor(index: number, name: string, parent: BoneData); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Event { data: EventData; @@ -610,36 +331,6 @@ declare module spine { constructor(time: number, data: EventData); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class EventData { name: string; @@ -649,36 +340,6 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class IkConstraint implements Updatable { data: IkConstraintData; @@ -690,45 +351,10 @@ declare module spine { constructor(data: IkConstraintData, skeleton: Skeleton); apply(): void; update(): void; - /** Adjusts the bone rotation so the tip is as close to the target position as possible. The target is specified in the world - * coordinate system. */ apply1(bone: Bone, targetX: number, targetY: number, alpha: number): void; - /** Adjusts the parent and child bone rotations so the tip of the child is as close to the target position as possible. The - * target is specified in the world coordinate system. - * @param child A direct descendant of the parent bone. */ apply2(parent: Bone, child: Bone, targetX: number, targetY: number, bendDir: number, alpha: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class IkConstraintData { name: string; @@ -739,36 +365,6 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class PathConstraint implements Updatable { static NONE: number; @@ -796,36 +392,6 @@ declare module spine { addCurvePosition(p: number, x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, out: Array, o: number, tangents: boolean): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class PathConstraintData { name: string; @@ -856,36 +422,6 @@ declare module spine { ChainScale = 2, } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Skeleton { data: SkeletonData; @@ -910,80 +446,27 @@ declare module spine { sortPathConstraintAttachmentWith(attachment: Attachment, slotBone: Bone): void; sortBone(bone: Bone): void; sortReset(bones: Array): void; - /** Updates the world transform for each bone and applies constraints. */ updateWorldTransform(): void; - /** Sets the bones, constraints, and slots to their setup pose values. */ setToSetupPose(): void; - /** Sets the bones and constraints to their setup pose values. */ setBonesToSetupPose(): void; setSlotsToSetupPose(): void; - /** @return May return null. */ getRootBone(): Bone; - /** @return May be null. */ findBone(boneName: string): Bone; - /** @return -1 if the bone was not found. */ findBoneIndex(boneName: string): number; - /** @return May be null. */ findSlot(slotName: string): Slot; - /** @return -1 if the bone was not found. */ findSlotIndex(slotName: string): number; - /** Sets a skin by name. - * @see #setSkin(Skin) */ setSkinByName(skinName: string): void; - /** Sets the skin used to look up attachments before looking in the {@link SkeletonData#getDefaultSkin() default skin}. - * Attachments from the new skin are attached if the corresponding attachment from the old skin was attached. If there was no - * old skin, each slot's setup mode attachment is attached from the new skin. - * @param newSkin May be null. */ setSkin(newSkin: Skin): void; - /** @return May be null. */ getAttachmentByName(slotName: string, attachmentName: string): Attachment; - /** @return May be null. */ getAttachment(slotIndex: number, attachmentName: string): Attachment; - /** @param attachmentName May be null. */ setAttachment(slotName: string, attachmentName: string): void; - /** @return May be null. */ findIkConstraint(constraintName: string): IkConstraint; - /** @return May be null. */ findTransformConstraint(constraintName: string): TransformConstraint; - /** @return May be null. */ findPathConstraint(constraintName: string): PathConstraint; - /** Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose. - * @param offset The distance from the skeleton origin to the bottom left corner of the AABB. - * @param size The width and height of the AABB. */ getBounds(offset: Vector2, size: Vector2): void; update(delta: number): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SkeletonBounds { minX: number; @@ -995,57 +478,16 @@ declare module spine { private _polygonPool; update(skeleton: Skeleton, updateAabb: boolean): void; aabbCompute(): void; - /** Returns true if the axis aligned bounding box contains the point. */ aabbContainsPoint(x: number, y: number): boolean; - /** Returns true if the axis aligned bounding box intersects the line segment. */ aabbIntersectsSegment(x1: number, y1: number, x2: number, y2: number): boolean; - /** Returns true if the axis aligned bounding box intersects the axis aligned bounding box of the specified bounds. */ aabbIntersectsSkeleton(bounds: SkeletonBounds): boolean; - /** Returns the first bounding box attachment that contains the point, or null. When doing many checks, it is usually more - * efficient to only call this method if {@link #aabbContainsPoint(float, float)} returns true. */ containsPoint(x: number, y: number): BoundingBoxAttachment; - /** Returns true if the polygon contains the point. */ containsPointPolygon(polygon: ArrayLike, x: number, y: number): boolean; - /** Returns the first bounding box attachment that contains any part of the line segment, or null. When doing many checks, it - * is usually more efficient to only call this method if {@link #aabbIntersectsSegment(float, float, float, float)} returns - * true. */ intersectsSegment(x1: number, y1: number, x2: number, y2: number): BoundingBoxAttachment; - /** Returns true if the polygon contains any part of the line segment. */ intersectsSegmentPolygon(polygon: ArrayLike, x1: number, y1: number, x2: number, y2: number): boolean; - /** Returns the polygon for the specified bounding box, or null. */ getPolygon(boundingBox: BoundingBoxAttachment): ArrayLike; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SkeletonData { name: string; @@ -1076,36 +518,6 @@ declare module spine { findPathConstraintIndex(pathConstraintName: string): number; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SkeletonJson { attachmentLoader: AttachmentLoader; @@ -1124,78 +536,16 @@ declare module spine { static rotateModeFromString(str: string): RotateMode; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Skin { name: string; attachments: Map[]; constructor(name: string); addAttachment(slotIndex: number, name: string, attachment: Attachment): void; - /** @return May be null. */ getAttachment(slotIndex: number, name: string): Attachment; - /** Attach each attachment in this skin if the corresponding attachment in the old skin is currently attached. */ attachAll(skeleton: Skeleton, oldSkin: Skin): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class Slot { data: SlotData; @@ -1205,47 +555,13 @@ declare module spine { private attachmentTime; attachmentVertices: number[]; constructor(data: SlotData, bone: Bone); - /** @return May be null. */ getAttachment(): Attachment; - /** Sets the attachment and if it changed, resets {@link #getAttachmentTime()} and clears {@link #getAttachmentVertices()}. - * @param attachment May be null. */ setAttachment(attachment: Attachment): void; setAttachmentTime(time: number): void; - /** Returns the time since the attachment was set. */ getAttachmentTime(): number; setToSetupPose(): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SlotData { index: number; @@ -1297,41 +613,11 @@ declare module spine { originalHeight: number; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class TextureAtlas implements Disposable { pages: TextureAtlasPage[]; regions: TextureAtlasRegion[]; - constructor(atlasText: string, textureLoader: (path: string, minFilter: TextureFilter, magFilter: TextureFilter, uWrap: TextureWrap, vWrap: TextureWrap) => any); + constructor(atlasText: string, textureLoader: (path: string) => any); private load(atlasText, textureLoader); findRegion(name: string): TextureAtlasRegion; dispose(): void; @@ -1356,36 +642,16 @@ declare module spine { texture: Texture; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +declare module spine { + class TextureAtlasAttachmentLoader implements AttachmentLoader { + atlas: TextureAtlas; + constructor(atlas: TextureAtlas); + newRegionAttachment(skin: Skin, name: string, path: string): RegionAttachment; + newMeshAttachment(skin: Skin, name: string, path: string): MeshAttachment; + newBoundingBoxAttachment(skin: Skin, name: string): BoundingBoxAttachment; + newPathAttachment(skin: Skin, name: string): PathAttachment; + } +} declare module spine { class TransformConstraint implements Updatable { data: TransformConstraintData; @@ -1401,36 +667,6 @@ declare module spine { update(): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class TransformConstraintData { name: string; @@ -1449,71 +685,11 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { interface Updatable { update(): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { interface Map { [key: string]: T; @@ -1570,36 +746,6 @@ declare module spine { set(x: number, y: number): Vector2; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { abstract class Attachment { name: string; @@ -1611,88 +757,18 @@ declare module spine { worldVerticesLength: number; constructor(name: string); computeWorldVertices(slot: Slot, worldVertices: ArrayLike): void; - /** Transforms local vertices to world coordinates. - * @param start The index of the first local vertex value to transform. Each vertex has 2 values, x and y. - * @param count The number of world vertex values to output. Must be <= {@link #getWorldVerticesLength()} - start. - * @param worldVertices The output world vertices. Must have a length >= offset + count. - * @param offset The worldVertices index to begin writing values. */ computeWorldVerticesWith(slot: Slot, start: number, count: number, worldVertices: ArrayLike, offset: number): void; - /** Returns true if a deform originally applied to the specified attachment should be applied to this attachment. */ applyDeform(sourceAttachment: VertexAttachment): boolean; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { interface AttachmentLoader { - /** @return May be null to not load an attachment. */ newRegionAttachment(skin: Skin, name: string, path: string): RegionAttachment; - /** @return May be null to not load an attachment. */ newMeshAttachment(skin: Skin, name: string, path: string): MeshAttachment; - /** @return May be null to not load an attachment. */ newBoundingBoxAttachment(skin: Skin, name: string): BoundingBoxAttachment; - /** @return May be null to not load an attachment */ newPathAttachment(skin: Skin, name: string): PathAttachment; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { enum AttachmentType { Region = 0, @@ -1702,71 +778,11 @@ declare module spine { Path = 4, } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class BoundingBoxAttachment extends VertexAttachment { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class MeshAttachment extends VertexAttachment { region: TextureRegion; @@ -1781,44 +797,12 @@ declare module spine { tempColor: Color; constructor(name: string); updateUVs(): void; - /** @return The updated world vertices. */ updateWorldVertices(slot: Slot, premultipliedAlpha: boolean): ArrayLike; applyDeform(sourceAttachment: VertexAttachment): boolean; getParentMesh(): MeshAttachment; - /** @param parentMesh May be null. */ setParentMesh(parentMesh: MeshAttachment): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class PathAttachment extends VertexAttachment { lengths: Array; @@ -1827,36 +811,6 @@ declare module spine { constructor(name: string); } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class RegionAttachment extends Attachment { static OX1: number; @@ -1919,36 +873,6 @@ declare module spine { updateWorldVertices(slot: Slot, premultipliedAlpha: boolean): ArrayLike; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { class GLTexture extends Texture implements Disposable { private _gl; @@ -1963,36 +887,6 @@ declare module spine.webgl { dispose(): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { const M00: number; const M01: number; @@ -2028,36 +922,6 @@ declare module spine.webgl { multiplyLeft(matrix: Matrix4): Matrix4; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { class Mesh implements Disposable { private _attributes; @@ -2112,36 +976,6 @@ declare module spine.webgl { Float = 0, } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { class PolygonBatcher { private _gl; @@ -2163,36 +997,6 @@ declare module spine.webgl { drawCalls(): number; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { class Shader implements Disposable { private _vertexShader; @@ -2233,36 +1037,6 @@ declare module spine.webgl { static newColored(gl: WebGLRenderingContext): Shader; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { class SkeletonRenderer { static QUAD_TRIANGLES: number[]; @@ -2272,80 +1046,6 @@ declare module spine.webgl { draw(batcher: PolygonBatcher, skeleton: Skeleton): void; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -declare module spine.webgl { - class TextureAtlasAttachmentLoader implements AttachmentLoader { - atlas: TextureAtlas; - constructor(atlas: TextureAtlas); - /** @return May be null to not load an attachment. */ - newRegionAttachment(skin: Skin, name: string, path: string): RegionAttachment; - /** @return May be null to not load an attachment. */ - newMeshAttachment(skin: Skin, name: string, path: string): MeshAttachment; - /** @return May be null to not load an attachment. */ - newBoundingBoxAttachment(skin: Skin, name: string): BoundingBoxAttachment; - /** @return May be null to not load an attachment */ - newPathAttachment(skin: Skin, name: string): PathAttachment; - } -} -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { class Vector3 { x: number; @@ -2364,70 +1064,10 @@ declare module spine.webgl { distance(v: Vector3): number; } } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine.webgl { function getSourceGLBlendMode(gl: WebGLRenderingContext, blendMode: BlendMode, premultipliedAlpha?: boolean): number; function getDestGLBlendMode(gl: WebGLRenderingContext, blendMode: BlendMode): number; } -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ declare module spine { class SpineWidget { skeleton: Skeleton; diff --git a/spine-ts/build/spine-widget.js b/spine-ts/build/spine-widget.js index d7e6361c8..cbf19168a 100644 --- a/spine-ts/build/spine-widget.js +++ b/spine-ts/build/spine-widget.js @@ -1,33 +1,3 @@ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } @@ -121,9 +91,6 @@ var spine; return CurveTimeline.STEPPED; return CurveTimeline.BEZIER; }; - /** Sets the control handle positions for an interpolation bezier curve used to transition from this keyframe to the next. - * cx1 and cx2 are from 0 to 1, representing the percent of time between the two keyframes. cy1 and cy2 are the percent of - * the difference between the keyframe's values. */ CurveTimeline.prototype.setCurve = function (frameIndex, cx1, cy1, cx2, cy2) { var tmpx = (-cx1 * 2 + cx2) * 0.03, tmpy = (-cy1 * 2 + cy2) * 0.03; var dddfx = ((cx1 - cx2) * 3 + 1) * 0.006, dddfy = ((cy1 - cy2) * 3 + 1) * 0.006; @@ -171,7 +138,7 @@ var spine; } } var y = curves[i - 1]; - return y + (1 - y) * (percent - x) / (1 - x); // Last point is 1,1. + return y + (1 - y) * (percent - x) / (1 - x); }; CurveTimeline.LINEAR = 0; CurveTimeline.STEPPED = 1; @@ -186,7 +153,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount << 1); } - /** Sets the time and angle of the specified keyframe. */ RotateTimeline.prototype.setFrame = function (frameIndex, time, degrees) { frameIndex <<= 1; this.frames[frameIndex] = time; @@ -195,7 +161,7 @@ var spine; RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - RotateTimeline.ENTRIES]) { var amount_1 = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] - bone.rotation; @@ -206,7 +172,6 @@ var spine; bone.rotation += amount_1 * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, RotateTimeline.ENTRIES); var prevRotation = frames[frame + RotateTimeline.PREV_ROTATION]; var frameTime = frames[frame]; @@ -236,7 +201,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * TranslateTimeline.ENTRIES); } - /** Sets the time and value of the specified keyframe. */ TranslateTimeline.prototype.setFrame = function (frameIndex, time, x, y) { frameIndex *= TranslateTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -246,14 +210,13 @@ var spine; TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) { bone.x += (bone.data.x + frames[frames.length + TranslateTimeline.PREV_X] - bone.x) * alpha; bone.y += (bone.data.y + frames[frames.length + TranslateTimeline.PREV_Y] - bone.y) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, TranslateTimeline.ENTRIES); var prevX = frames[frame + TranslateTimeline.PREV_X]; var prevY = frames[frame + TranslateTimeline.PREV_Y]; @@ -279,14 +242,13 @@ var spine; ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) { bone.scaleX += (bone.data.scaleX * frames[frames.length + ScaleTimeline.PREV_X] - bone.scaleX) * alpha; bone.scaleY += (bone.data.scaleY * frames[frames.length + ScaleTimeline.PREV_Y] - bone.scaleY) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, ScaleTimeline.ENTRIES); var prevX = frames[frame + ScaleTimeline.PREV_X]; var prevY = frames[frame + ScaleTimeline.PREV_Y]; @@ -306,14 +268,13 @@ var spine; ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var bone = skeleton.bones[this.boneIndex]; if (time >= frames[frames.length - ShearTimeline.ENTRIES]) { bone.shearX += (bone.data.shearX + frames[frames.length + ShearTimeline.PREV_X] - bone.shearX) * alpha; bone.shearY += (bone.data.shearY + frames[frames.length + ShearTimeline.PREV_Y] - bone.shearY) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, ShearTimeline.ENTRIES); var prevX = frames[frame + ShearTimeline.PREV_X]; var prevY = frames[frame + ShearTimeline.PREV_Y]; @@ -331,7 +292,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * ColorTimeline.ENTRIES); } - /** Sets the time and value of the specified keyframe. */ ColorTimeline.prototype.setFrame = function (frameIndex, time, r, g, b, a) { frameIndex *= ColorTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -343,7 +303,7 @@ var spine; ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var r = 0, g = 0, b = 0, a = 0; if (time >= frames[frames.length - ColorTimeline.ENTRIES]) { var i = frames.length; @@ -353,7 +313,6 @@ var spine; a = frames[i + ColorTimeline.PREV_A]; } else { - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, ColorTimeline.ENTRIES); r = frames[frame + ColorTimeline.PREV_R]; g = frames[frame + ColorTimeline.PREV_G]; @@ -393,7 +352,6 @@ var spine; AttachmentTimeline.prototype.getFrameCount = function () { return this.frames.length; }; - /** Sets the time and value of the specified keyframe. */ AttachmentTimeline.prototype.setFrame = function (frameIndex, time, attachmentName) { this.frames[frameIndex] = time; this.attachmentNames[frameIndex] = attachmentName; @@ -401,7 +359,7 @@ var spine; AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var frameIndex = 0; if (time >= frames[frames.length - 1]) frameIndex = frames.length - 1; @@ -422,12 +380,10 @@ var spine; EventTimeline.prototype.getFrameCount = function () { return this.frames.length; }; - /** Sets the time of the specified keyframe. */ EventTimeline.prototype.setFrame = function (frameIndex, event) { this.frames[frameIndex] = event.time; this.events[frameIndex] = event; }; - /** Fires events for frames > lastTime and <= time. */ EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { if (firedEvents == null) return; @@ -440,7 +396,7 @@ var spine; else if (lastTime >= frames[frameCount - 1]) return; if (time < frames[0]) - return; // Time is before first frame. + return; var frame = 0; if (lastTime < frames[0]) frame = 0; @@ -467,8 +423,6 @@ var spine; DrawOrderTimeline.prototype.getFrameCount = function () { return this.frames.length; }; - /** Sets the time of the specified keyframe. - * @param drawOrder May be null to use bind pose draw order. */ DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) { this.frames[frameIndex] = time; this.drawOrders[frameIndex] = drawOrder; @@ -476,7 +430,7 @@ var spine; DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var frame = 0; if (time >= frames[frames.length - 1]) frame = frames.length - 1; @@ -502,7 +456,6 @@ var spine; this.frames = spine.Utils.newFloatArray(frameCount); this.frameVertices = new Array(frameCount); } - /** Sets the time of the specified keyframe. */ DeformTimeline.prototype.setFrame = function (frameIndex, time, vertices) { this.frames[frameIndex] = time; this.frameVertices[frameIndex] = vertices; @@ -514,12 +467,12 @@ var spine; return; var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var frameVertices = this.frameVertices; var vertexCount = frameVertices[0].length; var verticesArray = slot.attachmentVertices; if (verticesArray.length != vertexCount) - alpha = 1; // Don't mix from uninitialized slot vertices. + alpha = 1; var vertices = spine.Utils.setArraySize(verticesArray, vertexCount); if (time >= frames[frames.length - 1]) { var lastVertices = frameVertices[frames.length - 1]; @@ -531,7 +484,6 @@ var spine; spine.Utils.arrayCopy(lastVertices, 0, vertices, 0, vertexCount); return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time); var prevVertices = frameVertices[frame - 1]; var nextVertices = frameVertices[frame]; @@ -559,7 +511,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * IkConstraintTimeline.ENTRIES); } - /** Sets the time, mix and bend direction of the specified keyframe. */ IkConstraintTimeline.prototype.setFrame = function (frameIndex, time, mix, bendDirection) { frameIndex *= IkConstraintTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -569,14 +520,13 @@ var spine; IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.ikConstraints[this.ikConstraintIndex]; if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) { constraint.mix += (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.mix) * alpha; constraint.bendDirection = Math.floor(frames[frames.length + IkConstraintTimeline.PREV_BEND_DIRECTION]); return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, IkConstraintTimeline.ENTRIES); var mix = frames[frame + IkConstraintTimeline.PREV_MIX]; var frameTime = frames[frame]; @@ -599,7 +549,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * TransformConstraintTimeline.ENTRIES); } - /** Sets the time and mixes of the specified keyframe. */ TransformConstraintTimeline.prototype.setFrame = function (frameIndex, time, rotateMix, translateMix, scaleMix, shearMix) { frameIndex *= TransformConstraintTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -611,7 +560,7 @@ var spine; TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.transformConstraints[this.transformConstraintIndex]; if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) { var i = frames.length; @@ -621,7 +570,6 @@ var spine; constraint.shearMix += (frames[i + TransformConstraintTimeline.PREV_SHEAR] - constraint.shearMix) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, TransformConstraintTimeline.ENTRIES); var frameTime = frames[frame]; var percent = this.getCurvePercent(frame / TransformConstraintTimeline.ENTRIES - 1, 1 - (time - frameTime) / (frames[frame + TransformConstraintTimeline.PREV_TIME] - frameTime)); @@ -654,7 +602,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * PathConstraintPositionTimeline.ENTRIES); } - /** Sets the time and value of the specified keyframe. */ PathConstraintPositionTimeline.prototype.setFrame = function (frameIndex, time, value) { frameIndex *= PathConstraintPositionTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -663,14 +610,13 @@ var spine; PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.pathConstraints[this.pathConstraintIndex]; if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES]) { var i = frames.length; constraint.position += (frames[i + PathConstraintPositionTimeline.PREV_VALUE] - constraint.position) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, PathConstraintPositionTimeline.ENTRIES); var position = frames[frame + PathConstraintPositionTimeline.PREV_VALUE]; var frameTime = frames[frame]; @@ -692,14 +638,13 @@ var spine; PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.pathConstraints[this.pathConstraintIndex]; if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES]) { var i = frames.length; constraint.spacing += (frames[i + PathConstraintSpacingTimeline.PREV_VALUE] - constraint.spacing) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, PathConstraintSpacingTimeline.ENTRIES); var spacing = frames[frame + PathConstraintSpacingTimeline.PREV_VALUE]; var frameTime = frames[frame]; @@ -715,7 +660,6 @@ var spine; _super.call(this, frameCount); this.frames = spine.Utils.newFloatArray(frameCount * PathConstraintMixTimeline.ENTRIES); } - /** Sets the time and mixes of the specified keyframe. */ PathConstraintMixTimeline.prototype.setFrame = function (frameIndex, time, rotateMix, translateMix) { frameIndex *= PathConstraintMixTimeline.ENTRIES; this.frames[frameIndex] = time; @@ -725,7 +669,7 @@ var spine; PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; if (time < frames[0]) - return; // Time is before first frame. + return; var constraint = skeleton.pathConstraints[this.pathConstraintIndex]; if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) { var i = frames.length; @@ -733,7 +677,6 @@ var spine; constraint.translateMix += (frames[i + PathConstraintMixTimeline.PREV_TRANSLATE] - constraint.translateMix) * alpha; return; } - // Interpolate between the previous frame and the current frame. var frame = Animation.binarySearch(frames, time, PathConstraintMixTimeline.ENTRIES); var rotate = frames[frame + PathConstraintMixTimeline.PREV_ROTATE]; var translate = frames[frame + PathConstraintMixTimeline.PREV_TRANSLATE]; @@ -753,36 +696,6 @@ var spine; }(CurveTimeline)); spine.PathConstraintMixTimeline = PathConstraintMixTimeline; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var AnimationState = (function () { @@ -807,15 +720,14 @@ var spine; var nextTime = current.lastTime - next.delay; if (nextTime >= 0) { var nextDelta = delta * next.timeScale; - next.time = nextTime + nextDelta; // For start event to see correct time. - current.time += delta * current.timeScale; // For end event to see correct time. + next.time = nextTime + nextDelta; + current.time += delta * current.timeScale; this.setCurrent(i, next); - next.time -= nextDelta; // Prevent increasing time twice, below. + next.time -= nextDelta; current = next; } } else if (!current.loop && current.lastTime >= current.endTime) { - // End non-looping animation when it reaches its end time and there is no next entry. this.clearTrack(i); continue; } @@ -863,7 +775,6 @@ var spine; for (var iii = 0; iii < listenerCount; iii++) this.listeners[iii].event(i, event_1); } - // Check if completed the animation or a loop iteration. if (loop ? (lastTime % endTime > time % endTime) : (lastTime < endTime && time >= endTime)) { var count = spine.MathUtils.toInt(time / endTime); if (current.listener != null) @@ -917,7 +828,6 @@ var spine; entry.mixDuration = this.data.getMix(current.animation, entry.animation); if (entry.mixDuration > 0) { entry.mixTime = 0; - // If a mix is in progress, mix from the closest animation. if (previous != null && current.mixTime / current.mixDuration < 0.5) { entry.previous = previous; previous = current; @@ -932,14 +842,12 @@ var spine; for (var i = 0, n = this.listeners.length; i < n; i++) this.listeners[i].start(index); }; - /** @see #setAnimation(int, Animation, boolean) */ AnimationState.prototype.setAnimation = function (trackIndex, animationName, loop) { var animation = this.data.skeletonData.findAnimation(animationName); if (animation == null) throw new Error("Animation not found: " + animationName); return this.setAnimationWith(trackIndex, animation, loop); }; - /** Set the current animation. Any queued animations are cleared. */ AnimationState.prototype.setAnimationWith = function (trackIndex, animation, loop) { var current = this.expandToIndex(trackIndex); if (current != null) @@ -951,15 +859,12 @@ var spine; this.setCurrent(trackIndex, entry); return entry; }; - /** {@link #addAnimation(int, Animation, boolean, float)} */ AnimationState.prototype.addAnimation = function (trackIndex, animationName, loop, delay) { var animation = this.data.skeletonData.findAnimation(animationName); if (animation == null) throw new Error("Animation not found: " + animationName); return this.addAnimationWith(trackIndex, animation, loop, delay); }; - /** Adds an animation to be played delay seconds after the current or last queued animation. - * @param delay May be <= 0 to use duration of previous animation minus any mix duration plus the negative delay. */ AnimationState.prototype.addAnimationWith = function (trackIndex, animation, loop, delay) { var entry = new TrackEntry(); entry.animation = animation; @@ -982,19 +887,16 @@ var spine; entry.delay = delay; return entry; }; - /** @return May be null. */ AnimationState.prototype.getCurrent = function (trackIndex) { if (trackIndex >= this.tracks.length) return null; return this.tracks[trackIndex]; }; - /** Adds a listener to receive events for all animations. */ AnimationState.prototype.addListener = function (listener) { if (listener == null) throw new Error("listener cannot be null."); this.listeners.push(listener); }; - /** Removes the listener added with {@link #addListener(AnimationStateListener)}. */ AnimationState.prototype.removeListener = function (listener) { var index = this.listeners.indexOf(listener); if (index >= 0) @@ -1024,10 +926,9 @@ var spine; this.animation = null; this.listener = null; this.timeScale = 1; - this.lastTime = -1; // Trigger events on frame zero. + this.lastTime = -1; this.time = 0; }; - /** Returns true if the current time is greater than the end time, regardless of looping. */ TrackEntry.prototype.isComplete = function () { return this.time >= this.endTime; }; @@ -1049,36 +950,6 @@ var spine; }()); spine.AnimationStateAdapter = AnimationStateAdapter; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var AnimationStateData = (function () { @@ -1115,36 +986,6 @@ var spine; }()); spine.AnimationStateData = AnimationStateData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var AssetManager = (function () { @@ -1242,36 +1083,6 @@ var spine; }()); spine.AssetManager = AssetManager; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { (function (BlendMode) { @@ -1282,40 +1093,9 @@ var spine; })(spine.BlendMode || (spine.BlendMode = {})); var BlendMode = spine.BlendMode; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Bone = (function () { - /** @param parent May be null. */ function Bone(data, skeleton, parent) { this.children = new Array(); this.x = 0; @@ -1344,15 +1124,12 @@ var spine; this.parent = parent; this.setToSetupPose(); } - /** Same as {@link #updateWorldTransform()}. This method exists for Bone to implement {@link Updatable}. */ Bone.prototype.update = function () { this.updateWorldTransformWith(this.x, this.y, this.rotation, this.scaleX, this.scaleY, this.shearX, this.shearY); }; - /** Computes the world transform using the parent bone and this bone's local transform. */ Bone.prototype.updateWorldTransform = function () { this.updateWorldTransformWith(this.x, this.y, this.rotation, this.scaleX, this.scaleY, this.shearX, this.shearY); }; - /** Computes the world transform using the parent bone and the specified local transform. */ Bone.prototype.updateWorldTransformWith = function (x, y, rotation, scaleX, scaleY, shearX, shearY) { this.appliedRotation = rotation; var rotationY = rotation + 90 + shearY; @@ -1507,11 +1284,6 @@ var spine; this.c = sin * a + cos * c; this.d = sin * b + cos * d; }; - /** Computes the local transform from the world transform. This can be useful to perform processing on the local transform - * after the world transform has been modified directly (eg, by a constraint). - *

- * Some redundant information is lost by the world transform, such as -1,-1 scale versus 180 rotation. The computed local - * transform values may differ from the original values but are functionally the same. */ Bone.prototype.updateLocalTransform = function () { var parent = this.parent; if (parent == null) { @@ -1572,36 +1344,6 @@ var spine; }()); spine.Bone = Bone; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var BoneData = (function () { @@ -1627,36 +1369,6 @@ var spine; }()); spine.BoneData = BoneData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Event = (function () { @@ -1670,36 +1382,6 @@ var spine; }()); spine.Event = Event; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var EventData = (function () { @@ -1710,36 +1392,6 @@ var spine; }()); spine.EventData = EventData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var IkConstraint = (function () { @@ -1774,8 +1426,6 @@ var spine; break; } }; - /** Adjusts the bone rotation so the tip is as close to the target position as possible. The target is specified in the world - * coordinate system. */ IkConstraint.prototype.apply1 = function (bone, targetX, targetY, alpha) { var pp = bone.parent; var id = 1 / (pp.a * pp.d - pp.b * pp.c); @@ -1790,9 +1440,6 @@ var spine; rotationIK += 360; bone.updateWorldTransformWith(bone.x, bone.y, bone.rotation + rotationIK * alpha, bone.scaleX, bone.scaleY, bone.shearX, bone.shearY); }; - /** Adjusts the parent and child bone rotations so the tip of the child is as close to the target position as possible. The - * target is specified in the world coordinate system. - * @param child A direct descendant of the parent bone. */ IkConstraint.prototype.apply2 = function (parent, child, targetX, targetY, bendDir, alpha) { if (alpha == 0) { child.updateWorldTransform(); @@ -1936,36 +1583,6 @@ var spine; }()); spine.IkConstraint = IkConstraint; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var IkConstraintData = (function () { @@ -1979,36 +1596,6 @@ var spine; }()); spine.IkConstraintData = IkConstraintData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var PathConstraint = (function () { @@ -2166,7 +1753,6 @@ var spine; this.addAfterPosition(p - pathLength_1, world, 0, out, o); continue; } - // Determine curve containing position. for (;; curve++) { var length_4 = lengths[curve]; if (p > length_4) @@ -2192,7 +1778,6 @@ var spine; } return out; } - // World vertices. if (closed) { verticesLength += 2; world = spine.Utils.setArraySize(this.world, verticesLength); @@ -2207,7 +1792,6 @@ var spine; world = spine.Utils.setArraySize(this.world, verticesLength); path.computeWorldVerticesWith(target, 2, verticesLength, world, 0); } - // Curve lengths. var curves = spine.Utils.setArraySize(this.curves, curveCount); var pathLength = 0; var x1 = world[0], y1 = world[1], cx1 = 0, cy1 = 0, cx2 = 0, cy2 = 0, x2 = 0, y2 = 0; @@ -2269,7 +1853,6 @@ var spine; this.addAfterPosition(p - pathLength, world, verticesLength - 4, out, o); continue; } - // Determine curve containing position. for (;; curve++) { var length_5 = curves[curve]; if (p > length_5) @@ -2282,7 +1865,6 @@ var spine; } break; } - // Curve segment lengths. if (curve != prevCurve) { prevCurve = curve; var ii = curve * 6; @@ -2322,7 +1904,6 @@ var spine; segments[9] = curveLength; segment = 0; } - // Weight by segment length. p *= curveLength; for (;; segment++) { var length_6 = segments[segment]; @@ -2370,36 +1951,6 @@ var spine; }()); spine.PathConstraint = PathConstraint; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var PathConstraintData = (function () { @@ -2428,36 +1979,6 @@ var spine; })(spine.RotateMode || (spine.RotateMode = {})); var RotateMode = spine.RotateMode; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Skeleton = (function () { @@ -2518,7 +2039,6 @@ var spine; var bones = this.bones; for (var i = 0, n = bones.length; i < n; i++) bones[i].sorted = false; - // IK first, lowest hierarchy depth first. var ikConstraints = this.ikConstraintsSorted; ikConstraints.length = 0; for (var i = 0; i < this.ikConstraints.length; i++) @@ -2634,18 +2154,15 @@ var spine; bone.sorted = false; } }; - /** Updates the world transform for each bone and applies constraints. */ Skeleton.prototype.updateWorldTransform = function () { var updateCache = this._updateCache; for (var i = 0, n = updateCache.length; i < n; i++) updateCache[i].update(); }; - /** Sets the bones, constraints, and slots to their setup pose values. */ Skeleton.prototype.setToSetupPose = function () { this.setBonesToSetupPose(); this.setSlotsToSetupPose(); }; - /** Sets the bones and constraints to their setup pose values. */ Skeleton.prototype.setBonesToSetupPose = function () { var bones = this.bones; for (var i = 0, n = bones.length; i < n; i++) @@ -2681,13 +2198,11 @@ var spine; for (var i = 0, n = slots.length; i < n; i++) slots[i].setToSetupPose(); }; - /** @return May return null. */ Skeleton.prototype.getRootBone = function () { if (this.bones.length == 0) return null; return this.bones[0]; }; - /** @return May be null. */ Skeleton.prototype.findBone = function (boneName) { if (boneName == null) throw new Error("boneName cannot be null."); @@ -2699,7 +2214,6 @@ var spine; } return null; }; - /** @return -1 if the bone was not found. */ Skeleton.prototype.findBoneIndex = function (boneName) { if (boneName == null) throw new Error("boneName cannot be null."); @@ -2709,7 +2223,6 @@ var spine; return i; return -1; }; - /** @return May be null. */ Skeleton.prototype.findSlot = function (slotName) { if (slotName == null) throw new Error("slotName cannot be null."); @@ -2721,7 +2234,6 @@ var spine; } return null; }; - /** @return -1 if the bone was not found. */ Skeleton.prototype.findSlotIndex = function (slotName) { if (slotName == null) throw new Error("slotName cannot be null."); @@ -2731,18 +2243,12 @@ var spine; return i; return -1; }; - /** Sets a skin by name. - * @see #setSkin(Skin) */ Skeleton.prototype.setSkinByName = function (skinName) { var skin = this.data.findSkin(skinName); if (skin == null) throw new Error("Skin not found: " + skinName); this.setSkin(skin); }; - /** Sets the skin used to look up attachments before looking in the {@link SkeletonData#getDefaultSkin() default skin}. - * Attachments from the new skin are attached if the corresponding attachment from the old skin was attached. If there was no - * old skin, each slot's setup mode attachment is attached from the new skin. - * @param newSkin May be null. */ Skeleton.prototype.setSkin = function (newSkin) { if (newSkin != null) { if (this.skin != null) @@ -2762,11 +2268,9 @@ var spine; } this.skin = newSkin; }; - /** @return May be null. */ Skeleton.prototype.getAttachmentByName = function (slotName, attachmentName) { return this.getAttachment(this.data.findSlotIndex(slotName), attachmentName); }; - /** @return May be null. */ Skeleton.prototype.getAttachment = function (slotIndex, attachmentName) { if (attachmentName == null) throw new Error("attachmentName cannot be null."); @@ -2779,7 +2283,6 @@ var spine; return this.data.defaultSkin.getAttachment(slotIndex, attachmentName); return null; }; - /** @param attachmentName May be null. */ Skeleton.prototype.setAttachment = function (slotName, attachmentName) { if (slotName == null) throw new Error("slotName cannot be null."); @@ -2799,7 +2302,6 @@ var spine; } throw new Error("Slot not found: " + slotName); }; - /** @return May be null. */ Skeleton.prototype.findIkConstraint = function (constraintName) { if (constraintName == null) throw new Error("constraintName cannot be null."); @@ -2811,7 +2313,6 @@ var spine; } return null; }; - /** @return May be null. */ Skeleton.prototype.findTransformConstraint = function (constraintName) { if (constraintName == null) throw new Error("constraintName cannot be null."); @@ -2823,7 +2324,6 @@ var spine; } return null; }; - /** @return May be null. */ Skeleton.prototype.findPathConstraint = function (constraintName) { if (constraintName == null) throw new Error("constraintName cannot be null."); @@ -2835,9 +2335,6 @@ var spine; } return null; }; - /** Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose. - * @param offset The distance from the skeleton origin to the bottom left corner of the AABB. - * @param size The width and height of the AABB. */ Skeleton.prototype.getBounds = function (offset, size) { if (offset == null) throw new Error("offset cannot be null."); @@ -2873,36 +2370,6 @@ var spine; }()); spine.Skeleton = Skeleton; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SkeletonBounds = (function () { @@ -2965,11 +2432,9 @@ var spine; this.maxX = maxX; this.maxY = maxY; }; - /** Returns true if the axis aligned bounding box contains the point. */ SkeletonBounds.prototype.aabbContainsPoint = function (x, y) { return x >= this.minX && x <= this.maxX && y >= this.minY && y <= this.maxY; }; - /** Returns true if the axis aligned bounding box intersects the line segment. */ SkeletonBounds.prototype.aabbIntersectsSegment = function (x1, y1, x2, y2) { var minX = this.minX; var minY = this.minY; @@ -2992,12 +2457,9 @@ var spine; return true; return false; }; - /** Returns true if the axis aligned bounding box intersects the axis aligned bounding box of the specified bounds. */ SkeletonBounds.prototype.aabbIntersectsSkeleton = function (bounds) { return this.minX < bounds.maxX && this.maxX > bounds.minX && this.minY < bounds.maxY && this.maxY > bounds.minY; }; - /** Returns the first bounding box attachment that contains the point, or null. When doing many checks, it is usually more - * efficient to only call this method if {@link #aabbContainsPoint(float, float)} returns true. */ SkeletonBounds.prototype.containsPoint = function (x, y) { var polygons = this.polygons; for (var i = 0, n = polygons.length; i < n; i++) @@ -3005,7 +2467,6 @@ var spine; return this.boundingBoxes[i]; return null; }; - /** Returns true if the polygon contains the point. */ SkeletonBounds.prototype.containsPointPolygon = function (polygon, x, y) { var vertices = polygon; var nn = polygon.length; @@ -3023,9 +2484,6 @@ var spine; } return inside; }; - /** Returns the first bounding box attachment that contains any part of the line segment, or null. When doing many checks, it - * is usually more efficient to only call this method if {@link #aabbIntersectsSegment(float, float, float, float)} returns - * true. */ SkeletonBounds.prototype.intersectsSegment = function (x1, y1, x2, y2) { var polygons = this.polygons; for (var i = 0, n = polygons.length; i < n; i++) @@ -3033,7 +2491,6 @@ var spine; return this.boundingBoxes[i]; return null; }; - /** Returns true if the polygon contains any part of the line segment. */ SkeletonBounds.prototype.intersectsSegmentPolygon = function (polygon, x1, y1, x2, y2) { var vertices = polygon; var nn = polygon.length; @@ -3056,7 +2513,6 @@ var spine; } return false; }; - /** Returns the polygon for the specified bounding box, or null. */ SkeletonBounds.prototype.getPolygon = function (boundingBox) { if (boundingBox == null) throw new Error("boundingBox cannot be null."); @@ -3067,42 +2523,12 @@ var spine; }()); spine.SkeletonBounds = SkeletonBounds; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SkeletonData = (function () { function SkeletonData() { - this.bones = new Array(); // Ordered parents first. - this.slots = new Array(); // Setup pose draw order. + this.bones = new Array(); + this.slots = new Array(); this.skins = new Array(); this.events = new Array(); this.animations = new Array(); @@ -3229,36 +2655,6 @@ var spine; }()); spine.SkeletonData = SkeletonData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SkeletonJson = (function () { @@ -3271,7 +2667,6 @@ var spine; var scale = this.scale; var skeletonData = new spine.SkeletonData(); var root = JSON.parse(json); - // Skeleton var skeletonMap = root.skeleton; if (skeletonMap != null) { skeletonData.hash = skeletonMap.hash; @@ -3280,7 +2675,6 @@ var spine; skeletonData.height = skeletonMap.height; skeletonData.imagesPath = skeletonMap.images; } - // Bones if (root.bones) { for (var i = 0; i < root.bones.length; i++) { var boneMap = root.bones[i]; @@ -3305,7 +2699,6 @@ var spine; skeletonData.bones.push(data); } } - // Slots. if (root.slots) { for (var i = 0; i < root.slots.length; i++) { var slotMap = root.slots[i]; @@ -3323,7 +2716,6 @@ var spine; skeletonData.slots.push(data); } } - // IK constraints if (root.ik) { for (var i = 0; i < root.ik.length; i++) { var constraintMap = root.ik[i]; @@ -3344,7 +2736,6 @@ var spine; skeletonData.ikConstraints.push(data); } } - // Transform constraints. if (root.transform) { for (var i = 0; i < root.transform.length; i++) { var constraintMap = root.transform[i]; @@ -3373,7 +2764,6 @@ var spine; skeletonData.transformConstraints.push(data); } } - // Path constraints. if (root.path) { for (var i = 0; i < root.path.length; i++) { var constraintMap = root.path[i]; @@ -3404,7 +2794,6 @@ var spine; skeletonData.pathConstraints.push(data); } } - // Skins. if (root.skins) { for (var skinName in root.skins) { var skinMap = root.skins[skinName]; @@ -3425,7 +2814,6 @@ var spine; skeletonData.defaultSkin = skin; } } - // Linked meshes. for (var i = 0, n = this.linkedMeshes.length; i < n; i++) { var linkedMesh = this.linkedMeshes[i]; var skin = linkedMesh.skin == null ? skeletonData.defaultSkin : skeletonData.findSkin(linkedMesh.skin); @@ -3438,7 +2826,6 @@ var spine; linkedMesh.mesh.updateUVs(); } this.linkedMeshes.length = 0; - // Events. if (root.events) { for (var eventName in root.events) { var eventMap = root.events[eventName]; @@ -3449,7 +2836,6 @@ var spine; skeletonData.events.push(data); } } - // Animations. if (root.animations) { for (var animationName in root.animations) { var animationMap = root.animations[animationName]; @@ -3561,7 +2947,6 @@ var spine; var scale = this.scale; var timelines = new Array(); var duration = 0; - // Slot timelines. if (map.slots) { for (var slotName in map.slots) { var slotMap = map.slots[slotName]; @@ -3601,7 +2986,6 @@ var spine; } } } - // Bone timelines. if (map.bones) { for (var boneName in map.bones) { var boneMap = map.bones[boneName]; @@ -3651,7 +3035,6 @@ var spine; } } } - // IK constraint timelines. if (map.ik) { for (var constraintName in map.ik) { var constraintMap = map.ik[constraintName]; @@ -3669,7 +3052,6 @@ var spine; duration = Math.max(duration, timeline.frames[(timeline.getFrameCount() - 1) * spine.IkConstraintTimeline.ENTRIES]); } } - // Transform constraint timelines. if (map.transform) { for (var constraintName in map.transform) { var constraintMap = map.transform[constraintName]; @@ -3687,7 +3069,6 @@ var spine; duration = Math.max(duration, timeline.frames[(timeline.getFrameCount() - 1) * spine.TransformConstraintTimeline.ENTRIES]); } } - // Path constraint timelines. if (map.paths) { for (var constraintName in map.paths) { var constraintMap = map.paths[constraintName]; @@ -3737,7 +3118,6 @@ var spine; } } } - // Deform timelines. if (map.deform) { for (var deformName in map.deform) { var deformMap = map.deform[deformName]; @@ -3790,7 +3170,6 @@ var spine; } } } - // Draw order timeline. var drawOrderNode = map.drawOrder; if (drawOrderNode == null) drawOrderNode = map.draworder; @@ -3811,16 +3190,12 @@ var spine; var slotIndex = skeletonData.findSlotIndex(offsetMap.slot); if (slotIndex == -1) throw new Error("Slot not found: " + offsetMap.slot); - // Collect unchanged items. while (originalIndex != slotIndex) unchanged[unchangedIndex++] = originalIndex++; - // Set changed items. drawOrder[originalIndex + offsetMap.offset] = originalIndex++; } - // Collect remaining unchanged items. while (originalIndex < slotCount) unchanged[unchangedIndex++] = originalIndex++; - // Fill in unchanged items. for (var i = slotCount - 1; i >= 0; i--) if (drawOrder[i] == -1) drawOrder[i] = unchanged[--unchangedIndex]; @@ -3830,7 +3205,6 @@ var spine; timelines.push(timeline); duration = Math.max(duration, timeline.frames[timeline.getFrameCount() - 1]); } - // Event timeline. if (map.events) { var timeline = new spine.EventTimeline(map.events.length); var frameIndex = 0; @@ -3919,36 +3293,6 @@ var spine; return LinkedMesh; }()); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Skin = (function () { @@ -3968,12 +3312,10 @@ var spine; attachments[slotIndex] = {}; attachments[slotIndex][name] = attachment; }; - /** @return May be null. */ Skin.prototype.getAttachment = function (slotIndex, name) { var dictionary = this.attachments[slotIndex]; return dictionary ? dictionary[name] : null; }; - /** Attach each attachment in this skin if the corresponding attachment in the old skin is currently attached. */ Skin.prototype.attachAll = function (skeleton, oldSkin) { var slotIndex = 0; for (var i = 0; i < skeleton.slots.length; i++) { @@ -3998,36 +3340,6 @@ var spine; }()); spine.Skin = Skin; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Slot = (function () { @@ -4042,12 +3354,9 @@ var spine; this.color = new spine.Color(); this.setToSetupPose(); } - /** @return May be null. */ Slot.prototype.getAttachment = function () { return this.attachment; }; - /** Sets the attachment and if it changed, resets {@link #getAttachmentTime()} and clears {@link #getAttachmentVertices()}. - * @param attachment May be null. */ Slot.prototype.setAttachment = function (attachment) { if (this.attachment == attachment) return; @@ -4058,7 +3367,6 @@ var spine; Slot.prototype.setAttachmentTime = function (time) { this.attachmentTime = this.bone.skeleton.time - time; }; - /** Returns the time since the attachment was set. */ Slot.prototype.getAttachmentTime = function () { return this.bone.skeleton.time - this.attachmentTime; }; @@ -4075,36 +3383,6 @@ var spine; }()); spine.Slot = Slot; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SlotData = (function () { @@ -4163,13 +3441,13 @@ var spine; TextureFilter[TextureFilter["MipMapNearestNearest"] = 9984] = "MipMapNearestNearest"; TextureFilter[TextureFilter["MipMapLinearNearest"] = 9985] = "MipMapLinearNearest"; TextureFilter[TextureFilter["MipMapNearestLinear"] = 9986] = "MipMapNearestLinear"; - TextureFilter[TextureFilter["MipMapLinearLinear"] = 9987] = "MipMapLinearLinear"; // WebGLRenderingContext.LINEAR_MIPMAP_LINEAR + TextureFilter[TextureFilter["MipMapLinearLinear"] = 9987] = "MipMapLinearLinear"; })(spine.TextureFilter || (spine.TextureFilter = {})); var TextureFilter = spine.TextureFilter; (function (TextureWrap) { TextureWrap[TextureWrap["MirroredRepeat"] = 33648] = "MirroredRepeat"; TextureWrap[TextureWrap["ClampToEdge"] = 33071] = "ClampToEdge"; - TextureWrap[TextureWrap["Repeat"] = 10497] = "Repeat"; // WebGLRenderingContext.REPEAT + TextureWrap[TextureWrap["Repeat"] = 10497] = "Repeat"; })(spine.TextureWrap || (spine.TextureWrap = {})); var TextureWrap = spine.TextureWrap; var TextureRegion = (function () { @@ -4190,36 +3468,6 @@ var spine; }()); spine.TextureRegion = TextureRegion; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var TextureAtlas = (function () { @@ -4249,7 +3497,6 @@ var spine; page.height = parseInt(tuple[1]); reader.readTuple(tuple); } - // page.format = Format[tuple[0]]; we don't need format in WebGL reader.readTuple(tuple); page.minFilter = spine.Texture.filterFromString(tuple[0]); page.magFilter = spine.Texture.filterFromString(tuple[1]); @@ -4262,7 +3509,9 @@ var spine; page.vWrap = spine.TextureWrap.Repeat; else if (direction == "xy") page.uWrap = page.vWrap = spine.TextureWrap.Repeat; - page.texture = textureLoader(line, page.minFilter, page.magFilter, page.uWrap, page.vWrap); + page.texture = textureLoader(line); + page.texture.setFilters(page.minFilter, page.magFilter); + page.texture.setWraps(page.uWrap, page.vWrap); page.width = page.texture.getImage().width; page.height = page.texture.getImage().height; this.pages.push(page); @@ -4293,9 +3542,7 @@ var spine; region.width = Math.abs(width); region.height = Math.abs(height); if (reader.readTuple(tuple) == 4) { - // region.splits = new Vector.(parseInt(tuple[0]), parseInt(tuple[1]), parseInt(tuple[2]), parseInt(tuple[3])); if (reader.readTuple(tuple) == 4) { - //region.pads = Vector.(parseInt(tuple[0]), parseInt(tuple[1]), parseInt(tuple[2]), parseInt(tuple[3])); reader.readTuple(tuple); } } @@ -4376,36 +3623,41 @@ var spine; }(spine.TextureRegion)); spine.TextureAtlasRegion = TextureAtlasRegion; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ +var spine; +(function (spine) { + var TextureAtlasAttachmentLoader = (function () { + function TextureAtlasAttachmentLoader(atlas) { + this.atlas = atlas; + } + TextureAtlasAttachmentLoader.prototype.newRegionAttachment = function (skin, name, path) { + var region = this.atlas.findRegion(path); + region.renderObject = region; + if (region == null) + throw new Error("Region not found in atlas: " + path + " (region attachment: " + name + ")"); + var attachment = new spine.RegionAttachment(name); + attachment.setRegion(region); + attachment.region = region; + return attachment; + }; + TextureAtlasAttachmentLoader.prototype.newMeshAttachment = function (skin, name, path) { + var region = this.atlas.findRegion(path); + region.renderObject = region; + if (region == null) + throw new Error("Region not found in atlas: " + path + " (mesh attachment: " + name + ")"); + var attachment = new spine.MeshAttachment(name); + attachment.region = region; + return attachment; + }; + TextureAtlasAttachmentLoader.prototype.newBoundingBoxAttachment = function (skin, name) { + return new spine.BoundingBoxAttachment(name); + }; + TextureAtlasAttachmentLoader.prototype.newPathAttachment = function (skin, name) { + return new spine.PathAttachment(name); + }; + return TextureAtlasAttachmentLoader; + }()); + spine.TextureAtlasAttachmentLoader = TextureAtlasAttachmentLoader; +})(spine || (spine = {})); var spine; (function (spine) { var TransformConstraint = (function () { @@ -4490,36 +3742,6 @@ var spine; }()); spine.TransformConstraint = TransformConstraint; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var TransformConstraintData = (function () { @@ -4543,66 +3765,6 @@ var spine; }()); spine.TransformConstraintData = TransformConstraintData; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Color = (function () { @@ -4777,36 +3939,6 @@ var spine; }()); spine.Vector2 = Vector2; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var Attachment = (function () { @@ -4827,11 +3959,6 @@ var spine; VertexAttachment.prototype.computeWorldVertices = function (slot, worldVertices) { this.computeWorldVerticesWith(slot, 0, this.worldVerticesLength, worldVertices, 0); }; - /** Transforms local vertices to world coordinates. - * @param start The index of the first local vertex value to transform. Each vertex has 2 values, x and y. - * @param count The number of world vertex values to output. Must be <= {@link #getWorldVerticesLength()} - start. - * @param worldVertices The output world vertices. Must have a length >= offset + count. - * @param offset The worldVertices index to begin writing values. */ VertexAttachment.prototype.computeWorldVerticesWith = function (slot, start, count, worldVertices, offset) { count += offset; var skeleton = slot.bone.skeleton; @@ -4892,7 +4019,6 @@ var spine; } } }; - /** Returns true if a deform originally applied to the specified attachment should be applied to this attachment. */ VertexAttachment.prototype.applyDeform = function (sourceAttachment) { return this == sourceAttachment; }; @@ -4900,66 +4026,6 @@ var spine; }(Attachment)); spine.VertexAttachment = VertexAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { (function (AttachmentType) { @@ -4971,36 +4037,6 @@ var spine; })(spine.AttachmentType || (spine.AttachmentType = {})); var AttachmentType = spine.AttachmentType; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var BoundingBoxAttachment = (function (_super) { @@ -5012,36 +4048,6 @@ var spine; }(spine.VertexAttachment)); spine.BoundingBoxAttachment = BoundingBoxAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var MeshAttachment = (function (_super) { @@ -5082,7 +4088,6 @@ var spine; } } }; - /** @return The updated world vertices. */ MeshAttachment.prototype.updateWorldVertices = function (slot, premultipliedAlpha) { var skeleton = slot.bone.skeleton; var skeletonColor = skeleton.color, slotColor = slot.color, meshColor = this.color; @@ -5159,7 +4164,6 @@ var spine; MeshAttachment.prototype.getParentMesh = function () { return this._parentMesh; }; - /** @param parentMesh May be null. */ MeshAttachment.prototype.setParentMesh = function (parentMesh) { this._parentMesh = parentMesh; if (parentMesh != null) { @@ -5174,36 +4178,6 @@ var spine; }(spine.VertexAttachment)); spine.MeshAttachment = MeshAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var PathAttachment = (function (_super) { @@ -5217,36 +4191,6 @@ var spine; }(spine.VertexAttachment)); spine.PathAttachment = PathAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var RegionAttachment = (function (_super) { @@ -5333,7 +4277,7 @@ var spine; var offsetX = 0, offsetY = 0; offsetX = offset[RegionAttachment.OX1]; offsetY = offset[RegionAttachment.OY1]; - vertices[RegionAttachment.X1] = offsetX * a + offsetY * b + x; // br + vertices[RegionAttachment.X1] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y1] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C1R] = color.r; vertices[RegionAttachment.C1G] = color.g; @@ -5341,7 +4285,7 @@ var spine; vertices[RegionAttachment.C1A] = color.a; offsetX = offset[RegionAttachment.OX2]; offsetY = offset[RegionAttachment.OY2]; - vertices[RegionAttachment.X2] = offsetX * a + offsetY * b + x; // bl + vertices[RegionAttachment.X2] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y2] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C2R] = color.r; vertices[RegionAttachment.C2G] = color.g; @@ -5349,7 +4293,7 @@ var spine; vertices[RegionAttachment.C2A] = color.a; offsetX = offset[RegionAttachment.OX3]; offsetY = offset[RegionAttachment.OY3]; - vertices[RegionAttachment.X3] = offsetX * a + offsetY * b + x; // ul + vertices[RegionAttachment.X3] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y3] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C3R] = color.r; vertices[RegionAttachment.C3G] = color.g; @@ -5357,7 +4301,7 @@ var spine; vertices[RegionAttachment.C3A] = color.a; offsetX = offset[RegionAttachment.OX4]; offsetY = offset[RegionAttachment.OY4]; - vertices[RegionAttachment.X4] = offsetX * a + offsetY * b + x; // ur + vertices[RegionAttachment.X4] = offsetX * a + offsetY * b + x; vertices[RegionAttachment.Y4] = offsetX * c + offsetY * d + y; vertices[RegionAttachment.C4R] = color.r; vertices[RegionAttachment.C4G] = color.g; @@ -5409,36 +4353,6 @@ var spine; }(spine.Attachment)); spine.RegionAttachment = RegionAttachment; })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -5497,36 +4411,6 @@ var spine; webgl.GLTexture = GLTexture; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -5790,36 +4674,6 @@ var spine; webgl.Matrix4 = Matrix4; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -5984,36 +4838,6 @@ var spine; var VertexAttributeType = webgl.VertexAttributeType; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -6101,36 +4925,6 @@ var spine; webgl.PolygonBatcher = PolygonBatcher; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -6273,36 +5067,6 @@ var spine; webgl.Shader = Shader; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -6334,6 +5098,8 @@ var spine; triangles = mesh.triangles; texture = mesh.region.renderObject.texture; } + else + continue; if (texture != null) { var slotBlendMode = slot.data.blendMode; if (slotBlendMode != blendMode) { @@ -6350,108 +5116,6 @@ var spine; webgl.SkeletonRenderer = SkeletonRenderer; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ -var spine; -(function (spine) { - var webgl; - (function (webgl) { - var TextureAtlasAttachmentLoader = (function () { - function TextureAtlasAttachmentLoader(atlas) { - this.atlas = atlas; - } - /** @return May be null to not load an attachment. */ - TextureAtlasAttachmentLoader.prototype.newRegionAttachment = function (skin, name, path) { - var region = this.atlas.findRegion(path); - region.renderObject = region; - if (region == null) - throw new Error("Region not found in atlas: " + path + " (region attachment: " + name + ")"); - var attachment = new spine.RegionAttachment(name); - attachment.setRegion(region); - attachment.region = region; - return attachment; - }; - /** @return May be null to not load an attachment. */ - TextureAtlasAttachmentLoader.prototype.newMeshAttachment = function (skin, name, path) { - var region = this.atlas.findRegion(path); - region.renderObject = region; - if (region == null) - throw new Error("Region not found in atlas: " + path + " (mesh attachment: " + name + ")"); - var attachment = new spine.MeshAttachment(name); - attachment.region = region; - return attachment; - }; - /** @return May be null to not load an attachment. */ - TextureAtlasAttachmentLoader.prototype.newBoundingBoxAttachment = function (skin, name) { - return new spine.BoundingBoxAttachment(name); - }; - /** @return May be null to not load an attachment */ - TextureAtlasAttachmentLoader.prototype.newPathAttachment = function (skin, name) { - return new spine.PathAttachment(name); - }; - return TextureAtlasAttachmentLoader; - }()); - webgl.TextureAtlasAttachmentLoader = TextureAtlasAttachmentLoader; - })(webgl = spine.webgl || (spine.webgl = {})); -})(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -6525,36 +5189,6 @@ var spine; webgl.Vector3 = Vector3; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var webgl; @@ -6582,36 +5216,6 @@ var spine; webgl.getDestGLBlendMode = getDestGLBlendMode; })(webgl = spine.webgl || (spine.webgl = {})); })(spine || (spine = {})); -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ var spine; (function (spine) { var SpineWidget = (function () { @@ -6699,15 +5303,12 @@ var spine; else throw new Error("Failed to load assets: " + JSON.stringify(assetManager.errors)); } - var atlas = new spine.TextureAtlas(this._assetManager.get(this._config.atlas), function (path, minFilter, magFilter, uWrap, vWrap) { + var atlas = new spine.TextureAtlas(this._assetManager.get(this._config.atlas), function (path) { var texture = assetManager.get(imagesPath + path); - texture.setFilters(minFilter, magFilter); - texture.setWraps(uWrap, vWrap); return texture; }); - var atlasLoader = new spine.webgl.TextureAtlasAttachmentLoader(atlas); + var atlasLoader = new spine.TextureAtlasAttachmentLoader(atlas); var skeletonJson = new spine.SkeletonJson(atlasLoader); - // Set the scale to apply during parsing, parse the file, and create a new skeleton. skeletonJson.scale = config.scale; var skeletonData = skeletonJson.readSkeletonData(assetManager.get(config.json)); var skeleton = this.skeleton = new spine.Skeleton(skeletonData); @@ -6735,19 +5336,16 @@ var spine; var color = this._backgroundColor; gl.clearColor(color.r, color.g, color.b, color.a); gl.clear(gl.COLOR_BUFFER_BIT); - // Apply the animation state based on the delta time. var state = this.state; var skeleton = this.skeleton; var premultipliedAlpha = this._config.premultipliedAlpha; state.update(delta); state.apply(skeleton); skeleton.updateWorldTransform(); - // Bind the shader and set the texture and model-view-projection matrix. var shader = this._shader; shader.bind(); shader.setUniformi(spine.webgl.Shader.SAMPLER, 0); shader.setUniform4x4f(spine.webgl.Shader.MVP_MATRIX, this._mvp.values); - // Start the batch and tell the SkeletonRenderer to render the active skeleton. var batcher = this._batcher; var skeletonRenderer = this._skeletonRenderer; batcher.begin(shader); diff --git a/spine-ts/build/spine-widget.js.map b/spine-ts/build/spine-widget.js.map index dbdc4b46c..be1b02919 100644 --- a/spine-ts/build/spine-widget.js.map +++ b/spine-ts/build/spine-widget.js.map @@ -1 +1 @@ -{"version":3,"file":"spine-widget.js","sourceRoot":"","sources":["../core/src/Animation.ts","../core/src/AnimationState.ts","../core/src/AnimationStateData.ts","../core/src/AssetManager.ts","../core/src/BlendMode.ts","../core/src/Bone.ts","../core/src/BoneData.ts","../core/src/Event.ts","../core/src/EventData.ts","../core/src/IkConstraint.ts","../core/src/IkConstraintData.ts","../core/src/PathConstraint.ts","../core/src/PathConstraintData.ts","../core/src/Skeleton.ts","../core/src/SkeletonBounds.ts","../core/src/SkeletonData.ts","../core/src/SkeletonJson.ts","../core/src/Skin.ts","../core/src/Slot.ts","../core/src/SlotData.ts","../core/src/Texture.ts","../core/src/TextureAtlas.ts","../core/src/TransformConstraint.ts","../core/src/TransformConstraintData.ts","../core/src/Updatable.ts","../core/src/Utils.ts","../core/src/attachments/Attachment.ts","../core/src/attachments/AttachmentLoader.ts","../core/src/attachments/AttachmentType.ts","../core/src/attachments/BoundingBoxAttachment.ts","../core/src/attachments/MeshAttachment.ts","../core/src/attachments/PathAttachment.ts","../core/src/attachments/RegionAttachment.ts","../webgl/src/GLTexture.ts","../webgl/src/Matrix4.ts","../webgl/src/Mesh.ts","../webgl/src/PolygonBatcher.ts","../webgl/src/Shader.ts","../webgl/src/SkeletonRenderer.ts","../webgl/src/TextureAtlasAttachmentLoader.ts","../webgl/src/Vector3.ts","../webgl/src/WebGL.ts","../widget/src/Widget.ts"],"names":[],"mappings":"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G,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC/G,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChH,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;oBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACzD,IAAI,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,6BAAW,GAAX;gBACC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,MAAM,CAAC,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC3G,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,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,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAED,8BAAY,GAAZ,UAAc,MAAe;gBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC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"} \ No newline at end of file +{"version":3,"file":"spine-widget.js","sourceRoot":"","sources":["../core/src/Animation.ts","../core/src/AnimationState.ts","../core/src/AnimationStateData.ts","../core/src/AssetManager.ts","../core/src/BlendMode.ts","../core/src/Bone.ts","../core/src/BoneData.ts","../core/src/Event.ts","../core/src/EventData.ts","../core/src/IkConstraint.ts","../core/src/IkConstraintData.ts","../core/src/PathConstraint.ts","../core/src/PathConstraintData.ts","../core/src/Skeleton.ts","../core/src/SkeletonBounds.ts","../core/src/SkeletonData.ts","../core/src/SkeletonJson.ts","../core/src/Skin.ts","../core/src/Slot.ts","../core/src/SlotData.ts","../core/src/Texture.ts","../core/src/TextureAtlas.ts","../core/src/TextureAtlasAttachmentLoader.ts","../core/src/TransformConstraint.ts","../core/src/TransformConstraintData.ts","../core/src/Updatable.ts","../core/src/Utils.ts","../core/src/attachments/Attachment.ts","../core/src/attachments/AttachmentLoader.ts","../core/src/attachments/AttachmentType.ts","../core/src/attachments/BoundingBoxAttachment.ts","../core/src/attachments/MeshAttachment.ts","../core/src/attachments/PathAttachment.ts","../core/src/attachments/RegionAttachment.ts","../webgl/src/GLTexture.ts","../webgl/src/Matrix4.ts","../webgl/src/Mesh.ts","../webgl/src/PolygonBatcher.ts","../webgl/src/Shader.ts","../webgl/src/SkeletonRenderer.ts","../webgl/src/Vector3.ts","../webgl/src/WebGL.ts","../widget/src/Widget.ts"],"names":[],"mappings":";;;;;AA+BA,IAAO,KAAK,CAgxBX;AAhxBD,WAAO,KAAK,EAAC,CAAC;IACb;QAKC,mBAAa,IAAY,EAAE,SAA0B,EAAE,QAAgB;YACtE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACpE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,CAAC;QAED,yBAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,IAAa,EAAE,MAAoB;YAC7F,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAElE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;gBACtB,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;oBAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC7C,CAAC;YAED,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC/C,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,uBAAG,GAAH,UAAK,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,IAAa,EAAE,MAAoB,EAAE,KAAa;YAC1G,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAElE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;gBACtB,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;oBAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC7C,CAAC;YAED,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC/C,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;QAEM,sBAAY,GAAnB,UAAqB,MAAyB,EAAE,MAAc,EAAE,IAAgB;YAAhB,oBAAgB,GAAhB,QAAgB;YAC/E,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;YACpC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YAC3B,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC;YACzB,OAAO,IAAI,EAAE,CAAC;gBACb,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC;oBAC1C,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;gBACnB,IAAI;oBACH,IAAI,GAAG,OAAO,CAAC;gBAChB,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;oBAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;gBACzC,OAAO,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;QAEM,sBAAY,GAAnB,UAAqB,MAAyB,EAAE,MAAc,EAAE,IAAY;YAC3E,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI;gBAChE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QACF,gBAAC;IAAD,CAAC,AA3DD,IA2DC;IA3DY,eAAS,YA2DrB,CAAA;IAMD;QAMC,uBAAa,UAAkB;YAC9B,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,UAAU,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QACjF,CAAC;QAED,qCAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;QAC3D,CAAC;QAED,iCAAS,GAAT,UAAW,UAAkB;YAC5B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;QAC5E,CAAC;QAED,kCAAU,GAAV,UAAY,UAAkB;YAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC;QAC7E,CAAC;QAED,oCAAY,GAAZ,UAAc,UAAkB;YAC/B,IAAI,KAAK,GAAG,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC;YACnD,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7D,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,EAAE,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAC9D,EAAE,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC;gBAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;YAChE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QAC7B,CAAC;QAKD,gCAAQ,GAAR,UAAU,UAAkB,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW;YAC/E,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;YACnE,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YACjF,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;YACrD,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;YAE7F,IAAI,CAAC,GAAG,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC;YAC/C,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;YAEnC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClB,GAAG,IAAI,IAAI,CAAC;gBACZ,GAAG,IAAI,IAAI,CAAC;gBACZ,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC;gBACd,CAAC,IAAI,GAAG,CAAC;gBACT,CAAC,IAAI,GAAG,CAAC;YACV,CAAC;QACF,CAAC;QAED,uCAAe,GAAf,UAAiB,UAAkB,EAAE,OAAe;YACnD,OAAO,GAAG,eAAS,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,CAAC,GAAG,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC;YAC/C,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,EAAE,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,OAAO,CAAC;YACjD,EAAE,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,CAAC,EAAE,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1E,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;oBAClB,IAAI,KAAK,SAAQ,EAAE,KAAK,SAAQ,CAAC;oBACjC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;wBAChB,KAAK,GAAG,CAAC,CAAC;wBACV,KAAK,GAAG,CAAC,CAAC;oBACX,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACP,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACtB,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvB,CAAC;oBACD,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC1E,CAAC;YACF,CAAC;YACD,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QAlFM,oBAAM,GAAG,CAAC,CAAC;QAAQ,qBAAO,GAAG,CAAC,CAAC;QAAQ,oBAAM,GAAG,CAAC,CAAC;QAClD,yBAAW,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAoFjC,oBAAC;IAAD,CAAC,AAtFD,IAsFC;IAtFqB,mBAAa,gBAsFlC,CAAA;IAED;QAAoC,kCAAa;QAQhD,wBAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;QAGD,iCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,OAAe;YAC1D,UAAU,KAAK,CAAC,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;QAC7D,CAAC;QAED,8BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE1C,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5D,IAAI,QAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACvG,OAAO,QAAM,GAAG,GAAG;oBAClB,QAAM,IAAI,GAAG,CAAC;gBACf,OAAO,QAAM,GAAG,CAAC,GAAG;oBACnB,QAAM,IAAI,GAAG,CAAC;gBACf,IAAI,CAAC,QAAQ,IAAI,QAAM,GAAG,KAAK,CAAC;gBAChC,MAAM,CAAC;YACR,CAAC;YAGD,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;YACzE,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YAChE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAClD,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAElF,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;YACpE,OAAO,MAAM,GAAG,GAAG;gBAClB,MAAM,IAAI,GAAG,CAAC;YACf,OAAO,MAAM,GAAG,CAAC,GAAG;gBACnB,MAAM,IAAI,GAAG,CAAC;YACf,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChF,OAAO,MAAM,GAAG,GAAG;gBAClB,MAAM,IAAI,GAAG,CAAC;YACf,OAAO,MAAM,GAAG,CAAC,GAAG;gBACnB,MAAM,IAAI,GAAG,CAAC;YACf,IAAI,CAAC,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC;QACjC,CAAC;QArDM,sBAAO,GAAG,CAAC,CAAC;QACZ,wBAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,4BAAa,GAAG,CAAC,CAAC,CAAC;QAC1C,uBAAQ,GAAG,CAAC,CAAC;QAoDrB,qBAAC;IAAD,CAAC,AAvDD,CAAoC,aAAa,GAuDhD;IAvDY,oBAAc,iBAuD1B,CAAA;IAED;QAAuC,qCAAa;QAQnD,2BAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;QAGD,oCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;YAC/D,UAAU,IAAI,iBAAiB,CAAC,OAAO,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;QAED,iCAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE1C,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/D,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC5F,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC5F,MAAM,CAAC;YACR,CAAC;YAGD,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5E,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,iBAAiB,CAAC,OAAO,GAAG,CAAC,EACvE,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAErF,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YAC3G,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAC5G,CAAC;QA1CM,yBAAO,GAAG,CAAC,CAAC;QACZ,2BAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,wBAAM,GAAG,CAAC,CAAC,CAAC;QAAQ,wBAAM,GAAG,CAAC,CAAC,CAAC;QACvD,mBAAC,GAAG,CAAC,CAAC;QAAQ,mBAAC,GAAG,CAAC,CAAC;QAyC5B,wBAAC;IAAD,CAAC,AA5CD,CAAuC,aAAa,GA4CnD;IA5CY,uBAAiB,oBA4C7B,CAAA;IAED;QAAmC,iCAAiB;QACnD,uBAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;QACnB,CAAC;QAED,6BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1C,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACvG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACvG,MAAM,CAAC;YACR,CAAC;YAGD,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YACxE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,GAAG,CAAC,EACnE,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAEjF,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACxH,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACzH,CAAC;QACF,oBAAC;IAAD,CAAC,AA3BD,CAAmC,iBAAiB,GA2BnD;IA3BY,mBAAa,gBA2BzB,CAAA;IAED;QAAmC,iCAAiB;QACnD,uBAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;QACnB,CAAC;QAED,6BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1C,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACvG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACvG,MAAM,CAAC;YACR,CAAC;YAGD,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YACxE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,GAAG,CAAC,EACnE,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAEjF,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACxH,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACzH,CAAC;QACF,oBAAC;IAAD,CAAC,AA3BD,CAAmC,iBAAiB,GA2BnD;IA3BY,mBAAa,gBA2BzB,CAAA;IAED;QAAmC,iCAAa;QAQ/C,uBAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;QAGD,gCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;YACrF,UAAU,IAAI,aAAa,CAAC,OAAO,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;QAED,6BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC/B,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YAAC,IAAI,CAAC,CAAC;gBAEP,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;gBACxE,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,GAAG,CAAC,EACnE,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;gBAEjF,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;gBACrD,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;gBACrD,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;gBACrD,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;YACtD,CAAC;YACD,IAAI,KAAK,GAAU,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YACxD,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YACvG,IAAI;gBACH,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;QAtDM,qBAAO,GAAG,CAAC,CAAC;QACZ,uBAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,oBAAM,GAAG,CAAC,CAAC,CAAC;QAAQ,oBAAM,GAAG,CAAC,CAAC,CAAC;QAAQ,oBAAM,GAAG,CAAC,CAAC,CAAC;QAAQ,oBAAM,GAAG,CAAC,CAAC,CAAC;QAC/F,eAAC,GAAG,CAAC,CAAC;QAAQ,eAAC,GAAG,CAAC,CAAC;QAAQ,eAAC,GAAG,CAAC,CAAC;QAAQ,eAAC,GAAG,CAAC,CAAC;QAqDxD,oBAAC;IAAD,CAAC,AAxDD,CAAmC,aAAa,GAwD/C;IAxDY,mBAAa,gBAwDzB,CAAA;IAED;QAKC,4BAAa,UAAkB;YAC9B,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,CAAS,UAAU,CAAC,CAAC;QACtD,CAAC;QAED,0CAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,CAAC;QAGD,qCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,cAAsB;YACjE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC;QACnD,CAAC;QAED,kCAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAoB,EAAE,KAAa;YAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrC,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAChC,IAAI;gBACH,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAE1D,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACtD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;iBAC5B,aAAa,CAAC,cAAc,IAAI,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QACzG,CAAC;QACF,yBAAC;IAAD,CAAC,AAlCD,IAkCC;IAlCY,wBAAkB,qBAkC9B,CAAA;IAED;QAIC,uBAAa,UAAkB;YAC9B,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAQ,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,qCAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,CAAC;QAGD,gCAAQ,GAAR,UAAU,UAAkB,EAAE,KAAY;YACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QACjC,CAAC;QAGD,6BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC;YAChC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAEpC,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;gBACrE,QAAQ,GAAG,CAAC,CAAC,CAAC;YACf,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC;YACR,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,KAAK,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC;gBACL,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACjD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;oBAClB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;wBAAC,KAAK,CAAC;oBAC1C,KAAK,EAAE,CAAC;gBACT,CAAC;YACF,CAAC;YACD,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;gBAC1D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QACF,oBAAC;IAAD,CAAC,AA9CD,IA8CC;IA9CY,mBAAa,gBA8CzB,CAAA;IAED;QAIC,2BAAa,UAAkB;YAC9B,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAgB,UAAU,CAAC,CAAC;QACxD,CAAC;QAED,yCAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,CAAC;QAID,oCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,SAAwB;YACnE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QACzC,CAAC;QAED,iCAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrC,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,IAAI;gBACH,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAElD,IAAI,SAAS,GAAgB,QAAQ,CAAC,SAAS,CAAC;YAChD,IAAI,KAAK,GAAgB,QAAQ,CAAC,KAAK,CAAC;YACxC,IAAI,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACnD,EAAE,CAAC,CAAC,qBAAqB,IAAI,IAAI,CAAC;gBACjC,WAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,CAAC;gBACL,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBAC3D,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;QACF,wBAAC;IAAD,CAAC,AAxCD,IAwCC;IAxCY,uBAAiB,oBAwC7B,CAAA;IAED;QAAoC,kCAAa;QAMhD,wBAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAoB,UAAU,CAAC,CAAC;QAC/D,CAAC;QAGD,iCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,QAA2B;YACtE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QAC3C,CAAC;QAED,8BAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,IAAI,GAAS,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,cAAc,GAAe,IAAI,CAAC,aAAa,EAAE,CAAC;YACtD,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,YAAY,sBAAgB,CAAC,IAAI,CAAoB,cAAe,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE9H,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,IAAI,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAE1C,IAAI,aAAa,GAAkB,IAAI,CAAC,kBAAkB,CAAC;YAC3D,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,IAAI,WAAW,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC;YACnD,IAAI,QAAQ,GAAkB,WAAK,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAE7E,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACpD,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBACf,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE;wBACnC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBACzD,CAAC;gBAAC,IAAI;oBACL,WAAK,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC5D,MAAM,CAAC;YACR,CAAC;YAGD,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,YAAY,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAExG,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC3B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAClF,CAAC;YACF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC3B,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;gBACzD,CAAC;YACF,CAAC;QACF,CAAC;QACF,qBAAC;IAAD,CAAC,AA9DD,CAAoC,aAAa,GA8DhD;IA9DY,oBAAc,iBA8D1B,CAAA;IAED;QAA0C,wCAAa;QAQtD,8BAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9E,CAAC;QAGD,uCAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,GAAW,EAAE,aAAqB;YAC7E,UAAU,IAAI,oBAAoB,CAAC,OAAO,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,oBAAoB,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC;QAC/E,CAAC;QAED,oCAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,UAAU,GAAiB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE9E,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClE,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACnG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACxG,MAAM,CAAC;YACR,CAAC;YAGD,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC/E,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,oBAAoB,CAAC,OAAO,GAAG,CAAC,EAC1E,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAExF,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC9G,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACjG,CAAC;QAzCM,4BAAO,GAAG,CAAC,CAAC;QACZ,8BAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,6BAAQ,GAAG,CAAC,CAAC,CAAC;QAAQ,wCAAmB,GAAG,CAAC,CAAC,CAAC;QACtE,wBAAG,GAAG,CAAC,CAAC;QAAQ,mCAAc,GAAG,CAAC,CAAC;QAwC3C,2BAAC;IAAD,CAAC,AA3CD,CAA0C,aAAa,GA2CtD;IA3CY,0BAAoB,uBA2ChC,CAAA;IAED;QAAiD,+CAAa;QAQ7D,qCAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrF,CAAC;QAGD,8CAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,SAAiB,EAAE,YAAoB,EAAE,QAAgB,EAAE,QAAgB;YACtH,UAAU,IAAI,2BAA2B,CAAC,OAAO,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,2BAA2B,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;QACxE,CAAC;QAED,2CAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,UAAU,GAAwB,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAEnG,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,UAAU,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,2BAA2B,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;gBAC7G,UAAU,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,2BAA2B,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;gBACtH,UAAU,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,2BAA2B,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBAC1G,UAAU,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,2BAA2B,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBAC1G,MAAM,CAAC;YACR,CAAC;YAGD,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC;YACtF,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,2BAA2B,CAAC,OAAO,GAAG,CAAC,EACjF,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAE/F,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAC;YAC3E,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;YACnE,UAAU,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAC1I,UAAU,CAAC,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC;kBAC7I,KAAK,CAAC;YACT,UAAU,CAAC,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YACrI,UAAU,CAAC,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QACtI,CAAC;QApDM,mCAAO,GAAG,CAAC,CAAC;QACZ,qCAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,uCAAW,GAAG,CAAC,CAAC,CAAC;QAAQ,0CAAc,GAAG,CAAC,CAAC,CAAC;QAAQ,sCAAU,GAAG,CAAC,CAAC,CAAC;QAAQ,sCAAU,GAAG,CAAC,CAAC,CAAC;QACpH,kCAAM,GAAG,CAAC,CAAC;QAAQ,qCAAS,GAAG,CAAC,CAAC;QAAQ,iCAAK,GAAG,CAAC,CAAC;QAAQ,iCAAK,GAAG,CAAC,CAAC;QAmD7E,kCAAC;IAAD,CAAC,AAtDD,CAAiD,aAAa,GAsD7D;IAtDY,iCAA2B,8BAsDvC,CAAA;IAED;QAAoD,kDAAa;QAShE,wCAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;QACxF,CAAC;QAGD,iDAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,KAAa;YACxD,UAAU,IAAI,8BAA8B,CAAC,OAAO,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,8BAA8B,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACxE,CAAC;QAED,8CAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,UAAU,GAAmB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEpF,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,UAAU,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,8BAA8B,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBAC7G,MAAM,CAAC;YACR,CAAC;YAGD,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,8BAA8B,CAAC,OAAO,CAAC,CAAC;YACzF,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,8BAA8B,CAAC,UAAU,CAAC,CAAC;YACzE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,8BAA8B,CAAC,OAAO,GAAG,CAAC,EACpF,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,8BAA8B,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAElG,UAAU,CAAC,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,8BAA8B,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QAC/I,CAAC;QAxCM,sCAAO,GAAG,CAAC,CAAC;QACZ,wCAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,yCAAU,GAAG,CAAC,CAAC,CAAC;QACvC,oCAAK,GAAG,CAAC,CAAC;QAuClB,qCAAC;IAAD,CAAC,AA1CD,CAAoD,aAAa,GA0ChE;IA1CY,oCAA8B,iCA0C1C,CAAA;IAED;QAAmD,iDAA8B;QAChF,uCAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;QACnB,CAAC;QAED,6CAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,UAAU,GAAmB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEpF,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3E,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,6BAA6B,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;gBAC1G,MAAM,CAAC;YACR,CAAC;YAGD,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;YACxF,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;YACvE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,6BAA6B,CAAC,OAAO,GAAG,CAAC,EACnF,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,6BAA6B,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAEjG,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAC1I,CAAC;QACF,oCAAC;IAAD,CAAC,AA1BD,CAAmD,8BAA8B,GA0BhF;IA1BY,mCAA6B,gCA0BzC,CAAA;IAED;QAA+C,6CAAa;QAS3D,mCAAa,UAAkB;YAC9B,kBAAM,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACnF,CAAC;QAGD,4CAAQ,GAAR,UAAU,UAAkB,EAAE,IAAY,EAAE,SAAiB,EAAE,YAAoB;YAClF,UAAU,IAAI,yBAAyB,CAAC,OAAO,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;QAC9E,CAAC;QAED,yCAAK,GAAL,UAAO,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAa;YAClG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YAE7B,IAAI,UAAU,GAAmB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEpF,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,UAAU,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,yBAAyB,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;gBAC3G,UAAU,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,yBAAyB,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;gBACpH,MAAM,CAAC;YACR,CAAC;YAGD,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACpF,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YACnE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;YACzE,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,yBAAyB,CAAC,OAAO,GAAG,CAAC,EAC/E,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAE7F,UAAU,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YACxI,UAAU,CAAC,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC;kBAC3I,KAAK,CAAC;QACV,CAAC;QA7CM,iCAAO,GAAG,CAAC,CAAC;QACZ,mCAAS,GAAG,CAAC,CAAC,CAAC;QAAQ,qCAAW,GAAG,CAAC,CAAC,CAAC;QAAQ,wCAAc,GAAG,CAAC,CAAC,CAAC;QACpE,gCAAM,GAAG,CAAC,CAAC;QAAQ,mCAAS,GAAG,CAAC,CAAC;QA4CzC,gCAAC;IAAD,CAAC,AA/CD,CAA+C,aAAa,GA+C3D;IA/CY,+BAAyB,4BA+CrC,CAAA;AACF,CAAC,EAhxBM,KAAK,KAAL,KAAK,QAgxBX;AChxBD,IAAO,KAAK,CAiSX;AAjSD,WAAO,KAAK,EAAC,CAAC;IACb;QAOC,wBAAa,IAA+B;YAA/B,oBAA+B,GAA/B,WAA+B;YAL5C,WAAM,GAAG,IAAI,KAAK,EAAc,CAAC;YACjC,WAAM,GAAG,IAAI,KAAK,EAAS,CAAC;YAC5B,cAAS,GAAG,IAAI,KAAK,EAA0B,CAAC;YAChD,cAAS,GAAG,CAAC,CAAC;YAGb,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,+BAAM,GAAN,UAAQ,KAAa;YACpB,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC;YACxB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;oBAAC,QAAQ,CAAC;gBAE9B,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACxB,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;oBAClB,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7C,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnB,IAAI,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;wBACvC,IAAI,CAAC,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;wBACjC,OAAO,CAAC,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;wBAC1C,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBACzB,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;wBACvB,OAAO,GAAG,IAAI,CAAC;oBAChB,CAAC;gBACF,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBAEjE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACnB,QAAQ,CAAC;gBACV,CAAC;gBAED,OAAO,CAAC,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC1C,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;oBAC9B,IAAI,aAAa,GAAG,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,aAAa,CAAC;oBACvC,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC;gBAClC,CAAC;YACF,CAAC;QACF,CAAC;QAED,8BAAK,GAAL,UAAO,QAAkB;YACxB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAE1C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;oBAAC,QAAQ,CAAC;gBAE9B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBAElB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACxB,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAChC,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC9B,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACxB,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC;oBAAC,IAAI,GAAG,OAAO,CAAC;gBAE5C,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAChC,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;oBACpB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,CAAC,CAAC;oBACL,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACjC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;wBAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;oBACvF,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAEpF,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;oBAChE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;wBAChB,KAAK,GAAG,CAAC,CAAC;wBACV,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACzB,CAAC;oBACD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACtE,CAAC;gBAED,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;oBACpD,IAAI,OAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;wBAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAK,CAAC,CAAC;oBAC/D,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,EAAE,GAAG,EAAE;wBAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAK,CAAC,CAAC;gBACtC,CAAC;gBAGD,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC5F,IAAI,KAAK,GAAG,eAAS,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;oBAC5C,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;wBAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBAClE,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;wBACzD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxC,CAAC;gBAED,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YACjC,CAAC;QACF,CAAC;QAED,oCAAW,GAAX;YACC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACjD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,mCAAU,GAAV,UAAY,UAAkB;YAC7B,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtC,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC;YAE5B,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC/D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACpD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAE/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,gCAAO,GAAP,UAAS,KAAiB;YACzB,OAAO,KAAK,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACtB,KAAK,GAAG,IAAI,CAAC;YACd,CAAC;QACF,CAAC;QAED,sCAAa,GAAb,UAAe,KAAa;YAC3B,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,mCAAU,GAAV,UAAY,KAAa,EAAE,KAAiB;YAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxC,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;gBACrB,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAChC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAExB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;oBAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC1D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBACpD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAE9B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC3B,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;oBAElB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;wBACrE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBAC1B,QAAQ,GAAG,OAAO,CAAC;oBACpB,CAAC;oBAAC,IAAI;wBACL,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAC3B,CAAC;YACF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YAE3B,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACpD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAGD,qCAAY,GAAZ,UAAc,UAAkB,EAAE,aAAqB,EAAE,IAAa;YACrE,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YACpE,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,aAAa,CAAC,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC;QAGD,yCAAgB,GAAhB,UAAkB,UAAkB,EAAE,SAAoB,EAAE,IAAa;YACxE,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC7C,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAGD,qCAAY,GAAZ,UAAc,UAAkB,EAAE,aAAqB,EAAE,IAAa,EAAE,KAAa;YACpF,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YACpE,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,aAAa,CAAC,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;QAID,yCAAgB,GAAhB,UAAkB,UAAkB,EAAE,SAAoB,EAAE,IAAa,EAAE,KAAa;YACvF,IAAI,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC;YAEnC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI;oBACvB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YACnB,CAAC;YAAC,IAAI;gBACL,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;YAEjC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;oBAChB,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACrE,IAAI;oBACH,KAAK,GAAG,CAAC,CAAC;YACZ,CAAC;YACD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAEpB,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAGD,mCAAU,GAAV,UAAY,UAAkB;YAC7B,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAGD,oCAAW,GAAX,UAAa,QAAgC;YAC5C,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAGD,uCAAc,GAAd,UAAgB,QAAgC;YAC/C,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,uCAAc,GAAd;YACC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,CAAC;QACF,qBAAC;IAAD,CAAC,AAzOD,IAyOC;IAzOY,oBAAc,iBAyO1B,CAAA;IAED;QAAA;YAGC,SAAI,GAAG,KAAK,CAAC;YACb,UAAK,GAAG,CAAC,CAAC;YAAC,SAAI,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC,CAAC;YAAC,YAAO,GAAG,CAAC,CAAC;YAAC,cAAS,GAAG,CAAC,CAAC;YAC/D,YAAO,GAAG,CAAC,CAAC;YAAC,gBAAW,GAAG,CAAC,CAAC;YAE7B,QAAG,GAAG,CAAC,CAAC;QAgBT,CAAC;QAdA,0BAAK,GAAL;YACC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACf,CAAC;QAGD,+BAAU,GAAV;YACC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;QAClC,CAAC;QACF,iBAAC;IAAD,CAAC,AAvBD,IAuBC;IAvBY,gBAAU,aAuBtB,CAAA;IAED;QAAA;QAYA,CAAC;QAXA,qCAAK,GAAL,UAAO,UAAkB,EAAE,KAAY;QACvC,CAAC;QAED,wCAAQ,GAAR,UAAU,UAAkB,EAAE,SAAiB;QAC/C,CAAC;QAED,qCAAK,GAAL,UAAO,UAAkB;QACzB,CAAC;QAED,mCAAG,GAAH,UAAK,UAAkB;QACvB,CAAC;QACF,4BAAC;IAAD,CAAC,AAZD,IAYC;IAZqB,2BAAqB,wBAY1C,CAAA;AAgBF,CAAC,EAjSM,KAAK,KAAL,KAAK,QAiSX;ACjSD,IAAO,KAAK,CAgCX;AAhCD,WAAO,KAAK,EAAC,CAAC;IACb;QAKC,4BAAa,YAA0B;YAHvC,uBAAkB,GAAgB,EAAG,CAAC;YACtC,eAAU,GAAG,CAAC,CAAC;YAGd,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAClC,CAAC;QAED,mCAAM,GAAN,UAAQ,QAAgB,EAAE,MAAc,EAAE,QAAgB;YACzD,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACrD,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,QAAQ,CAAC,CAAC;YACtE,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,MAAM,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,uCAAU,GAAV,UAAY,IAAe,EAAE,EAAa,EAAE,QAAgB;YAC3D,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACtD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACzC,CAAC;QAED,mCAAM,GAAN,UAAQ,IAAe,EAAE,EAAa;YACrC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,KAAK,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACtD,CAAC;QACF,yBAAC;IAAD,CAAC,AA9BD,IA8BC;IA9BY,wBAAkB,qBA8B9B,CAAA;AACF,CAAC,EAhCM,KAAK,KAAL,KAAK,QAgCX;AChCD,IAAO,KAAK,CAmGX;AAnGD,WAAO,KAAK,EAAC,CAAC;IACb;QAOC,sBAAa,aAA+C;YALpD,YAAO,GAAa,EAAE,CAAC;YACvB,YAAO,GAAgB,EAAE,CAAC;YAC1B,YAAO,GAAG,CAAC,CAAC;YACZ,YAAO,GAAG,CAAC,CAAC;YAGnB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACrC,CAAC;QAED,+BAAQ,GAAR,UAAS,IAAY,EACpB,OAAoD,EACpD,KAAmD;YAFpD,iBAqBC;YApBA,uBAAoD,GAApD,cAAoD;YACpD,qBAAmD,GAAnD,YAAmD;YAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;YACnC,OAAO,CAAC,kBAAkB,GAAG;gBAC5B,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/C,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;wBACnD,EAAE,CAAC,CAAC,OAAO,CAAC;4BAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;wBACjD,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;oBAC3C,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACP,EAAE,CAAC,CAAC,KAAK,CAAC;4BAAC,KAAK,CAAC,IAAI,EAAE,wBAAsB,IAAI,iBAAY,OAAO,CAAC,MAAM,UAAK,OAAO,CAAC,YAAc,CAAC,CAAC;wBACxG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,wBAAsB,IAAI,iBAAY,OAAO,CAAC,MAAM,UAAK,OAAO,CAAC,YAAc,CAAC;oBACtG,CAAC;oBACD,KAAI,CAAC,OAAO,EAAE,CAAC;oBACf,KAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,CAAC;YACF,CAAC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,kCAAW,GAAX,UAAa,IAAY,EACxB,OAA+D,EAC/D,KAAmD;YAFpD,iBAoBC;YAnBA,uBAA+D,GAA/D,cAA+D;YAC/D,qBAAmD,GAAnD,YAAmD;YAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;YACf,GAAG,CAAC,MAAM,GAAG,UAAC,EAAE;gBACf,EAAE,CAAC,CAAC,OAAO,CAAC;oBAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAChC,IAAI,OAAO,GAAG,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACvC,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;gBAC7B,KAAI,CAAC,OAAO,EAAE,CAAC;gBACf,KAAI,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC,CAAA;YACD,GAAG,CAAC,OAAO,GAAG,UAAC,EAAE;gBAChB,EAAE,CAAC,CAAC,KAAK,CAAC;oBAAC,KAAK,CAAC,IAAI,EAAE,yBAAuB,IAAM,CAAC,CAAC;gBACtD,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAI,yBAAuB,IAAM,CAAC;gBACpD,KAAI,CAAC,OAAO,EAAE,CAAC;gBACf,KAAI,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC,CAAA;QACF,CAAC;QAED,0BAAG,GAAH,UAAK,IAAY;YAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,6BAAM,GAAN,UAAQ,IAAY;YACnB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,EAAE,CAAC,CAAO,KAAM,CAAC,OAAO,CAAC;gBAAO,KAAM,CAAC,OAAO,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,gCAAS,GAAT;YACC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC9B,EAAE,CAAC,CAAO,KAAM,CAAC,OAAO,CAAC;oBAAO,KAAM,CAAC,OAAO,EAAE,CAAC;YAClD,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,wCAAiB,GAAjB;YACC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,6BAAM,GAAN;YACC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;QAED,6BAAM,GAAN;YACC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;QAED,8BAAO,GAAP;YACC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB,CAAC;QAED,gCAAS,GAAT;YACC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,6BAAM,GAAN;YACC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;QACF,mBAAC;IAAD,CAAC,AAjGD,IAiGC;IAjGY,kBAAY,eAiGxB,CAAA;AACF,CAAC,EAnGM,KAAK,KAAL,KAAK,QAmGX;ACnGD,IAAO,KAAK,CAOX;AAPD,WAAO,KAAK,EAAC,CAAC;IACb,WAAY,SAAS;QACpB,6CAAM,CAAA;QACN,iDAAQ,CAAA;QACR,iDAAQ,CAAA;QACR,6CAAM,CAAA;IACP,CAAC,EALW,eAAS,KAAT,eAAS,QAKpB;IALD,IAAY,SAAS,GAAT,eAKX,CAAA;AACF,CAAC,EAPM,KAAK,KAAL,KAAK,QAOX;ACPD,IAAO,KAAK,CAqQX;AArQD,WAAO,KAAK,EAAC,CAAC;IACb;QAeC,cAAa,IAAc,EAAE,QAAkB,EAAE,MAAY;YAX7D,aAAQ,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC7B,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAC3E,oBAAe,GAAG,CAAC,CAAC;YAEpB,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YACzB,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YACzB,eAAU,GAAG,CAAC,CAAC;YAAC,eAAU,GAAG,CAAC,CAAC;YAE/B,WAAM,GAAG,KAAK,CAAC;YAId,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;QAGD,qBAAM,GAAN;YACC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClH,CAAC;QAGD,mCAAoB,GAApB;YACC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClH,CAAC;QAGD,uCAAwB,GAAxB,UAA0B,CAAS,EAAE,CAAS,EAAE,QAAgB,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc;YAC/H,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;YAEhC,IAAI,SAAS,GAAG,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC;YACvC,IAAI,EAAE,GAAG,eAAS,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,eAAS,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;YACjG,IAAI,EAAE,GAAG,eAAS,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,eAAS,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;YAEjG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;gBACpB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC7B,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpB,CAAC,GAAG,CAAC,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,EAAE,CAAC;oBACT,EAAE,GAAG,CAAC,EAAE,CAAC;gBACV,CAAC;gBACD,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpB,CAAC,GAAG,CAAC,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,EAAE,CAAC;oBACT,EAAE,GAAG,CAAC,EAAE,CAAC;gBACV,CAAC;gBACD,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,UAAU,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM,CAAC;YACR,CAAC;YAED,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/D,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAC5B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBAC/B,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,GAAG,CAAC;wBACH,IAAI,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;wBACnG,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBAC/B,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBACzB,EAAE,GAAG,IAAI,CAAC;wBACV,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBAC3B,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBACzB,EAAE,GAAG,IAAI,CAAC;wBAEV,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;4BAAC,KAAK,CAAC;wBACxC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBACxB,CAAC,QAAQ,MAAM,IAAI,IAAI,EAAE;oBACzB,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC5B,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;oBACnC,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,EAAE,GAAG,CAAC,CAAC;oBACP,GAAG,CAAC;wBACH,IAAI,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;wBACnG,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;wBAC7C,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;wBACnE,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;wBAC7B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;wBACvB,EAAE,GAAG,IAAI,CAAC;wBACV,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;wBACzB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;wBACvB,EAAE,GAAG,IAAI,CAAC;wBAEV,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;4BAAC,GAAG,GAAG,CAAC,GAAG,CAAC;wBACzB,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBAC3B,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBACzB,EAAE,GAAG,IAAI,CAAC;wBACV,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBAC3B,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;wBACzB,EAAE,GAAG,IAAI,CAAC;wBAEV,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;4BAAC,KAAK,CAAC;wBACrC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBACxB,CAAC,QAAQ,MAAM,IAAI,IAAI,EAAE;oBACzB,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC5B,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACP,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACb,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACzB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACzB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClB,CAAC;YACF,CAAC;QACF,CAAC;QAED,6BAAc,GAAd;YACC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,gCAAiB,GAAjB;YACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;QACtD,CAAC;QAED,gCAAiB,GAAjB;YACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;QACtD,CAAC;QAED,6BAAc,GAAd;YACC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACvE,CAAC;QAED,6BAAc,GAAd;YACC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACvE,CAAC;QAED,oCAAqB,GAArB;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACvF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;QACxE,CAAC;QAED,oCAAqB,GAArB;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACvF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;QACxE,CAAC;QAED,0BAAW,GAAX,UAAa,OAAe;YAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,eAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAC5B,CAAC;QAOD,mCAAoB,GAApB;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACrB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;gBAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;gBACpF,MAAM,CAAC;YACR,CAAC;YACD,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;YAC/D,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;YACzC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACnC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACnC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACnC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3C,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;gBAC1B,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;gBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;gBACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;YACvD,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,eAAS,CAAC,MAAM,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,CAAC;QAED,2BAAY,GAAZ,UAAc,KAAc;YAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACzD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAC5C,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAED,2BAAY,GAAZ,UAAc,KAAc;YAC3B,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAC7B,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAChD,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QACF,WAAC;IAAD,CAAC,AAnQD,IAmQC;IAnQY,UAAI,OAmQhB,CAAA;AACF,CAAC,EArQM,KAAK,KAAL,KAAK,QAqQX;ACrQD,IAAO,KAAK,CAiBX;AAjBD,WAAO,KAAK,EAAC,CAAC;IACb;QAQC,kBAAa,KAAa,EAAE,IAAY,EAAE,MAAgB;YAH1D,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAC3E,oBAAe,GAAG,IAAI,CAAC;YAAC,iBAAY,GAAG,IAAI,CAAC;YAG3C,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACtD,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,CAAC;QACF,eAAC;IAAD,CAAC,AAfD,IAeC;IAfY,cAAQ,WAepB,CAAA;AACF,CAAC,EAjBM,KAAK,KAAL,KAAK,QAiBX;ACjBD,IAAO,KAAK,CAcX;AAdD,WAAO,KAAK,EAAC,CAAC;IACb;QAOC,eAAa,IAAY,EAAE,IAAe;YACzC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,YAAC;IAAD,CAAC,AAZD,IAYC;IAZY,WAAK,QAYjB,CAAA;AACF,CAAC,EAdM,KAAK,KAAL,KAAK,QAcX;ACdD,IAAO,KAAK,CAWX;AAXD,WAAO,KAAK,EAAC,CAAC;IACb;QAMC,mBAAa,IAAY;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,gBAAC;IAAD,CAAC,AATD,IASC;IATY,eAAS,YASrB,CAAA;AACF,CAAC,EAXM,KAAK,KAAL,KAAK,QAWX;ACXD,IAAO,KAAK,CA+LX;AA/LD,WAAO,KAAK,EAAC,CAAC;IACb;QASC,sBAAa,IAAsB,EAAE,QAAkB;YALvD,QAAG,GAAG,CAAC,CAAC;YACR,kBAAa,GAAG,CAAC,CAAC;YAElB,UAAK,GAAG,CAAC,CAAC;YAGT,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAExC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,4BAAK,GAAL;YACC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;QAED,6BAAM,GAAN;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,KAAK,CAAC;oBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9D,KAAK,CAAC;gBACP,KAAK,CAAC;oBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5F,KAAK,CAAC;YACP,CAAC;QACF,CAAC;QAID,6BAAM,GAAN,UAAQ,IAAU,EAAE,OAAe,EAAE,OAAe,EAAE,KAAa;YAClE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;YACrD,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACvF,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,eAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrF,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAAC,UAAU,IAAI,GAAG,CAAC;YACvC,EAAE,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;gBACpB,UAAU,IAAI,GAAG,CAAC;YACnB,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC;gBAAC,UAAU,IAAI,GAAG,CAAC;YAC9C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EACtH,IAAI,CAAC,MAAM,CAAC,CAAC;QACf,CAAC;QAKD,6BAAM,GAAN,UAAQ,MAAY,EAAE,KAAW,EAAE,OAAe,EAAE,OAAe,EAAE,OAAe,EAAE,KAAa;YAClG,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,KAAK,CAAC,oBAAoB,EAAE,CAAC;gBAC7B,MAAM,CAAC;YACR,CAAC;YACD,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/F,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7B,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACb,GAAG,GAAG,CAAC,GAAG,CAAC;gBACX,GAAG,GAAG,GAAG,CAAC;gBACV,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,GAAG,GAAG,CAAC,CAAC;gBACR,EAAE,GAAG,CAAC,CAAC;YACR,CAAC;YACD,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACb,GAAG,GAAG,CAAC,GAAG,CAAC;gBACX,EAAE,GAAG,CAAC,EAAE,CAAC;YACV,CAAC;YACD,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACb,GAAG,GAAG,CAAC,GAAG,CAAC;gBACX,GAAG,GAAG,GAAG,CAAC;YACX,CAAC;YAAC,IAAI;gBACL,GAAG,GAAG,CAAC,CAAC;YACT,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC;YACtC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACR,EAAE,GAAG,CAAC,CAAC;gBACP,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;gBACb,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtC,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;YACvC,CAAC;YACD,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;YACvB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACT,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACT,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACT,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACT,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;YAC/E,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACnE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;YACpB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACnE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACpF,KAAK,EACL,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACP,EAAE,IAAI,GAAG,CAAC;gBACV,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACZ,GAAG,GAAG,CAAC,CAAC,CAAC;gBACV,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;oBAAC,GAAG,GAAG,CAAC,CAAC;gBAC1B,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;gBAC9B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;gBAClB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACb,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACb,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC5E,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBACrC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBACpC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACzB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrB,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACnB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAClB,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC9C,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACjB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;wBACpC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC3B,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;wBACzC,KAAK,CAAC,KAAK,CAAC;oBACb,CAAC;gBACF,CAAC;gBACD,IAAI,QAAQ,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;gBACjE,IAAI,QAAQ,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;gBAClD,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACX,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;oBACjB,QAAQ,GAAG,CAAC,CAAC;oBACb,OAAO,GAAG,CAAC,CAAC;oBACZ,IAAI,GAAG,CAAC,CAAC;gBACV,CAAC;gBACD,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACX,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;oBACjB,QAAQ,GAAG,eAAS,CAAC,EAAE,CAAC;oBACxB,OAAO,GAAG,CAAC,CAAC;oBACZ,IAAI,GAAG,CAAC,CAAC;gBACV,CAAC;gBACD,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC3C,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC7B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;oBACjB,QAAQ,GAAG,KAAK,CAAC;oBACjB,OAAO,GAAG,CAAC,CAAC;oBACZ,IAAI,GAAG,CAAC,CAAC;oBACT,IAAI,GAAG,CAAC,CAAC;gBACV,CAAC;gBACD,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;oBACjB,QAAQ,GAAG,KAAK,CAAC;oBACjB,OAAO,GAAG,CAAC,CAAC;oBACZ,IAAI,GAAG,CAAC,CAAC;oBACT,IAAI,GAAG,CAAC,CAAC;gBACV,CAAC;gBACD,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC3C,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC;gBACzB,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACP,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC3C,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC;gBACzB,CAAC;YACF,CAAC;YACD,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC/B,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,eAAS,CAAC,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC;YACnD,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;gBACZ,EAAE,IAAI,GAAG,CAAC;YACX,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;gBAAC,EAAE,IAAI,GAAG,CAAC;YAC9B,MAAM,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnG,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC1B,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,eAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC;YACzE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;gBACZ,EAAE,IAAI,GAAG,CAAC;YACX,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;gBAAC,EAAE,IAAI,GAAG,CAAC;YAC9B,KAAK,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvH,CAAC;QACF,mBAAC;IAAD,CAAC,AA7LD,IA6LC;IA7LY,kBAAY,eA6LxB,CAAA;AACF,CAAC,EA/LM,KAAK,KAAL,KAAK,QA+LX;AC/LD,IAAO,KAAK,CAYX;AAZD,WAAO,KAAK,EAAC,CAAC;IACb;QAOC,0BAAa,IAAY;YALzB,UAAK,GAAG,IAAI,KAAK,EAAY,CAAC;YAE9B,kBAAa,GAAG,CAAC,CAAC;YAClB,QAAG,GAAG,CAAC,CAAC;YAGP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,uBAAC;IAAD,CAAC,AAVD,IAUC;IAVY,sBAAgB,mBAU5B,CAAA;AACF,CAAC,EAZM,KAAK,KAAL,KAAK,QAYX;ACZD,IAAO,KAAK,CAoWX;AApWD,WAAO,KAAK,EAAC,CAAC;IACb;QAYC,wBAAa,IAAwB,EAAE,QAAkB;YANzD,aAAQ,GAAG,CAAC,CAAC;YAAC,YAAO,GAAG,CAAC,CAAC;YAAC,cAAS,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAE3D,WAAM,GAAG,IAAI,KAAK,EAAU,CAAC;YAAC,cAAS,GAAG,IAAI,KAAK,EAAU,CAAC;YAC9D,UAAK,GAAG,IAAI,KAAK,EAAU,CAAC;YAAC,WAAM,GAAG,IAAI,KAAK,EAAU,CAAC;YAAC,YAAO,GAAG,IAAI,KAAK,EAAU,CAAC;YACzF,aAAQ,GAAG,IAAI,KAAK,EAAU,CAAC;YAG9B,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,CAAC;QAED,8BAAK,GAAL;YACC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;QAED,+BAAM,GAAN;YACC,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC7C,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,YAAY,oBAAc,CAAC,CAAC;gBAAC,MAAM,CAAC;YAEpD,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACjE,IAAI,SAAS,GAAG,YAAY,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YACzD,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC;YAElC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACnC,IAAI,aAAa,GAAG,WAAW,IAAI,iBAAW,CAAC,MAAM,CAAC;YACtD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,IAAI,QAAQ,GAAG,UAAU,IAAI,gBAAU,CAAC,OAAO,EAAE,KAAK,GAAG,UAAU,IAAI,gBAAU,CAAC,UAAU,CAAC;YAC7F,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;YACtF,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,IAAI,MAAM,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAkB,IAAI,CAAC;YACzF,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,EAAE,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC;gBAC5B,EAAE,CAAC,CAAC,KAAK,CAAC;oBAAC,OAAO,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;oBAC7C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAI,QAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,QAAM,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,QAAM,GAAG,IAAI,CAAC,CAAC,CAAC;oBACxE,QAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClC,EAAE,CAAC,CAAC,KAAK,CAAC;wBAAC,OAAO,CAAC,CAAC,CAAC,GAAG,QAAM,CAAC;oBAC/B,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAM,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC;gBACvE,CAAC;YACF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE;oBACnC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACtB,CAAC;YAED,IAAI,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAiB,UAAU,EAAE,WAAW,EAAE,QAAQ,EAC3F,IAAI,CAAC,YAAY,IAAI,kBAAY,CAAC,OAAO,EAAE,WAAW,IAAI,iBAAW,CAAC,OAAO,CAAC,CAAC;YAChF,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,IAAI,SAAS,GAAG,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC;YACnD,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACrF,IAAI,GAAG,GAAG,UAAU,IAAI,gBAAU,CAAC,KAAK,IAAI,cAAc,IAAI,CAAC,CAAC;YAChE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;gBAChE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;gBAChE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC3E,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBACX,IAAI,QAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxB,EAAE,CAAC,CAAC,QAAM,IAAI,CAAC,CAAC,CAAC,CAAC;wBACjB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,QAAM,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;wBACpE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;wBACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBACb,CAAC;gBACF,CAAC;gBACD,KAAK,GAAG,CAAC,CAAC;gBACV,KAAK,GAAG,CAAC,CAAC;gBACV,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;oBAC5E,EAAE,CAAC,CAAC,QAAQ,CAAC;wBACZ,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtB,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC3B,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtB,IAAI;wBACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACxB,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,GAAG,eAAS,CAAC,MAAM,CAAC;oBAC1D,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACT,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAClB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAClB,IAAI,QAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;wBAC9B,KAAK,IAAI,CAAC,QAAM,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;wBACzD,KAAK,IAAI,CAAC,QAAM,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;oBAC1D,CAAC;oBACD,EAAE,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,EAAE,CAAC;wBACpB,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAS,CAAC,EAAE,CAAC;wBAC1B,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,CAAC,IAAI,SAAS,CAAC;oBACf,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClB,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;QACF,CAAC;QAED,8CAAqB,GAArB,UAAuB,IAAoB,EAAE,WAAmB,EAAE,QAAiB,EAAE,eAAwB,EAC5G,cAAuB;YACvB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAkB,IAAI,CAAC;YACrH,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,cAAc,GAAG,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC;YAEhH,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBACzB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC3B,UAAU,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,YAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;gBACrC,EAAE,CAAC,CAAC,eAAe,CAAC;oBAAC,QAAQ,IAAI,YAAU,CAAC;gBAC5C,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;oBACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE;wBACnC,MAAM,CAAC,CAAC,CAAC,IAAI,YAAU,CAAC;gBAC1B,CAAC;gBACD,KAAK,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC1C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChE,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACtB,QAAQ,IAAI,KAAK,CAAC;oBAClB,IAAI,CAAC,GAAG,QAAQ,CAAC;oBAEjB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBACZ,CAAC,IAAI,YAAU,CAAC;wBAChB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;4BAAC,CAAC,IAAI,YAAU,CAAC;wBAC3B,KAAK,GAAG,CAAC,CAAC;oBACX,CAAC;oBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAClB,EAAE,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;4BACxC,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC;4BAClC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;wBACvD,CAAC;wBACD,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;wBAC5C,QAAQ,CAAC;oBACV,CAAC;oBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAU,CAAC,CAAC,CAAC;wBAC3B,EAAE,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;4BACvC,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC;4BACjC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;wBACxE,CAAC;wBACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,YAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;wBACxD,QAAQ,CAAC;oBACV,CAAC;oBAGD,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;wBACjB,IAAI,QAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC5B,EAAE,CAAC,CAAC,CAAC,GAAG,QAAM,CAAC;4BAAC,QAAQ,CAAC;wBACzB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;4BACd,CAAC,IAAI,QAAM,CAAC;wBACb,IAAI,CAAC,CAAC;4BACL,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;4BAC9B,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAM,GAAG,IAAI,CAAC,CAAC;wBAClC,CAAC;wBACD,KAAK,CAAC;oBACP,CAAC;oBACD,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;wBACxB,SAAS,GAAG,KAAK,CAAC;wBAClB,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC;4BACnC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;4BACvE,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;wBACvD,CAAC;wBAAC,IAAI;4BACL,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;oBACpE,CAAC;oBACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAC9G,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC;YACZ,CAAC;YAGD,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACZ,cAAc,IAAI,CAAC,CAAC;gBACpB,KAAK,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACvD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;gBACvE,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,UAAU,EAAE,CAAC;gBACb,cAAc,IAAI,CAAC,CAAC;gBACpB,KAAK,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACvD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;YAGD,IAAI,MAAM,GAAG,WAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACzD,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACrF,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;YACnF,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACf,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClB,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClB,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;gBACrC,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;gBACrC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;gBAC9C,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;gBAC9C,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;gBACxB,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;gBACxB,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;gBACpD,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;gBACpD,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC/C,GAAG,IAAI,IAAI,CAAC;gBACZ,GAAG,IAAI,IAAI,CAAC;gBACZ,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC;gBACd,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC/C,GAAG,IAAI,IAAI,CAAC;gBACZ,GAAG,IAAI,IAAI,CAAC;gBACZ,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC/C,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC;gBACpB,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC;gBACpB,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC/C,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;gBACvB,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,EAAE,CAAC;YACT,CAAC;YACD,EAAE,CAAC,CAAC,eAAe,CAAC;gBAAC,QAAQ,IAAI,UAAU,CAAC;YAC5C,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE;oBACnC,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;YAC1B,CAAC;YAED,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7E,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,QAAQ,IAAI,KAAK,CAAC;gBAClB,IAAI,CAAC,GAAG,QAAQ,CAAC;gBAEjB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,UAAU,CAAC;oBAChB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAAC,CAAC,IAAI,UAAU,CAAC;oBAC3B,KAAK,GAAG,CAAC,CAAC;gBACX,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClB,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC5C,QAAQ,CAAC;gBACV,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,UAAU,EAAE,KAAK,EAAE,cAAc,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBACzE,QAAQ,CAAC;gBACV,CAAC;gBAGD,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;oBACjB,IAAI,QAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3B,EAAE,CAAC,CAAC,CAAC,GAAG,QAAM,CAAC;wBAAC,QAAQ,CAAC;oBACzB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;wBACd,CAAC,IAAI,QAAM,CAAC;oBACb,IAAI,CAAC,CAAC;wBACL,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC7B,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAM,GAAG,IAAI,CAAC,CAAC;oBAClC,CAAC;oBACD,KAAK,CAAC;gBACP,CAAC;gBAGD,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;oBACxB,SAAS,GAAG,KAAK,CAAC;oBAClB,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;oBACnB,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;oBACf,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACnB,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACpB,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACpB,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACpB,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACpB,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACnB,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACnB,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;oBACnC,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;oBACnC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;oBAC5C,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;oBAC5C,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;oBACxB,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;oBACxB,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;oBACnD,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;oBACnD,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC/C,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;oBAC1B,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;wBAC3B,GAAG,IAAI,IAAI,CAAC;wBACZ,GAAG,IAAI,IAAI,CAAC;wBACZ,IAAI,IAAI,KAAK,CAAC;wBACd,IAAI,IAAI,KAAK,CAAC;wBACd,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;wBAChD,QAAQ,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC;oBAC5B,CAAC;oBACD,GAAG,IAAI,IAAI,CAAC;oBACZ,GAAG,IAAI,IAAI,CAAC;oBACZ,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;oBAChD,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;oBAC1B,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC;oBACpB,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC;oBACpB,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;oBAChD,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;oBAC1B,OAAO,GAAG,CAAC,CAAC;gBACb,CAAC;gBAGD,CAAC,IAAI,WAAW,CAAC;gBACjB,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC;oBACnB,IAAI,QAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC/B,EAAE,CAAC,CAAC,CAAC,GAAG,QAAM,CAAC;wBAAC,QAAQ,CAAC;oBACzB,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;wBAChB,CAAC,IAAI,QAAM,CAAC;oBACb,IAAI,CAAC,CAAC;wBACL,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;wBACjC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAM,GAAG,IAAI,CAAC,CAAC;oBAC5C,CAAC;oBACD,KAAK,CAAC;gBACP,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/G,CAAC;YACD,MAAM,CAAC,GAAG,CAAC;QACZ,CAAC;QAED,0CAAiB,GAAjB,UAAmB,CAAS,EAAE,IAAmB,EAAE,CAAS,EAAE,GAAkB,EAAE,CAAS;YAC1F,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QAED,yCAAgB,GAAhB,UAAkB,CAAS,EAAE,IAAmB,EAAE,CAAS,EAAE,GAAkB,EAAE,CAAS;YACzF,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QAED,yCAAgB,GAAhB,UAAkB,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,EAAU,EAAE,EAAU,EAC9H,GAAkB,EAAE,CAAS,EAAE,QAAiB;YAChD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC,GAAG,MAAM,CAAC;YACvB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YAClE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC;YACzG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,EAAE,CAAC,CAAC,QAAQ,CAAC;gBAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QACzH,CAAC;QAhWM,mBAAI,GAAG,CAAC,CAAC,CAAC;QAAQ,qBAAM,GAAG,CAAC,CAAC,CAAC;QAAQ,oBAAK,GAAG,CAAC,CAAC,CAAC;QAiWzD,qBAAC;IAAD,CAAC,AAlWD,IAkWC;IAlWY,oBAAc,iBAkW1B,CAAA;AACF,CAAC,EApWM,KAAK,KAAL,KAAK,QAoWX;ACpWD,IAAO,KAAK,CA2BX;AA3BD,WAAO,KAAK,EAAC,CAAC;IACb;QAUC,4BAAa,IAAY;YARzB,UAAK,GAAG,IAAI,KAAK,EAAY,CAAC;YAS7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,yBAAC;IAAD,CAAC,AAbD,IAaC;IAbY,wBAAkB,qBAa9B,CAAA;IAED,WAAY,YAAY;QACvB,iDAAK,CAAA;QAAE,qDAAO,CAAA;IACf,CAAC,EAFW,kBAAY,KAAZ,kBAAY,QAEvB;IAFD,IAAY,YAAY,GAAZ,kBAEX,CAAA;IAED,WAAY,WAAW;QACtB,iDAAM,CAAA;QAAE,+CAAK,CAAA;QAAE,mDAAO,CAAA;IACvB,CAAC,EAFW,iBAAW,KAAX,iBAAW,QAEtB;IAFD,IAAY,WAAW,GAAX,iBAEX,CAAA;IAED,WAAY,UAAU;QACrB,iDAAO,CAAA;QAAE,6CAAK,CAAA;QAAE,uDAAU,CAAA;IAC3B,CAAC,EAFW,gBAAU,KAAV,gBAAU,QAErB;IAFD,IAAY,UAAU,GAAV,gBAEX,CAAA;AACF,CAAC,EA3BM,KAAK,KAAL,KAAK,QA2BX;AC3BD,IAAO,KAAK,CAqbX;AArbD,WAAO,KAAK,EAAC,CAAC;IACb;QAeC,kBAAa,IAAkB;YAP/B,iBAAY,GAAG,IAAI,KAAK,EAAa,CAAC;YAGtC,SAAI,GAAG,CAAC,CAAC;YACT,UAAK,GAAG,KAAK,CAAC;YAAC,UAAK,GAAG,KAAK,CAAC;YAC7B,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAGZ,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,IAAI,SAAM,CAAC;gBACf,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC;oBAC3B,IAAI,GAAG,IAAI,UAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACvC,IAAI,CAAC,CAAC;oBACL,IAAI,QAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC/C,IAAI,GAAG,IAAI,UAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAM,CAAC,CAAC;oBACxC,QAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,EAAQ,CAAC;YACnC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,IAAI,GAAG,IAAI,UAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAED,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,EAAgB,CAAC;YAC/C,IAAI,CAAC,mBAAmB,GAAG,IAAI,KAAK,EAAgB,CAAC;YACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpD,IAAI,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,kBAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,KAAK,EAAuB,CAAC;YAC7D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3D,IAAI,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,yBAAmB,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;YACxF,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,EAAkB,CAAC;YACnD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,oBAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC;QAED,8BAAW,GAAX;YACC,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YAEvB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;YAGzB,IAAI,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAC7C,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE;gBACjD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;YACnC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpD,IAAI,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9B,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE;oBACpC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YACD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;gBACrB,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;oBAChC,IAAI,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;oBAC9B,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;wBAAC,KAAK,CAAC;oBAC/B,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC/B,CAAC;gBACD,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAC5B,CAAC;YACD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAEtB,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;gBACnC,IAAI,QAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC,QAAM,CAAC,CAAC;gBAEtB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE7B,IAAI,CAAC,SAAS,CAAC,QAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;YACnD,CAAC;YAED,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxD,IAAI,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBAEpC,IAAI,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAChC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBACzB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;oBAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACzF,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;oBACvE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC/E,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;oBAC1D,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAE7E,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,EAAE,CAAC,CAAC,UAAU,YAAY,oBAAc,CAAC;oBAAC,IAAI,CAAC,gCAAgC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAEtG,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;gBACnC,IAAI,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC;gBACnC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEhC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE7B,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;YAChC,CAAC;YAED,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7D,IAAI,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAEzC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAEjC,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;gBACnC,IAAI,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC;gBACnC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEhC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE7B,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;oBACpC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;YAChC,CAAC;YAED,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QAED,+CAA4B,GAA5B,UAA8B,IAAU,EAAE,SAAiB,EAAE,QAAc;YAC1E,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC9C,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;gBAAC,MAAM,CAAC;YACzB,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,gCAAgC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;QAED,mDAAgC,GAAhC,UAAkC,UAAsB,EAAE,QAAc;YACvE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,YAAY,oBAAc,CAAC,CAAC;gBAAC,MAAM,CAAC;YACpD,IAAI,SAAS,GAAoB,UAAW,CAAC,KAAK,CAAC;YACnD,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzB,IAAI,CAAC,CAAC;gBACL,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3C,IAAI,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjC,CAAC;YACF,CAAC;QACF,CAAC;QAED,2BAAQ,GAAR,UAAU,IAAU;YACnB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC;YACxB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,4BAAS,GAAT,UAAW,KAAkB;YAC5B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;oBAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACrB,CAAC;QACF,CAAC;QAGD,uCAAoB,GAApB;YACC,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACjD,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,CAAC;QAGD,iCAAc,GAAd;YACC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5B,CAAC;QAGD,sCAAmB,GAAnB;YACC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YAE3B,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAClC,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;gBACzD,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YACtC,CAAC;YAED,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7D,IAAI,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;gBAC3B,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACtC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC5C,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACpC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrC,CAAC;YAED,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxD,IAAI,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;gBAC3B,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACpC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAClC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACtC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7C,CAAC;QACF,CAAC;QAED,sCAAmB,GAAnB;YACC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,WAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;QAC5B,CAAC;QAGD,8BAAW,GAAX;YACC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QAGD,2BAAQ,GAAR,UAAU,QAAgB;YACzB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;YAC7C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAGD,gCAAa,GAAb,UAAe,QAAgB;YAC9B,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QAGD,2BAAQ,GAAR,UAAU,QAAgB;YACzB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;YAC7C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAGD,gCAAa,GAAb,UAAe,QAAgB;YAC9B,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QAID,gCAAa,GAAb,UAAe,QAAgB;YAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAMD,0BAAO,GAAP,UAAS,OAAa;YACrB,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;gBACrB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;oBACrB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,CAAC;oBACL,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACpB,IAAI,MAAI,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;wBACpC,EAAE,CAAC,CAAC,MAAI,IAAI,IAAI,CAAC,CAAC,CAAC;4BAClB,IAAI,UAAU,GAAe,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,MAAI,CAAC,CAAC;4BAC5D,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;gCAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;wBACxD,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACrB,CAAC;QAGD,sCAAmB,GAAnB,UAAqB,QAAgB,EAAE,cAAsB;YAC5D,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;QAC9E,CAAC;QAGD,gCAAa,GAAb,UAAe,SAAiB,EAAE,cAAsB;YACvD,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;gBACvB,IAAI,UAAU,GAAe,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBAChF,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC3C,CAAC;YACD,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACzG,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAGD,gCAAa,GAAb,UAAe,QAAgB,EAAE,cAAsB;YACtD,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC;oBAChC,IAAI,UAAU,GAAe,IAAI,CAAC;oBAClC,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC;wBAC5B,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;wBACnD,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;4BACtB,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,cAAc,GAAG,cAAc,GAAG,QAAQ,CAAC,CAAC;oBACzF,CAAC;oBACD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC/B,MAAM,CAAC;gBACR,CAAC;YACF,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;QAChD,CAAC;QAGD,mCAAgB,GAAhB,UAAkB,cAAsB;YACvC,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACpC,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,YAAY,CAAC;YACnE,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAGD,0CAAuB,GAAvB,UAAyB,cAAsB;YAC9C,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7D,IAAI,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACzC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC/D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAGD,qCAAkB,GAAlB,UAAoB,cAAsB;YACzC,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxD,IAAI,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACpC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC/D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAKD,4BAAS,GAAT,UAAW,MAAe,EAAE,IAAa;YACxC,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9D,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;YACvI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,QAAQ,GAAsB,IAAI,CAAC;gBACvC,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,EAAE,CAAC,CAAC,UAAU,YAAY,sBAAgB,CAAC;oBAC1C,QAAQ,GAAsB,UAAW,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5E,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,YAAY,oBAAc,CAAC;oBAC7C,QAAQ,GAAoB,UAAW,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACzE,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;oBACtB,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;wBACzD,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC3C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC1B,CAAC;gBACF,CAAC;YACF,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,yBAAM,GAAN,UAAQ,KAAa;YACpB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;QACpB,CAAC;QACF,eAAC;IAAD,CAAC,AAnbD,IAmbC;IAnbY,cAAQ,WAmbpB,CAAA;AACF,CAAC,EArbM,KAAK,KAAL,KAAK,QAqbX;ACrbD,IAAO,KAAK,CAiKX;AAjKD,WAAO,KAAK,EAAC,CAAC;IACb;QAAA;YACC,SAAI,GAAG,CAAC,CAAC;YAAC,SAAI,GAAG,CAAC,CAAC;YAAC,SAAI,GAAG,CAAC,CAAC;YAAC,SAAI,GAAG,CAAC,CAAC;YACvC,kBAAa,GAAG,IAAI,KAAK,EAAyB,CAAC;YACnD,aAAQ,GAAG,IAAI,KAAK,EAAqB,CAAC;YAClC,iBAAY,GAAG,IAAI,UAAI,CAAoB;gBAClD,MAAM,CAAC,WAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QAwJJ,CAAC;QAtJA,+BAAM,GAAN,UAAQ,QAAkB,EAAE,UAAmB;YAC9C,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC3B,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;YAE7B,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAEpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,EAAE,CAAC,CAAC,UAAU,YAAY,2BAAqB,CAAC,CAAC,CAAC;oBACjD,IAAI,WAAW,GAAG,UAAmC,CAAC;oBACtD,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAEhC,IAAI,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;oBACnC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACvD,OAAO,GAAG,WAAK,CAAC,aAAa,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;oBAChE,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,WAAW,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjD,CAAC;YACF,CAAC;YAED,EAAE,CAAC,CAAC,UAAU,CAAC;gBAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QAED,oCAAW,GAAX;YACC,IAAI,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;YACvI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,QAAQ,GAAG,OAAO,CAAC;gBACvB,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;oBACxD,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACrB,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC1B,CAAC;YACF,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QAGD,0CAAiB,GAAjB,UAAmB,CAAS,EAAE,CAAS;YACtC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;QAC7E,CAAC;QAGD,8CAAqB,GAArB,UAAuB,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;YACpE,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;gBACxH,MAAM,CAAC,KAAK,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YAC7B,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACtC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YACzB,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC7B,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACtC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACzB,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAGD,+CAAsB,GAAtB,UAAwB,MAAsB;YAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACjH,CAAC;QAID,sCAAa,GAAb,UAAe,CAAS,EAAE,CAAS;YAClC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC9C,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAGD,6CAAoB,GAApB,UAAsB,OAA0B,EAAE,CAAS,EAAE,CAAS;YACrE,IAAI,QAAQ,GAAG,OAAO,CAAC;YACvB,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAExB,IAAI,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;YACvB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,OAAO,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBACpC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChE,IAAI,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC3B,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;wBAAC,MAAM,GAAG,CAAC,MAAM,CAAC;gBACzG,CAAC;gBACD,SAAS,GAAG,EAAE,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,MAAM,CAAC;QACf,CAAC;QAKD,0CAAiB,GAAjB,UAAmB,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;YAChE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC9C,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAGD,iDAAwB,GAAxB,UAA0B,OAA0B,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;YACnG,IAAI,QAAQ,GAAG,OAAO,CAAC;YACvB,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAExB,IAAI,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;YAC1C,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAC7B,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACjD,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC7C,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC7B,IAAI,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC1C,IAAI,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;gBACnD,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;gBACjD,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;oBACnD,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC;gBACnH,CAAC;gBACD,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,EAAE,CAAC;YACT,CAAC;YACD,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAGD,mCAAU,GAAV,UAAY,WAAkC;YAC7C,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACxE,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACF,qBAAC;IAAD,CAAC,AA9JD,IA8JC;IA9JY,oBAAc,iBA8J1B,CAAA;AAEF,CAAC,EAjKM,KAAK,KAAL,KAAK,QAiKX;ACjKD,IAAO,KAAK,CAuHX;AAvHD,WAAO,KAAK,EAAC,CAAC;IACb;QAAA;YAEC,UAAK,GAAG,IAAI,KAAK,EAAY,CAAC;YAC9B,UAAK,GAAG,IAAI,KAAK,EAAY,CAAC;YAC9B,UAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAE1B,WAAM,GAAG,IAAI,KAAK,EAAa,CAAC;YAChC,eAAU,GAAG,IAAI,KAAK,EAAa,CAAC;YACpC,kBAAa,GAAG,IAAI,KAAK,EAAoB,CAAC;YAC9C,yBAAoB,GAAG,IAAI,KAAK,EAA2B,CAAC;YAC5D,oBAAe,GAAG,IAAI,KAAK,EAAsB,CAAC;QA2GnD,CAAC;QAvGA,+BAAQ,GAAR,UAAU,QAAgB;YACzB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;YACxC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,oCAAa,GAAb,UAAe,QAAgB;YAC9B,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QAED,+BAAQ,GAAR,UAAU,QAAgB;YACzB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;YACxC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,oCAAa,GAAb,UAAe,QAAgB;YAC9B,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC3C,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QAED,+BAAQ,GAAR,UAAU,QAAgB;YACzB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;YACxC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,gCAAS,GAAT,UAAW,aAAqB;YAC/B,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC5E,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,IAAI,OAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,EAAE,CAAC,CAAC,OAAK,CAAC,IAAI,IAAI,aAAa,CAAC;oBAAC,MAAM,CAAC,OAAK,CAAC;YAC/C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,oCAAa,GAAb,UAAe,aAAqB;YACnC,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC5E,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,IAAI,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC9B,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,aAAa,CAAC;oBAAC,MAAM,CAAC,SAAS,CAAC;YACvD,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,uCAAgB,GAAhB,UAAkB,cAAsB;YACvC,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAClC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC1D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,8CAAuB,GAAvB,UAAyB,cAAsB;YAC9C,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7D,IAAI,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACzC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC1D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,yCAAkB,GAAlB,UAAoB,cAAsB;YACzC,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxD,IAAI,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACpC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,cAAc,CAAC;oBAAC,MAAM,CAAC,UAAU,CAAC;YAC1D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,8CAAuB,GAAvB,UAAyB,kBAA0B;YAClD,EAAE,CAAC,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACtF,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACrD,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,kBAAkB,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;QACF,mBAAC;IAAD,CAAC,AArHD,IAqHC;IArHY,kBAAY,eAqHxB,CAAA;AACF,CAAC,EAvHM,KAAK,KAAL,KAAK,QAuHX;ACvHD,IAAO,KAAK,CA2qBX;AA3qBD,WAAO,KAAK,EAAC,CAAC;IACb;QAKC,sBAAa,gBAAkC;YAH/C,UAAK,GAAG,CAAC,CAAC;YACF,iBAAY,GAAG,IAAI,KAAK,EAAc,CAAC;YAG9C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC1C,CAAC;QAED,uCAAgB,GAAhB,UAAkB,IAAY;YAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,IAAI,YAAY,GAAG,IAAI,kBAAY,EAAE,CAAC;YACtC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAG5B,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChC,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC;gBACzB,YAAY,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;gBACrC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC;gBACzC,YAAY,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBACvC,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBACzC,YAAY,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;YAC9C,CAAC;YAGD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAE5B,IAAI,QAAM,GAAa,IAAI,CAAC;oBAC5B,IAAI,UAAU,GAAW,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChE,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;wBACxB,QAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBAC3C,EAAE,CAAC,CAAC,QAAM,IAAI,IAAI,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,UAAU,CAAC,CAAC;oBAC7E,CAAC;oBACD,IAAI,IAAI,GAAG,IAAI,cAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,QAAM,CAAC,CAAC;oBACzE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC1D,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAChD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBACtD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;oBACvE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;oBAEjE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;YAGD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,QAAQ,GAAW,OAAO,CAAC,IAAI,CAAC;oBACpC,IAAI,QAAQ,GAAW,OAAO,CAAC,IAAI,CAAC;oBACpC,IAAI,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC/C,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,QAAQ,CAAC,CAAC;oBAC1E,IAAI,IAAI,GAAG,IAAI,cAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAEvE,IAAI,KAAK,GAAW,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;oBACzD,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;wBAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEnD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;oBACjE,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC7F,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;YAGD,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACb,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,IAAI,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC/B,IAAI,IAAI,GAAG,IAAI,sBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAEpD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrD,IAAI,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBAC3C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,QAAQ,CAAC,CAAC;wBACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAED,IAAI,UAAU,GAAW,aAAa,CAAC,MAAM,CAAC;oBAC9C,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAChD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,UAAU,CAAC,CAAC;oBAEpF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjF,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;oBAErD,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC;YACF,CAAC;YAGD,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChD,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,IAAI,GAAG,IAAI,6BAAuB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAE3D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrD,IAAI,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBAC3C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,QAAQ,CAAC,CAAC;wBACtF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAED,IAAI,UAAU,GAAW,aAAa,CAAC,MAAM,CAAC;oBAC9C,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAChD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,UAAU,CAAC,CAAC;oBAEtG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAE9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;oBACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBAE5D,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,CAAC;YACF,CAAC;YAGD,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3C,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,IAAI,GAAG,IAAI,wBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAEtD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrD,IAAI,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBAC3C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,QAAQ,CAAC,CAAC;wBACtF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAED,IAAI,UAAU,GAAW,aAAa,CAAC,MAAM,CAAC;oBAC9C,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAChD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,UAAU,CAAC,CAAC;oBAEtF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;oBACjH,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC7G,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC3G,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBAClE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBAC5D,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,kBAAY,CAAC,KAAK,CAAC;wBAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;oBACpE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC1D,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,iBAAW,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,iBAAW,CAAC,KAAK,CAAC;wBAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;oBAC3G,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;oBAEpE,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,CAAC;YACF,CAAC;YAGD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChB,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBACjC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;oBAClC,IAAI,IAAI,GAAG,IAAI,UAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC;wBAC9B,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACrD,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;wBACpE,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAChC,GAAG,CAAC,CAAC,IAAI,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;4BAC/B,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;4BACrF,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;gCAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;wBAC9E,CAAC;oBACF,CAAC;oBACD,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC9B,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;wBAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC7D,CAAC;YACF,CAAC;YAGD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1D,IAAI,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,GAAG,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACvG,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;oBAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,QAAM,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBACzE,EAAE,CAAC,CAAC,QAAM,IAAI,IAAI,CAAC;oBAAC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACnF,UAAU,CAAC,IAAI,CAAC,aAAa,CAAkB,QAAM,CAAC,CAAC;gBACvD,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YAG7B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjB,GAAG,CAAC,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnC,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACtC,IAAI,IAAI,GAAG,IAAI,eAAS,CAAC,SAAS,CAAC,CAAC;oBACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;oBACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC3D,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACF,CAAC;YAGD,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrB,GAAG,CAAC,CAAC,IAAI,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC3C,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;oBAClD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;gBAC/D,CAAC;YACF,CAAC;YAED,MAAM,CAAC,YAAY,CAAC;QACrB,CAAC;QAED,qCAAc,GAAd,UAAgB,GAAQ,EAAE,IAAU,EAAE,SAAiB,EAAE,IAAY;YACpE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAExC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEhD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACd,KAAK,QAAQ,EAAE,CAAC;oBACf,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC5C,IAAI,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBACzE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC;oBAChC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;oBACnB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC9C,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC9C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAChD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAChD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;oBACpD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;oBACjC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;oBAEnC,IAAI,KAAK,GAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;oBACtD,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;wBAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAErD,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,CAAC,MAAM,CAAC;gBACf,CAAC;gBACD,KAAK,aAAa,EAAE,CAAC;oBACpB,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACrE,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC;oBAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;oBAClD,MAAM,CAAC,GAAG,CAAC;gBACZ,CAAC;gBACD,KAAK,MAAM,CAAC;gBACZ,KAAK,YAAY,EAAE,CAAC;oBACnB,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBACrE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC;oBAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBAEjB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC9C,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;wBAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEnD,IAAI,QAAM,GAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACxD,EAAE,CAAC,CAAC,QAAM,IAAI,IAAI,CAAC,CAAC,CAAC;wBACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;wBACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,EAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,QAAM,CAAC,CAAC,CAAC;wBAC3G,MAAM,CAAC,IAAI,CAAC;oBACb,CAAC;oBAED,IAAI,GAAG,GAAkB,GAAG,CAAC,GAAG,CAAC;oBACjC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;oBAC/B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;oBACrB,IAAI,CAAC,SAAS,EAAE,CAAC;oBAEjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;oBACpD,MAAM,CAAC,IAAI,CAAC;gBACb,CAAC;gBACD,KAAK,MAAM,EAAE,CAAC;oBACb,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC/D,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC;oBAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;oBAE/D,IAAI,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;oBAClC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;oBAE/C,IAAI,OAAO,GAAkB,WAAK,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;wBAC1C,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;oBACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,mCAAY,GAAZ,UAAc,GAAQ,EAAE,UAA4B,EAAE,cAAsB;YAC3E,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,UAAU,CAAC,mBAAmB,GAAG,cAAc,CAAC;YAChD,IAAI,QAAQ,GAAkB,GAAG,CAAC,QAAQ,CAAC;YAC3C,EAAE,CAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBAC9C,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;gBACvB,CAAC;gBACD,UAAU,CAAC,QAAQ,GAAG,WAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACnD,MAAM,CAAC;YACR,CAAC;YACD,IAAI,OAAO,GAAG,IAAI,KAAK,EAAU,CAAC;YAClC,IAAI,KAAK,GAAG,IAAI,KAAK,EAAU,CAAC;YAChC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;gBAC7C,IAAI,SAAS,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;YACD,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,UAAU,CAAC,QAAQ,GAAG,WAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,oCAAa,GAAb,UAAe,GAAQ,EAAE,IAAY,EAAE,YAA0B;YAChE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,IAAI,SAAS,GAAG,IAAI,KAAK,EAAY,CAAC;YACtC,IAAI,QAAQ,GAAG,CAAC,CAAC;YAGjB,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChC,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAClC,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;oBACpE,GAAG,CAAC,CAAC,IAAI,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC;wBAClC,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;wBACxC,EAAE,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC;4BAC7B,IAAI,QAAQ,GAAG,IAAI,mBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BACrD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;4BAE/B,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,IAAI,KAAK,GAAG,IAAI,WAAK,EAAE,CAAC;gCACxB,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gCACpC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gCACjF,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,mBAAa,CAAC,OAAO,CAAC,CAAC,CAAC;wBAExG,CAAC;wBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC;4BACxC,IAAI,QAAQ,GAAG,IAAI,wBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BAC1D,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;4BAE/B,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;4BAC/D,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC9E,CAAC;wBAAC,IAAI;4BACL,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,YAAY,GAAG,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;oBAC/F,CAAC;gBACF,CAAC;YACF,CAAC;YAGD,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChC,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAClC,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;oBACpE,GAAG,CAAC,CAAC,IAAI,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC;wBAClC,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;wBACxC,EAAE,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC;4BAC/B,IAAI,QAAQ,GAAG,IAAI,oBAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BACtD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;4BAE/B,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gCAC7D,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,oBAAc,CAAC,OAAO,CAAC,CAAC,CAAC;wBAEzG,CAAC;wBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,KAAK,WAAW,IAAI,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;4BACjG,IAAI,QAAQ,GAAsB,IAAI,CAAC;4BACvC,IAAI,aAAa,GAAG,CAAC,CAAC;4BACtB,EAAE,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC;gCAC5B,QAAQ,GAAG,IAAI,mBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BAClD,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC;gCACjC,QAAQ,GAAG,IAAI,mBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BAClD,IAAI,CAAC,CAAC;gCACL,QAAQ,GAAG,IAAI,uBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gCACrD,aAAa,GAAG,KAAK,CAAC;4BACvB,CAAC;4BACD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;4BAE/B,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gCAC7E,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC;gCACnF,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,uBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;wBAE5G,CAAC;wBAAC,IAAI;4BACL,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,YAAY,GAAG,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;oBAC/F,CAAC;gBACF,CAAC;YACF,CAAC;YAGD,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACZ,GAAG,CAAC,CAAC,IAAI,cAAc,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnC,IAAI,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;oBAC3C,IAAI,UAAU,GAAG,YAAY,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;oBAC/D,IAAI,QAAQ,GAAG,IAAI,0BAAoB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAC9D,QAAQ,CAAC,iBAAiB,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC5E,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,IAAI,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wBAChC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAC7E,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;wBAC/C,UAAU,EAAE,CAAC;oBACd,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,0BAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/G,CAAC;YACF,CAAC;YAGD,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gBACnB,GAAG,CAAC,CAAC,IAAI,cAAc,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC1C,IAAI,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBAClD,IAAI,UAAU,GAAG,YAAY,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;oBACtE,IAAI,QAAQ,GAAG,IAAI,iCAA2B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBACrE,QAAQ,CAAC,wBAAwB,GAAG,YAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC1F,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,IAAI,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wBAChC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,EACnF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC7H,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;wBAC/C,UAAU,EAAE,CAAC;oBACd,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAC3B,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,iCAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzF,CAAC;YACF,CAAC;YAGD,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,CAAC,IAAI,cAAc,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtC,IAAI,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC9C,IAAI,KAAK,GAAG,YAAY,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;oBACjE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,cAAc,CAAC,CAAC;oBACjF,IAAI,IAAI,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;oBAC/C,GAAG,CAAC,CAAC,IAAI,YAAY,IAAI,aAAa,CAAC,CAAC,CAAC;wBACxC,IAAI,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;wBAC9C,EAAE,CAAC,CAAC,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;4BAC/D,IAAI,QAAQ,GAAmC,IAAI,CAAC;4BACpD,IAAI,aAAa,GAAG,CAAC,CAAC;4BACtB,EAAE,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;gCAChC,QAAQ,GAAG,IAAI,mCAA6B,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gCACjE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,iBAAW,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,iBAAW,CAAC,KAAK,CAAC;oCAAC,aAAa,GAAG,KAAK,CAAC;4BAC5G,CAAC;4BAAC,IAAI,CAAC,CAAC;gCACP,QAAQ,GAAG,IAAI,oCAA8B,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gCAClE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,kBAAY,CAAC,KAAK,CAAC;oCAAC,aAAa,GAAG,KAAK,CAAC;4BACpE,CAAC;4BACD,QAAQ,CAAC,mBAAmB,GAAG,KAAK,CAAC;4BACrC,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gCACvG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAC3B,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,oCAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC5F,CAAC;wBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC;4BACnC,IAAI,QAAQ,GAAG,IAAI,+BAAyB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BACjE,QAAQ,CAAC,mBAAmB,GAAG,KAAK,CAAC;4BACrC,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,EACnF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gCAC7C,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAC3B,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,+BAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;wBACvF,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAGD,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChB,GAAG,CAAC,CAAC,IAAI,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnC,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACvC,IAAI,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC7C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,UAAU,CAAC,CAAC;oBACnE,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC;wBAChC,IAAI,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;wBAClC,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACrD,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;4BAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;wBACxE,GAAG,CAAC,CAAC,IAAI,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC;4BAClC,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;4BACxC,IAAI,UAAU,GAAqB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;4BAC/E,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;gCAAC,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;4BAC5F,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC;4BACxC,IAAI,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;4BACnC,IAAI,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;4BAExE,IAAI,QAAQ,GAAG,IAAI,oBAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BACtD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;4BAC/B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;4BAEjC,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC9B,IAAI,MAAM,SAAmB,CAAC;gCAC9B,IAAI,aAAa,GAAkB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;gCAC7E,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;oCACzB,MAAM,GAAG,QAAQ,GAAG,WAAK,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;gCAClE,IAAI,CAAC,CAAC;oCACL,MAAM,GAAG,WAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oCAC3C,IAAI,KAAK,GAAW,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oCACzD,WAAK,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;oCACvE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;wCAChB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;4CAC3D,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;oCACrB,CAAC;oCACD,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;wCACf,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE;4CACpC,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;oCAC3B,CAAC;gCACF,CAAC;gCAED,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gCACrD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gCAC/C,UAAU,EAAE,CAAC;4BACd,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC9E,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAGD,IAAI,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC;YAClC,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;gBAAC,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC;YACzD,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC3B,IAAI,QAAQ,GAAG,IAAI,uBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,IAAI,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oBACpC,IAAI,SAAS,GAAkB,IAAI,CAAC;oBACpC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC3D,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;wBACrB,SAAS,GAAG,WAAK,CAAC,QAAQ,CAAS,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;wBAClD,IAAI,SAAS,GAAG,WAAK,CAAC,QAAQ,CAAS,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBACtE,IAAI,aAAa,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC;wBAC1C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACzC,IAAI,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;4BAC3B,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;4BAC3D,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;gCAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;4BAE1E,OAAO,aAAa,IAAI,SAAS;gCAChC,SAAS,CAAC,cAAc,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;4BAE/C,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE,CAAC;wBAC/D,CAAC;wBAED,OAAO,aAAa,GAAG,SAAS;4BAC/B,SAAS,CAAC,cAAc,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;wBAE/C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;4BACtC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gCAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;oBACrE,CAAC;oBACD,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC/D,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9E,CAAC;YAGD,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChB,IAAI,QAAQ,GAAG,IAAI,mBAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpD,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACtD,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC5E,IAAI,OAAK,GAAG,IAAI,WAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAChD,OAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACpE,OAAK,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC1E,OAAK,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;oBAC7E,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAK,CAAC,CAAC;gBACxC,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9E,CAAC;YAED,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACnE,CAAC;YAED,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,eAAS,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,gCAAS,GAAT,UAAW,GAAQ,EAAE,QAAuB,EAAE,UAAkB;YAC/D,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAC,MAAM,CAAC;YACvB,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC;gBAC3B,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACjC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACzE,IAAI,KAAK,GAAkB,GAAG,CAAC,KAAK,CAAC;gBACrC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;QACF,CAAC;QAED,+BAAQ,GAAR,UAAU,GAAQ,EAAE,IAAY,EAAE,YAAiB;YAClD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;QAC3D,CAAC;QAEM,gCAAmB,GAA1B,UAA4B,GAAW;YACtC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACxB,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;gBAAC,MAAM,CAAC,eAAS,CAAC,MAAM,CAAC;YAC7C,EAAE,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC;gBAAC,MAAM,CAAC,eAAS,CAAC,QAAQ,CAAC;YACjD,EAAE,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC;gBAAC,MAAM,CAAC,eAAS,CAAC,QAAQ,CAAC;YACjD,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;gBAAC,MAAM,CAAC,eAAS,CAAC,MAAM,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,yBAAuB,GAAK,CAAC,CAAC;QAC/C,CAAC;QAEM,mCAAsB,GAA7B,UAA+B,GAAW;YACzC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACxB,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC;gBAAC,MAAM,CAAC,kBAAY,CAAC,KAAK,CAAC;YAC9C,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC;gBAAC,MAAM,CAAC,kBAAY,CAAC,OAAO,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,4BAA0B,GAAK,CAAC,CAAC;QAClD,CAAC;QAEM,kCAAqB,GAA5B,UAA8B,GAAW;YACxC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACxB,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;gBAAC,MAAM,CAAC,iBAAW,CAAC,MAAM,CAAC;YAC/C,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC;gBAAC,MAAM,CAAC,iBAAW,CAAC,KAAK,CAAC;YAC7C,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC;gBAAC,MAAM,CAAC,iBAAW,CAAC,OAAO,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,4BAA0B,GAAK,CAAC,CAAC;QAClD,CAAC;QAEM,iCAAoB,GAA3B,UAA6B,GAAW;YACvC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACxB,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC;gBAAC,MAAM,CAAC,gBAAU,CAAC,OAAO,CAAC;YAChD,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC;gBAAC,MAAM,CAAC,gBAAU,CAAC,KAAK,CAAC;YAC5C,EAAE,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC;gBAAC,MAAM,CAAC,gBAAU,CAAC,UAAU,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,0BAAwB,GAAK,CAAC,CAAC;QAChD,CAAC;QACF,mBAAC;IAAD,CAAC,AA5pBD,IA4pBC;IA5pBY,kBAAY,eA4pBxB,CAAA;IAED;QAKC,oBAAa,IAAoB,EAAE,IAAY,EAAE,SAAiB,EAAE,MAAc;YACjF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,CAAC;QACF,iBAAC;IAAD,CAAC,AAXD,IAWC;AACF,CAAC,EA3qBM,KAAK,KAAL,KAAK,QA2qBX;AC3qBD,IAAO,KAAK,CA6CX;AA7CD,WAAO,KAAK,EAAC,CAAC;IACb;QAIC,cAAa,IAAY;YAFzB,gBAAW,GAAG,IAAI,KAAK,EAAmB,CAAC;YAG1C,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,4BAAa,GAAb,UAAe,SAAiB,EAAE,IAAY,EAAE,UAAsB;YACrE,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACtE,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACnC,EAAE,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC;gBAAC,WAAW,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YACxE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAG,CAAC;YAC1D,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QAC3C,CAAC;QAGD,4BAAa,GAAb,UAAe,SAAiB,EAAE,IAAY;YAC7C,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC7C,CAAC;QAGD,wBAAS,GAAT,UAAW,QAAkB,EAAE,OAAa;YAC3C,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC1C,EAAE,CAAC,CAAC,cAAc,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9D,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBAChD,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;wBAC5B,IAAI,cAAc,GAAc,UAAU,CAAC,GAAG,CAAC,CAAC;wBAChD,EAAE,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC;4BACtC,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;4BACrD,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;gCAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;4BACvD,KAAK,CAAC;wBACP,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,SAAS,EAAE,CAAC;YACb,CAAC;QACF,CAAC;QACF,WAAC;IAAD,CAAC,AA3CD,IA2CC;IA3CY,UAAI,OA2ChB,CAAA;AACF,CAAC,EA7CM,KAAK,KAAL,KAAK,QA6CX;AC7CD,IAAO,KAAK,CAmDX;AAnDD,WAAO,KAAK,EAAC,CAAC;IACb;QAQC,cAAa,IAAc,EAAE,IAAU;YAFvC,uBAAkB,GAAG,IAAI,KAAK,EAAU,CAAC;YAGxC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,WAAK,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;QAGD,4BAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACxB,CAAC;QAID,4BAAa,GAAb,UAAe,UAAsB;YACpC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC;gBAAC,MAAM,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9C,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,gCAAiB,GAAjB,UAAmB,IAAY;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACtD,CAAC;QAGD,gCAAiB,GAAjB;YACC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QACtD,CAAC;QAED,6BAAc,GAAd;YACC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC;gBACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,CAAC;gBACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACjG,CAAC;QACF,CAAC;QACF,WAAC;IAAD,CAAC,AAjDD,IAiDC;IAjDY,UAAI,OAiDhB,CAAA;AACF,CAAC,EAnDM,KAAK,KAAL,KAAK,QAmDX;ACnDD,IAAO,KAAK,CAkBX;AAlBD,WAAO,KAAK,EAAC,CAAC;IACb;QAQC,kBAAa,KAAa,EAAE,IAAY,EAAE,QAAkB;YAJ5D,UAAK,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAK7B,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACtD,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,CAAC;QACF,eAAC;IAAD,CAAC,AAhBD,IAgBC;IAhBY,cAAQ,WAgBpB,CAAA;AACF,CAAC,EAlBM,KAAK,KAAL,KAAK,QAkBX;ACjDD,IAAO,KAAK,CAiEX;AAjED,WAAO,KAAK,EAAC,CAAC;IACb;QAGC,iBAAa,KAAuB;YACnC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACrB,CAAC;QAED,0BAAQ,GAAR;YACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;QAOa,wBAAgB,GAA9B,UAAgC,IAAY;YAC3C,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC5B,KAAK,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;gBAC7C,KAAK,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC3C,KAAK,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC3C,KAAK,sBAAsB,EAAE,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC;gBACvE,KAAK,qBAAqB,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;gBACrE,KAAK,qBAAqB,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;gBACrE,KAAK,oBAAoB,EAAE,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC;gBACnE,SAAS,MAAM,IAAI,KAAK,CAAC,4BAA0B,IAAM,CAAC,CAAC;YAC5D,CAAC;QACF,CAAC;QAEa,sBAAc,GAA5B,UAA8B,IAAY;YACzC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC5B,KAAK,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;gBACzD,KAAK,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;gBACnD,KAAK,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;gBACzC,SAAS,MAAM,IAAI,KAAK,CAAC,0BAAwB,IAAM,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QACF,cAAC;IAAD,CAAC,AArCD,IAqCC;IArCqB,aAAO,UAqC5B,CAAA;IAED,WAAY,aAAa;QACxB,0DAAc,CAAA;QACd,wDAAa,CAAA;QACb,wDAAa,CAAA;QACb,oFAA2B,CAAA;QAC3B,kFAA0B,CAAA;QAC1B,kFAA0B,CAAA;QAC1B,gFAAyB,CAAA;IAC1B,CAAC,EARW,mBAAa,KAAb,mBAAa,QAQxB;IARD,IAAY,aAAa,GAAb,mBAQX,CAAA;IAED,WAAY,WAAW;QACtB,qEAAsB,CAAA;QACtB,+DAAmB,CAAA;QACnB,qDAAc,CAAA;IACf,CAAC,EAJW,iBAAW,KAAX,iBAAW,QAItB;IAJD,IAAY,WAAW,GAAX,iBAIX,CAAA;IAED;QAAA;YAEC,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YACb,OAAE,GAAG,CAAC,CAAC;YAAC,OAAE,GAAG,CAAC,CAAC;YACf,UAAK,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YACtB,WAAM,GAAG,KAAK,CAAC;YACf,YAAO,GAAG,CAAC,CAAC;YAAC,YAAO,GAAG,CAAC,CAAC;YACzB,kBAAa,GAAG,CAAC,CAAC;YAAC,mBAAc,GAAG,CAAC,CAAC;QACvC,CAAC;QAAD,oBAAC;IAAD,CAAC,AARD,IAQC;IARY,mBAAa,gBAQzB,CAAA;AACF,CAAC,EAjEM,KAAK,KAAL,KAAK,QAiEX;AClCD,IAAO,KAAK,CAqLX;AArLD,WAAO,KAAK,EAAC,CAAC;IACb;QAIC,sBAAa,SAAiB,EAAE,aAAoC;YAHpE,UAAK,GAAG,IAAI,KAAK,EAAoB,CAAC;YACtC,YAAO,GAAG,IAAI,KAAK,EAAsB,CAAC;YAGzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACrC,CAAC;QAEO,2BAAI,GAAZ,UAAc,SAAiB,EAAE,aAAoC;YACpE,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAElD,IAAI,MAAM,GAAG,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,KAAK,GAAG,IAAI,KAAK,CAAS,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,GAAoB,IAAI,CAAC;YACjC,OAAO,IAAI,EAAE,CAAC;gBACb,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC7B,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;oBAChB,KAAK,CAAC;gBACP,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;oBACpB,IAAI,GAAG,IAAI,CAAC;gBACb,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChB,IAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;oBAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBAEjB,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAClC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAChC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;oBAGD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACxB,IAAI,CAAC,SAAS,GAAG,aAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpD,IAAI,CAAC,SAAS,GAAG,aAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEpD,IAAI,SAAS,GAAE,MAAM,CAAC,SAAS,EAAE,CAAC;oBAClC,IAAI,CAAC,KAAK,GAAG,iBAAW,CAAC,WAAW,CAAC;oBACrC,IAAI,CAAC,KAAK,GAAG,iBAAW,CAAC,WAAW,CAAC;oBACrC,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;wBACpB,IAAI,CAAC,KAAK,GAAG,iBAAW,CAAC,MAAM,CAAC;oBACjC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;wBACzB,IAAI,CAAC,KAAK,GAAG,iBAAW,CAAC,MAAM,CAAC;oBACjC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;wBAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,iBAAW,CAAC,MAAM,CAAC;oBAE9C,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC;oBAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;oBAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACP,IAAI,MAAM,GAAsB,IAAI,kBAAkB,EAAE,CAAC;oBACzD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;oBACnB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;oBAEnB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,MAAM,CAAC;oBAE7C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACxB,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3B,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE3B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACxB,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/B,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEhC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC1B,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;oBAC3B,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;wBACnB,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;wBACtC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;oBACvC,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACP,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;wBACrC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;oBACxC,CAAC;oBACD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;oBACb,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;oBACb,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC/B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAEjC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAElC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BAElC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACzB,CAAC;oBACF,CAAC;oBAED,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1C,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE3C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACxB,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpC,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEpC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;oBAE5C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;oBAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC;YACF,CAAC;QACF,CAAC;QAED,iCAAU,GAAV,UAAY,IAAY;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QAED,8BAAO,GAAP;YACC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACjC,CAAC;QACF,CAAC;QACF,mBAAC;IAAD,CAAC,AAvHD,IAuHC;IAvHY,kBAAY,eAuHxB,CAAA;IAED;QAIC,4BAAa,IAAY;YAFzB,UAAK,GAAW,CAAC,CAAC;YAGjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QAED,qCAAQ,GAAR;YACC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,sCAAS,GAAT;YACC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,KAAK,GAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;QAED,sCAAS,GAAT,UAAW,KAAoB;YAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;YACjC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACzC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;oBAAC,KAAK,CAAC;gBACvB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5D,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;QACF,yBAAC;IAAD,CAAC,AArCD,IAqCC;IAED;QAAA;QASA,CAAC;QAAD,uBAAC;IAAD,CAAC,AATD,IASC;IATY,sBAAgB,mBAS5B,CAAA;IAED;QAAwC,sCAAa;QAArD;YAAwC,8BAAa;QAQrD,CAAC;QAAD,yBAAC;IAAD,CAAC,AARD,CAAwC,mBAAa,GAQpD;IARY,wBAAkB,qBAQ9B,CAAA;AACF,CAAC,EArLM,KAAK,KAAL,KAAK,QAqLX;ACrLD,IAAO,KAAK,CAuCX;AAvCD,WAAO,KAAK,EAAC,CAAC;IACb;QAGC,sCAAa,KAAmB;YAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,CAAC;QAGD,0DAAmB,GAAnB,UAAqB,IAAU,EAAE,IAAY,EAAE,IAAY;YAC1D,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC;YAC7B,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,IAAI,GAAG,uBAAuB,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;YACjH,IAAI,UAAU,GAAG,IAAI,sBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5C,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7B,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;YAC3B,MAAM,CAAC,UAAU,CAAC;QACnB,CAAC;QAGD,wDAAiB,GAAjB,UAAmB,IAAU,EAAE,IAAY,EAAE,IAAY;YACxD,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC;YAC7B,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,IAAI,GAAG,qBAAqB,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;YAC/G,IAAI,UAAU,GAAG,IAAI,oBAAc,CAAC,IAAI,CAAC,CAAC;YAC1C,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;YAC3B,MAAM,CAAC,UAAU,CAAC;QACnB,CAAC;QAGD,+DAAwB,GAAxB,UAA0B,IAAU,EAAE,IAAY;YACjD,MAAM,CAAC,IAAI,2BAAqB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAGD,wDAAiB,GAAjB,UAAmB,IAAU,EAAE,IAAY;YAC1C,MAAM,CAAC,IAAI,oBAAc,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACF,mCAAC;IAAD,CAAC,AArCD,IAqCC;IArCY,kCAA4B,+BAqCxC,CAAA;AACF,CAAC,EAvCM,KAAK,KAAL,KAAK,QAuCX;ACvCD,IAAO,KAAK,CAqFX;AArFD,WAAO,KAAK,EAAC,CAAC;IACb;QAOC,6BAAa,IAA6B,EAAE,QAAkB;YAH9D,cAAS,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAC5D,SAAI,GAAG,IAAI,aAAO,EAAE,CAAC;YAGpB,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,mCAAK,GAAL;YACC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;QAED,oCAAM,GAAN;YACC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrH,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;YAC/D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEpB,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;oBACnD,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,eAAS,CAAC,MAAM,CAAC;oBAC5F,EAAE,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,EAAE,CAAC;wBACpB,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAS,CAAC,EAAE,CAAC;wBAC1B,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,CAAC,IAAI,SAAS,CAAC;oBACf,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC5B,CAAC;gBAED,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;oBACrB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;oBACrD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;gBACtD,CAAC;gBAED,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClB,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACrF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBACZ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClC,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACjF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBACb,CAAC;gBAED,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;oBAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpF,EAAE,CAAC,CAAC,CAAC,GAAG,eAAS,CAAC,EAAE,CAAC;wBACpB,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAS,CAAC,EAAE,CAAC;wBAC1B,CAAC,IAAI,eAAS,CAAC,GAAG,CAAC;oBACpB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,eAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;oBACpE,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;YACF,CAAC;QACF,CAAC;QACF,0BAAC;IAAD,CAAC,AAnFD,IAmFC;IAnFY,yBAAmB,sBAmF/B,CAAA;AACF,CAAC,EArFM,KAAK,KAAL,KAAK,QAqFX;ACrFD,IAAO,KAAK,CAaX;AAbD,WAAO,KAAK,EAAC,CAAC;IACb;QAOC,iCAAa,IAAY;YALzB,UAAK,GAAG,IAAI,KAAK,EAAY,CAAC;YAE9B,cAAS,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAC5D,mBAAc,GAAG,CAAC,CAAC;YAAC,YAAO,GAAG,CAAC,CAAC;YAAC,YAAO,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAAC,iBAAY,GAAG,CAAC,CAAC;YAGlG,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,8BAAC;IAAD,CAAC,AAXD,IAWC;IAXY,6BAAuB,0BAWnC,CAAA;AACF,CAAC,EAbM,KAAK,KAAL,KAAK,QAaX;AEbD,IAAO,KAAK,CAsKX;AAtKD,WAAO,KAAK,EAAC,CAAC;IASb;QACC,eAAoB,CAAa,EAAS,CAAa,EAAS,CAAa,EAAS,CAAa;YAAtF,iBAAoB,GAApB,KAAoB;YAAE,iBAAoB,GAApB,KAAoB;YAAE,iBAAoB,GAApB,KAAoB;YAAE,iBAAoB,GAApB,KAAoB;YAA/E,MAAC,GAAD,CAAC,CAAY;YAAS,MAAC,GAAD,CAAC,CAAY;YAAS,MAAC,GAAD,CAAC,CAAY;YAAS,MAAC,GAAD,CAAC,CAAY;QACnG,CAAC;QAED,mBAAG,GAAH,UAAK,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;YAC9C,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QAED,4BAAY,GAAZ,UAAc,CAAQ;YACrB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QAED,6BAAa,GAAb,UAAe,GAAW;YACzB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACjD,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YAChD,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YAChD,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YAChD,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QAC3E,CAAC;QAED,mBAAG,GAAH,UAAK,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;YAC9C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QAED,qBAAK,GAAL;YACC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAEhC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAEhC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAEhC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QACF,YAAC;IAAD,CAAC,AAjDD,IAiDC;IAjDY,WAAK,QAiDjB,CAAA;IAED;QAAA;QA6BA,CAAC;QArBO,eAAK,GAAZ,UAAc,KAAa,EAAE,GAAW,EAAE,GAAW;YACpD,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC;YAC5B,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAEM,gBAAM,GAAb,UAAe,OAAe;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAEM,gBAAM,GAAb,UAAe,OAAe;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAEM,gBAAM,GAAb,UAAe,KAAa;YAC3B,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,CAAC;QAEM,eAAK,GAAZ,UAAc,CAAS;YACtB,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QA3BM,YAAE,GAAG,SAAS,CAAC;QACf,aAAG,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QACvB,0BAAgB,GAAG,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;QACtC,gBAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC;QACpC,0BAAgB,GAAG,SAAS,CAAC,EAAE,GAAG,GAAG,CAAC;QACtC,gBAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC;QAuB5C,gBAAC;IAAD,CAAC,AA7BD,IA6BC;IA7BY,eAAS,YA6BrB,CAAA;IAED;QAAA;QAsCA,CAAC;QAnCO,eAAS,GAAhB,UAAqB,MAAoB,EAAE,WAAmB,EAAE,IAAkB,EAAE,SAAiB,EAAE,WAAmB;YACzH,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClF,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACF,CAAC;QAEM,kBAAY,GAAnB,UAAwB,KAAe,EAAE,IAAY,EAAE,KAAc;YAAd,qBAAc,GAAd,SAAc;YACpE,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC;YAClC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;gBACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;oBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACvD,CAAC;YACD,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAEM,cAAQ,GAAf,UAAoB,IAAY,EAAE,YAAe;YAChD,IAAI,KAAK,GAAG,IAAI,KAAK,CAAI,IAAI,CAAC,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;gBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QAEM,mBAAa,GAApB,UAAsB,IAAY;YACjC,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,KAAK,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,CAAC;gBACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACpD,MAAM,CAAC,KAAK,CAAC;YACf,CAAC;QACF,CAAC;QAEM,kBAAY,GAAnB,UAAqB,KAAoB;YACxC,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACtE,CAAC;QApCM,2BAAqB,GAAG,OAAM,CAAC,YAAY,CAAC,KAAK,WAAW,CAAC;QAqCrE,YAAC;IAAD,CAAC,AAtCD,IAsCC;IAtCY,WAAK,QAsCjB,CAAA;IAED;QAIC,cAAa,YAAqB;YAH1B,WAAM,GAAG,IAAI,KAAK,CAAI,EAAE,CAAC,CAAC;YAIjC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QACnC,CAAC;QAED,qBAAM,GAAN;YACC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1E,CAAC;QAED,mBAAI,GAAJ,UAAM,IAAO;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,sBAAO,GAAP,UAAS,KAAmB;YAC3B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,oBAAK,GAAL;YACC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC;QACF,WAAC;IAAD,CAAC,AAvBD,IAuBC;IAvBY,UAAI,OAuBhB,CAAA;IAED;QACC,iBAAoB,CAAK,EAAS,CAAK;YAA1B,iBAAY,GAAZ,KAAY;YAAE,iBAAY,GAAZ,KAAY;YAAnB,MAAC,GAAD,CAAC,CAAI;YAAS,MAAC,GAAD,CAAC,CAAI;QACvC,CAAC;QAED,qBAAG,GAAH,UAAK,CAAS,EAAE,CAAS;YACxB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QACF,cAAC;IAAD,CAAC,AATD,IASC;IATY,aAAO,UASnB,CAAA;AACF,CAAC,EAtKM,KAAK,KAAL,KAAK,QAsKX;ACtKD,IAAO,KAAK,CA4FX;AA5FD,WAAO,KAAK,EAAC,CAAC;IACb;QAGC,oBAAa,IAAY;YACxB,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACF,iBAAC;IAAD,CAAC,AAPD,IAOC;IAPqB,gBAAU,aAO/B,CAAA;IAED;QAA+C,oCAAU;QAKxD,0BAAa,IAAY;YACxB,kBAAM,IAAI,CAAC,CAAC;YAHb,wBAAmB,GAAG,CAAC,CAAC;QAIxB,CAAC;QAED,+CAAoB,GAApB,UAAsB,IAAU,EAAE,aAAgC;YACjE,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;QAOD,mDAAwB,GAAxB,UAA0B,IAAU,EAAE,KAAa,EAAE,KAAa,EAAE,aAAgC,EAAE,MAAc;YACnH,KAAK,IAAI,MAAM,CAAC;YAChB,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YACnC,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;gBACnB,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;oBAAC,QAAQ,GAAG,WAAW,CAAC;gBACnD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACrB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;gBACjB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;gBACjB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACnD,GAAG,CAAC,CAAC,IAAI,GAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,GAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBACvC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM,CAAC;YACR,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;YACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACX,IAAI,IAAI,CAAC,CAAC;YACX,CAAC;YACD,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACnC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtD,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACnB,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnB,CAAC,IAAI,CAAC,CAAC;oBACP,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3B,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACrE,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBACzD,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;oBAC1D,CAAC;oBACD,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACtB,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3B,CAAC;YACF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,IAAI,MAAM,GAAG,WAAW,CAAC;gBACzB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACnB,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnB,CAAC,IAAI,CAAC,CAAC;oBACP,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBACnC,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACjG,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBACzD,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;oBAC1D,CAAC;oBACD,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACtB,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3B,CAAC;YACF,CAAC;QACF,CAAC;QAGD,sCAAW,GAAX,UAAa,gBAAkC;YAC9C,MAAM,CAAC,IAAI,IAAI,gBAAgB,CAAC;QACjC,CAAC;QACF,uBAAC;IAAD,CAAC,AAjFD,CAA+C,UAAU,GAiFxD;IAjFqB,sBAAgB,mBAiFrC,CAAA;AACF,CAAC,EA5FM,KAAK,KAAL,KAAK,QA4FX;AE5FD,IAAO,KAAK,CAIX;AAJD,WAAO,KAAK,EAAC,CAAC;IACb,WAAY,cAAc;QACzB,uDAAM,CAAA;QAAE,iEAAW,CAAA;QAAE,mDAAI,CAAA;QAAE,+DAAU,CAAA;QAAE,mDAAI,CAAA;IAC5C,CAAC,EAFW,oBAAc,KAAd,oBAAc,QAEzB;IAFD,IAAY,cAAc,GAAd,oBAEX,CAAA;AACF,CAAC,EAJM,KAAK,KAAL,KAAK,QAIX;ACJD,IAAO,KAAK,CAMX;AAND,WAAO,KAAK,EAAC,CAAC;IACb;QAA2C,yCAAgB;QAC1D,+BAAa,IAAY;YACxB,kBAAM,IAAI,CAAC,CAAC;QACb,CAAC;QACF,4BAAC;IAAD,CAAC,AAJD,CAA2C,sBAAgB,GAI1D;IAJY,2BAAqB,wBAIjC,CAAA;AACF,CAAC,EANM,KAAK,KAAL,KAAK,QAMX;ACND,IAAO,KAAK,CA6IX;AA7ID,WAAO,KAAK,EAAC,CAAC;IACb;QAAoC,kCAAgB;QAWnD,wBAAa,IAAY;YACxB,kBAAM,IAAI,CAAC,CAAC;YAPb,UAAK,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAG9B,kBAAa,GAAG,KAAK,CAAC;YACtB,cAAS,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAIlC,CAAC;QAED,kCAAS,GAAT;YACC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC;YACtC,IAAI,mBAAmB,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACpD,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,mBAAmB,CAAC;gBAClF,IAAI,CAAC,aAAa,GAAG,WAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAE/D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;YACxC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;gBACzB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;YACpB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClB,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC3B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;oBACrD,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBAChE,CAAC;YACF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;oBACjD,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;gBAC3D,CAAC;YACF,CAAC;QACF,CAAC;QAGD,4CAAmB,GAAnB,UAAqB,IAAU,EAAE,kBAA2B;YAC3D,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;YACnF,IAAI,KAAK,GAAG,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YACxD,IAAI,UAAU,GAAG,kBAAkB,GAAG,KAAK,GAAG,CAAC,CAAC;YAChD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,EACjE,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,EACxD,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,EACxD,KAAK,CAAC,CAAC;YAER,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YACnC,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACjE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;gBACnB,IAAI,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACrC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;oBAAC,QAAQ,GAAG,WAAW,CAAC;gBACnD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACrB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;gBACjB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;gBACjB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACnD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBACvC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC3C,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBAChC,CAAC;gBACD,MAAM,CAAC,aAAa,CAAC;YACtB,CAAC;YACD,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACnC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/D,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACnB,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBACxB,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACrE,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBACzD,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;oBAC1D,CAAC;oBACD,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACtB,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC1B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBAChC,CAAC;YACF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,IAAI,MAAM,GAAG,WAAW,CAAC;gBACzB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACnB,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBACxB,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpC,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACjG,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBACzD,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;oBAC1D,CAAC;oBACD,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACtB,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC1B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAC/B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBAChC,CAAC;YACF,CAAC;YACD,MAAM,CAAC,aAAa,CAAC;QACtB,CAAC;QAED,oCAAW,GAAX,UAAa,gBAAkC;YAC9C,MAAM,CAAC,IAAI,IAAI,gBAAgB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAC,CAAC;QACjG,CAAC;QAED,sCAAa,GAAb;YACC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QAGD,sCAAa,GAAb,UAAe,UAA0B;YACxC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;gBACpC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;gBACtC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;gBACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACzC,CAAC;QACF,CAAC;QACF,qBAAC;IAAD,CAAC,AA1ID,CAAoC,sBAAgB,GA0InD;IA1IY,oBAAc,iBA0I1B,CAAA;AAEF,CAAC,EA7IM,KAAK,KAAL,KAAK,QA6IX;AC7ID,IAAO,KAAK,CASX;AATD,WAAO,KAAK,EAAC,CAAC;IACb;QAAoC,kCAAgB;QAInD,wBAAa,IAAY;YACxB,kBAAM,IAAI,CAAC,CAAC;YAHb,WAAM,GAAG,KAAK,CAAC;YAAC,kBAAa,GAAG,KAAK,CAAC;QAItC,CAAC;QACF,qBAAC;IAAD,CAAC,AAPD,CAAoC,sBAAgB,GAOnD;IAPY,oBAAc,iBAO1B,CAAA;AACF,CAAC,EATM,KAAK,KAAL,KAAK,QASX;ACTD,IAAO,KAAK,CA8KX;AA9KD,WAAO,KAAK,EAAC,CAAC;IACb;QAAsC,oCAAU;QA0D/C,0BAAa,IAAW;YACvB,kBAAM,IAAI,CAAC,CAAC;YAbb,MAAC,GAAG,CAAC,CAAC;YAAC,MAAC,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAAC,aAAQ,GAAG,CAAC,CAAC;YAAC,UAAK,GAAG,CAAC,CAAC;YAAC,WAAM,GAAG,CAAC,CAAC;YAC1E,UAAK,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAM9B,WAAM,GAAG,WAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAChC,aAAQ,GAAG,WAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEtC,cAAS,GAAG,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAIlC,CAAC;QAED,oCAAS,GAAT,UAAW,MAAqB;YAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;YAC3C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACP,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;YAC3C,CAAC;QACF,CAAC;QAED,uCAAY,GAAZ;YACC,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;YACxE,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1E,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;YAChF,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;YACjF,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;YACxD,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;YACzD,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;YAC5C,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,SAAS,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACtC,IAAI,SAAS,GAAG,MAAM,GAAG,GAAG,CAAC;YAC7B,IAAI,SAAS,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACtC,IAAI,SAAS,GAAG,MAAM,GAAG,GAAG,CAAC;YAC7B,IAAI,UAAU,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACxC,IAAI,UAAU,GAAG,OAAO,GAAG,GAAG,CAAC;YAC/B,IAAI,UAAU,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACxC,IAAI,UAAU,GAAG,OAAO,GAAG,GAAG,CAAC;YAC/B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC;YACrD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC;YACrD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,SAAS,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC;YACvD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC;YACvD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,SAAS,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC;QACvD,CAAC;QAED,8CAAmB,GAAnB,UAAqB,IAAU,EAAE,kBAA2B;YAC3D,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACnC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3B,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,IAAI,KAAK,GAAG,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;YAC1D,IAAI,UAAU,GAAG,kBAAkB,GAAG,KAAK,GAAG,CAAC,CAAC;YAChD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,UAAU,EACnE,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,UAAU,EAC1D,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,UAAU,EAC1D,KAAK,CAAC,CAAC;YAER,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/D,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;YAE7B,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAEzC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAEzC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAEzC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAEzC,MAAM,CAAC,QAAQ,CAAC;QACjB,CAAC;QA1KM,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QAER,mBAAE,GAAG,CAAC,CAAC;QACP,mBAAE,GAAG,CAAC,CAAC;QACP,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,oBAAG,GAAG,CAAC,CAAC;QACR,mBAAE,GAAG,CAAC,CAAC;QACP,mBAAE,GAAG,CAAC,CAAC;QAEP,mBAAE,GAAG,CAAC,CAAC;QACP,mBAAE,GAAG,CAAC,CAAC;QACP,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,mBAAE,GAAG,EAAE,CAAC;QACR,mBAAE,GAAG,EAAE,CAAC;QAER,mBAAE,GAAG,EAAE,CAAC;QACR,mBAAE,GAAG,EAAE,CAAC;QACR,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,mBAAE,GAAG,EAAE,CAAC;QACR,mBAAE,GAAG,EAAE,CAAC;QAER,mBAAE,GAAG,EAAE,CAAC;QACR,mBAAE,GAAG,EAAE,CAAC;QACR,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,oBAAG,GAAG,EAAE,CAAC;QACT,mBAAE,GAAG,EAAE,CAAC;QACR,mBAAE,GAAG,EAAE,CAAC;QAgIhB,uBAAC;IAAD,CAAC,AA5KD,CAAsC,gBAAU,GA4K/C;IA5KY,sBAAgB,mBA4K5B,CAAA;AACF,CAAC,EA9KM,KAAK,KAAL,KAAK,QA8KX;AC9KD,IAAO,KAAK,CAwDX;AAxDD,WAAO,KAAK;IAAC,IAAA,KAAK,CAwDjB;IAxDY,WAAA,KAAK,EAAC,CAAC;QACnB;YAA+B,6BAAO;YAKrC,mBAAa,EAAyB,EAAE,KAAuB,EAAE,UAA2B;gBAA3B,0BAA2B,GAA3B,kBAA2B;gBAC3F,kBAAM,KAAK,CAAC,CAAC;gBAHN,eAAU,GAAG,CAAC,CAAC;gBAItB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;YAED,8BAAU,GAAV,UAAY,SAAwB,EAAE,SAAwB;gBAC7D,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;gBAClB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;gBAClE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;YACnE,CAAC;YAED,4BAAQ,GAAR,UAAU,KAAkB,EAAE,KAAkB;gBAC/C,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;gBAClB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBAC1D,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;YAED,0BAAM,GAAN,UAAQ,UAAmB;gBAC1B,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;gBAClB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjF,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;gBAClE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,UAAU,GAAE,EAAE,CAAC,oBAAoB,GAAE,EAAE,CAAC,MAAM,CAAC,CAAC;gBACvG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;gBACrE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;gBACrE,EAAE,CAAC,CAAC,UAAU,CAAC;oBAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YAClD,CAAC;YAED,wBAAI,GAAJ,UAAM,IAAgB;gBAAhB,oBAAgB,GAAhB,QAAgB;gBACrB,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;gBAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;gBACrC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC;YAED,0BAAM,GAAN;gBACC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;gBAClB,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChD,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC;YAED,2BAAO,GAAP;gBACC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;gBAClB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;YACF,gBAAC;QAAD,CAAC,AAtDD,CAA+B,aAAO,GAsDrC;QAtDY,eAAS,YAsDrB,CAAA;IACF,CAAC,EAxDY,KAAK,GAAL,WAAK,KAAL,WAAK,QAwDjB;AAAD,CAAC,EAxDM,KAAK,KAAL,KAAK,QAwDX;ACxDD,IAAO,KAAK,CA+QX;AA/QD,WAAO,KAAK;IAAC,IAAA,KAAK,CA+QjB;IA/QY,WAAA,KAAK,EAAC,CAAC;QACN,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,EAAE,CAAC;QACT,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,EAAE,CAAC;QACT,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,EAAE,CAAC;QACT,SAAG,GAAG,EAAE,CAAC;QACT,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,CAAC,CAAC;QACR,SAAG,GAAG,EAAE,CAAC;QACT,SAAG,GAAG,EAAE,CAAC;QAEtB;YAIC;gBAHA,SAAI,GAAiB,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC1C,WAAM,GAAiB,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;gBAG3C,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;YAED,qBAAG,GAAH,UAAK,MAAyB;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,2BAAS,GAAT;gBACC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YAED,0BAAQ,GAAR;gBACC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,wBAAM,GAAN;gBACC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,KAAK,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC/G,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAChH,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;oBAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACzD,IAAI,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC9E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,OAAO,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,6BAAW,GAAX;gBACC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,MAAM,CAAC,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBAC3G,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC;sBACzG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAA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AG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAED,8BAAY,GAAZ,UAAc,MAAe;gBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC/E,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,SAAG,CAAC,CAAC;gBAC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"} \ No newline at end of file diff --git a/spine-ts/canvas/example/assets/test.json b/spine-ts/canvas/example/assets/test.json index 54ab06e62..3de83e3ec 100644 --- a/spine-ts/canvas/example/assets/test.json +++ b/spine-ts/canvas/example/assets/test.json @@ -1,15 +1,17 @@ { -"skeleton": { "hash": "lDI/ipVg9yXAdln1ZwTDAuXPGng", "spine": "3.4.02", "width": 650.27, "height": 650.27, "images": "./images/" }, +"skeleton": { "hash": "IupPHodxMJRnAG/MhbCuGMvI6B0", "spine": "3.4.02", "width": 62.32, "height": 62.32, "images": "./images/" }, "bones": [ - { "name": "root" } + { "name": "root" }, + { "name": "bone", "parent": "root", "y": 142.84 } ], "slots": [ - { "name": "badlogic", "bone": "root", "attachment": "badlogic" } + { "name": "badlogic2", "bone": "bone", "attachment": "badlogic" }, + { "name": "badlogic", "bone": "root" } ], "skins": { "default": { - "badlogic": { - "badlogic": { "rotation": 43.36, "width": 460, "height": 460 } + "badlogic2": { + "badlogic": { "x": 30.33, "y": -69.62, "scaleX": 0.1, "scaleY": 0.1, "rotation": 61.65, "width": 460, "height": 460 } } } }, diff --git a/spine-ts/canvas/example/index.html b/spine-ts/canvas/example/index.html index 671fb9c5d..da2c28a82 100644 --- a/spine-ts/canvas/example/index.html +++ b/spine-ts/canvas/example/index.html @@ -23,6 +23,10 @@ function init () { context = canvas.getContext("2d"); skeletonRenderer = new spine.canvas.SkeletonRenderer(context); + // enable debug rendering + skeletonRenderer.useDebugRendering = true; + // enable the triangle renderer, supports meshes, but may produce artifacts in some browsers + skeletonRenderer.useTriangleRendering = true; assetManager = new spine.AssetManager(function(image) { return new spine.canvas.CanvasTexture(image); @@ -43,7 +47,7 @@ function init () { function load () { if (assetManager.isLoadingComplete()) { - var data = loadSkeleton("raptor", 0.3, "walk", 320, 20, "default"); + var data = loadSkeleton("spineboy", 0.7, "walk", 320, 460, "default"); skeleton = data.skeleton; state = data.state; requestAnimationFrame(render); @@ -73,6 +77,7 @@ function loadSkeleton (name, scale, initialAnimation, positionX, positionY, skin var skeleton = new spine.Skeleton(skeletonData); skeleton.x = positionX; skeleton.y = positionY; + skeleton.flipY = true; skeleton.setSkinByName(skin); // Create an AnimationState, and set the initial animation in looping mode. diff --git a/spine-ts/canvas/src/SkeletonRenderer.ts b/spine-ts/canvas/src/SkeletonRenderer.ts index f2a19dde0..6cd1bbae6 100644 --- a/spine-ts/canvas/src/SkeletonRenderer.ts +++ b/spine-ts/canvas/src/SkeletonRenderer.ts @@ -34,14 +34,66 @@ module spine.canvas { static QUAD_TRIANGLES = [0, 1, 2, 2, 3, 0]; private _ctx: CanvasRenderingContext2D; + + public useTriangleRendering = false; + public useDebugRendering = false; constructor (context: CanvasRenderingContext2D) { this._ctx = context; } - draw (skeleton: Skeleton) { - let blendMode: BlendMode = null; + draw (skeleton: Skeleton) { + if (this.useTriangleRendering) this.drawTriangles(skeleton); + else this.drawImages(skeleton); + } + + private drawImages (skeleton: Skeleton) { let ctx = this._ctx; + let drawOrder = skeleton.drawOrder; + + if (this.useDebugRendering) ctx.strokeStyle = "green"; + + for (let i = 0, n = drawOrder.length; i < n; i++) { + let slot = drawOrder[i]; + let attachment = slot.getAttachment(); + let region: TextureAtlasRegion = null; + let image: HTMLImageElement = null; + let vertices: ArrayLike = null; + if (attachment instanceof RegionAttachment) { + let regionAttachment = attachment; + vertices = regionAttachment.updateWorldVertices(slot, false); + region = regionAttachment.region; + image = ((region).texture).getImage(); + + } else continue; + + let att = attachment; + let bone = slot.bone; + let x = vertices[0]; + let y = vertices[1]; + let rotation = (bone.getWorldRotationX() - att.rotation) * Math.PI / 180; + let xx = vertices[24] - vertices[0]; + let xy = vertices[25] - vertices[1]; + let yx = vertices[8] - vertices[0]; + let yy = vertices[9] - vertices[1]; + let w = Math.sqrt(xx * xx + xy * xy), h = -Math.sqrt(yx * yx + yy * yy); + ctx.translate(x, y); + ctx.rotate(rotation); + if (region.rotate) { + ctx.rotate(Math.PI / 2); + ctx.drawImage(image, region.x, region.y, region.height, region.width, 0, 0, h, -w); + ctx.rotate(-Math.PI / 2); + } else { + ctx.drawImage(image, region.x, region.y, region.width, region.height, 0, 0, w, h); + } + if (this.useDebugRendering) ctx.strokeRect(0, 0, w, h); + ctx.rotate(-rotation); + ctx.translate(-x, -y); + } + } + + private drawTriangles (skeleton: Skeleton) { + let blendMode: BlendMode = null; let vertices: ArrayLike = null; let triangles: Array = null; @@ -64,7 +116,7 @@ module spine.canvas { vertices = mesh.updateWorldVertices(slot, false); triangles = mesh.triangles; texture = (mesh.region.renderObject).texture.getImage(); - } else continue; + } else continue; if (texture != null) { let slotBlendMode = slot.data.blendMode; @@ -72,30 +124,34 @@ module spine.canvas { blendMode = slotBlendMode; } - this.drawTriangles(texture, vertices, triangles); + let ctx = this._ctx; - // ctx.drawImage(texture, 0, 0); - } + for (var j = 0; j < triangles.length; j+=3) { + let t1 = triangles[j] * 8, t2 = triangles[j+1] * 8, t3 = triangles[j+2] * 8; + + let x0 = vertices[t1], y0 = vertices[t1 + 1], u0 = vertices[t1 + 6], v0 = vertices[t1 + 7]; + let x1 = vertices[t2], y1 = vertices[t2 + 1], u1 = vertices[t2 + 6], v1 = vertices[t2 + 7]; + let x2 = vertices[t3], y2 = vertices[t3 + 1], u2 = vertices[t3 + 6], v2 = vertices[t3 + 7]; + + this.drawTriangle(texture, x0, y0, u0, v0, x1, y1, u1, v1, x2, y2, u2, v2); + + if (this.useDebugRendering) { + ctx.strokeStyle = "green"; + ctx.beginPath(); + ctx.moveTo(x0, y0); + ctx.lineTo(x1, y1); + ctx.lineTo(x2, y2); + ctx.lineTo(x0, y0); + ctx.stroke(); + } + } + } } - } - - drawTriangles(texture: HTMLImageElement, vertices: ArrayLike, triangles: ArrayLike) { - let ctx = this._ctx; - - for (var i = 0; i < triangles.length; i+=3) { - let t1 = triangles[i] * 8, t2 = triangles[i+1] * 8, t3 = triangles[i+2] * 8; - - let x0 = vertices[t1], y0 = vertices[t1 + 1], u0 = vertices[t1 + 6], v0 = vertices[t1 + 7]; - let x1 = vertices[t2], y1 = vertices[t2 + 1], u1 = vertices[t2 + 6], v1 = vertices[t2 + 7]; - let x2 = vertices[t3], y2 = vertices[t3 + 1], u2 = vertices[t3 + 6], v2 = vertices[t3 + 7]; - - this.drawTriangle(texture, x0, y0, u0, v0, x1, y1, u1, v1, x2, y2, u2, v2); - } - } + } // Adapted from http://extremelysatisfactorytotalitarianism.com/blog/?p=2120 // Apache 2 licensed - drawTriangle(img: HTMLImageElement, x0: number, y0: number, u0: number, v0: number, + private drawTriangle(img: HTMLImageElement, x0: number, y0: number, u0: number, v0: number, x1: number, y1: number, u1: number, v1: number, x2: number, y2: number, u2: number, v2: number) { let ctx = this._ctx; @@ -139,7 +195,7 @@ module spine.canvas { ctx.transform(a, b, c, d, e, f); ctx.clip(); ctx.drawImage(img, 0, 0); - ctx.restore(); + ctx.restore(); } } } \ No newline at end of file diff --git a/spine-ts/widget/src/Widget.ts b/spine-ts/widget/src/Widget.ts index b8e316976..d1ecceb1b 100644 --- a/spine-ts/widget/src/Widget.ts +++ b/spine-ts/widget/src/Widget.ts @@ -114,14 +114,12 @@ module spine { else throw new Error("Failed to load assets: " + JSON.stringify(assetManager.errors)); } - let atlas = new spine.TextureAtlas(this._assetManager.get(this._config.atlas) as string, (path: string, minFilter: TextureFilter, magFilter: TextureFilter, uWrap: TextureWrap, vWrap: TextureWrap) => { + let atlas = new spine.TextureAtlas(this._assetManager.get(this._config.atlas) as string, (path: string) => { let texture = assetManager.get(imagesPath + path) as spine.webgl.GLTexture; - texture.setFilters(minFilter, magFilter); - texture.setWraps(uWrap, vWrap); return texture; }); - let atlasLoader = new spine.webgl.TextureAtlasAttachmentLoader(atlas); + let atlasLoader = new spine.TextureAtlasAttachmentLoader(atlas); var skeletonJson = new spine.SkeletonJson(atlasLoader); // Set the scale to apply during parsing, parse the file, and create a new skeleton.