@esotericsoftware/spine-core 4.2.82 → 4.2.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +12 -12
- package/dist/Animation.d.ts +6 -6
- package/dist/Animation.js +7 -7
- package/dist/AnimationState.d.ts +6 -6
- package/dist/AnimationState.js +7 -7
- package/dist/AnimationStateData.d.ts +6 -6
- package/dist/AnimationStateData.js +7 -7
- package/dist/AssetManagerBase.d.ts +6 -6
- package/dist/AssetManagerBase.js +7 -7
- package/dist/AtlasAttachmentLoader.d.ts +6 -6
- package/dist/AtlasAttachmentLoader.js +7 -7
- package/dist/Bone.d.ts +6 -6
- package/dist/Bone.js +7 -7
- package/dist/BoneData.d.ts +6 -6
- package/dist/BoneData.js +7 -7
- package/dist/ConstraintData.d.ts +6 -6
- package/dist/ConstraintData.js +7 -7
- package/dist/Event.d.ts +6 -6
- package/dist/Event.js +7 -7
- package/dist/EventData.d.ts +6 -6
- package/dist/EventData.js +7 -7
- package/dist/IkConstraint.d.ts +6 -6
- package/dist/IkConstraint.js +7 -7
- package/dist/IkConstraintData.d.ts +6 -6
- package/dist/IkConstraintData.js +7 -7
- package/dist/PathConstraint.d.ts +6 -6
- package/dist/PathConstraint.js +7 -7
- package/dist/PathConstraintData.d.ts +6 -6
- package/dist/PathConstraintData.js +7 -7
- package/dist/PhysicsConstraint.d.ts +6 -6
- package/dist/PhysicsConstraint.js +7 -7
- package/dist/PhysicsConstraintData.d.ts +6 -6
- package/dist/PhysicsConstraintData.js +7 -7
- package/dist/Skeleton.d.ts +6 -6
- package/dist/Skeleton.js +7 -7
- package/dist/SkeletonBinary.d.ts +6 -6
- package/dist/SkeletonBinary.js +7 -7
- package/dist/SkeletonBounds.d.ts +6 -6
- package/dist/SkeletonBounds.js +7 -7
- package/dist/SkeletonClipping.d.ts +6 -6
- package/dist/SkeletonClipping.js +7 -7
- package/dist/SkeletonData.d.ts +6 -6
- package/dist/SkeletonData.js +7 -7
- package/dist/SkeletonJson.d.ts +6 -6
- package/dist/SkeletonJson.js +7 -7
- package/dist/Skin.d.ts +6 -6
- package/dist/Skin.js +7 -7
- package/dist/Slot.d.ts +6 -6
- package/dist/Slot.js +7 -7
- package/dist/SlotData.d.ts +6 -6
- package/dist/SlotData.js +7 -7
- package/dist/Texture.d.ts +6 -6
- package/dist/Texture.js +7 -7
- package/dist/TextureAtlas.d.ts +6 -6
- package/dist/TextureAtlas.js +7 -7
- package/dist/TransformConstraint.d.ts +6 -6
- package/dist/TransformConstraint.js +7 -7
- package/dist/TransformConstraintData.d.ts +6 -6
- package/dist/TransformConstraintData.js +7 -7
- package/dist/Triangulator.d.ts +6 -6
- package/dist/Triangulator.js +7 -7
- package/dist/Updatable.d.ts +6 -6
- package/dist/Updatable.js +7 -7
- package/dist/Utils.d.ts +6 -6
- package/dist/Utils.js +7 -7
- package/dist/attachments/Attachment.d.ts +6 -6
- package/dist/attachments/Attachment.js +7 -7
- package/dist/attachments/AttachmentLoader.d.ts +6 -6
- package/dist/attachments/AttachmentLoader.js +7 -7
- package/dist/attachments/BoundingBoxAttachment.d.ts +6 -6
- package/dist/attachments/BoundingBoxAttachment.js +7 -7
- package/dist/attachments/ClippingAttachment.d.ts +6 -6
- package/dist/attachments/ClippingAttachment.js +7 -7
- package/dist/attachments/HasTextureRegion.d.ts +6 -6
- package/dist/attachments/HasTextureRegion.js +7 -7
- package/dist/attachments/MeshAttachment.d.ts +6 -6
- package/dist/attachments/MeshAttachment.js +8 -8
- package/dist/attachments/PathAttachment.d.ts +6 -6
- package/dist/attachments/PathAttachment.js +7 -7
- package/dist/attachments/PointAttachment.d.ts +6 -6
- package/dist/attachments/PointAttachment.js +7 -7
- package/dist/attachments/RegionAttachment.d.ts +6 -6
- package/dist/attachments/RegionAttachment.js +7 -7
- package/dist/attachments/Sequence.d.ts +6 -6
- package/dist/attachments/Sequence.js +7 -7
- package/dist/esm/spine-core.min.mjs +1 -1
- package/dist/esm/spine-core.mjs +1 -1
- package/dist/esm/spine-core.mjs.map +2 -2
- package/dist/iife/spine-core.js +1 -1
- package/dist/iife/spine-core.js.map +2 -2
- package/dist/iife/spine-core.min.js +1 -1
- package/dist/polyfills.d.ts +6 -6
- package/dist/polyfills.js +7 -7
- package/package.json +1 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/******************************************************************************
|
|
2
2
|
* Spine Runtimes License Agreement
|
|
3
|
-
* Last updated
|
|
3
|
+
* Last updated April 5, 2025. Replaces all prior versions.
|
|
4
4
|
*
|
|
5
|
-
* Copyright (c) 2013-
|
|
5
|
+
* Copyright (c) 2013-2025, Esoteric Software LLC
|
|
6
6
|
*
|
|
7
7
|
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
8
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
9
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
10
|
* http://esotericsoftware.com/spine-editor-license
|
|
11
11
|
*
|
|
12
|
-
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
-
* otherwise create derivative works of the Spine Runtimes (collectively,
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
14
|
* "Products"), provided that each user of the Products must obtain their own
|
|
15
15
|
* Spine Editor license and redistribution of the Products in any form must
|
|
16
16
|
* include this license and copyright notice.
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
24
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
25
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
-
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
29
|
import { Animation } from "./Animation.js";
|
|
30
30
|
import { SkeletonData } from "./SkeletonData.js";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/******************************************************************************
|
|
2
2
|
* Spine Runtimes License Agreement
|
|
3
|
-
* Last updated
|
|
3
|
+
* Last updated April 5, 2025. Replaces all prior versions.
|
|
4
4
|
*
|
|
5
|
-
* Copyright (c) 2013-
|
|
5
|
+
* Copyright (c) 2013-2025, Esoteric Software LLC
|
|
6
6
|
*
|
|
7
7
|
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
8
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
9
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
10
|
* http://esotericsoftware.com/spine-editor-license
|
|
11
11
|
*
|
|
12
|
-
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
-
* otherwise create derivative works of the Spine Runtimes (collectively,
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
14
|
* "Products"), provided that each user of the Products must obtain their own
|
|
15
15
|
* Spine Editor license and redistribution of the Products in any form must
|
|
16
16
|
* include this license and copyright notice.
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
24
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
25
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
-
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
29
|
/** Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed. */
|
|
30
30
|
export class AnimationStateData {
|
|
@@ -69,4 +69,4 @@ export class AnimationStateData {
|
|
|
69
69
|
return value === undefined ? this.defaultMix : value;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5pbWF0aW9uU3RhdGVEYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0FuaW1hdGlvblN0YXRlRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFPL0UseUdBQXlHO0FBQ3pHLE1BQU0sT0FBTyxrQkFBa0I7SUFDOUIsOEVBQThFO0lBQzlFLFlBQVksQ0FBZTtJQUUzQixrQkFBa0IsR0FBc0IsRUFBRSxDQUFDO0lBRTNDLDRGQUE0RjtJQUM1RixVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBRWYsWUFBYSxZQUEwQjtRQUN0QyxJQUFJLENBQUMsWUFBWTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O29DQUVnQztJQUNoQyxNQUFNLENBQUUsUUFBZ0IsRUFBRSxNQUFjLEVBQUUsUUFBZ0I7UUFDekQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxFQUFFO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs2Q0FFeUM7SUFDekMsVUFBVSxDQUFFLElBQWUsRUFBRSxFQUFhLEVBQUUsUUFBZ0I7UUFDM0QsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEVBQUU7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDL0MsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFFRDt3Q0FDb0M7SUFDcEMsTUFBTSxDQUFFLElBQWUsRUFBRSxFQUFhO1FBQ3JDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDcEMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3RELENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHsgQW5pbWF0aW9uIH0gZnJvbSBcIi4vQW5pbWF0aW9uLmpzXCI7XG5pbXBvcnQgeyBTa2VsZXRvbkRhdGEgfSBmcm9tIFwiLi9Ta2VsZXRvbkRhdGEuanNcIjtcbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gXCIuL1V0aWxzLmpzXCI7XG5cblxuLyoqIFN0b3JlcyBtaXggKGNyb3NzZmFkZSkgZHVyYXRpb25zIHRvIGJlIGFwcGxpZWQgd2hlbiB7QGxpbmsgQW5pbWF0aW9uU3RhdGV9IGFuaW1hdGlvbnMgYXJlIGNoYW5nZWQuICovXG5leHBvcnQgY2xhc3MgQW5pbWF0aW9uU3RhdGVEYXRhIHtcblx0LyoqIFRoZSBTa2VsZXRvbkRhdGEgdG8gbG9vayB1cCBhbmltYXRpb25zIHdoZW4gdGhleSBhcmUgc3BlY2lmaWVkIGJ5IG5hbWUuICovXG5cdHNrZWxldG9uRGF0YTogU2tlbGV0b25EYXRhO1xuXG5cdGFuaW1hdGlvblRvTWl4VGltZTogU3RyaW5nTWFwPG51bWJlcj4gPSB7fTtcblxuXHQvKiogVGhlIG1peCBkdXJhdGlvbiB0byB1c2Ugd2hlbiBubyBtaXggZHVyYXRpb24gaGFzIGJlZW4gZGVmaW5lZCBiZXR3ZWVuIHR3byBhbmltYXRpb25zLiAqL1xuXHRkZWZhdWx0TWl4ID0gMDtcblxuXHRjb25zdHJ1Y3RvciAoc2tlbGV0b25EYXRhOiBTa2VsZXRvbkRhdGEpIHtcblx0XHRpZiAoIXNrZWxldG9uRGF0YSkgdGhyb3cgbmV3IEVycm9yKFwic2tlbGV0b25EYXRhIGNhbm5vdCBiZSBudWxsLlwiKTtcblx0XHR0aGlzLnNrZWxldG9uRGF0YSA9IHNrZWxldG9uRGF0YTtcblx0fVxuXG5cdC8qKiBTZXRzIGEgbWl4IGR1cmF0aW9uIGJ5IGFuaW1hdGlvbiBuYW1lLlxuXHQgKlxuXHQgKiBTZWUge0BsaW5rICNzZXRNaXhXaXRoKCl9LiAqL1xuXHRzZXRNaXggKGZyb21OYW1lOiBzdHJpbmcsIHRvTmFtZTogc3RyaW5nLCBkdXJhdGlvbjogbnVtYmVyKSB7XG5cdFx0bGV0IGZyb20gPSB0aGlzLnNrZWxldG9uRGF0YS5maW5kQW5pbWF0aW9uKGZyb21OYW1lKTtcblx0XHRpZiAoIWZyb20pIHRocm93IG5ldyBFcnJvcihcIkFuaW1hdGlvbiBub3QgZm91bmQ6IFwiICsgZnJvbU5hbWUpO1xuXHRcdGxldCB0byA9IHRoaXMuc2tlbGV0b25EYXRhLmZpbmRBbmltYXRpb24odG9OYW1lKTtcblx0XHRpZiAoIXRvKSB0aHJvdyBuZXcgRXJyb3IoXCJBbmltYXRpb24gbm90IGZvdW5kOiBcIiArIHRvTmFtZSk7XG5cdFx0dGhpcy5zZXRNaXhXaXRoKGZyb20sIHRvLCBkdXJhdGlvbik7XG5cdH1cblxuXHQvKiogU2V0cyB0aGUgbWl4IGR1cmF0aW9uIHdoZW4gY2hhbmdpbmcgZnJvbSB0aGUgc3BlY2lmaWVkIGFuaW1hdGlvbiB0byB0aGUgb3RoZXIuXG5cdCAqXG5cdCAqIFNlZSB7QGxpbmsgVHJhY2tFbnRyeSNtaXhEdXJhdGlvbn0uICovXG5cdHNldE1peFdpdGggKGZyb206IEFuaW1hdGlvbiwgdG86IEFuaW1hdGlvbiwgZHVyYXRpb246IG51bWJlcikge1xuXHRcdGlmICghZnJvbSkgdGhyb3cgbmV3IEVycm9yKFwiZnJvbSBjYW5ub3QgYmUgbnVsbC5cIik7XG5cdFx0aWYgKCF0bykgdGhyb3cgbmV3IEVycm9yKFwidG8gY2Fubm90IGJlIG51bGwuXCIpO1xuXHRcdGxldCBrZXkgPSBmcm9tLm5hbWUgKyBcIi5cIiArIHRvLm5hbWU7XG5cdFx0dGhpcy5hbmltYXRpb25Ub01peFRpbWVba2V5XSA9IGR1cmF0aW9uO1xuXHR9XG5cblx0LyoqIFJldHVybnMgdGhlIG1peCBkdXJhdGlvbiB0byB1c2Ugd2hlbiBjaGFuZ2luZyBmcm9tIHRoZSBzcGVjaWZpZWQgYW5pbWF0aW9uIHRvIHRoZSBvdGhlciwgb3IgdGhlIHtAbGluayAjZGVmYXVsdE1peH0gaWZcblx0ICAqIG5vIG1peCBkdXJhdGlvbiBoYXMgYmVlbiBzZXQuICovXG5cdGdldE1peCAoZnJvbTogQW5pbWF0aW9uLCB0bzogQW5pbWF0aW9uKSB7XG5cdFx0bGV0IGtleSA9IGZyb20ubmFtZSArIFwiLlwiICsgdG8ubmFtZTtcblx0XHRsZXQgdmFsdWUgPSB0aGlzLmFuaW1hdGlvblRvTWl4VGltZVtrZXldO1xuXHRcdHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gdGhpcy5kZWZhdWx0TWl4IDogdmFsdWU7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/******************************************************************************
|
|
2
2
|
* Spine Runtimes License Agreement
|
|
3
|
-
* Last updated
|
|
3
|
+
* Last updated April 5, 2025. Replaces all prior versions.
|
|
4
4
|
*
|
|
5
|
-
* Copyright (c) 2013-
|
|
5
|
+
* Copyright (c) 2013-2025, Esoteric Software LLC
|
|
6
6
|
*
|
|
7
7
|
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
8
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
9
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
10
|
* http://esotericsoftware.com/spine-editor-license
|
|
11
11
|
*
|
|
12
|
-
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
-
* otherwise create derivative works of the Spine Runtimes (collectively,
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
14
|
* "Products"), provided that each user of the Products must obtain their own
|
|
15
15
|
* Spine Editor license and redistribution of the Products in any form must
|
|
16
16
|
* include this license and copyright notice.
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
24
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
25
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
-
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
29
|
import { Texture } from "./Texture.js";
|
|
30
30
|
import { TextureAtlas } from "./TextureAtlas.js";
|
package/dist/AssetManagerBase.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/******************************************************************************
|
|
2
2
|
* Spine Runtimes License Agreement
|
|
3
|
-
* Last updated
|
|
3
|
+
* Last updated April 5, 2025. Replaces all prior versions.
|
|
4
4
|
*
|
|
5
|
-
* Copyright (c) 2013-
|
|
5
|
+
* Copyright (c) 2013-2025, Esoteric Software LLC
|
|
6
6
|
*
|
|
7
7
|
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
8
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
9
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
10
|
* http://esotericsoftware.com/spine-editor-license
|
|
11
11
|
*
|
|
12
|
-
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
-
* otherwise create derivative works of the Spine Runtimes (collectively,
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
14
|
* "Products"), provided that each user of the Products must obtain their own
|
|
15
15
|
* Spine Editor license and redistribution of the Products in any form must
|
|
16
16
|
* include this license and copyright notice.
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
24
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
25
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
-
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
29
|
import { TextureAtlas } from "./TextureAtlas.js";
|
|
30
30
|
export class AssetManagerBase {
|
|
@@ -431,4 +431,4 @@ export class Downloader {
|
|
|
431
431
|
callbacks[i].apply(null, args);
|
|
432
432
|
}
|
|
433
433
|
}
|
|
434
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXNzZXRNYW5hZ2VyQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Bc3NldE1hbmFnZXJCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUcvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHakQsTUFBTSxPQUFPLGdCQUFnQjtJQUNwQixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLGFBQWEsQ0FBcUQ7SUFDbEUsVUFBVSxDQUFhO0lBQ3ZCLE1BQU0sR0FBbUIsRUFBRSxDQUFDO0lBQzVCLGNBQWMsR0FBc0IsRUFBRSxDQUFDO0lBQ3ZDLFlBQVksR0FBNEIsRUFBRSxDQUFDO0lBQzNDLE1BQU0sR0FBc0IsRUFBRSxDQUFDO0lBQy9CLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDWCxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRW5CLFlBQWEsYUFBaUUsRUFBRSxhQUFxQixFQUFFLEVBQUUsYUFBeUIsSUFBSSxVQUFVLEVBQUU7UUFDakosSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDOUIsQ0FBQztJQUVPLEtBQUssQ0FBRSxJQUFZO1FBQzFCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVPLE9BQU8sQ0FBRSxRQUEyQyxFQUFFLElBQVksRUFBRSxLQUFVO1FBQ3JGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLENB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QUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBKdWx5IDI4LCAyMDIzLiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjMsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3JcbiAqIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSEVcbiAqIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pbXBvcnQgeyBUZXh0dXJlIH0gZnJvbSBcIi4vVGV4dHVyZS5qc1wiO1xuaW1wb3J0IHsgVGV4dHVyZUF0bGFzIH0gZnJvbSBcIi4vVGV4dHVyZUF0bGFzLmpzXCI7XG5pbXBvcnQgeyBEaXNwb3NhYmxlLCBTdHJpbmdNYXAgfSBmcm9tIFwiLi9VdGlscy5qc1wiO1xuXG5leHBvcnQgY2xhc3MgQXNzZXRNYW5hZ2VyQmFzZSBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuXHRwcml2YXRlIHBhdGhQcmVmaXg6IHN0cmluZyA9IFwiXCI7XG5cdHByaXZhdGUgdGV4dHVyZUxvYWRlcjogKGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50IHwgSW1hZ2VCaXRtYXApID0+IFRleHR1cmU7XG5cdHByaXZhdGUgZG93bmxvYWRlcjogRG93bmxvYWRlcjtcblx0cHJpdmF0ZSBhc3NldHM6IFN0cmluZ01hcDxhbnk+ID0ge307XG5cdHByaXZhdGUgYXNzZXRzUmVmQ291bnQ6IFN0cmluZ01hcDxudW1iZXI+ID0ge307XG5cdHByaXZhdGUgYXNzZXRzTG9hZGVkOiBTdHJpbmdNYXA8UHJvbWlzZTxhbnk+PiA9IHt9O1xuXHRwcml2YXRlIGVycm9yczogU3RyaW5nTWFwPHN0cmluZz4gPSB7fTtcblx0cHJpdmF0ZSB0b0xvYWQgPSAwO1xuXHRwcml2YXRlIGxvYWRlZCA9IDA7XG5cblx0Y29uc3RydWN0b3IgKHRleHR1cmVMb2FkZXI6IChpbWFnZTogSFRNTEltYWdlRWxlbWVudCB8IEltYWdlQml0bWFwKSA9PiBUZXh0dXJlLCBwYXRoUHJlZml4OiBzdHJpbmcgPSBcIlwiLCBkb3dubG9hZGVyOiBEb3dubG9hZGVyID0gbmV3IERvd25sb2FkZXIoKSkge1xuXHRcdHRoaXMudGV4dHVyZUxvYWRlciA9IHRleHR1cmVMb2FkZXI7XG5cdFx0dGhpcy5wYXRoUHJlZml4ID0gcGF0aFByZWZpeDtcblx0XHR0aGlzLmRvd25sb2FkZXIgPSBkb3dubG9hZGVyO1xuXHR9XG5cblx0cHJpdmF0ZSBzdGFydCAocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHR0aGlzLnRvTG9hZCsrO1xuXHRcdHJldHVybiB0aGlzLnBhdGhQcmVmaXggKyBwYXRoO1xuXHR9XG5cblx0cHJpdmF0ZSBzdWNjZXNzIChjYWxsYmFjazogKHBhdGg6IHN0cmluZywgZGF0YTogYW55KSA9PiB2b2lkLCBwYXRoOiBzdHJpbmcsIGFzc2V0OiBhbnkpIHtcblx0XHR0aGlzLnRvTG9hZC0tO1xuXHRcdHRoaXMubG9hZGVkKys7XG5cdFx0dGhpcy5hc3NldHNbcGF0aF0gPSBhc3NldDtcblx0XHR0aGlzLmFzc2V0c1JlZkNvdW50W3BhdGhdID0gKHRoaXMuYXNzZXRzUmVmQ291bnRbcGF0aF0gfHwgMCkgKyAxO1xuXHRcdGlmIChjYWxsYmFjaykgY2FsbGJhY2socGF0aCwgYXNzZXQpO1xuXHR9XG5cblx0cHJpdmF0ZSBlcnJvciAoY2FsbGJhY2s6IChwYXRoOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCwgcGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRvTG9hZC0tO1xuXHRcdHRoaXMubG9hZGVkKys7XG5cdFx0dGhpcy5lcnJvcnNbcGF0aF0gPSBtZXNzYWdlO1xuXHRcdGlmIChjYWxsYmFjaykgY2FsbGJhY2socGF0aCwgbWVzc2FnZSk7XG5cdH1cblxuXHRsb2FkQWxsICgpIHtcblx0XHRsZXQgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiAoYXNzZXRNYW5hZ2VyOiBBc3NldE1hbmFnZXJCYXNlKSA9PiB2b2lkLCByZWplY3Q6IChlcnJvcnM6IFN0cmluZ01hcDxzdHJpbmc+KSA9PiB2b2lkKSA9PiB7XG5cdFx0XHRsZXQgY2hlY2sgPSAoKSA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLmlzTG9hZGluZ0NvbXBsZXRlKCkpIHtcblx0XHRcdFx0XHRpZiAodGhpcy5oYXNFcnJvcnMoKSkgcmVqZWN0KHRoaXMuZXJyb3JzKTtcblx0XHRcdFx0XHRlbHNlIHJlc29sdmUodGhpcyk7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJlcXVlc3RBbmltYXRpb25GcmFtZShjaGVjayk7XG5cdFx0XHR9XG5cdFx0XHRyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2hlY2spO1xuXHRcdH0pO1xuXHRcdHJldHVybiBwcm9taXNlO1xuXHR9XG5cblx0c2V0UmF3RGF0YVVSSSAocGF0aDogc3RyaW5nLCBkYXRhOiBzdHJpbmcpIHtcblx0XHR0aGlzLmRvd25sb2FkZXIucmF3RGF0YVVyaXNbdGhpcy5wYXRoUHJlZml4ICsgcGF0aF0gPSBkYXRhO1xuXHR9XG5cblx0bG9hZEJpbmFyeSAocGF0aDogc3RyaW5nLFxuXHRcdHN1Y2Nlc3M6IChwYXRoOiBzdHJpbmcsIGJpbmFyeTogVWludDhBcnJheSkgPT4gdm9pZCA9ICgpID0+IHsgfSxcblx0XHRlcnJvcjogKHBhdGg6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4geyB9KSB7XG5cdFx0cGF0aCA9IHRoaXMuc3RhcnQocGF0aCk7XG5cblx0XHRpZiAodGhpcy5yZXVzZUFzc2V0cyhwYXRoLCBzdWNjZXNzLCBlcnJvcikpIHJldHVybjtcblxuXHRcdHRoaXMuYXNzZXRzTG9hZGVkW3BhdGhdID0gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmRvd25sb2FkZXIuZG93bmxvYWRCaW5hcnkocGF0aCwgKGRhdGE6IFVpbnQ4QXJyYXkpOiB2b2lkID0+IHtcblx0XHRcdFx0dGhpcy5zdWNjZXNzKHN1Y2Nlc3MsIHBhdGgsIGRhdGEpO1xuXHRcdFx0XHRyZXNvbHZlKGRhdGEpO1xuXHRcdFx0fSwgKHN0YXR1czogbnVtYmVyLCByZXNwb25zZVRleHQ6IHN0cmluZyk6IHZvaWQgPT4ge1xuXHRcdFx0XHRjb25zdCBlcnJvck1zZyA9IGBDb3VsZG4ndCBsb2FkIGJpbmFyeSAke3BhdGh9OiBzdGF0dXMgJHtzdGF0dXN9LCAke3Jlc3BvbnNlVGV4dH1gO1xuXHRcdFx0XHR0aGlzLmVycm9yKGVycm9yLCBwYXRoLCBlcnJvck1zZyk7XG5cdFx0XHRcdHJlamVjdChlcnJvck1zZyk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdGxvYWRUZXh0IChwYXRoOiBzdHJpbmcsXG5cdFx0c3VjY2VzczogKHBhdGg6IHN0cmluZywgdGV4dDogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0pIHtcblx0XHRwYXRoID0gdGhpcy5zdGFydChwYXRoKTtcblxuXHRcdHRoaXMuZG93bmxvYWRlci5kb3dubG9hZFRleHQocGF0aCwgKGRhdGE6IHN0cmluZyk6IHZvaWQgPT4ge1xuXHRcdFx0dGhpcy5zdWNjZXNzKHN1Y2Nlc3MsIHBhdGgsIGRhdGEpO1xuXHRcdH0sIChzdGF0dXM6IG51bWJlciwgcmVzcG9uc2VUZXh0OiBzdHJpbmcpOiB2b2lkID0+IHtcblx0XHRcdHRoaXMuZXJyb3IoZXJyb3IsIHBhdGgsIGBDb3VsZG4ndCBsb2FkIHRleHQgJHtwYXRofTogc3RhdHVzICR7c3RhdHVzfSwgJHtyZXNwb25zZVRleHR9YCk7XG5cdFx0fSk7XG5cdH1cblxuXHRsb2FkSnNvbiAocGF0aDogc3RyaW5nLFxuXHRcdHN1Y2Nlc3M6IChwYXRoOiBzdHJpbmcsIG9iamVjdDogb2JqZWN0KSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0pIHtcblx0XHRwYXRoID0gdGhpcy5zdGFydChwYXRoKTtcblxuXHRcdGlmICh0aGlzLnJldXNlQXNzZXRzKHBhdGgsIHN1Y2Nlc3MsIGVycm9yKSkgcmV0dXJuO1xuXG5cdFx0dGhpcy5hc3NldHNMb2FkZWRbcGF0aF0gPSBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdHRoaXMuZG93bmxvYWRlci5kb3dubG9hZEpzb24ocGF0aCwgKGRhdGE6IG9iamVjdCk6IHZvaWQgPT4ge1xuXHRcdFx0XHR0aGlzLnN1Y2Nlc3Moc3VjY2VzcywgcGF0aCwgZGF0YSk7XG5cdFx0XHRcdHJlc29sdmUoZGF0YSk7XG5cdFx0XHR9LCAoc3RhdHVzOiBudW1iZXIsIHJlc3BvbnNlVGV4dDogc3RyaW5nKTogdm9pZCA9PiB7XG5cdFx0XHRcdGNvbnN0IGVycm9yTXNnID0gYENvdWxkbid0IGxvYWQgSlNPTiAke3BhdGh9OiBzdGF0dXMgJHtzdGF0dXN9LCAke3Jlc3BvbnNlVGV4dH1gO1xuXHRcdFx0XHR0aGlzLmVycm9yKGVycm9yLCBwYXRoLCBlcnJvck1zZyk7XG5cdFx0XHRcdHJlamVjdChlcnJvck1zZyk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdHJldXNlQXNzZXRzIChwYXRoOiBzdHJpbmcsXG5cdFx0c3VjY2VzczogKHBhdGg6IHN0cmluZywgZGF0YTogYW55KSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0pIHtcblx0XHRjb25zdCBsb2FkZWRTdGF0dXMgPSB0aGlzLmFzc2V0c0xvYWRlZFtwYXRoXTtcblx0XHRjb25zdCBhbHJlYWR5RXhpc3RzT3JMb2FkaW5nID0gbG9hZGVkU3RhdHVzICE9PSB1bmRlZmluZWQ7XG5cdFx0aWYgKGFscmVhZHlFeGlzdHNPckxvYWRpbmcpIHtcblx0XHRcdGxvYWRlZFN0YXR1c1xuXHRcdFx0XHQudGhlbihkYXRhID0+IHRoaXMuc3VjY2VzcyhzdWNjZXNzLCBwYXRoLCBkYXRhKSlcblx0XHRcdFx0LmNhdGNoKGVycm9yTXNnID0+IHRoaXMuZXJyb3IoZXJyb3IsIHBhdGgsIGVycm9yTXNnKSk7XG5cdFx0fVxuXHRcdHJldHVybiBhbHJlYWR5RXhpc3RzT3JMb2FkaW5nO1xuXHR9XG5cblx0bG9hZFRleHR1cmUgKHBhdGg6IHN0cmluZyxcblx0XHRzdWNjZXNzOiAocGF0aDogc3RyaW5nLCB0ZXh0dXJlOiBUZXh0dXJlKSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0pIHtcblxuXHRcdHBhdGggPSB0aGlzLnN0YXJ0KHBhdGgpO1xuXG5cdFx0aWYgKHRoaXMucmV1c2VBc3NldHMocGF0aCwgc3VjY2VzcywgZXJyb3IpKSByZXR1cm47XG5cblx0XHR0aGlzLmFzc2V0c0xvYWRlZFtwYXRoXSA9IG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdFx0bGV0IGlzQnJvd3NlciA9ICEhKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5kb2N1bWVudCk7XG5cdFx0XHRsZXQgaXNXZWJXb3JrZXIgPSAhaXNCcm93c2VyOyAvLyAmJiB0eXBlb2YgaW1wb3J0U2NyaXB0cyAhPT0gJ3VuZGVmaW5lZCc7XG5cdFx0XHRpZiAoaXNXZWJXb3JrZXIpIHtcblx0XHRcdFx0ZmV0Y2gocGF0aCwgeyBtb2RlOiA8UmVxdWVzdE1vZGU+XCJjb3JzXCIgfSkudGhlbigocmVzcG9uc2UpID0+IHtcblx0XHRcdFx0XHRpZiAocmVzcG9uc2Uub2spIHJldHVybiByZXNwb25zZS5ibG9iKCk7XG5cdFx0XHRcdFx0Y29uc3QgZXJyb3JNc2cgPSBgQ291bGRuJ3QgbG9hZCBpbWFnZTogJHtwYXRofWA7XG5cdFx0XHRcdFx0dGhpcy5lcnJvcihlcnJvciwgcGF0aCwgYENvdWxkbid0IGxvYWQgaW1hZ2U6ICR7cGF0aH1gKTtcblx0XHRcdFx0XHRyZWplY3QoZXJyb3JNc2cpO1xuXHRcdFx0XHR9KS50aGVuKChibG9iKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIGJsb2IgPyBjcmVhdGVJbWFnZUJpdG1hcChibG9iLCB7IHByZW11bHRpcGx5QWxwaGE6IFwibm9uZVwiLCBjb2xvclNwYWNlQ29udmVyc2lvbjogXCJub25lXCIgfSkgOiBudWxsO1xuXHRcdFx0XHR9KS50aGVuKChiaXRtYXApID0+IHtcblx0XHRcdFx0XHRpZiAoYml0bWFwKSB7XG5cdFx0XHRcdFx0XHRjb25zdCB0ZXh0dXJlID0gdGhpcy50ZXh0dXJlTG9hZGVyKGJpdG1hcClcblx0XHRcdFx0XHRcdHRoaXMuc3VjY2VzcyhzdWNjZXNzLCBwYXRoLCB0ZXh0dXJlKTtcblx0XHRcdFx0XHRcdHJlc29sdmUodGV4dHVyZSk7XG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRsZXQgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcblx0XHRcdFx0aW1hZ2UuY3Jvc3NPcmlnaW4gPSBcImFub255bW91c1wiO1xuXHRcdFx0XHRpbWFnZS5vbmxvYWQgPSAoKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgdGV4dHVyZSA9IHRoaXMudGV4dHVyZUxvYWRlcihpbWFnZSlcblx0XHRcdFx0XHR0aGlzLnN1Y2Nlc3Moc3VjY2VzcywgcGF0aCwgdGV4dHVyZSk7XG5cdFx0XHRcdFx0cmVzb2x2ZSh0ZXh0dXJlKTtcblx0XHRcdFx0fTtcblx0XHRcdFx0aW1hZ2Uub25lcnJvciA9ICgpID0+IHtcblx0XHRcdFx0XHRjb25zdCBlcnJvck1zZyA9IGBDb3VsZG4ndCBsb2FkIGltYWdlOiAke3BhdGh9YDtcblx0XHRcdFx0XHR0aGlzLmVycm9yKGVycm9yLCBwYXRoLCBlcnJvck1zZyk7XG5cdFx0XHRcdFx0cmVqZWN0KGVycm9yTXNnKTtcblx0XHRcdFx0fTtcblx0XHRcdFx0aWYgKHRoaXMuZG93bmxvYWRlci5yYXdEYXRhVXJpc1twYXRoXSkgcGF0aCA9IHRoaXMuZG93bmxvYWRlci5yYXdEYXRhVXJpc1twYXRoXTtcblx0XHRcdFx0aW1hZ2Uuc3JjID0gcGF0aDtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdGxvYWRUZXh0dXJlQXRsYXMgKHBhdGg6IHN0cmluZyxcblx0XHRzdWNjZXNzOiAocGF0aDogc3RyaW5nLCBhdGxhczogVGV4dHVyZUF0bGFzKSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0sXG5cdFx0ZmlsZUFsaWFzPzogeyBba2V5d29yZDogc3RyaW5nXTogc3RyaW5nIH1cblx0KSB7XG5cdFx0bGV0IGluZGV4ID0gcGF0aC5sYXN0SW5kZXhPZihcIi9cIik7XG5cdFx0bGV0IHBhcmVudCA9IGluZGV4ID49IDAgPyBwYXRoLnN1YnN0cmluZygwLCBpbmRleCArIDEpIDogXCJcIjtcblx0XHRwYXRoID0gdGhpcy5zdGFydChwYXRoKTtcblxuXHRcdGlmICh0aGlzLnJldXNlQXNzZXRzKHBhdGgsIHN1Y2Nlc3MsIGVycm9yKSkgcmV0dXJuO1xuXG5cdFx0dGhpcy5hc3NldHNMb2FkZWRbcGF0aF0gPSBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdHRoaXMuZG93bmxvYWRlci5kb3dubG9hZFRleHQocGF0aCwgKGF0bGFzVGV4dDogc3RyaW5nKTogdm9pZCA9PiB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0bGV0IGF0bGFzID0gbmV3IFRleHR1cmVBdGxhcyhhdGxhc1RleHQpO1xuXHRcdFx0XHRcdGxldCB0b0xvYWQgPSBhdGxhcy5wYWdlcy5sZW5ndGgsIGFib3J0ID0gZmFsc2U7XG5cdFx0XHRcdFx0Zm9yIChsZXQgcGFnZSBvZiBhdGxhcy5wYWdlcykge1xuXHRcdFx0XHRcdFx0dGhpcy5sb2FkVGV4dHVyZSghZmlsZUFsaWFzID8gcGFyZW50ICsgcGFnZS5uYW1lIDogZmlsZUFsaWFzW3BhZ2UubmFtZSFdLFxuXHRcdFx0XHRcdFx0XHQoaW1hZ2VQYXRoOiBzdHJpbmcsIHRleHR1cmU6IFRleHR1cmUpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRpZiAoIWFib3J0KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWdlLnNldFRleHR1cmUodGV4dHVyZSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoLS10b0xvYWQgPT0gMCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnN1Y2Nlc3Moc3VjY2VzcywgcGF0aCwgYXRsYXMpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXNvbHZlKGF0bGFzKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdChpbWFnZVBhdGg6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKCFhYm9ydCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgZXJyb3JNc2cgPSBgQ291bGRuJ3QgbG9hZCB0ZXh0dXJlIGF0bGFzICR7cGF0aH0gcGFnZSBpbWFnZTogJHtpbWFnZVBhdGh9YDtcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuZXJyb3IoZXJyb3IsIHBhdGgsIGVycm9yTXNnKTtcblx0XHRcdFx0XHRcdFx0XHRcdHJlamVjdChlcnJvck1zZyk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGFib3J0ID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0XHRjb25zdCBlcnJvck1zZyA9IGBDb3VsZG4ndCBwYXJzZSB0ZXh0dXJlIGF0bGFzICR7cGF0aH06ICR7KGUgYXMgYW55KS5tZXNzYWdlfWA7XG5cdFx0XHRcdFx0dGhpcy5lcnJvcihlcnJvciwgcGF0aCwgZXJyb3JNc2cpO1xuXHRcdFx0XHRcdHJlamVjdChlcnJvck1zZyk7XG5cdFx0XHRcdH1cblx0XHRcdH0sIChzdGF0dXM6IG51bWJlciwgcmVzcG9uc2VUZXh0OiBzdHJpbmcpOiB2b2lkID0+IHtcblx0XHRcdFx0Y29uc3QgZXJyb3JNc2cgPSBgQ291bGRuJ3QgbG9hZCB0ZXh0dXJlIGF0bGFzICR7cGF0aH06IHN0YXR1cyAke3N0YXR1c30sICR7cmVzcG9uc2VUZXh0fWA7XG5cdFx0XHRcdHRoaXMuZXJyb3IoZXJyb3IsIHBhdGgsIGVycm9yTXNnKTtcblx0XHRcdFx0cmVqZWN0KGVycm9yTXNnKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG5cblx0bG9hZFRleHR1cmVBdGxhc0J1dE5vVGV4dHVyZXMgKHBhdGg6IHN0cmluZyxcblx0XHRzdWNjZXNzOiAocGF0aDogc3RyaW5nLCBhdGxhczogVGV4dHVyZUF0bGFzKSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0sXG5cdFx0ZmlsZUFsaWFzPzogeyBba2V5d29yZDogc3RyaW5nXTogc3RyaW5nIH1cblx0KSB7XG5cdFx0cGF0aCA9IHRoaXMuc3RhcnQocGF0aCk7XG5cblx0XHRpZiAodGhpcy5yZXVzZUFzc2V0cyhwYXRoLCBzdWNjZXNzLCBlcnJvcikpIHJldHVybjtcblxuXHRcdHRoaXMuYXNzZXRzTG9hZGVkW3BhdGhdID0gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmRvd25sb2FkZXIuZG93bmxvYWRUZXh0KHBhdGgsIChhdGxhc1RleHQ6IHN0cmluZyk6IHZvaWQgPT4ge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdGNvbnN0IGF0bGFzID0gbmV3IFRleHR1cmVBdGxhcyhhdGxhc1RleHQpO1xuXHRcdFx0XHRcdHRoaXMuc3VjY2VzcyhzdWNjZXNzLCBwYXRoLCBhdGxhcyk7XG5cdFx0XHRcdFx0cmVzb2x2ZShhdGxhcyk7XG5cdFx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0XHRjb25zdCBlcnJvck1zZyA9IGBDb3VsZG4ndCBwYXJzZSB0ZXh0dXJlIGF0bGFzICR7cGF0aH06ICR7KGUgYXMgYW55KS5tZXNzYWdlfWA7XG5cdFx0XHRcdFx0dGhpcy5lcnJvcihlcnJvciwgcGF0aCwgZXJyb3JNc2cpO1xuXHRcdFx0XHRcdHJlamVjdChlcnJvck1zZyk7XG5cdFx0XHRcdH1cblx0XHRcdH0sIChzdGF0dXM6IG51bWJlciwgcmVzcG9uc2VUZXh0OiBzdHJpbmcpOiB2b2lkID0+IHtcblx0XHRcdFx0Y29uc3QgZXJyb3JNc2cgPSBgQ291bGRuJ3QgbG9hZCB0ZXh0dXJlIGF0bGFzICR7cGF0aH06IHN0YXR1cyAke3N0YXR1c30sICR7cmVzcG9uc2VUZXh0fWA7XG5cdFx0XHRcdHRoaXMuZXJyb3IoZXJyb3IsIHBhdGgsIGVycm9yTXNnKTtcblx0XHRcdFx0cmVqZWN0KGVycm9yTXNnKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG5cblx0Ly8gUHJvbWlzaWZpZWQgdmVyc2lvbnMgb2YgbG9hZCBmdW5jdGlvblxuXHRhc3luYyBsb2FkQmluYXJ5QXN5bmMgKHBhdGg6IHN0cmluZykge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmxvYWRCaW5hcnkocGF0aCxcblx0XHRcdFx0KF8sIGJpbmFyeSkgPT4gcmVzb2x2ZShiaW5hcnkpLFxuXHRcdFx0XHQoXywgbWVzc2FnZSkgPT4gcmVqZWN0KG1lc3NhZ2UpLFxuXHRcdFx0KTtcblx0XHR9KTtcblx0fVxuXG5cdGFzeW5jIGxvYWRKc29uQXN5bmMgKHBhdGg6IHN0cmluZykge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmxvYWRKc29uKHBhdGgsXG5cdFx0XHRcdChfLCBvYmplY3QpID0+IHJlc29sdmUob2JqZWN0KSxcblx0XHRcdFx0KF8sIG1lc3NhZ2UpID0+IHJlamVjdChtZXNzYWdlKSxcblx0XHRcdCk7XG5cdFx0fSk7XG5cdH1cblxuXHRhc3luYyBsb2FkVGV4dHVyZUFzeW5jIChwYXRoOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2U8VGV4dHVyZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdFx0dGhpcy5sb2FkVGV4dHVyZShwYXRoLFxuXHRcdFx0XHQoXywgdGV4dHVyZSkgPT4gcmVzb2x2ZSh0ZXh0dXJlKSxcblx0XHRcdFx0KF8sIG1lc3NhZ2UpID0+IHJlamVjdChtZXNzYWdlKSxcblx0XHRcdCk7XG5cdFx0fSk7XG5cdH1cblxuXHRhc3luYyBsb2FkVGV4dHVyZUF0bGFzQXN5bmMgKHBhdGg6IHN0cmluZykge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmxvYWRUZXh0dXJlQXRsYXMocGF0aCxcblx0XHRcdFx0KF8sIGF0bGFzKSA9PiByZXNvbHZlKGF0bGFzKSxcblx0XHRcdFx0KF8sIG1lc3NhZ2UpID0+IHJlamVjdChtZXNzYWdlKSxcblx0XHRcdCk7XG5cdFx0fSk7XG5cdH1cblxuXHRhc3luYyBsb2FkVGV4dHVyZUF0bGFzQnV0Tm9UZXh0dXJlc0FzeW5jIChwYXRoOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2U8VGV4dHVyZUF0bGFzPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmxvYWRUZXh0dXJlQXRsYXNCdXROb1RleHR1cmVzKHBhdGgsXG5cdFx0XHRcdChfLCBhdGxhcykgPT4gcmVzb2x2ZShhdGxhcyksXG5cdFx0XHRcdChfLCBtZXNzYWdlKSA9PiByZWplY3QobWVzc2FnZSksXG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG5cblx0Z2V0IChwYXRoOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gdGhpcy5hc3NldHNbdGhpcy5wYXRoUHJlZml4ICsgcGF0aF07XG5cdH1cblxuXHRyZXF1aXJlIChwYXRoOiBzdHJpbmcpIHtcblx0XHRwYXRoID0gdGhpcy5wYXRoUHJlZml4ICsgcGF0aDtcblx0XHRsZXQgYXNzZXQgPSB0aGlzLmFzc2V0c1twYXRoXTtcblx0XHRpZiAoYXNzZXQpIHJldHVybiBhc3NldDtcblx0XHRsZXQgZXJyb3IgPSB0aGlzLmVycm9yc1twYXRoXTtcblx0XHR0aHJvdyBFcnJvcihcIkFzc2V0IG5vdCBmb3VuZDogXCIgKyBwYXRoICsgKGVycm9yID8gXCJcXG5cIiArIGVycm9yIDogXCJcIikpO1xuXHR9XG5cblx0cmVtb3ZlIChwYXRoOiBzdHJpbmcpIHtcblx0XHRwYXRoID0gdGhpcy5wYXRoUHJlZml4ICsgcGF0aDtcblx0XHRsZXQgYXNzZXQgPSB0aGlzLmFzc2V0c1twYXRoXTtcblx0XHRpZiAoYXNzZXQuZGlzcG9zZSkgYXNzZXQuZGlzcG9zZSgpO1xuXHRcdGRlbGV0ZSB0aGlzLmFzc2V0c1twYXRoXTtcblx0XHRkZWxldGUgdGhpcy5hc3NldHNSZWZDb3VudFtwYXRoXTtcblx0XHRkZWxldGUgdGhpcy5hc3NldHNMb2FkZWRbcGF0aF07XG5cdFx0cmV0dXJuIGFzc2V0O1xuXHR9XG5cblx0cmVtb3ZlQWxsICgpIHtcblx0XHRmb3IgKGxldCBwYXRoIGluIHRoaXMuYXNzZXRzKSB7XG5cdFx0XHRsZXQgYXNzZXQgPSB0aGlzLmFzc2V0c1twYXRoXTtcblx0XHRcdGlmIChhc3NldC5kaXNwb3NlKSBhc3NldC5kaXNwb3NlKCk7XG5cdFx0fVxuXHRcdHRoaXMuYXNzZXRzID0ge307XG5cdFx0dGhpcy5hc3NldHNMb2FkZWQgPSB7fTtcblx0XHR0aGlzLmFzc2V0c1JlZkNvdW50ID0ge307XG5cdH1cblxuXHRpc0xvYWRpbmdDb21wbGV0ZSAoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMudG9Mb2FkID09IDA7XG5cdH1cblxuXHRnZXRUb0xvYWQgKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMudG9Mb2FkO1xuXHR9XG5cblx0Z2V0TG9hZGVkICgpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLmxvYWRlZDtcblx0fVxuXG5cdGRpc3Bvc2UgKCkge1xuXHRcdHRoaXMucmVtb3ZlQWxsKCk7XG5cdH1cblxuXHQvLyBkaXNwb3NlIGFzc2V0IG9ubHkgaWYgaXQncyBub3QgdXNlZCBieSBvdGhlcnNcblx0ZGlzcG9zZUFzc2V0IChwYXRoOiBzdHJpbmcpIHtcblx0XHRpZiAoLS10aGlzLmFzc2V0c1JlZkNvdW50W3BhdGhdID09PSAwKSB7XG5cdFx0XHR0aGlzLnJlbW92ZShwYXRoKVxuXHRcdH1cblx0fVxuXG5cdGhhc0Vycm9ycyAoKSB7XG5cdFx0cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZXJyb3JzKS5sZW5ndGggPiAwO1xuXHR9XG5cblx0Z2V0RXJyb3JzICgpIHtcblx0XHRyZXR1cm4gdGhpcy5lcnJvcnM7XG5cdH1cbn1cblxuZXhwb3J0IGNsYXNzIERvd25sb2FkZXIge1xuXHRwcml2YXRlIGNhbGxiYWNrczogU3RyaW5nTWFwPEFycmF5PEZ1bmN0aW9uPj4gPSB7fTtcblx0cmF3RGF0YVVyaXM6IFN0cmluZ01hcDxzdHJpbmc+ID0ge307XG5cblx0ZGF0YVVyaVRvU3RyaW5nIChkYXRhVXJpOiBzdHJpbmcpIHtcblx0XHRpZiAoIWRhdGFVcmkuc3RhcnRzV2l0aChcImRhdGE6XCIpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJOb3QgYSBkYXRhIFVSSS5cIik7XG5cdFx0fVxuXG5cdFx0bGV0IGJhc2U2NElkeCA9IGRhdGFVcmkuaW5kZXhPZihcImJhc2U2NCxcIik7XG5cdFx0aWYgKGJhc2U2NElkeCAhPSAtMSkge1xuXHRcdFx0YmFzZTY0SWR4ICs9IFwiYmFzZTY0LFwiLmxlbmd0aDtcblx0XHRcdHJldHVybiBhdG9iKGRhdGFVcmkuc3Vic3RyKGJhc2U2NElkeCkpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gZGF0YVVyaS5zdWJzdHIoZGF0YVVyaS5pbmRleE9mKFwiLFwiKSArIDEpO1xuXHRcdH1cblx0fVxuXG5cdGJhc2U2NFRvVWludDhBcnJheSAoYmFzZTY0OiBzdHJpbmcpIHtcblx0XHR2YXIgYmluYXJ5X3N0cmluZyA9IHdpbmRvdy5hdG9iKGJhc2U2NCk7XG5cdFx0dmFyIGxlbiA9IGJpbmFyeV9zdHJpbmcubGVuZ3RoO1xuXHRcdHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGxlbik7XG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuXHRcdFx0Ynl0ZXNbaV0gPSBiaW5hcnlfc3RyaW5nLmNoYXJDb2RlQXQoaSk7XG5cdFx0fVxuXHRcdHJldHVybiBieXRlcztcblx0fVxuXG5cdGRhdGFVcmlUb1VpbnQ4QXJyYXkgKGRhdGFVcmk6IHN0cmluZykge1xuXHRcdGlmICghZGF0YVVyaS5zdGFydHNXaXRoKFwiZGF0YTpcIikpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIk5vdCBhIGRhdGEgVVJJLlwiKTtcblx0XHR9XG5cblx0XHRsZXQgYmFzZTY0SWR4ID0gZGF0YVVyaS5pbmRleE9mKFwiYmFzZTY0LFwiKTtcblx0XHRpZiAoYmFzZTY0SWR4ID09IC0xKSB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgYSBiaW5hcnkgZGF0YSBVUkkuXCIpO1xuXHRcdGJhc2U2NElkeCArPSBcImJhc2U2NCxcIi5sZW5ndGg7XG5cdFx0cmV0dXJuIHRoaXMuYmFzZTY0VG9VaW50OEFycmF5KGRhdGFVcmkuc3Vic3RyKGJhc2U2NElkeCkpO1xuXHR9XG5cblx0ZG93bmxvYWRUZXh0ICh1cmw6IHN0cmluZywgc3VjY2VzczogKGRhdGE6IHN0cmluZykgPT4gdm9pZCwgZXJyb3I6IChzdGF0dXM6IG51bWJlciwgcmVzcG9uc2VUZXh0OiBzdHJpbmcpID0+IHZvaWQpIHtcblx0XHRpZiAodGhpcy5zdGFydCh1cmwsIHN1Y2Nlc3MsIGVycm9yKSkgcmV0dXJuO1xuXG5cdFx0Y29uc3QgcmF3RGF0YVVyaSA9IHRoaXMucmF3RGF0YVVyaXNbdXJsXTtcblx0XHQvLyB3ZSBhc3N1bWUgaWYgYSBcIi5cIiBpcyBpbmNsdWRlZCBpbiBhIHJhdyBkYXRhIHVyaSwgaXQgaXMgdXNlZCB0byByZXdyaXRlIGFuIGFzc2V0IFVSTFxuXHRcdGlmIChyYXdEYXRhVXJpICYmICFyYXdEYXRhVXJpLmluY2x1ZGVzKFwiLlwiKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0dGhpcy5maW5pc2godXJsLCAyMDAsIHRoaXMuZGF0YVVyaVRvU3RyaW5nKHJhd0RhdGFVcmkpKTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0dGhpcy5maW5pc2godXJsLCA0MDAsIEpTT04uc3RyaW5naWZ5KGUpKTtcblx0XHRcdH1cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRsZXQgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuXHRcdHJlcXVlc3Qub3ZlcnJpZGVNaW1lVHlwZShcInRleHQvaHRtbFwiKTtcblx0XHRyZXF1ZXN0Lm9wZW4oXCJHRVRcIiwgcmF3RGF0YVVyaSA/IHJhd0RhdGFVcmkgOiB1cmwsIHRydWUpO1xuXHRcdGxldCBkb25lID0gKCkgPT4ge1xuXHRcdFx0dGhpcy5maW5pc2godXJsLCByZXF1ZXN0LnN0YXR1cywgcmVxdWVzdC5yZXNwb25zZVRleHQpO1xuXHRcdH07XG5cdFx0cmVxdWVzdC5vbmxvYWQgPSBkb25lO1xuXHRcdHJlcXVlc3Qub25lcnJvciA9IGRvbmU7XG5cdFx0cmVxdWVzdC5zZW5kKCk7XG5cdH1cblxuXHRkb3dubG9hZEpzb24gKHVybDogc3RyaW5nLCBzdWNjZXNzOiAoZGF0YTogb2JqZWN0KSA9PiB2b2lkLCBlcnJvcjogKHN0YXR1czogbnVtYmVyLCByZXNwb25zZVRleHQ6IHN0cmluZykgPT4gdm9pZCkge1xuXHRcdHRoaXMuZG93bmxvYWRUZXh0KHVybCwgKGRhdGE6IHN0cmluZyk6IHZvaWQgPT4ge1xuXHRcdFx0c3VjY2VzcyhKU09OLnBhcnNlKGRhdGEpKTtcblx0XHR9LCBlcnJvcik7XG5cdH1cblxuXHRkb3dubG9hZEJpbmFyeSAodXJsOiBzdHJpbmcsIHN1Y2Nlc3M6IChkYXRhOiBVaW50OEFycmF5KSA9PiB2b2lkLCBlcnJvcjogKHN0YXR1czogbnVtYmVyLCByZXNwb25zZVRleHQ6IHN0cmluZykgPT4gdm9pZCkge1xuXHRcdGlmICh0aGlzLnN0YXJ0KHVybCwgc3VjY2VzcywgZXJyb3IpKSByZXR1cm47XG5cblx0XHRjb25zdCByYXdEYXRhVXJpID0gdGhpcy5yYXdEYXRhVXJpc1t1cmxdO1xuXHRcdC8vIHdlIGFzc3VtZSBpZiBhIFwiLlwiIGlzIGluY2x1ZGVkIGluIGEgcmF3IGRhdGEgdXJpLCBpdCBpcyB1c2VkIHRvIHJld3JpdGUgYW4gYXNzZXQgVVJMXG5cdFx0aWYgKHJhd0RhdGFVcmkgJiYgIXJhd0RhdGFVcmkuaW5jbHVkZXMoXCIuXCIpKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHR0aGlzLmZpbmlzaCh1cmwsIDIwMCwgdGhpcy5kYXRhVXJpVG9VaW50OEFycmF5KHJhd0RhdGFVcmkpKTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0dGhpcy5maW5pc2godXJsLCA0MDAsIEpTT04uc3RyaW5naWZ5KGUpKTtcblx0XHRcdH1cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRsZXQgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuXHRcdHJlcXVlc3Qub3BlbihcIkdFVFwiLCByYXdEYXRhVXJpID8gcmF3RGF0YVVyaSA6IHVybCwgdHJ1ZSk7XG5cdFx0cmVxdWVzdC5yZXNwb25zZVR5cGUgPSBcImFycmF5YnVmZmVyXCI7XG5cdFx0bGV0IG9uZXJyb3IgPSAoKSA9PiB7XG5cdFx0XHR0aGlzLmZpbmlzaCh1cmwsIHJlcXVlc3Quc3RhdHVzLCByZXF1ZXN0LnJlc3BvbnNlKTtcblx0XHR9O1xuXHRcdHJlcXVlc3Qub25sb2FkID0gKCkgPT4ge1xuXHRcdFx0aWYgKHJlcXVlc3Quc3RhdHVzID09IDIwMCB8fCByZXF1ZXN0LnN0YXR1cyA9PSAwKVxuXHRcdFx0XHR0aGlzLmZpbmlzaCh1cmwsIDIwMCwgbmV3IFVpbnQ4QXJyYXkocmVxdWVzdC5yZXNwb25zZSBhcyBBcnJheUJ1ZmZlcikpO1xuXHRcdFx0ZWxzZVxuXHRcdFx0XHRvbmVycm9yKCk7XG5cdFx0fTtcblx0XHRyZXF1ZXN0Lm9uZXJyb3IgPSBvbmVycm9yO1xuXHRcdHJlcXVlc3Quc2VuZCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBzdGFydCAodXJsOiBzdHJpbmcsIHN1Y2Nlc3M6IGFueSwgZXJyb3I6IGFueSkge1xuXHRcdGxldCBjYWxsYmFja3MgPSB0aGlzLmNhbGxiYWNrc1t1cmxdO1xuXHRcdHRyeSB7XG5cdFx0XHRpZiAoY2FsbGJhY2tzKSByZXR1cm4gdHJ1ZTtcblx0XHRcdHRoaXMuY2FsbGJhY2tzW3VybF0gPSBjYWxsYmFja3MgPSBbXTtcblx0XHR9IGZpbmFsbHkge1xuXHRcdFx0Y2FsbGJhY2tzLnB1c2goc3VjY2VzcywgZXJyb3IpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgZmluaXNoICh1cmw6IHN0cmluZywgc3RhdHVzOiBudW1iZXIsIGRhdGE6IGFueSkge1xuXHRcdGxldCBjYWxsYmFja3MgPSB0aGlzLmNhbGxiYWNrc1t1cmxdO1xuXHRcdGRlbGV0ZSB0aGlzLmNhbGxiYWNrc1t1cmxdO1xuXHRcdGxldCBhcmdzID0gc3RhdHVzID09IDIwMCB8fCBzdGF0dXMgPT0gMCA/IFtkYXRhXSA6IFtzdGF0dXMsIGRhdGFdO1xuXHRcdGZvciAobGV0IGkgPSBhcmdzLmxlbmd0aCAtIDEsIG4gPSBjYWxsYmFja3MubGVuZ3RoOyBpIDwgbjsgaSArPSAyKVxuXHRcdFx0Y2FsbGJhY2tzW2ldLmFwcGx5KG51bGwsIGFyZ3MpO1xuXHR9XG59XG4iXX0=
|
|
434
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXNzZXRNYW5hZ2VyQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Bc3NldE1hbmFnZXJCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUcvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHakQsTUFBTSxPQUFPLGdCQUFnQjtJQUNwQixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLGFBQWEsQ0FBcUQ7SUFDbEUsVUFBVSxDQUFhO0lBQ3ZCLE1BQU0sR0FBbUIsRUFBRSxDQUFDO0lBQzVCLGNBQWMsR0FBc0IsRUFBRSxDQUFDO0lBQ3ZDLFlBQVksR0FBNEIsRUFBRSxDQUFDO0lBQzNDLE1BQU0sR0FBc0IsRUFBRSxDQUFDO0lBQy9CLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDWCxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRW5CLFlBQWEsYUFBaUUsRUFBRSxhQUFxQixFQUFFLEVBQUUsYUFBeUIsSUFBSSxVQUFVLEVBQUU7UUFDakosSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDOUIsQ0FBQztJQUVPLEtBQUssQ0FBRSxJQUFZO1FBQzFCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVPLE9BQU8sQ0FBRSxRQUEyQyxFQUFFLElBQVksRUFBRSxLQUFVO1FBQ3JGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLENB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QUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBBcHJpbCA1LCAyMDI1LiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjUsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmVcbiAqIG9yIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRlxuICogVEhFIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pbXBvcnQgeyBUZXh0dXJlIH0gZnJvbSBcIi4vVGV4dHVyZS5qc1wiO1xuaW1wb3J0IHsgVGV4dHVyZUF0bGFzIH0gZnJvbSBcIi4vVGV4dHVyZUF0bGFzLmpzXCI7XG5pbXBvcnQgeyBEaXNwb3NhYmxlLCBTdHJpbmdNYXAgfSBmcm9tIFwiLi9VdGlscy5qc1wiO1xuXG5leHBvcnQgY2xhc3MgQXNzZXRNYW5hZ2VyQmFzZSBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuXHRwcml2YXRlIHBhdGhQcmVmaXg6IHN0cmluZyA9IFwiXCI7XG5cdHByaXZhdGUgdGV4dHVyZUxvYWRlcjogKGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50IHwgSW1hZ2VCaXRtYXApID0+IFRleHR1cmU7XG5cdHByaXZhdGUgZG93bmxvYWRlcjogRG93bmxvYWRlcjtcblx0cHJpdmF0ZSBhc3NldHM6IFN0cmluZ01hcDxhbnk+ID0ge307XG5cdHByaXZhdGUgYXNzZXRzUmVmQ291bnQ6IFN0cmluZ01hcDxudW1iZXI+ID0ge307XG5cdHByaXZhdGUgYXNzZXRzTG9hZGVkOiBTdHJpbmdNYXA8UHJvbWlzZTxhbnk+PiA9IHt9O1xuXHRwcml2YXRlIGVycm9yczogU3RyaW5nTWFwPHN0cmluZz4gPSB7fTtcblx0cHJpdmF0ZSB0b0xvYWQgPSAwO1xuXHRwcml2YXRlIGxvYWRlZCA9IDA7XG5cblx0Y29uc3RydWN0b3IgKHRleHR1cmVMb2FkZXI6IChpbWFnZTogSFRNTEltYWdlRWxlbWVudCB8IEltYWdlQml0bWFwKSA9PiBUZXh0dXJlLCBwYXRoUHJlZml4OiBzdHJpbmcgPSBcIlwiLCBkb3dubG9hZGVyOiBEb3dubG9hZGVyID0gbmV3IERvd25sb2FkZXIoKSkge1xuXHRcdHRoaXMudGV4dHVyZUxvYWRlciA9IHRleHR1cmVMb2FkZXI7XG5cdFx0dGhpcy5wYXRoUHJlZml4ID0gcGF0aFByZWZpeDtcblx0XHR0aGlzLmRvd25sb2FkZXIgPSBkb3dubG9hZGVyO1xuXHR9XG5cblx0cHJpdmF0ZSBzdGFydCAocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHR0aGlzLnRvTG9hZCsrO1xuXHRcdHJldHVybiB0aGlzLnBhdGhQcmVmaXggKyBwYXRoO1xuXHR9XG5cblx0cHJpdmF0ZSBzdWNjZXNzIChjYWxsYmFjazogKHBhdGg6IHN0cmluZywgZGF0YTogYW55KSA9PiB2b2lkLCBwYXRoOiBzdHJpbmcsIGFzc2V0OiBhbnkpIHtcblx0XHR0aGlzLnRvTG9hZC0tO1xuXHRcdHRoaXMubG9hZGVkKys7XG5cdFx0dGhpcy5hc3NldHNbcGF0aF0gPSBhc3NldDtcblx0XHR0aGlzLmFzc2V0c1JlZkNvdW50W3BhdGhdID0gKHRoaXMuYXNzZXRzUmVmQ291bnRbcGF0aF0gfHwgMCkgKyAxO1xuXHRcdGlmIChjYWxsYmFjaykgY2FsbGJhY2socGF0aCwgYXNzZXQpO1xuXHR9XG5cblx0cHJpdmF0ZSBlcnJvciAoY2FsbGJhY2s6IChwYXRoOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCwgcGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRvTG9hZC0tO1xuXHRcdHRoaXMubG9hZGVkKys7XG5cdFx0dGhpcy5lcnJvcnNbcGF0aF0gPSBtZXNzYWdlO1xuXHRcdGlmIChjYWxsYmFjaykgY2FsbGJhY2socGF0aCwgbWVzc2FnZSk7XG5cdH1cblxuXHRsb2FkQWxsICgpIHtcblx0XHRsZXQgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiAoYXNzZXRNYW5hZ2VyOiBBc3NldE1hbmFnZXJCYXNlKSA9PiB2b2lkLCByZWplY3Q6IChlcnJvcnM6IFN0cmluZ01hcDxzdHJpbmc+KSA9PiB2b2lkKSA9PiB7XG5cdFx0XHRsZXQgY2hlY2sgPSAoKSA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLmlzTG9hZGluZ0NvbXBsZXRlKCkpIHtcblx0XHRcdFx0XHRpZiAodGhpcy5oYXNFcnJvcnMoKSkgcmVqZWN0KHRoaXMuZXJyb3JzKTtcblx0XHRcdFx0XHRlbHNlIHJlc29sdmUodGhpcyk7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJlcXVlc3RBbmltYXRpb25GcmFtZShjaGVjayk7XG5cdFx0XHR9XG5cdFx0XHRyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2hlY2spO1xuXHRcdH0pO1xuXHRcdHJldHVybiBwcm9taXNlO1xuXHR9XG5cblx0c2V0UmF3RGF0YVVSSSAocGF0aDogc3RyaW5nLCBkYXRhOiBzdHJpbmcpIHtcblx0XHR0aGlzLmRvd25sb2FkZXIucmF3RGF0YVVyaXNbdGhpcy5wYXRoUHJlZml4ICsgcGF0aF0gPSBkYXRhO1xuXHR9XG5cblx0bG9hZEJpbmFyeSAocGF0aDogc3RyaW5nLFxuXHRcdHN1Y2Nlc3M6IChwYXRoOiBzdHJpbmcsIGJpbmFyeTogVWludDhBcnJheSkgPT4gdm9pZCA9ICgpID0+IHsgfSxcblx0XHRlcnJvcjogKHBhdGg6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4geyB9KSB7XG5cdFx0cGF0aCA9IHRoaXMuc3RhcnQocGF0aCk7XG5cblx0XHRpZiAodGhpcy5yZXVzZUFzc2V0cyhwYXRoLCBzdWNjZXNzLCBlcnJvcikpIHJldHVybjtcblxuXHRcdHRoaXMuYXNzZXRzTG9hZGVkW3BhdGhdID0gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmRvd25sb2FkZXIuZG93bmxvYWRCaW5hcnkocGF0aCwgKGRhdGE6IFVpbnQ4QXJyYXkpOiB2b2lkID0+IHtcblx0XHRcdFx0dGhpcy5zdWNjZXNzKHN1Y2Nlc3MsIHBhdGgsIGRhdGEpO1xuXHRcdFx0XHRyZXNvbHZlKGRhdGEpO1xuXHRcdFx0fSwgKHN0YXR1czogbnVtYmVyLCByZXNwb25zZVRleHQ6IHN0cmluZyk6IHZvaWQgPT4ge1xuXHRcdFx0XHRjb25zdCBlcnJvck1zZyA9IGBDb3VsZG4ndCBsb2FkIGJpbmFyeSAke3BhdGh9OiBzdGF0dXMgJHtzdGF0dXN9LCAke3Jlc3BvbnNlVGV4dH1gO1xuXHRcdFx0XHR0aGlzLmVycm9yKGVycm9yLCBwYXRoLCBlcnJvck1zZyk7XG5cdFx0XHRcdHJlamVjdChlcnJvck1zZyk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdGxvYWRUZXh0IChwYXRoOiBzdHJpbmcsXG5cdFx0c3VjY2VzczogKHBhdGg6IHN0cmluZywgdGV4dDogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0pIHtcblx0XHRwYXRoID0gdGhpcy5zdGFydChwYXRoKTtcblxuXHRcdHRoaXMuZG93bmxvYWRlci5kb3dubG9hZFRleHQocGF0aCwgKGRhdGE6IHN0cmluZyk6IHZvaWQgPT4ge1xuXHRcdFx0dGhpcy5zdWNjZXNzKHN1Y2Nlc3MsIHBhdGgsIGRhdGEpO1xuXHRcdH0sIChzdGF0dXM6IG51bWJlciwgcmVzcG9uc2VUZXh0OiBzdHJpbmcpOiB2b2lkID0+IHtcblx0XHRcdHRoaXMuZXJyb3IoZXJyb3IsIHBhdGgsIGBDb3VsZG4ndCBsb2FkIHRleHQgJHtwYXRofTogc3RhdHVzICR7c3RhdHVzfSwgJHtyZXNwb25zZVRleHR9YCk7XG5cdFx0fSk7XG5cdH1cblxuXHRsb2FkSnNvbiAocGF0aDogc3RyaW5nLFxuXHRcdHN1Y2Nlc3M6IChwYXRoOiBzdHJpbmcsIG9iamVjdDogb2JqZWN0KSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0pIHtcblx0XHRwYXRoID0gdGhpcy5zdGFydChwYXRoKTtcblxuXHRcdGlmICh0aGlzLnJldXNlQXNzZXRzKHBhdGgsIHN1Y2Nlc3MsIGVycm9yKSkgcmV0dXJuO1xuXG5cdFx0dGhpcy5hc3NldHNMb2FkZWRbcGF0aF0gPSBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdHRoaXMuZG93bmxvYWRlci5kb3dubG9hZEpzb24ocGF0aCwgKGRhdGE6IG9iamVjdCk6IHZvaWQgPT4ge1xuXHRcdFx0XHR0aGlzLnN1Y2Nlc3Moc3VjY2VzcywgcGF0aCwgZGF0YSk7XG5cdFx0XHRcdHJlc29sdmUoZGF0YSk7XG5cdFx0XHR9LCAoc3RhdHVzOiBudW1iZXIsIHJlc3BvbnNlVGV4dDogc3RyaW5nKTogdm9pZCA9PiB7XG5cdFx0XHRcdGNvbnN0IGVycm9yTXNnID0gYENvdWxkbid0IGxvYWQgSlNPTiAke3BhdGh9OiBzdGF0dXMgJHtzdGF0dXN9LCAke3Jlc3BvbnNlVGV4dH1gO1xuXHRcdFx0XHR0aGlzLmVycm9yKGVycm9yLCBwYXRoLCBlcnJvck1zZyk7XG5cdFx0XHRcdHJlamVjdChlcnJvck1zZyk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdHJldXNlQXNzZXRzIChwYXRoOiBzdHJpbmcsXG5cdFx0c3VjY2VzczogKHBhdGg6IHN0cmluZywgZGF0YTogYW55KSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0pIHtcblx0XHRjb25zdCBsb2FkZWRTdGF0dXMgPSB0aGlzLmFzc2V0c0xvYWRlZFtwYXRoXTtcblx0XHRjb25zdCBhbHJlYWR5RXhpc3RzT3JMb2FkaW5nID0gbG9hZGVkU3RhdHVzICE9PSB1bmRlZmluZWQ7XG5cdFx0aWYgKGFscmVhZHlFeGlzdHNPckxvYWRpbmcpIHtcblx0XHRcdGxvYWRlZFN0YXR1c1xuXHRcdFx0XHQudGhlbihkYXRhID0+IHRoaXMuc3VjY2VzcyhzdWNjZXNzLCBwYXRoLCBkYXRhKSlcblx0XHRcdFx0LmNhdGNoKGVycm9yTXNnID0+IHRoaXMuZXJyb3IoZXJyb3IsIHBhdGgsIGVycm9yTXNnKSk7XG5cdFx0fVxuXHRcdHJldHVybiBhbHJlYWR5RXhpc3RzT3JMb2FkaW5nO1xuXHR9XG5cblx0bG9hZFRleHR1cmUgKHBhdGg6IHN0cmluZyxcblx0XHRzdWNjZXNzOiAocGF0aDogc3RyaW5nLCB0ZXh0dXJlOiBUZXh0dXJlKSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0pIHtcblxuXHRcdHBhdGggPSB0aGlzLnN0YXJ0KHBhdGgpO1xuXG5cdFx0aWYgKHRoaXMucmV1c2VBc3NldHMocGF0aCwgc3VjY2VzcywgZXJyb3IpKSByZXR1cm47XG5cblx0XHR0aGlzLmFzc2V0c0xvYWRlZFtwYXRoXSA9IG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdFx0bGV0IGlzQnJvd3NlciA9ICEhKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5kb2N1bWVudCk7XG5cdFx0XHRsZXQgaXNXZWJXb3JrZXIgPSAhaXNCcm93c2VyOyAvLyAmJiB0eXBlb2YgaW1wb3J0U2NyaXB0cyAhPT0gJ3VuZGVmaW5lZCc7XG5cdFx0XHRpZiAoaXNXZWJXb3JrZXIpIHtcblx0XHRcdFx0ZmV0Y2gocGF0aCwgeyBtb2RlOiA8UmVxdWVzdE1vZGU+XCJjb3JzXCIgfSkudGhlbigocmVzcG9uc2UpID0+IHtcblx0XHRcdFx0XHRpZiAocmVzcG9uc2Uub2spIHJldHVybiByZXNwb25zZS5ibG9iKCk7XG5cdFx0XHRcdFx0Y29uc3QgZXJyb3JNc2cgPSBgQ291bGRuJ3QgbG9hZCBpbWFnZTogJHtwYXRofWA7XG5cdFx0XHRcdFx0dGhpcy5lcnJvcihlcnJvciwgcGF0aCwgYENvdWxkbid0IGxvYWQgaW1hZ2U6ICR7cGF0aH1gKTtcblx0XHRcdFx0XHRyZWplY3QoZXJyb3JNc2cpO1xuXHRcdFx0XHR9KS50aGVuKChibG9iKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIGJsb2IgPyBjcmVhdGVJbWFnZUJpdG1hcChibG9iLCB7IHByZW11bHRpcGx5QWxwaGE6IFwibm9uZVwiLCBjb2xvclNwYWNlQ29udmVyc2lvbjogXCJub25lXCIgfSkgOiBudWxsO1xuXHRcdFx0XHR9KS50aGVuKChiaXRtYXApID0+IHtcblx0XHRcdFx0XHRpZiAoYml0bWFwKSB7XG5cdFx0XHRcdFx0XHRjb25zdCB0ZXh0dXJlID0gdGhpcy50ZXh0dXJlTG9hZGVyKGJpdG1hcClcblx0XHRcdFx0XHRcdHRoaXMuc3VjY2VzcyhzdWNjZXNzLCBwYXRoLCB0ZXh0dXJlKTtcblx0XHRcdFx0XHRcdHJlc29sdmUodGV4dHVyZSk7XG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRsZXQgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcblx0XHRcdFx0aW1hZ2UuY3Jvc3NPcmlnaW4gPSBcImFub255bW91c1wiO1xuXHRcdFx0XHRpbWFnZS5vbmxvYWQgPSAoKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgdGV4dHVyZSA9IHRoaXMudGV4dHVyZUxvYWRlcihpbWFnZSlcblx0XHRcdFx0XHR0aGlzLnN1Y2Nlc3Moc3VjY2VzcywgcGF0aCwgdGV4dHVyZSk7XG5cdFx0XHRcdFx0cmVzb2x2ZSh0ZXh0dXJlKTtcblx0XHRcdFx0fTtcblx0XHRcdFx0aW1hZ2Uub25lcnJvciA9ICgpID0+IHtcblx0XHRcdFx0XHRjb25zdCBlcnJvck1zZyA9IGBDb3VsZG4ndCBsb2FkIGltYWdlOiAke3BhdGh9YDtcblx0XHRcdFx0XHR0aGlzLmVycm9yKGVycm9yLCBwYXRoLCBlcnJvck1zZyk7XG5cdFx0XHRcdFx0cmVqZWN0KGVycm9yTXNnKTtcblx0XHRcdFx0fTtcblx0XHRcdFx0aWYgKHRoaXMuZG93bmxvYWRlci5yYXdEYXRhVXJpc1twYXRoXSkgcGF0aCA9IHRoaXMuZG93bmxvYWRlci5yYXdEYXRhVXJpc1twYXRoXTtcblx0XHRcdFx0aW1hZ2Uuc3JjID0gcGF0aDtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdGxvYWRUZXh0dXJlQXRsYXMgKHBhdGg6IHN0cmluZyxcblx0XHRzdWNjZXNzOiAocGF0aDogc3RyaW5nLCBhdGxhczogVGV4dHVyZUF0bGFzKSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0sXG5cdFx0ZmlsZUFsaWFzPzogeyBba2V5d29yZDogc3RyaW5nXTogc3RyaW5nIH1cblx0KSB7XG5cdFx0bGV0IGluZGV4ID0gcGF0aC5sYXN0SW5kZXhPZihcIi9cIik7XG5cdFx0bGV0IHBhcmVudCA9IGluZGV4ID49IDAgPyBwYXRoLnN1YnN0cmluZygwLCBpbmRleCArIDEpIDogXCJcIjtcblx0XHRwYXRoID0gdGhpcy5zdGFydChwYXRoKTtcblxuXHRcdGlmICh0aGlzLnJldXNlQXNzZXRzKHBhdGgsIHN1Y2Nlc3MsIGVycm9yKSkgcmV0dXJuO1xuXG5cdFx0dGhpcy5hc3NldHNMb2FkZWRbcGF0aF0gPSBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdHRoaXMuZG93bmxvYWRlci5kb3dubG9hZFRleHQocGF0aCwgKGF0bGFzVGV4dDogc3RyaW5nKTogdm9pZCA9PiB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0bGV0IGF0bGFzID0gbmV3IFRleHR1cmVBdGxhcyhhdGxhc1RleHQpO1xuXHRcdFx0XHRcdGxldCB0b0xvYWQgPSBhdGxhcy5wYWdlcy5sZW5ndGgsIGFib3J0ID0gZmFsc2U7XG5cdFx0XHRcdFx0Zm9yIChsZXQgcGFnZSBvZiBhdGxhcy5wYWdlcykge1xuXHRcdFx0XHRcdFx0dGhpcy5sb2FkVGV4dHVyZSghZmlsZUFsaWFzID8gcGFyZW50ICsgcGFnZS5uYW1lIDogZmlsZUFsaWFzW3BhZ2UubmFtZSFdLFxuXHRcdFx0XHRcdFx0XHQoaW1hZ2VQYXRoOiBzdHJpbmcsIHRleHR1cmU6IFRleHR1cmUpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRpZiAoIWFib3J0KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWdlLnNldFRleHR1cmUodGV4dHVyZSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoLS10b0xvYWQgPT0gMCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnN1Y2Nlc3Moc3VjY2VzcywgcGF0aCwgYXRsYXMpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXNvbHZlKGF0bGFzKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdChpbWFnZVBhdGg6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKCFhYm9ydCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgZXJyb3JNc2cgPSBgQ291bGRuJ3QgbG9hZCB0ZXh0dXJlIGF0bGFzICR7cGF0aH0gcGFnZSBpbWFnZTogJHtpbWFnZVBhdGh9YDtcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuZXJyb3IoZXJyb3IsIHBhdGgsIGVycm9yTXNnKTtcblx0XHRcdFx0XHRcdFx0XHRcdHJlamVjdChlcnJvck1zZyk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGFib3J0ID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0XHRjb25zdCBlcnJvck1zZyA9IGBDb3VsZG4ndCBwYXJzZSB0ZXh0dXJlIGF0bGFzICR7cGF0aH06ICR7KGUgYXMgYW55KS5tZXNzYWdlfWA7XG5cdFx0XHRcdFx0dGhpcy5lcnJvcihlcnJvciwgcGF0aCwgZXJyb3JNc2cpO1xuXHRcdFx0XHRcdHJlamVjdChlcnJvck1zZyk7XG5cdFx0XHRcdH1cblx0XHRcdH0sIChzdGF0dXM6IG51bWJlciwgcmVzcG9uc2VUZXh0OiBzdHJpbmcpOiB2b2lkID0+IHtcblx0XHRcdFx0Y29uc3QgZXJyb3JNc2cgPSBgQ291bGRuJ3QgbG9hZCB0ZXh0dXJlIGF0bGFzICR7cGF0aH06IHN0YXR1cyAke3N0YXR1c30sICR7cmVzcG9uc2VUZXh0fWA7XG5cdFx0XHRcdHRoaXMuZXJyb3IoZXJyb3IsIHBhdGgsIGVycm9yTXNnKTtcblx0XHRcdFx0cmVqZWN0KGVycm9yTXNnKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG5cblx0bG9hZFRleHR1cmVBdGxhc0J1dE5vVGV4dHVyZXMgKHBhdGg6IHN0cmluZyxcblx0XHRzdWNjZXNzOiAocGF0aDogc3RyaW5nLCBhdGxhczogVGV4dHVyZUF0bGFzKSA9PiB2b2lkID0gKCkgPT4geyB9LFxuXHRcdGVycm9yOiAocGF0aDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7IH0sXG5cdFx0ZmlsZUFsaWFzPzogeyBba2V5d29yZDogc3RyaW5nXTogc3RyaW5nIH1cblx0KSB7XG5cdFx0cGF0aCA9IHRoaXMuc3RhcnQocGF0aCk7XG5cblx0XHRpZiAodGhpcy5yZXVzZUFzc2V0cyhwYXRoLCBzdWNjZXNzLCBlcnJvcikpIHJldHVybjtcblxuXHRcdHRoaXMuYXNzZXRzTG9hZGVkW3BhdGhdID0gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmRvd25sb2FkZXIuZG93bmxvYWRUZXh0KHBhdGgsIChhdGxhc1RleHQ6IHN0cmluZyk6IHZvaWQgPT4ge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdGNvbnN0IGF0bGFzID0gbmV3IFRleHR1cmVBdGxhcyhhdGxhc1RleHQpO1xuXHRcdFx0XHRcdHRoaXMuc3VjY2VzcyhzdWNjZXNzLCBwYXRoLCBhdGxhcyk7XG5cdFx0XHRcdFx0cmVzb2x2ZShhdGxhcyk7XG5cdFx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0XHRjb25zdCBlcnJvck1zZyA9IGBDb3VsZG4ndCBwYXJzZSB0ZXh0dXJlIGF0bGFzICR7cGF0aH06ICR7KGUgYXMgYW55KS5tZXNzYWdlfWA7XG5cdFx0XHRcdFx0dGhpcy5lcnJvcihlcnJvciwgcGF0aCwgZXJyb3JNc2cpO1xuXHRcdFx0XHRcdHJlamVjdChlcnJvck1zZyk7XG5cdFx0XHRcdH1cblx0XHRcdH0sIChzdGF0dXM6IG51bWJlciwgcmVzcG9uc2VUZXh0OiBzdHJpbmcpOiB2b2lkID0+IHtcblx0XHRcdFx0Y29uc3QgZXJyb3JNc2cgPSBgQ291bGRuJ3QgbG9hZCB0ZXh0dXJlIGF0bGFzICR7cGF0aH06IHN0YXR1cyAke3N0YXR1c30sICR7cmVzcG9uc2VUZXh0fWA7XG5cdFx0XHRcdHRoaXMuZXJyb3IoZXJyb3IsIHBhdGgsIGVycm9yTXNnKTtcblx0XHRcdFx0cmVqZWN0KGVycm9yTXNnKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG5cblx0Ly8gUHJvbWlzaWZpZWQgdmVyc2lvbnMgb2YgbG9hZCBmdW5jdGlvblxuXHRhc3luYyBsb2FkQmluYXJ5QXN5bmMgKHBhdGg6IHN0cmluZykge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmxvYWRCaW5hcnkocGF0aCxcblx0XHRcdFx0KF8sIGJpbmFyeSkgPT4gcmVzb2x2ZShiaW5hcnkpLFxuXHRcdFx0XHQoXywgbWVzc2FnZSkgPT4gcmVqZWN0KG1lc3NhZ2UpLFxuXHRcdFx0KTtcblx0XHR9KTtcblx0fVxuXG5cdGFzeW5jIGxvYWRKc29uQXN5bmMgKHBhdGg6IHN0cmluZykge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmxvYWRKc29uKHBhdGgsXG5cdFx0XHRcdChfLCBvYmplY3QpID0+IHJlc29sdmUob2JqZWN0KSxcblx0XHRcdFx0KF8sIG1lc3NhZ2UpID0+IHJlamVjdChtZXNzYWdlKSxcblx0XHRcdCk7XG5cdFx0fSk7XG5cdH1cblxuXHRhc3luYyBsb2FkVGV4dHVyZUFzeW5jIChwYXRoOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2U8VGV4dHVyZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdFx0dGhpcy5sb2FkVGV4dHVyZShwYXRoLFxuXHRcdFx0XHQoXywgdGV4dHVyZSkgPT4gcmVzb2x2ZSh0ZXh0dXJlKSxcblx0XHRcdFx0KF8sIG1lc3NhZ2UpID0+IHJlamVjdChtZXNzYWdlKSxcblx0XHRcdCk7XG5cdFx0fSk7XG5cdH1cblxuXHRhc3luYyBsb2FkVGV4dHVyZUF0bGFzQXN5bmMgKHBhdGg6IHN0cmluZykge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmxvYWRUZXh0dXJlQXRsYXMocGF0aCxcblx0XHRcdFx0KF8sIGF0bGFzKSA9PiByZXNvbHZlKGF0bGFzKSxcblx0XHRcdFx0KF8sIG1lc3NhZ2UpID0+IHJlamVjdChtZXNzYWdlKSxcblx0XHRcdCk7XG5cdFx0fSk7XG5cdH1cblxuXHRhc3luYyBsb2FkVGV4dHVyZUF0bGFzQnV0Tm9UZXh0dXJlc0FzeW5jIChwYXRoOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2U8VGV4dHVyZUF0bGFzPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLmxvYWRUZXh0dXJlQXRsYXNCdXROb1RleHR1cmVzKHBhdGgsXG5cdFx0XHRcdChfLCBhdGxhcykgPT4gcmVzb2x2ZShhdGxhcyksXG5cdFx0XHRcdChfLCBtZXNzYWdlKSA9PiByZWplY3QobWVzc2FnZSksXG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG5cblx0Z2V0IChwYXRoOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gdGhpcy5hc3NldHNbdGhpcy5wYXRoUHJlZml4ICsgcGF0aF07XG5cdH1cblxuXHRyZXF1aXJlIChwYXRoOiBzdHJpbmcpIHtcblx0XHRwYXRoID0gdGhpcy5wYXRoUHJlZml4ICsgcGF0aDtcblx0XHRsZXQgYXNzZXQgPSB0aGlzLmFzc2V0c1twYXRoXTtcblx0XHRpZiAoYXNzZXQpIHJldHVybiBhc3NldDtcblx0XHRsZXQgZXJyb3IgPSB0aGlzLmVycm9yc1twYXRoXTtcblx0XHR0aHJvdyBFcnJvcihcIkFzc2V0IG5vdCBmb3VuZDogXCIgKyBwYXRoICsgKGVycm9yID8gXCJcXG5cIiArIGVycm9yIDogXCJcIikpO1xuXHR9XG5cblx0cmVtb3ZlIChwYXRoOiBzdHJpbmcpIHtcblx0XHRwYXRoID0gdGhpcy5wYXRoUHJlZml4ICsgcGF0aDtcblx0XHRsZXQgYXNzZXQgPSB0aGlzLmFzc2V0c1twYXRoXTtcblx0XHRpZiAoYXNzZXQuZGlzcG9zZSkgYXNzZXQuZGlzcG9zZSgpO1xuXHRcdGRlbGV0ZSB0aGlzLmFzc2V0c1twYXRoXTtcblx0XHRkZWxldGUgdGhpcy5hc3NldHNSZWZDb3VudFtwYXRoXTtcblx0XHRkZWxldGUgdGhpcy5hc3NldHNMb2FkZWRbcGF0aF07XG5cdFx0cmV0dXJuIGFzc2V0O1xuXHR9XG5cblx0cmVtb3ZlQWxsICgpIHtcblx0XHRmb3IgKGxldCBwYXRoIGluIHRoaXMuYXNzZXRzKSB7XG5cdFx0XHRsZXQgYXNzZXQgPSB0aGlzLmFzc2V0c1twYXRoXTtcblx0XHRcdGlmIChhc3NldC5kaXNwb3NlKSBhc3NldC5kaXNwb3NlKCk7XG5cdFx0fVxuXHRcdHRoaXMuYXNzZXRzID0ge307XG5cdFx0dGhpcy5hc3NldHNMb2FkZWQgPSB7fTtcblx0XHR0aGlzLmFzc2V0c1JlZkNvdW50ID0ge307XG5cdH1cblxuXHRpc0xvYWRpbmdDb21wbGV0ZSAoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMudG9Mb2FkID09IDA7XG5cdH1cblxuXHRnZXRUb0xvYWQgKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMudG9Mb2FkO1xuXHR9XG5cblx0Z2V0TG9hZGVkICgpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLmxvYWRlZDtcblx0fVxuXG5cdGRpc3Bvc2UgKCkge1xuXHRcdHRoaXMucmVtb3ZlQWxsKCk7XG5cdH1cblxuXHQvLyBkaXNwb3NlIGFzc2V0IG9ubHkgaWYgaXQncyBub3QgdXNlZCBieSBvdGhlcnNcblx0ZGlzcG9zZUFzc2V0IChwYXRoOiBzdHJpbmcpIHtcblx0XHRpZiAoLS10aGlzLmFzc2V0c1JlZkNvdW50W3BhdGhdID09PSAwKSB7XG5cdFx0XHR0aGlzLnJlbW92ZShwYXRoKVxuXHRcdH1cblx0fVxuXG5cdGhhc0Vycm9ycyAoKSB7XG5cdFx0cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZXJyb3JzKS5sZW5ndGggPiAwO1xuXHR9XG5cblx0Z2V0RXJyb3JzICgpIHtcblx0XHRyZXR1cm4gdGhpcy5lcnJvcnM7XG5cdH1cbn1cblxuZXhwb3J0IGNsYXNzIERvd25sb2FkZXIge1xuXHRwcml2YXRlIGNhbGxiYWNrczogU3RyaW5nTWFwPEFycmF5PEZ1bmN0aW9uPj4gPSB7fTtcblx0cmF3RGF0YVVyaXM6IFN0cmluZ01hcDxzdHJpbmc+ID0ge307XG5cblx0ZGF0YVVyaVRvU3RyaW5nIChkYXRhVXJpOiBzdHJpbmcpIHtcblx0XHRpZiAoIWRhdGFVcmkuc3RhcnRzV2l0aChcImRhdGE6XCIpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJOb3QgYSBkYXRhIFVSSS5cIik7XG5cdFx0fVxuXG5cdFx0bGV0IGJhc2U2NElkeCA9IGRhdGFVcmkuaW5kZXhPZihcImJhc2U2NCxcIik7XG5cdFx0aWYgKGJhc2U2NElkeCAhPSAtMSkge1xuXHRcdFx0YmFzZTY0SWR4ICs9IFwiYmFzZTY0LFwiLmxlbmd0aDtcblx0XHRcdHJldHVybiBhdG9iKGRhdGFVcmkuc3Vic3RyKGJhc2U2NElkeCkpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gZGF0YVVyaS5zdWJzdHIoZGF0YVVyaS5pbmRleE9mKFwiLFwiKSArIDEpO1xuXHRcdH1cblx0fVxuXG5cdGJhc2U2NFRvVWludDhBcnJheSAoYmFzZTY0OiBzdHJpbmcpIHtcblx0XHR2YXIgYmluYXJ5X3N0cmluZyA9IHdpbmRvdy5hdG9iKGJhc2U2NCk7XG5cdFx0dmFyIGxlbiA9IGJpbmFyeV9zdHJpbmcubGVuZ3RoO1xuXHRcdHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGxlbik7XG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuXHRcdFx0Ynl0ZXNbaV0gPSBiaW5hcnlfc3RyaW5nLmNoYXJDb2RlQXQoaSk7XG5cdFx0fVxuXHRcdHJldHVybiBieXRlcztcblx0fVxuXG5cdGRhdGFVcmlUb1VpbnQ4QXJyYXkgKGRhdGFVcmk6IHN0cmluZykge1xuXHRcdGlmICghZGF0YVVyaS5zdGFydHNXaXRoKFwiZGF0YTpcIikpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIk5vdCBhIGRhdGEgVVJJLlwiKTtcblx0XHR9XG5cblx0XHRsZXQgYmFzZTY0SWR4ID0gZGF0YVVyaS5pbmRleE9mKFwiYmFzZTY0LFwiKTtcblx0XHRpZiAoYmFzZTY0SWR4ID09IC0xKSB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgYSBiaW5hcnkgZGF0YSBVUkkuXCIpO1xuXHRcdGJhc2U2NElkeCArPSBcImJhc2U2NCxcIi5sZW5ndGg7XG5cdFx0cmV0dXJuIHRoaXMuYmFzZTY0VG9VaW50OEFycmF5KGRhdGFVcmkuc3Vic3RyKGJhc2U2NElkeCkpO1xuXHR9XG5cblx0ZG93bmxvYWRUZXh0ICh1cmw6IHN0cmluZywgc3VjY2VzczogKGRhdGE6IHN0cmluZykgPT4gdm9pZCwgZXJyb3I6IChzdGF0dXM6IG51bWJlciwgcmVzcG9uc2VUZXh0OiBzdHJpbmcpID0+IHZvaWQpIHtcblx0XHRpZiAodGhpcy5zdGFydCh1cmwsIHN1Y2Nlc3MsIGVycm9yKSkgcmV0dXJuO1xuXG5cdFx0Y29uc3QgcmF3RGF0YVVyaSA9IHRoaXMucmF3RGF0YVVyaXNbdXJsXTtcblx0XHQvLyB3ZSBhc3N1bWUgaWYgYSBcIi5cIiBpcyBpbmNsdWRlZCBpbiBhIHJhdyBkYXRhIHVyaSwgaXQgaXMgdXNlZCB0byByZXdyaXRlIGFuIGFzc2V0IFVSTFxuXHRcdGlmIChyYXdEYXRhVXJpICYmICFyYXdEYXRhVXJpLmluY2x1ZGVzKFwiLlwiKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0dGhpcy5maW5pc2godXJsLCAyMDAsIHRoaXMuZGF0YVVyaVRvU3RyaW5nKHJhd0RhdGFVcmkpKTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0dGhpcy5maW5pc2godXJsLCA0MDAsIEpTT04uc3RyaW5naWZ5KGUpKTtcblx0XHRcdH1cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRsZXQgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuXHRcdHJlcXVlc3Qub3ZlcnJpZGVNaW1lVHlwZShcInRleHQvaHRtbFwiKTtcblx0XHRyZXF1ZXN0Lm9wZW4oXCJHRVRcIiwgcmF3RGF0YVVyaSA/IHJhd0RhdGFVcmkgOiB1cmwsIHRydWUpO1xuXHRcdGxldCBkb25lID0gKCkgPT4ge1xuXHRcdFx0dGhpcy5maW5pc2godXJsLCByZXF1ZXN0LnN0YXR1cywgcmVxdWVzdC5yZXNwb25zZVRleHQpO1xuXHRcdH07XG5cdFx0cmVxdWVzdC5vbmxvYWQgPSBkb25lO1xuXHRcdHJlcXVlc3Qub25lcnJvciA9IGRvbmU7XG5cdFx0cmVxdWVzdC5zZW5kKCk7XG5cdH1cblxuXHRkb3dubG9hZEpzb24gKHVybDogc3RyaW5nLCBzdWNjZXNzOiAoZGF0YTogb2JqZWN0KSA9PiB2b2lkLCBlcnJvcjogKHN0YXR1czogbnVtYmVyLCByZXNwb25zZVRleHQ6IHN0cmluZykgPT4gdm9pZCkge1xuXHRcdHRoaXMuZG93bmxvYWRUZXh0KHVybCwgKGRhdGE6IHN0cmluZyk6IHZvaWQgPT4ge1xuXHRcdFx0c3VjY2VzcyhKU09OLnBhcnNlKGRhdGEpKTtcblx0XHR9LCBlcnJvcik7XG5cdH1cblxuXHRkb3dubG9hZEJpbmFyeSAodXJsOiBzdHJpbmcsIHN1Y2Nlc3M6IChkYXRhOiBVaW50OEFycmF5KSA9PiB2b2lkLCBlcnJvcjogKHN0YXR1czogbnVtYmVyLCByZXNwb25zZVRleHQ6IHN0cmluZykgPT4gdm9pZCkge1xuXHRcdGlmICh0aGlzLnN0YXJ0KHVybCwgc3VjY2VzcywgZXJyb3IpKSByZXR1cm47XG5cblx0XHRjb25zdCByYXdEYXRhVXJpID0gdGhpcy5yYXdEYXRhVXJpc1t1cmxdO1xuXHRcdC8vIHdlIGFzc3VtZSBpZiBhIFwiLlwiIGlzIGluY2x1ZGVkIGluIGEgcmF3IGRhdGEgdXJpLCBpdCBpcyB1c2VkIHRvIHJld3JpdGUgYW4gYXNzZXQgVVJMXG5cdFx0aWYgKHJhd0RhdGFVcmkgJiYgIXJhd0RhdGFVcmkuaW5jbHVkZXMoXCIuXCIpKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHR0aGlzLmZpbmlzaCh1cmwsIDIwMCwgdGhpcy5kYXRhVXJpVG9VaW50OEFycmF5KHJhd0RhdGFVcmkpKTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0dGhpcy5maW5pc2godXJsLCA0MDAsIEpTT04uc3RyaW5naWZ5KGUpKTtcblx0XHRcdH1cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRsZXQgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuXHRcdHJlcXVlc3Qub3BlbihcIkdFVFwiLCByYXdEYXRhVXJpID8gcmF3RGF0YVVyaSA6IHVybCwgdHJ1ZSk7XG5cdFx0cmVxdWVzdC5yZXNwb25zZVR5cGUgPSBcImFycmF5YnVmZmVyXCI7XG5cdFx0bGV0IG9uZXJyb3IgPSAoKSA9PiB7XG5cdFx0XHR0aGlzLmZpbmlzaCh1cmwsIHJlcXVlc3Quc3RhdHVzLCByZXF1ZXN0LnJlc3BvbnNlKTtcblx0XHR9O1xuXHRcdHJlcXVlc3Qub25sb2FkID0gKCkgPT4ge1xuXHRcdFx0aWYgKHJlcXVlc3Quc3RhdHVzID09IDIwMCB8fCByZXF1ZXN0LnN0YXR1cyA9PSAwKVxuXHRcdFx0XHR0aGlzLmZpbmlzaCh1cmwsIDIwMCwgbmV3IFVpbnQ4QXJyYXkocmVxdWVzdC5yZXNwb25zZSBhcyBBcnJheUJ1ZmZlcikpO1xuXHRcdFx0ZWxzZVxuXHRcdFx0XHRvbmVycm9yKCk7XG5cdFx0fTtcblx0XHRyZXF1ZXN0Lm9uZXJyb3IgPSBvbmVycm9yO1xuXHRcdHJlcXVlc3Quc2VuZCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBzdGFydCAodXJsOiBzdHJpbmcsIHN1Y2Nlc3M6IGFueSwgZXJyb3I6IGFueSkge1xuXHRcdGxldCBjYWxsYmFja3MgPSB0aGlzLmNhbGxiYWNrc1t1cmxdO1xuXHRcdHRyeSB7XG5cdFx0XHRpZiAoY2FsbGJhY2tzKSByZXR1cm4gdHJ1ZTtcblx0XHRcdHRoaXMuY2FsbGJhY2tzW3VybF0gPSBjYWxsYmFja3MgPSBbXTtcblx0XHR9IGZpbmFsbHkge1xuXHRcdFx0Y2FsbGJhY2tzLnB1c2goc3VjY2VzcywgZXJyb3IpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgZmluaXNoICh1cmw6IHN0cmluZywgc3RhdHVzOiBudW1iZXIsIGRhdGE6IGFueSkge1xuXHRcdGxldCBjYWxsYmFja3MgPSB0aGlzLmNhbGxiYWNrc1t1cmxdO1xuXHRcdGRlbGV0ZSB0aGlzLmNhbGxiYWNrc1t1cmxdO1xuXHRcdGxldCBhcmdzID0gc3RhdHVzID09IDIwMCB8fCBzdGF0dXMgPT0gMCA/IFtkYXRhXSA6IFtzdGF0dXMsIGRhdGFdO1xuXHRcdGZvciAobGV0IGkgPSBhcmdzLmxlbmd0aCAtIDEsIG4gPSBjYWxsYmFja3MubGVuZ3RoOyBpIDwgbjsgaSArPSAyKVxuXHRcdFx0Y2FsbGJhY2tzW2ldLmFwcGx5KG51bGwsIGFyZ3MpO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/******************************************************************************
|
|
2
2
|
* Spine Runtimes License Agreement
|
|
3
|
-
* Last updated
|
|
3
|
+
* Last updated April 5, 2025. Replaces all prior versions.
|
|
4
4
|
*
|
|
5
|
-
* Copyright (c) 2013-
|
|
5
|
+
* Copyright (c) 2013-2025, Esoteric Software LLC
|
|
6
6
|
*
|
|
7
7
|
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
8
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
9
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
10
|
* http://esotericsoftware.com/spine-editor-license
|
|
11
11
|
*
|
|
12
|
-
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
-
* otherwise create derivative works of the Spine Runtimes (collectively,
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
14
|
* "Products"), provided that each user of the Products must obtain their own
|
|
15
15
|
* Spine Editor license and redistribution of the Products in any form must
|
|
16
16
|
* include this license and copyright notice.
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
24
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
25
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
-
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
29
|
import { AttachmentLoader } from "./attachments/AttachmentLoader.js";
|
|
30
30
|
import { BoundingBoxAttachment } from "./attachments/BoundingBoxAttachment.js";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/******************************************************************************
|
|
2
2
|
* Spine Runtimes License Agreement
|
|
3
|
-
* Last updated
|
|
3
|
+
* Last updated April 5, 2025. Replaces all prior versions.
|
|
4
4
|
*
|
|
5
|
-
* Copyright (c) 2013-
|
|
5
|
+
* Copyright (c) 2013-2025, Esoteric Software LLC
|
|
6
6
|
*
|
|
7
7
|
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
8
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
9
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
10
|
* http://esotericsoftware.com/spine-editor-license
|
|
11
11
|
*
|
|
12
|
-
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
-
* otherwise create derivative works of the Spine Runtimes (collectively,
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
14
|
* "Products"), provided that each user of the Products must obtain their own
|
|
15
15
|
* Spine Editor license and redistribution of the Products in any form must
|
|
16
16
|
* include this license and copyright notice.
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
24
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
25
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
-
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
29
|
import { BoundingBoxAttachment } from "./attachments/BoundingBoxAttachment.js";
|
|
30
30
|
import { ClippingAttachment } from "./attachments/ClippingAttachment.js";
|
|
@@ -90,4 +90,4 @@ export class AtlasAttachmentLoader {
|
|
|
90
90
|
return new ClippingAttachment(name);
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXRsYXNBdHRhY2htZW50TG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0F0bGFzQXR0YWNobWVudExvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFHL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFLckU7OzsyQkFHMkI7QUFDM0IsTUFBTSxPQUFPLHFCQUFxQjtJQUNqQyxLQUFLLENBQWU7SUFFcEIsWUFBYSxLQUFtQjtRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsWUFBWSxDQUFFLElBQVksRUFBRSxRQUFnQixFQUFFLFFBQWtCO1FBQy9ELElBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDL0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2hELElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pDLElBQUksTUFBTSxJQUFJLElBQUk7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLEdBQUcsY0FBYyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztZQUN4RyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLENBQUM7SUFDRixDQUFDO0lBRUQsbUJBQW1CLENBQUUsSUFBVSxFQUFFLElBQVksRUFBRSxJQUFZLEVBQUUsUUFBa0I7UUFDOUUsSUFBSSxVQUFVLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEQsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU07Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLEdBQUcsdUJBQXVCLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQzFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNuQixDQUFDO0lBRUQsaUJBQWlCLENBQUUsSUFBVSxFQUFFLElBQVksRUFBRSxJQUFZLEVBQUUsUUFBa0I7UUFDNUUsSUFBSSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxHQUFHLHFCQUFxQixHQUFHLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztZQUN4RyxVQUFVLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDbkIsQ0FBQztJQUVELHdCQUF3QixDQUFFLElBQVUsRUFBRSxJQUFZO1FBQ2pELE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsaUJBQWlCLENBQUUsSUFBVSxFQUFFLElBQVk7UUFDMUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsa0JBQWtCLENBQUUsSUFBVSxFQUFFLElBQVk7UUFDM0MsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQscUJBQXFCLENBQUUsSUFBVSxFQUFFLElBQVk7UUFDOUMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHsgQXR0YWNobWVudExvYWRlciB9IGZyb20gXCIuL2F0dGFjaG1lbnRzL0F0dGFjaG1lbnRMb2FkZXIuanNcIjtcbmltcG9ydCB7IEJvdW5kaW5nQm94QXR0YWNobWVudCB9IGZyb20gXCIuL2F0dGFjaG1lbnRzL0JvdW5kaW5nQm94QXR0YWNobWVudC5qc1wiO1xuaW1wb3J0IHsgQ2xpcHBpbmdBdHRhY2htZW50IH0gZnJvbSBcIi4vYXR0YWNobWVudHMvQ2xpcHBpbmdBdHRhY2htZW50LmpzXCI7XG5pbXBvcnQgeyBNZXNoQXR0YWNobWVudCB9IGZyb20gXCIuL2F0dGFjaG1lbnRzL01lc2hBdHRhY2htZW50LmpzXCI7XG5pbXBvcnQgeyBQYXRoQXR0YWNobWVudCB9IGZyb20gXCIuL2F0dGFjaG1lbnRzL1BhdGhBdHRhY2htZW50LmpzXCI7XG5pbXBvcnQgeyBQb2ludEF0dGFjaG1lbnQgfSBmcm9tIFwiLi9hdHRhY2htZW50cy9Qb2ludEF0dGFjaG1lbnQuanNcIjtcbmltcG9ydCB7IFJlZ2lvbkF0dGFjaG1lbnQgfSBmcm9tIFwiLi9hdHRhY2htZW50cy9SZWdpb25BdHRhY2htZW50LmpzXCI7XG5pbXBvcnQgeyBTa2luIH0gZnJvbSBcIi4vU2tpbi5qc1wiO1xuaW1wb3J0IHsgVGV4dHVyZUF0bGFzIH0gZnJvbSBcIi4vVGV4dHVyZUF0bGFzLmpzXCI7XG5pbXBvcnQgeyBTZXF1ZW5jZSB9IGZyb20gXCIuL2F0dGFjaG1lbnRzL1NlcXVlbmNlLmpzXCJcblxuLyoqIEFuIHtAbGluayBBdHRhY2htZW50TG9hZGVyfSB0aGF0IGNvbmZpZ3VyZXMgYXR0YWNobWVudHMgdXNpbmcgdGV4dHVyZSByZWdpb25zIGZyb20gYW4ge0BsaW5rIFRleHR1cmVBdGxhc30uXG4gKlxuICogU2VlIFtMb2FkaW5nIHNrZWxldG9uIGRhdGFdKGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1sb2FkaW5nLXNrZWxldG9uLWRhdGEjSlNPTi1hbmQtYmluYXJ5LWRhdGEpIGluIHRoZVxuICogU3BpbmUgUnVudGltZXMgR3VpZGUuICovXG5leHBvcnQgY2xhc3MgQXRsYXNBdHRhY2htZW50TG9hZGVyIGltcGxlbWVudHMgQXR0YWNobWVudExvYWRlciB7XG5cdGF0bGFzOiBUZXh0dXJlQXRsYXM7XG5cblx0Y29uc3RydWN0b3IgKGF0bGFzOiBUZXh0dXJlQXRsYXMpIHtcblx0XHR0aGlzLmF0bGFzID0gYXRsYXM7XG5cdH1cblxuXHRsb2FkU2VxdWVuY2UgKG5hbWU6IHN0cmluZywgYmFzZVBhdGg6IHN0cmluZywgc2VxdWVuY2U6IFNlcXVlbmNlKSB7XG5cdFx0bGV0IHJlZ2lvbnMgPSBzZXF1ZW5jZS5yZWdpb25zO1xuXHRcdGZvciAobGV0IGkgPSAwLCBuID0gcmVnaW9ucy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcblx0XHRcdGxldCBwYXRoID0gc2VxdWVuY2UuZ2V0UGF0aChiYXNlUGF0aCwgaSk7XG5cdFx0XHRsZXQgcmVnaW9uID0gdGhpcy5hdGxhcy5maW5kUmVnaW9uKHBhdGgpO1xuXHRcdFx0aWYgKHJlZ2lvbiA9PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoXCJSZWdpb24gbm90IGZvdW5kIGluIGF0bGFzOiBcIiArIHBhdGggKyBcIiAoc2VxdWVuY2U6IFwiICsgbmFtZSArIFwiKVwiKTtcblx0XHRcdHJlZ2lvbnNbaV0gPSByZWdpb247XG5cdFx0fVxuXHR9XG5cblx0bmV3UmVnaW9uQXR0YWNobWVudCAoc2tpbjogU2tpbiwgbmFtZTogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIHNlcXVlbmNlOiBTZXF1ZW5jZSk6IFJlZ2lvbkF0dGFjaG1lbnQge1xuXHRcdGxldCBhdHRhY2htZW50ID0gbmV3IFJlZ2lvbkF0dGFjaG1lbnQobmFtZSwgcGF0aCk7XG5cdFx0aWYgKHNlcXVlbmNlICE9IG51bGwpIHtcblx0XHRcdHRoaXMubG9hZFNlcXVlbmNlKG5hbWUsIHBhdGgsIHNlcXVlbmNlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bGV0IHJlZ2lvbiA9IHRoaXMuYXRsYXMuZmluZFJlZ2lvbihwYXRoKTtcblx0XHRcdGlmICghcmVnaW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJSZWdpb24gbm90IGZvdW5kIGluIGF0bGFzOiBcIiArIHBhdGggKyBcIiAocmVnaW9uIGF0dGFjaG1lbnQ6IFwiICsgbmFtZSArIFwiKVwiKTtcblx0XHRcdGF0dGFjaG1lbnQucmVnaW9uID0gcmVnaW9uO1xuXHRcdH1cblx0XHRyZXR1cm4gYXR0YWNobWVudDtcblx0fVxuXG5cdG5ld01lc2hBdHRhY2htZW50IChza2luOiBTa2luLCBuYW1lOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgc2VxdWVuY2U6IFNlcXVlbmNlKTogTWVzaEF0dGFjaG1lbnQge1xuXHRcdGxldCBhdHRhY2htZW50ID0gbmV3IE1lc2hBdHRhY2htZW50KG5hbWUsIHBhdGgpO1xuXHRcdGlmIChzZXF1ZW5jZSAhPSBudWxsKSB7XG5cdFx0XHR0aGlzLmxvYWRTZXF1ZW5jZShuYW1lLCBwYXRoLCBzZXF1ZW5jZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGxldCByZWdpb24gPSB0aGlzLmF0bGFzLmZpbmRSZWdpb24ocGF0aCk7XG5cdFx0XHRpZiAoIXJlZ2lvbikgdGhyb3cgbmV3IEVycm9yKFwiUmVnaW9uIG5vdCBmb3VuZCBpbiBhdGxhczogXCIgKyBwYXRoICsgXCIgKG1lc2ggYXR0YWNobWVudDogXCIgKyBuYW1lICsgXCIpXCIpO1xuXHRcdFx0YXR0YWNobWVudC5yZWdpb24gPSByZWdpb247XG5cdFx0fVxuXHRcdHJldHVybiBhdHRhY2htZW50O1xuXHR9XG5cblx0bmV3Qm91bmRpbmdCb3hBdHRhY2htZW50IChza2luOiBTa2luLCBuYW1lOiBzdHJpbmcpOiBCb3VuZGluZ0JveEF0dGFjaG1lbnQge1xuXHRcdHJldHVybiBuZXcgQm91bmRpbmdCb3hBdHRhY2htZW50KG5hbWUpO1xuXHR9XG5cblx0bmV3UGF0aEF0dGFjaG1lbnQgKHNraW46IFNraW4sIG5hbWU6IHN0cmluZyk6IFBhdGhBdHRhY2htZW50IHtcblx0XHRyZXR1cm4gbmV3IFBhdGhBdHRhY2htZW50KG5hbWUpO1xuXHR9XG5cblx0bmV3UG9pbnRBdHRhY2htZW50IChza2luOiBTa2luLCBuYW1lOiBzdHJpbmcpOiBQb2ludEF0dGFjaG1lbnQge1xuXHRcdHJldHVybiBuZXcgUG9pbnRBdHRhY2htZW50KG5hbWUpO1xuXHR9XG5cblx0bmV3Q2xpcHBpbmdBdHRhY2htZW50IChza2luOiBTa2luLCBuYW1lOiBzdHJpbmcpOiBDbGlwcGluZ0F0dGFjaG1lbnQge1xuXHRcdHJldHVybiBuZXcgQ2xpcHBpbmdBdHRhY2htZW50KG5hbWUpO1xuXHR9XG59XG4iXX0=
|
package/dist/Bone.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/******************************************************************************
|
|
2
2
|
* Spine Runtimes License Agreement
|
|
3
|
-
* Last updated
|
|
3
|
+
* Last updated April 5, 2025. Replaces all prior versions.
|
|
4
4
|
*
|
|
5
|
-
* Copyright (c) 2013-
|
|
5
|
+
* Copyright (c) 2013-2025, Esoteric Software LLC
|
|
6
6
|
*
|
|
7
7
|
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
8
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
9
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
10
|
* http://esotericsoftware.com/spine-editor-license
|
|
11
11
|
*
|
|
12
|
-
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
-
* otherwise create derivative works of the Spine Runtimes (collectively,
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
14
|
* "Products"), provided that each user of the Products must obtain their own
|
|
15
15
|
* Spine Editor license and redistribution of the Products in any form must
|
|
16
16
|
* include this license and copyright notice.
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
24
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
25
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
-
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
29
|
import { BoneData, Inherit } from "./BoneData.js";
|
|
30
30
|
import { Physics, Skeleton } from "./Skeleton.js";
|