@esotericsoftware/spine-webgl 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.
Files changed (42) hide show
  1. package/LICENSE +12 -12
  2. package/dist/AssetManager.d.ts +6 -6
  3. package/dist/AssetManager.js +7 -7
  4. package/dist/Camera.d.ts +6 -6
  5. package/dist/Camera.js +7 -7
  6. package/dist/CameraController.d.ts +6 -6
  7. package/dist/CameraController.js +7 -7
  8. package/dist/GLTexture.d.ts +6 -6
  9. package/dist/GLTexture.js +7 -7
  10. package/dist/Input.d.ts +6 -6
  11. package/dist/Input.js +7 -7
  12. package/dist/LoadingScreen.d.ts +6 -6
  13. package/dist/LoadingScreen.js +7 -7
  14. package/dist/Matrix4.d.ts +6 -6
  15. package/dist/Matrix4.js +7 -7
  16. package/dist/Mesh.d.ts +6 -6
  17. package/dist/Mesh.js +7 -7
  18. package/dist/PolygonBatcher.d.ts +6 -6
  19. package/dist/PolygonBatcher.js +7 -7
  20. package/dist/SceneRenderer.d.ts +6 -6
  21. package/dist/SceneRenderer.js +7 -7
  22. package/dist/Shader.d.ts +6 -6
  23. package/dist/Shader.js +7 -7
  24. package/dist/ShapeRenderer.d.ts +6 -6
  25. package/dist/ShapeRenderer.js +7 -7
  26. package/dist/SkeletonDebugRenderer.d.ts +6 -6
  27. package/dist/SkeletonDebugRenderer.js +7 -7
  28. package/dist/SkeletonRenderer.d.ts +6 -6
  29. package/dist/SkeletonRenderer.js +7 -7
  30. package/dist/SpineCanvas.d.ts +6 -6
  31. package/dist/SpineCanvas.js +7 -7
  32. package/dist/Vector3.d.ts +6 -6
  33. package/dist/Vector3.js +7 -7
  34. package/dist/WebGL.d.ts +6 -6
  35. package/dist/WebGL.js +7 -7
  36. package/dist/esm/spine-webgl.min.mjs +1 -1
  37. package/dist/esm/spine-webgl.mjs +1 -1
  38. package/dist/esm/spine-webgl.mjs.map +2 -2
  39. package/dist/iife/spine-webgl.js +1 -1
  40. package/dist/iife/spine-webgl.js.map +2 -2
  41. package/dist/iife/spine-webgl.min.js +1 -1
  42. package/package.json +2 -2
package/dist/Input.js CHANGED
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
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 or
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 THE
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
  export class Input {
30
30
  element;
@@ -244,4 +244,4 @@ export class Touch {
244
244
  this.y = y;
245
245
  }
246
246
  }
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvSW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRy9FLE1BQU0sT0FBTyxLQUFLO0lBQ2pCLE9BQU8sQ0FBYztJQUNyQixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNYLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsTUFBTSxHQUFpQixJQUFJLENBQUM7SUFDNUIsTUFBTSxHQUFpQixJQUFJLENBQUM7SUFDNUIsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLFNBQVMsR0FBRyxJQUFJLEtBQUssRUFBaUIsQ0FBQztJQUN2QyxrQkFBa0IsQ0FBVTtJQUVwQyw2SEFBNkg7SUFDN0gsOEVBQThFO0lBQ3RFLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFaEIsU0FBUyxDQVFmO0lBRUYsWUFBYSxPQUFvQixFQUFFLGtCQUFrQixHQUFHLElBQUk7UUFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzdDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sY0FBYyxDQUFFLE9BQW9CO1FBQzNDLE1BQU0sU0FBUyxHQUFHLENBQUMsRUFBVyxFQUFFLEVBQUU7WUFDakMsSUFBSSxFQUFFLFlBQVksVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMvQyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxN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QVMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNyRixPQUFPLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXLENBQUUsUUFBdUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGNBQWMsQ0FBRSxRQUF1QjtRQUN0QyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDRixDQUFDO0NBQ0Q7QUFFRCxNQUFNLE9BQU8sS0FBSztJQUNHO0lBQTJCO0lBQWtCO0lBQWpFLFlBQW9CLFVBQWtCLEVBQVMsQ0FBUyxFQUFTLENBQVM7UUFBdEQsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFRO0lBQzFFLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgSnVseSAyOCwgMjAyMy4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDIzLCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yXG4gKiBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhFXG4gKiBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHsgRGlzcG9zYWJsZSB9IGZyb20gXCIuL2luZGV4LmpzXCJcbmV4cG9ydCBjbGFzcyBJbnB1dCBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuXHRlbGVtZW50OiBIVE1MRWxlbWVudDtcblx0bW91c2VYID0gMDtcblx0bW91c2VZID0gMDtcblx0YnV0dG9uRG93biA9IGZhbHNlO1xuXHR0b3VjaDA6IFRvdWNoIHwgbnVsbCA9IG51bGw7XG5cdHRvdWNoMTogVG91Y2ggfCBudWxsID0gbnVsbDtcblx0aW5pdGlhbFBpbmNoRGlzdGFuY2UgPSAwO1xuXHRwcml2YXRlIGxpc3RlbmVycyA9IG5ldyBBcnJheTxJbnB1dExpc3RlbmVyPigpO1xuXHRwcml2YXRlIGF1dG9QcmV2ZW50RGVmYXVsdDogYm9vbGVhbjtcblxuXHQvLyB0aGlzIGlzIG5lZWRlZCBiZWNhdXNlIGJyb3dzZXJzIHNlbmRzIG1vdXNlZG93bi1tb3VzZW1vdmUtbW91c2VzdXAgYWZ0ZXIgYSB0b3VjaCBzZXF1ZW5jZSwgdW5sZXNzIHRvdWNoIGVuZCBwcmV2ZW50RGVmYXVsdFxuXHQvLyBidXQgcHJldmVudGluZyBkZWZhdWx0IHdpbGwgcmVzdWx0IGluIHByZXZlbnRpbmcgaW50ZXJhY3Rpb24gd2l0aCB0aGUgcGFnZS5cblx0cHJpdmF0ZSBpc1RvdWNoID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBjYWxsYmFja3M6IHtcblx0XHRtb3VzZURvd246IChldjogVUlFdmVudCkgPT4gdm9pZDtcblx0XHRtb3VzZU1vdmU6IChldjogVUlFdmVudCkgPT4gdm9pZDtcblx0XHRtb3VzZVVwOiAoZXY6IFVJRXZlbnQpID0+IHZvaWQ7XG5cdFx0bW91c2VXaGVlbDogKGV2OiBXaGVlbEV2ZW50KSA9PiB2b2lkO1xuXHRcdHRvdWNoU3RhcnQ6IChldjogVG91Y2hFdmVudCkgPT4gdm9pZDtcblx0XHR0b3VjaE1vdmU6IChldjogVG91Y2hFdmVudCkgPT4gdm9pZDtcblx0XHR0b3VjaEVuZDogKGV2OiBUb3VjaEV2ZW50KSA9PiB2b2lkO1xuXHR9O1xuXG5cdGNvbnN0cnVjdG9yIChlbGVtZW50OiBIVE1MRWxlbWVudCwgYXV0b1ByZXZlbnREZWZhdWx0ID0gdHJ1ZSkge1xuXHRcdHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG5cdFx0dGhpcy5hdXRvUHJldmVudERlZmF1bHQgPSBhdXRvUHJldmVudERlZmF1bHQ7XG5cdFx0dGhpcy5jYWxsYmFja3MgPSB0aGlzLnNldHVwQ2FsbGJhY2tzKGVsZW1lbnQpO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXR1cENhbGxiYWNrcyAoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcblx0XHRjb25zdCBtb3VzZURvd24gPSAoZXY6IFVJRXZlbnQpID0+IHtcblx0XHRcdGlmIChldiBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgJiYgIXRoaXMuaXNUb3VjaCkge1xuXHRcdFx0XHRsZXQgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cdFx0XHRcdHRoaXMubW91c2VYID0gZXYuY2xpZW50WCAtIHJlY3QubGVmdDtcblx0XHRcdFx0dGhpcy5tb3VzZVkgPSBldi5jbGllbnRZIC0gcmVjdC50b3A7XG5cdFx0XHRcdHRoaXMuYnV0dG9uRG93biA9IHRydWU7XG5cdFx0XHRcdHRoaXMubGlzdGVuZXJzLm1hcCgobGlzdGVuZXIpID0+IHsgaWYgKGxpc3RlbmVyLmRvd24pIGxpc3RlbmVyLmRvd24odGhpcy5tb3VzZVgsIHRoaXMubW91c2VZLCBldik7IH0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IG1vdXNlTW92ZSA9IChldjogVUlFdmVudCkgPT4ge1xuXHRcdFx0aWYgKGV2IGluc3RhbmNlb2YgTW91c2VFdmVudCAmJiAhdGhpcy5pc1RvdWNoKSB7XG5cdFx0XHRcdGxldCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRcdFx0dGhpcy5tb3VzZVggPSBldi5jbGllbnRYIC0gcmVjdC5sZWZ0O1xuXHRcdFx0XHR0aGlzLm1vdXNlWSA9IGV2LmNsaWVudFkgLSByZWN0LnRvcDtcblxuXHRcdFx0XHR0aGlzLmxpc3RlbmVycy5tYXAoKGxpc3RlbmVyKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHRoaXMuYnV0dG9uRG93bikge1xuXHRcdFx0XHRcdFx0aWYgKGxpc3RlbmVyLmRyYWdnZWQpIGxpc3RlbmVyLmRyYWdnZWQodGhpcy5tb3VzZVgsIHRoaXMubW91c2VZLCBldik7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdGlmIChsaXN0ZW5lci5tb3ZlZCkgbGlzdGVuZXIubW92ZWQodGhpcy5tb3VzZVgsIHRoaXMubW91c2VZLCBldik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0Y29uc3QgbW91c2VVcCA9IChldjogVUlFdmVudCkgPT4ge1xuXHRcdFx0aWYgKGV2IGluc3RhbmNlb2YgTW91c2VFdmVudCAmJiAhdGhpcy5pc1RvdWNoKSB7XG5cdFx0XHRcdGxldCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRcdFx0dGhpcy5tb3VzZVggPSBldi5jbGllbnRYIC0gcmVjdC5sZWZ0Oztcblx0XHRcdFx0dGhpcy5tb3VzZVkgPSBldi5jbGllbnRZIC0gcmVjdC50b3A7XG5cdFx0XHRcdHRoaXMuYnV0dG9uRG93biA9IGZhbHNlO1xuXHRcdFx0XHR0aGlzLmxpc3RlbmVycy5tYXAoKGxpc3RlbmVyKSA9PiB7IGlmIChsaXN0ZW5lci51cCkgbGlzdGVuZXIudXAodGhpcy5tb3VzZVgsIHRoaXMubW91c2VZLCBldik7IH0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IG1vdXNlV2hlZWwgPSAoZXY6IFdoZWVsRXZlbnQpID0+IHtcblx0XHRcdGlmICh0aGlzLmF1dG9QcmV2ZW50RGVmYXVsdCkgZXYucHJldmVudERlZmF1bHQoKTtcblx0XHRcdGxldCBkZWx0YVkgPSBldi5kZWx0YVk7XG5cdFx0XHRpZiAoZXYuZGVsdGFNb2RlID09IFdoZWVsRXZlbnQuRE9NX0RFTFRBX0xJTkUpIGRlbHRhWSAqPSA4O1xuXHRcdFx0aWYgKGV2LmRlbHRhTW9kZSA9PSBXaGVlbEV2ZW50LkRPTV9ERUxUQV9QQUdFKSBkZWx0YVkgKj0gMjQ7XG5cdFx0XHR0aGlzLmxpc3RlbmVycy5tYXAoKGxpc3RlbmVyKSA9PiB7IGlmIChsaXN0ZW5lci53aGVlbCkgbGlzdGVuZXIud2hlZWwoZXYuZGVsdGFZLCBldik7IH0pO1xuXHRcdH07XG5cblx0XHRjb25zdCB0b3VjaFN0YXJ0ID0gKGV2OiBUb3VjaEV2ZW50KSA9PiB7XG5cdFx0XHR0aGlzLmlzVG91Y2ggPSB0cnVlO1xuXHRcdFx0aWYgKCF0aGlzLnRvdWNoMCB8fCAhdGhpcy50b3VjaDEpIHtcblx0XHRcdFx0dmFyIHRvdWNoZXMgPSBldi5jaGFuZ2VkVG91Y2hlcztcblx0XHRcdFx0bGV0IG5hdGl2ZVRvdWNoID0gdG91Y2hlcy5pdGVtKDApO1xuXHRcdFx0XHRpZiAoIW5hdGl2ZVRvdWNoKSByZXR1cm47XG5cdFx0XHRcdGxldCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRcdFx0bGV0IHggPSBuYXRpdmVUb3VjaC5jbGllbnRYIC0gcmVjdC5sZWZ0O1xuXHRcdFx0XHRsZXQgeSA9IG5hdGl2ZVRvdWNoLmNsaWVudFkgLSByZWN0LnRvcDtcblx0XHRcdFx0bGV0IHRvdWNoID0gbmV3IFRvdWNoKG5hdGl2ZVRvdWNoLmlkZW50aWZpZXIsIHgsIHkpO1xuXHRcdFx0XHR0aGlzLm1vdXNlWCA9IHg7XG5cdFx0XHRcdHRoaXMubW91c2VZID0geTtcblx0XHRcdFx0dGhpcy5idXR0b25Eb3duID0gdHJ1ZTtcblxuXHRcdFx0XHRpZiAoIXRoaXMudG91Y2gwKSB7XG5cdFx0XHRcdFx0dGhpcy50b3VjaDAgPSB0b3VjaDtcblx0XHRcdFx0XHR0aGlzLmxpc3RlbmVycy5tYXAoKGxpc3RlbmVyKSA9PiB7IGlmIChsaXN0ZW5lci5kb3duKSBsaXN0ZW5lci5kb3duKHRvdWNoLngsIHRvdWNoLnksIGV2KSB9KVxuXHRcdFx0XHR9IGVsc2UgaWYgKCF0aGlzLnRvdWNoMSkge1xuXHRcdFx0XHRcdHRoaXMudG91Y2gxID0gdG91Y2g7XG5cdFx0XHRcdFx0bGV0IGR4ID0gdGhpcy50b3VjaDEueCAtIHRoaXMudG91Y2gwLng7XG5cdFx0XHRcdFx0bGV0IGR5ID0gdGhpcy50b3VjaDEueCAtIHRoaXMudG91Y2gwLng7XG5cdFx0XHRcdFx0dGhpcy5pbml0aWFsUGluY2hEaXN0YW5jZSA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7XG5cdFx0XHRcdFx0dGhpcy5saXN0ZW5lcnMubWFwKChsaXN0ZW5lcikgPT4geyBpZiAobGlzdGVuZXIuem9vbSkgbGlzdGVuZXIuem9vbSh0aGlzLmluaXRpYWxQaW5jaERpc3RhbmNlLCB0aGlzLmluaXRpYWxQaW5jaERpc3RhbmNlLCBldikgfSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmICh0aGlzLmF1dG9QcmV2ZW50RGVmYXVsdCkgZXYucHJldmVudERlZmF1bHQoKTtcblx0XHR9XG5cblx0XHRjb25zdCB0b3VjaE1vdmUgPSAoZXY6IFRvdWNoRXZlbnQpID0+IHtcblx0XHRcdHRoaXMuaXNUb3VjaCA9IHRydWU7XG5cdFx0XHRpZiAodGhpcy50b3VjaDApIHtcblx0XHRcdFx0dmFyIHRvdWNoZXMgPSBldi5jaGFuZ2VkVG91Y2hlcztcblx0XHRcdFx0bGV0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHRvdWNoZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHR2YXIgbmF0aXZlVG91Y2ggPSB0b3VjaGVzW2ldO1xuXHRcdFx0XHRcdGxldCB4ID0gbmF0aXZlVG91Y2guY2xpZW50WCAtIHJlY3QubGVmdDtcblx0XHRcdFx0XHRsZXQgeSA9IG5hdGl2ZVRvdWNoLmNsaWVudFkgLSByZWN0LnRvcDtcblxuXHRcdFx0XHRcdGlmICh0aGlzLnRvdWNoMC5pZGVudGlmaWVyID09PSBuYXRpdmVUb3VjaC5pZGVudGlmaWVyKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnRvdWNoMC54ID0gdGhpcy5tb3VzZVggPSB4O1xuXHRcdFx0XHRcdFx0dGhpcy50b3VjaDAueSA9IHRoaXMubW91c2VZID0geTtcblx0XHRcdFx0XHRcdHRoaXMubGlzdGVuZXJzLm1hcCgobGlzdGVuZXIpID0+IHsgaWYgKGxpc3RlbmVyLmRyYWdnZWQpIGxpc3RlbmVyLmRyYWdnZWQoeCwgeSwgZXYpIH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAodGhpcy50b3VjaDEgJiYgdGhpcy50b3VjaDEuaWRlbnRpZmllciA9PT0gbmF0aXZlVG91Y2guaWRlbnRpZmllcikge1xuXHRcdFx0XHRcdFx0dGhpcy50b3VjaDEueCA9IHRoaXMubW91c2VYID0geDtcblx0XHRcdFx0XHRcdHRoaXMudG91Y2gxLnkgPSB0aGlzLm1vdXNlWSA9IHk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0aGlzLnRvdWNoMCAmJiB0aGlzLnRvdWNoMSkge1xuXHRcdFx0XHRcdGxldCBkeCA9IHRoaXMudG91Y2gxLnggLSB0aGlzLnRvdWNoMC54O1xuXHRcdFx0XHRcdGxldCBkeSA9IHRoaXMudG91Y2gxLnggLSB0aGlzLnRvdWNoMC54O1xuXHRcdFx0XHRcdGxldCBkaXN0YW5jZSA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7XG5cdFx0XHRcdFx0dGhpcy5saXN0ZW5lcnMubWFwKChsaXN0ZW5lcikgPT4geyBpZiAobGlzdGVuZXIuem9vbSkgbGlzdGVuZXIuem9vbSh0aGlzLmluaXRpYWxQaW5jaERpc3RhbmNlLCBkaXN0YW5jZSwgZXYpIH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5hdXRvUHJldmVudERlZmF1bHQpIGV2LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgdG91Y2hFbmQgPSAoZXY6IFRvdWNoRXZlbnQpID0+IHtcblx0XHRcdHRoaXMuaXNUb3VjaCA9IHRydWU7XG5cdFx0XHRpZiAodGhpcy50b3VjaDApIHtcblx0XHRcdFx0dmFyIHRvdWNoZXMgPSBldi5jaGFuZ2VkVG91Y2hlcztcblx0XHRcdFx0bGV0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG5cdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgdG91Y2hlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdHZhciBuYXRpdmVUb3VjaCA9IHRvdWNoZXNbaV07XG5cdFx0XHRcdFx0bGV0IHggPSBuYXRpdmVUb3VjaC5jbGllbnRYIC0gcmVjdC5sZWZ0O1xuXHRcdFx0XHRcdGxldCB5ID0gbmF0aXZlVG91Y2guY2xpZW50WSAtIHJlY3QudG9wO1xuXG5cdFx0XHRcdFx0aWYgKHRoaXMudG91Y2gwLmlkZW50aWZpZXIgPT09IG5hdGl2ZVRvdWNoLmlkZW50aWZpZXIpIHtcblx0XHRcdFx0XHRcdHRoaXMudG91Y2gwID0gbnVsbDtcblx0XHRcdFx0XHRcdHRoaXMubW91c2VYID0geDtcblx0XHRcdFx0XHRcdHRoaXMubW91c2VZID0geTtcblx0XHRcdFx0XHRcdHRoaXMubGlzdGVuZXJzLm1hcCgobGlzdGVuZXIpID0+IHsgaWYgKGxpc3RlbmVyLnVwKSBsaXN0ZW5lci51cCh4LCB5LCBldikgfSk7XG5cblx0XHRcdFx0XHRcdGlmICghdGhpcy50b3VjaDEpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5idXR0b25Eb3duID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0dGhpcy50b3VjaDAgPSB0aGlzLnRvdWNoMTtcblx0XHRcdFx0XHRcdFx0dGhpcy50b3VjaDEgPSBudWxsO1xuXHRcdFx0XHRcdFx0XHR0aGlzLm1vdXNlWCA9IHRoaXMudG91Y2gwLng7XG5cdFx0XHRcdFx0XHRcdHRoaXMubW91c2VYID0gdGhpcy50b3VjaDAueDtcblx0XHRcdFx0XHRcdFx0dGhpcy5idXR0b25Eb3duID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0dGhpcy5saXN0ZW5lcnMubWFwKChsaXN0ZW5lcikgPT4geyBpZiAobGlzdGVuZXIuZG93bikgbGlzdGVuZXIuZG93bih0aGlzLnRvdWNoMCEueCwgdGhpcy50b3VjaDAhLnksIGV2KSB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRpZiAodGhpcy50b3VjaDEgJiYgdGhpcy50b3VjaDEuaWRlbnRpZmllcikge1xuXHRcdFx0XHRcdFx0dGhpcy50b3VjaDEgPSBudWxsO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMuYXV0b1ByZXZlbnREZWZhdWx0KSBldi5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdH07XG5cblx0XHRlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgbW91c2VEb3duLCB0cnVlKTtcblx0XHRlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgbW91c2VNb3ZlLCB0cnVlKTtcblx0XHRlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsIG1vdXNlVXAsIHRydWUpO1xuXHRcdGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIndoZWVsXCIsIG1vdXNlV2hlZWwsIHRydWUpO1xuXHRcdGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgdG91Y2hTdGFydCwgeyBwYXNzaXZlOiBmYWxzZSwgY2FwdHVyZTogZmFsc2UgfSk7XG5cdFx0ZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2htb3ZlXCIsIHRvdWNoTW92ZSwgeyBwYXNzaXZlOiBmYWxzZSwgY2FwdHVyZTogZmFsc2UgfSk7XG5cdFx0ZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hlbmRcIiwgdG91Y2hFbmQsIHsgcGFzc2l2ZTogZmFsc2UsIGNhcHR1cmU6IGZhbHNlIH0pO1xuXHRcdGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoY2FuY2VsXCIsIHRvdWNoRW5kKTtcblxuXHRcdHJldHVybiB7XG5cdFx0XHRtb3VzZURvd24sXG5cdFx0XHRtb3VzZU1vdmUsXG5cdFx0XHRtb3VzZVVwLFxuXHRcdFx0bW91c2VXaGVlbCxcblx0XHRcdHRvdWNoU3RhcnQsXG5cdFx0XHR0b3VjaE1vdmUsXG5cdFx0XHR0b3VjaEVuZCxcblx0XHR9XG5cdH1cblxuXHRkaXNwb3NlICgpOiB2b2lkIHtcblx0XHRjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50O1xuXHRcdGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLmNhbGxiYWNrcy5tb3VzZURvd24sIHRydWUpO1xuXHRcdGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCB0aGlzLmNhbGxiYWNrcy5tb3VzZU1vdmUsIHRydWUpO1xuXHRcdGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNldXBcIiwgdGhpcy5jYWxsYmFja3MubW91c2VVcCwgdHJ1ZSk7XG5cdFx0ZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwid2hlZWxcIiwgdGhpcy5jYWxsYmFja3MubW91c2VXaGVlbCwgdHJ1ZSk7XG5cdFx0ZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCB0aGlzLmNhbGxiYWNrcy50b3VjaFN0YXJ0LCB7IGNhcHR1cmU6IGZhbHNlIH0pO1xuXHRcdGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNobW92ZVwiLCB0aGlzLmNhbGxiYWNrcy50b3VjaE1vdmUsIHsgY2FwdHVyZTogZmFsc2UgfSk7XG5cdFx0ZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2hlbmRcIiwgdGhpcy5jYWxsYmFja3MudG91Y2hFbmQsIHsgY2FwdHVyZTogZmFsc2UgfSk7XG5cdFx0ZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2hjYW5jZWxcIiwgdGhpcy5jYWxsYmFja3MudG91Y2hFbmQpO1xuXHRcdHRoaXMubGlzdGVuZXJzLmxlbmd0aCA9IDA7XG5cdH1cblxuXHRhZGRMaXN0ZW5lciAobGlzdGVuZXI6IElucHV0TGlzdGVuZXIpIHtcblx0XHR0aGlzLmxpc3RlbmVycy5wdXNoKGxpc3RlbmVyKTtcblx0fVxuXG5cdHJlbW92ZUxpc3RlbmVyIChsaXN0ZW5lcjogSW5wdXRMaXN0ZW5lcikge1xuXHRcdGxldCBpZHggPSB0aGlzLmxpc3RlbmVycy5pbmRleE9mKGxpc3RlbmVyKTtcblx0XHRpZiAoaWR4ID4gLTEpIHtcblx0XHRcdHRoaXMubGlzdGVuZXJzLnNwbGljZShpZHgsIDEpO1xuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgY2xhc3MgVG91Y2gge1xuXHRjb25zdHJ1Y3RvciAocHVibGljIGlkZW50aWZpZXI6IG51bWJlciwgcHVibGljIHg6IG51bWJlciwgcHVibGljIHk6IG51bWJlcikge1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5wdXRMaXN0ZW5lciB7XG5cdGRvd24/KHg6IG51bWJlciwgeTogbnVtYmVyLCBldj86IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZDtcblx0dXA/KHg6IG51bWJlciwgeTogbnVtYmVyLCBldj86IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZDtcblx0bW92ZWQ/KHg6IG51bWJlciwgeTogbnVtYmVyLCBldj86IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZDtcblx0ZHJhZ2dlZD8oeDogbnVtYmVyLCB5OiBudW1iZXIsIGV2PzogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkO1xuXHR3aGVlbD8oZGVsdGE6IG51bWJlciwgZXY/OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IHZvaWQ7XG5cdHpvb20/KGluaXRpYWxEaXN0YW5jZTogbnVtYmVyLCBkaXN0YW5jZTogbnVtYmVyLCBldj86IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZDtcbn1cbiJdfQ==
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvSW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRy9FLE1BQU0sT0FBTyxLQUFLO0lBQ2pCLE9BQU8sQ0FBYztJQUNyQixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNYLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsTUFBTSxHQUFpQixJQUFJLENBQUM7SUFDNUIsTUFBTSxHQUFpQixJQUFJLENBQUM7SUFDNUIsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLFNBQVMsR0FBRyxJQUFJLEtBQUssRUFBaUIsQ0FBQztJQUN2QyxrQkFBa0IsQ0FBVTtJQUVwQyw2SEFBNkg7SUFDN0gsOEVBQThFO0lBQ3RFLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFaEIsU0FBUyxDQVFmO0lBRUYsWUFBYSxPQUFvQixFQUFFLGtCQUFrQixHQUFHLElBQUk7UUFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzdDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sY0FBYyxDQUFFLE9BQW9CO1FBQzNDLE1BQU0sU0FBUyxHQUFHLENBQUMsRUFBVyxFQUFFLEVBQUU7WUFDakMsSUFBSSxFQUFFLFlBQVksVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMvQyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUk7b0JBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RyxDQUFDO1FBQ0YsQ0FBQyxDQUFBO1FBRUQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxFQUFXLEVBQUUsRUFBRTtZQUNqQyxJQUFJLEVBQUUsWUFBWSxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQy9DLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBRXBDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQy9CLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUNyQixJQUFJLFFBQVEsQ0FBQyxPQUFPOzRCQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN0RSxDQUFDO3lCQUFNLENBQUM7d0JBQ1AsSUFBSSxRQUFRLENBQUMsS0FBSzs0QkFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDbEUsQ0FBQztnQkFDRixDQUFDLENBQUMsQ0FBQztZQUNKLENBQUM7UUFDRixDQUFDLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQVcsRUFBRSxFQUFFO1lBQy9CLElBQUksRUFBRSxZQUFZLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDL0MsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUFBLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLElBQUksUUFBUSxDQUFDLEVBQUU7b0JBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRyxDQUFDO1FBQ0YsQ0FBQyxDQUFBO1FBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUFjLEVBQUUsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxrQkFBa0I7Z0JBQUUsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ2pELElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDdkIsSUFBSSxFQUFFLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxjQUFjO2dCQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFDM0QsSUFBSSxFQUFFLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxjQUFjO2dCQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDNUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLElBQUksUUFBUSxDQUFDLEtBQUs7Z0JBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUYsQ0FBQyxDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUFjLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDaEMsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFdBQVc7b0JBQUUsT0FBTztnQkFDekIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDeEMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUN2QyxJQUFJLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJO3dCQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQzdGLENBQUM7cUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7b0JBQ3BCLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUN2QyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDdkMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7b0JBQ3pELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJO3dCQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsSSxDQUFDO1lBQ0YsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLGtCQUFrQjtnQkFBRSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEQsQ0FBQyxDQUFBO1FBRUQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxFQUFjLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDaEMsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzNDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ3pDLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUN4QyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7b0JBRXZDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzt3QkFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7d0JBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPOzRCQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN4RixDQUFDO29CQUNELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBQ3RFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO3dCQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztvQkFDakMsQ0FBQztnQkFDRixDQUFDO2dCQUNELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2hDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUN2QyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDdkMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUk7d0JBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pILENBQUM7WUFDRixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCO2dCQUFFLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNsRCxDQUFDLENBQUE7UUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEVBQWMsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqQixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUNoQyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFFM0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDekMsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM3QixJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFFdkMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBQ3ZELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO3dCQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzt3QkFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7d0JBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxFQUFFOzRCQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUU3RSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDOzRCQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQzs0QkFDeEIsTUFBTTt3QkFDUCxDQUFDOzZCQUFNLENBQUM7NEJBQ1AsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDOzRCQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzs0QkFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzs0QkFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzs0QkFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7NEJBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJO2dDQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDNUcsQ0FBQztvQkFDRixDQUFDO29CQUVELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztvQkFDcEIsQ0FBQztnQkFDRixDQUFDO1lBQ0YsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLGtCQUFrQjtnQkFBRSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEQsQ0FBQyxDQUFDO1FBRUYsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNyRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbkYsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVsRCxPQUFPO1lBQ04sU0FBUztZQUNULFNBQVM7WUFDVCxPQUFPO1lBQ1AsVUFBVTtZQUNWLFVBQVU7WUFDVixTQUFTO1lBQ1QsUUFBUTtTQUNSLENBQUE7SUFDRixDQUFDO0lBRUQsT0FBTztRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6RSxPQUFPLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RSxPQUFPLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNyRixPQUFPLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXLENBQUUsUUFBdUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGNBQWMsQ0FBRSxRQUF1QjtRQUN0QyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDRixDQUFDO0NBQ0Q7QUFFRCxNQUFNLE9BQU8sS0FBSztJQUNHO0lBQTJCO0lBQWtCO0lBQWpFLFlBQW9CLFVBQWtCLEVBQVMsQ0FBUyxFQUFTLENBQVM7UUFBdEQsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFRO0lBQzFFLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHsgRGlzcG9zYWJsZSB9IGZyb20gXCIuL2luZGV4LmpzXCJcbmV4cG9ydCBjbGFzcyBJbnB1dCBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuXHRlbGVtZW50OiBIVE1MRWxlbWVudDtcblx0bW91c2VYID0gMDtcblx0bW91c2VZID0gMDtcblx0YnV0dG9uRG93biA9IGZhbHNlO1xuXHR0b3VjaDA6IFRvdWNoIHwgbnVsbCA9IG51bGw7XG5cdHRvdWNoMTogVG91Y2ggfCBudWxsID0gbnVsbDtcblx0aW5pdGlhbFBpbmNoRGlzdGFuY2UgPSAwO1xuXHRwcml2YXRlIGxpc3RlbmVycyA9IG5ldyBBcnJheTxJbnB1dExpc3RlbmVyPigpO1xuXHRwcml2YXRlIGF1dG9QcmV2ZW50RGVmYXVsdDogYm9vbGVhbjtcblxuXHQvLyB0aGlzIGlzIG5lZWRlZCBiZWNhdXNlIGJyb3dzZXJzIHNlbmRzIG1vdXNlZG93bi1tb3VzZW1vdmUtbW91c2VzdXAgYWZ0ZXIgYSB0b3VjaCBzZXF1ZW5jZSwgdW5sZXNzIHRvdWNoIGVuZCBwcmV2ZW50RGVmYXVsdFxuXHQvLyBidXQgcHJldmVudGluZyBkZWZhdWx0IHdpbGwgcmVzdWx0IGluIHByZXZlbnRpbmcgaW50ZXJhY3Rpb24gd2l0aCB0aGUgcGFnZS5cblx0cHJpdmF0ZSBpc1RvdWNoID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBjYWxsYmFja3M6IHtcblx0XHRtb3VzZURvd246IChldjogVUlFdmVudCkgPT4gdm9pZDtcblx0XHRtb3VzZU1vdmU6IChldjogVUlFdmVudCkgPT4gdm9pZDtcblx0XHRtb3VzZVVwOiAoZXY6IFVJRXZlbnQpID0+IHZvaWQ7XG5cdFx0bW91c2VXaGVlbDogKGV2OiBXaGVlbEV2ZW50KSA9PiB2b2lkO1xuXHRcdHRvdWNoU3RhcnQ6IChldjogVG91Y2hFdmVudCkgPT4gdm9pZDtcblx0XHR0b3VjaE1vdmU6IChldjogVG91Y2hFdmVudCkgPT4gdm9pZDtcblx0XHR0b3VjaEVuZDogKGV2OiBUb3VjaEV2ZW50KSA9PiB2b2lkO1xuXHR9O1xuXG5cdGNvbnN0cnVjdG9yIChlbGVtZW50OiBIVE1MRWxlbWVudCwgYXV0b1ByZXZlbnREZWZhdWx0ID0gdHJ1ZSkge1xuXHRcdHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG5cdFx0dGhpcy5hdXRvUHJldmVudERlZmF1bHQgPSBhdXRvUHJldmVudERlZmF1bHQ7XG5cdFx0dGhpcy5jYWxsYmFja3MgPSB0aGlzLnNldHVwQ2FsbGJhY2tzKGVsZW1lbnQpO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXR1cENhbGxiYWNrcyAoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcblx0XHRjb25zdCBtb3VzZURvd24gPSAoZXY6IFVJRXZlbnQpID0+IHtcblx0XHRcdGlmIChldiBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgJiYgIXRoaXMuaXNUb3VjaCkge1xuXHRcdFx0XHRsZXQgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cdFx0XHRcdHRoaXMubW91c2VYID0gZXYuY2xpZW50WCAtIHJlY3QubGVmdDtcblx0XHRcdFx0dGhpcy5tb3VzZVkgPSBldi5jbGllbnRZIC0gcmVjdC50b3A7XG5cdFx0XHRcdHRoaXMuYnV0dG9uRG93biA9IHRydWU7XG5cdFx0XHRcdHRoaXMubGlzdGVuZXJzLm1hcCgobGlzdGVuZXIpID0+IHsgaWYgKGxpc3RlbmVyLmRvd24pIGxpc3RlbmVyLmRvd24odGhpcy5tb3VzZVgsIHRoaXMubW91c2VZLCBldik7IH0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IG1vdXNlTW92ZSA9IChldjogVUlFdmVudCkgPT4ge1xuXHRcdFx0aWYgKGV2IGluc3RhbmNlb2YgTW91c2VFdmVudCAmJiAhdGhpcy5pc1RvdWNoKSB7XG5cdFx0XHRcdGxldCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRcdFx0dGhpcy5tb3VzZVggPSBldi5jbGllbnRYIC0gcmVjdC5sZWZ0O1xuXHRcdFx0XHR0aGlzLm1vdXNlWSA9IGV2LmNsaWVudFkgLSByZWN0LnRvcDtcblxuXHRcdFx0XHR0aGlzLmxpc3RlbmVycy5tYXAoKGxpc3RlbmVyKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHRoaXMuYnV0dG9uRG93bikge1xuXHRcdFx0XHRcdFx0aWYgKGxpc3RlbmVyLmRyYWdnZWQpIGxpc3RlbmVyLmRyYWdnZWQodGhpcy5tb3VzZVgsIHRoaXMubW91c2VZLCBldik7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdGlmIChsaXN0ZW5lci5tb3ZlZCkgbGlzdGVuZXIubW92ZWQodGhpcy5tb3VzZVgsIHRoaXMubW91c2VZLCBldik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0Y29uc3QgbW91c2VVcCA9IChldjogVUlFdmVudCkgPT4ge1xuXHRcdFx0aWYgKGV2IGluc3RhbmNlb2YgTW91c2VFdmVudCAmJiAhdGhpcy5pc1RvdWNoKSB7XG5cdFx0XHRcdGxldCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRcdFx0dGhpcy5tb3VzZVggPSBldi5jbGllbnRYIC0gcmVjdC5sZWZ0Oztcblx0XHRcdFx0dGhpcy5tb3VzZVkgPSBldi5jbGllbnRZIC0gcmVjdC50b3A7XG5cdFx0XHRcdHRoaXMuYnV0dG9uRG93biA9IGZhbHNlO1xuXHRcdFx0XHR0aGlzLmxpc3RlbmVycy5tYXAoKGxpc3RlbmVyKSA9PiB7IGlmIChsaXN0ZW5lci51cCkgbGlzdGVuZXIudXAodGhpcy5tb3VzZVgsIHRoaXMubW91c2VZLCBldik7IH0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IG1vdXNlV2hlZWwgPSAoZXY6IFdoZWVsRXZlbnQpID0+IHtcblx0XHRcdGlmICh0aGlzLmF1dG9QcmV2ZW50RGVmYXVsdCkgZXYucHJldmVudERlZmF1bHQoKTtcblx0XHRcdGxldCBkZWx0YVkgPSBldi5kZWx0YVk7XG5cdFx0XHRpZiAoZXYuZGVsdGFNb2RlID09IFdoZWVsRXZlbnQuRE9NX0RFTFRBX0xJTkUpIGRlbHRhWSAqPSA4O1xuXHRcdFx0aWYgKGV2LmRlbHRhTW9kZSA9PSBXaGVlbEV2ZW50LkRPTV9ERUxUQV9QQUdFKSBkZWx0YVkgKj0gMjQ7XG5cdFx0XHR0aGlzLmxpc3RlbmVycy5tYXAoKGxpc3RlbmVyKSA9PiB7IGlmIChsaXN0ZW5lci53aGVlbCkgbGlzdGVuZXIud2hlZWwoZXYuZGVsdGFZLCBldik7IH0pO1xuXHRcdH07XG5cblx0XHRjb25zdCB0b3VjaFN0YXJ0ID0gKGV2OiBUb3VjaEV2ZW50KSA9PiB7XG5cdFx0XHR0aGlzLmlzVG91Y2ggPSB0cnVlO1xuXHRcdFx0aWYgKCF0aGlzLnRvdWNoMCB8fCAhdGhpcy50b3VjaDEpIHtcblx0XHRcdFx0dmFyIHRvdWNoZXMgPSBldi5jaGFuZ2VkVG91Y2hlcztcblx0XHRcdFx0bGV0IG5hdGl2ZVRvdWNoID0gdG91Y2hlcy5pdGVtKDApO1xuXHRcdFx0XHRpZiAoIW5hdGl2ZVRvdWNoKSByZXR1cm47XG5cdFx0XHRcdGxldCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRcdFx0bGV0IHggPSBuYXRpdmVUb3VjaC5jbGllbnRYIC0gcmVjdC5sZWZ0O1xuXHRcdFx0XHRsZXQgeSA9IG5hdGl2ZVRvdWNoLmNsaWVudFkgLSByZWN0LnRvcDtcblx0XHRcdFx0bGV0IHRvdWNoID0gbmV3IFRvdWNoKG5hdGl2ZVRvdWNoLmlkZW50aWZpZXIsIHgsIHkpO1xuXHRcdFx0XHR0aGlzLm1vdXNlWCA9IHg7XG5cdFx0XHRcdHRoaXMubW91c2VZID0geTtcblx0XHRcdFx0dGhpcy5idXR0b25Eb3duID0gdHJ1ZTtcblxuXHRcdFx0XHRpZiAoIXRoaXMudG91Y2gwKSB7XG5cdFx0XHRcdFx0dGhpcy50b3VjaDAgPSB0b3VjaDtcblx0XHRcdFx0XHR0aGlzLmxpc3RlbmVycy5tYXAoKGxpc3RlbmVyKSA9PiB7IGlmIChsaXN0ZW5lci5kb3duKSBsaXN0ZW5lci5kb3duKHRvdWNoLngsIHRvdWNoLnksIGV2KSB9KVxuXHRcdFx0XHR9IGVsc2UgaWYgKCF0aGlzLnRvdWNoMSkge1xuXHRcdFx0XHRcdHRoaXMudG91Y2gxID0gdG91Y2g7XG5cdFx0XHRcdFx0bGV0IGR4ID0gdGhpcy50b3VjaDEueCAtIHRoaXMudG91Y2gwLng7XG5cdFx0XHRcdFx0bGV0IGR5ID0gdGhpcy50b3VjaDEueCAtIHRoaXMudG91Y2gwLng7XG5cdFx0XHRcdFx0dGhpcy5pbml0aWFsUGluY2hEaXN0YW5jZSA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7XG5cdFx0XHRcdFx0dGhpcy5saXN0ZW5lcnMubWFwKChsaXN0ZW5lcikgPT4geyBpZiAobGlzdGVuZXIuem9vbSkgbGlzdGVuZXIuem9vbSh0aGlzLmluaXRpYWxQaW5jaERpc3RhbmNlLCB0aGlzLmluaXRpYWxQaW5jaERpc3RhbmNlLCBldikgfSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmICh0aGlzLmF1dG9QcmV2ZW50RGVmYXVsdCkgZXYucHJldmVudERlZmF1bHQoKTtcblx0XHR9XG5cblx0XHRjb25zdCB0b3VjaE1vdmUgPSAoZXY6IFRvdWNoRXZlbnQpID0+IHtcblx0XHRcdHRoaXMuaXNUb3VjaCA9IHRydWU7XG5cdFx0XHRpZiAodGhpcy50b3VjaDApIHtcblx0XHRcdFx0dmFyIHRvdWNoZXMgPSBldi5jaGFuZ2VkVG91Y2hlcztcblx0XHRcdFx0bGV0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHRvdWNoZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHR2YXIgbmF0aXZlVG91Y2ggPSB0b3VjaGVzW2ldO1xuXHRcdFx0XHRcdGxldCB4ID0gbmF0aXZlVG91Y2guY2xpZW50WCAtIHJlY3QubGVmdDtcblx0XHRcdFx0XHRsZXQgeSA9IG5hdGl2ZVRvdWNoLmNsaWVudFkgLSByZWN0LnRvcDtcblxuXHRcdFx0XHRcdGlmICh0aGlzLnRvdWNoMC5pZGVudGlmaWVyID09PSBuYXRpdmVUb3VjaC5pZGVudGlmaWVyKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnRvdWNoMC54ID0gdGhpcy5tb3VzZVggPSB4O1xuXHRcdFx0XHRcdFx0dGhpcy50b3VjaDAueSA9IHRoaXMubW91c2VZID0geTtcblx0XHRcdFx0XHRcdHRoaXMubGlzdGVuZXJzLm1hcCgobGlzdGVuZXIpID0+IHsgaWYgKGxpc3RlbmVyLmRyYWdnZWQpIGxpc3RlbmVyLmRyYWdnZWQoeCwgeSwgZXYpIH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAodGhpcy50b3VjaDEgJiYgdGhpcy50b3VjaDEuaWRlbnRpZmllciA9PT0gbmF0aXZlVG91Y2guaWRlbnRpZmllcikge1xuXHRcdFx0XHRcdFx0dGhpcy50b3VjaDEueCA9IHRoaXMubW91c2VYID0geDtcblx0XHRcdFx0XHRcdHRoaXMudG91Y2gxLnkgPSB0aGlzLm1vdXNlWSA9IHk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0aGlzLnRvdWNoMCAmJiB0aGlzLnRvdWNoMSkge1xuXHRcdFx0XHRcdGxldCBkeCA9IHRoaXMudG91Y2gxLnggLSB0aGlzLnRvdWNoMC54O1xuXHRcdFx0XHRcdGxldCBkeSA9IHRoaXMudG91Y2gxLnggLSB0aGlzLnRvdWNoMC54O1xuXHRcdFx0XHRcdGxldCBkaXN0YW5jZSA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7XG5cdFx0XHRcdFx0dGhpcy5saXN0ZW5lcnMubWFwKChsaXN0ZW5lcikgPT4geyBpZiAobGlzdGVuZXIuem9vbSkgbGlzdGVuZXIuem9vbSh0aGlzLmluaXRpYWxQaW5jaERpc3RhbmNlLCBkaXN0YW5jZSwgZXYpIH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5hdXRvUHJldmVudERlZmF1bHQpIGV2LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgdG91Y2hFbmQgPSAoZXY6IFRvdWNoRXZlbnQpID0+IHtcblx0XHRcdHRoaXMuaXNUb3VjaCA9IHRydWU7XG5cdFx0XHRpZiAodGhpcy50b3VjaDApIHtcblx0XHRcdFx0dmFyIHRvdWNoZXMgPSBldi5jaGFuZ2VkVG91Y2hlcztcblx0XHRcdFx0bGV0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG5cdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgdG91Y2hlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdHZhciBuYXRpdmVUb3VjaCA9IHRvdWNoZXNbaV07XG5cdFx0XHRcdFx0bGV0IHggPSBuYXRpdmVUb3VjaC5jbGllbnRYIC0gcmVjdC5sZWZ0O1xuXHRcdFx0XHRcdGxldCB5ID0gbmF0aXZlVG91Y2guY2xpZW50WSAtIHJlY3QudG9wO1xuXG5cdFx0XHRcdFx0aWYgKHRoaXMudG91Y2gwLmlkZW50aWZpZXIgPT09IG5hdGl2ZVRvdWNoLmlkZW50aWZpZXIpIHtcblx0XHRcdFx0XHRcdHRoaXMudG91Y2gwID0gbnVsbDtcblx0XHRcdFx0XHRcdHRoaXMubW91c2VYID0geDtcblx0XHRcdFx0XHRcdHRoaXMubW91c2VZID0geTtcblx0XHRcdFx0XHRcdHRoaXMubGlzdGVuZXJzLm1hcCgobGlzdGVuZXIpID0+IHsgaWYgKGxpc3RlbmVyLnVwKSBsaXN0ZW5lci51cCh4LCB5LCBldikgfSk7XG5cblx0XHRcdFx0XHRcdGlmICghdGhpcy50b3VjaDEpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5idXR0b25Eb3duID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0dGhpcy50b3VjaDAgPSB0aGlzLnRvdWNoMTtcblx0XHRcdFx0XHRcdFx0dGhpcy50b3VjaDEgPSBudWxsO1xuXHRcdFx0XHRcdFx0XHR0aGlzLm1vdXNlWCA9IHRoaXMudG91Y2gwLng7XG5cdFx0XHRcdFx0XHRcdHRoaXMubW91c2VYID0gdGhpcy50b3VjaDAueDtcblx0XHRcdFx0XHRcdFx0dGhpcy5idXR0b25Eb3duID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0dGhpcy5saXN0ZW5lcnMubWFwKChsaXN0ZW5lcikgPT4geyBpZiAobGlzdGVuZXIuZG93bikgbGlzdGVuZXIuZG93bih0aGlzLnRvdWNoMCEueCwgdGhpcy50b3VjaDAhLnksIGV2KSB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRpZiAodGhpcy50b3VjaDEgJiYgdGhpcy50b3VjaDEuaWRlbnRpZmllcikge1xuXHRcdFx0XHRcdFx0dGhpcy50b3VjaDEgPSBudWxsO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMuYXV0b1ByZXZlbnREZWZhdWx0KSBldi5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdH07XG5cblx0XHRlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgbW91c2VEb3duLCB0cnVlKTtcblx0XHRlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgbW91c2VNb3ZlLCB0cnVlKTtcblx0XHRlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsIG1vdXNlVXAsIHRydWUpO1xuXHRcdGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIndoZWVsXCIsIG1vdXNlV2hlZWwsIHRydWUpO1xuXHRcdGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgdG91Y2hTdGFydCwgeyBwYXNzaXZlOiBmYWxzZSwgY2FwdHVyZTogZmFsc2UgfSk7XG5cdFx0ZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2htb3ZlXCIsIHRvdWNoTW92ZSwgeyBwYXNzaXZlOiBmYWxzZSwgY2FwdHVyZTogZmFsc2UgfSk7XG5cdFx0ZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hlbmRcIiwgdG91Y2hFbmQsIHsgcGFzc2l2ZTogZmFsc2UsIGNhcHR1cmU6IGZhbHNlIH0pO1xuXHRcdGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoY2FuY2VsXCIsIHRvdWNoRW5kKTtcblxuXHRcdHJldHVybiB7XG5cdFx0XHRtb3VzZURvd24sXG5cdFx0XHRtb3VzZU1vdmUsXG5cdFx0XHRtb3VzZVVwLFxuXHRcdFx0bW91c2VXaGVlbCxcblx0XHRcdHRvdWNoU3RhcnQsXG5cdFx0XHR0b3VjaE1vdmUsXG5cdFx0XHR0b3VjaEVuZCxcblx0XHR9XG5cdH1cblxuXHRkaXNwb3NlICgpOiB2b2lkIHtcblx0XHRjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50O1xuXHRcdGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLmNhbGxiYWNrcy5tb3VzZURvd24sIHRydWUpO1xuXHRcdGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCB0aGlzLmNhbGxiYWNrcy5tb3VzZU1vdmUsIHRydWUpO1xuXHRcdGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNldXBcIiwgdGhpcy5jYWxsYmFja3MubW91c2VVcCwgdHJ1ZSk7XG5cdFx0ZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwid2hlZWxcIiwgdGhpcy5jYWxsYmFja3MubW91c2VXaGVlbCwgdHJ1ZSk7XG5cdFx0ZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCB0aGlzLmNhbGxiYWNrcy50b3VjaFN0YXJ0LCB7IGNhcHR1cmU6IGZhbHNlIH0pO1xuXHRcdGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNobW92ZVwiLCB0aGlzLmNhbGxiYWNrcy50b3VjaE1vdmUsIHsgY2FwdHVyZTogZmFsc2UgfSk7XG5cdFx0ZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2hlbmRcIiwgdGhpcy5jYWxsYmFja3MudG91Y2hFbmQsIHsgY2FwdHVyZTogZmFsc2UgfSk7XG5cdFx0ZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2hjYW5jZWxcIiwgdGhpcy5jYWxsYmFja3MudG91Y2hFbmQpO1xuXHRcdHRoaXMubGlzdGVuZXJzLmxlbmd0aCA9IDA7XG5cdH1cblxuXHRhZGRMaXN0ZW5lciAobGlzdGVuZXI6IElucHV0TGlzdGVuZXIpIHtcblx0XHR0aGlzLmxpc3RlbmVycy5wdXNoKGxpc3RlbmVyKTtcblx0fVxuXG5cdHJlbW92ZUxpc3RlbmVyIChsaXN0ZW5lcjogSW5wdXRMaXN0ZW5lcikge1xuXHRcdGxldCBpZHggPSB0aGlzLmxpc3RlbmVycy5pbmRleE9mKGxpc3RlbmVyKTtcblx0XHRpZiAoaWR4ID4gLTEpIHtcblx0XHRcdHRoaXMubGlzdGVuZXJzLnNwbGljZShpZHgsIDEpO1xuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgY2xhc3MgVG91Y2gge1xuXHRjb25zdHJ1Y3RvciAocHVibGljIGlkZW50aWZpZXI6IG51bWJlciwgcHVibGljIHg6IG51bWJlciwgcHVibGljIHk6IG51bWJlcikge1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5wdXRMaXN0ZW5lciB7XG5cdGRvd24/KHg6IG51bWJlciwgeTogbnVtYmVyLCBldj86IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZDtcblx0dXA/KHg6IG51bWJlciwgeTogbnVtYmVyLCBldj86IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZDtcblx0bW92ZWQ/KHg6IG51bWJlciwgeTogbnVtYmVyLCBldj86IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZDtcblx0ZHJhZ2dlZD8oeDogbnVtYmVyLCB5OiBudW1iZXIsIGV2PzogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkO1xuXHR3aGVlbD8oZGVsdGE6IG51bWJlciwgZXY/OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IHZvaWQ7XG5cdHpvb20/KGluaXRpYWxEaXN0YW5jZTogbnVtYmVyLCBkaXN0YW5jZTogbnVtYmVyLCBldj86IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZDtcbn1cbiJdfQ==
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
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 or
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 THE
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 { Color, Disposable } from "@esotericsoftware/spine-core";
30
30
  import { SceneRenderer } from "./SceneRenderer.js";
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
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 or
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 THE
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 { BlendMode, Color, TimeKeeper } from "@esotericsoftware/spine-core";
30
30
  import { GLTexture } from "./GLTexture.js";
@@ -135,4 +135,4 @@ export class LoadingScreen {
135
135
  }
136
136
  let SPINNER_DATA = "data:image/png;base64,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";
137
137
  let SPINE_LOGO_DATA = "data:image/png;base64,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";
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZGluZ1NjcmVlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Mb2FkaW5nU2NyZWVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUUvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYyxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxvQkFBb0IsQ0FBQztBQUUvRCxJQUFJLFlBQThCLENBQUM7QUFDbkMsSUFBSSxTQUEyQixDQUFDO0FBQ2hDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ2hDLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxVQUFVLEdBQUcsR0FBRyxFQUFFLFdBQVcsR0FBRyxHQUFHLENBQUM7QUFFM0QsTUFBTSxPQUFPLGFBQWE7SUFDakIsUUFBUSxDQUFnQjtJQUN4QixJQUFJLEdBQXFCLElBQUksQ0FBQztJQUM5QixPQUFPLEdBQXFCLElBQUksQ0FBQztJQUNqQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNaLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDWCxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUN0QyxlQUFlLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFFaEMsWUFBYSxRQUF1QjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUV6QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEs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QUMsS0FBSyxDQUFDLENBQUM7SUFDOUosQ0FBQztDQUNEO0FBRUQsSUFBSSxZQUFZLEdBQUcsbzBIQUFvMEgsQ0FBQztBQUV4MUgsSUFBSSxlQUFlLEdBQUcsd3ZMQUF3dkwsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgSnVseSAyOCwgMjAyMy4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDIzLCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yXG4gKiBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhFXG4gKiBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHsgQmxlbmRNb2RlLCBDb2xvciwgRGlzcG9zYWJsZSwgVGltZUtlZXBlciB9IGZyb20gXCJAZXNvdGVyaWNzb2Z0d2FyZS9zcGluZS1jb3JlXCI7XG5pbXBvcnQgeyBHTFRleHR1cmUgfSBmcm9tIFwiLi9HTFRleHR1cmUuanNcIjtcbmltcG9ydCB7IFJlc2l6ZU1vZGUsIFNjZW5lUmVuZGVyZXIgfSBmcm9tIFwiLi9TY2VuZVJlbmRlcmVyLmpzXCI7XG5cbmxldCBzcGlubmVySW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQ7XG5sZXQgbG9nb0ltYWdlOiBIVE1MSW1hZ2VFbGVtZW50O1xubGV0IGxvYWRlZCA9IDA7XG5cbmNvbnN0IEZBREVfSU4gPSAxLCBGQURFX09VVCA9IDE7XG5jb25zdCBsb2dvV2lkdGggPSAxNjUsIGxvZ29IZWlnaHQgPSAxMDgsIHNwaW5uZXJTaXplID0gMTYzO1xuXG5leHBvcnQgY2xhc3MgTG9hZGluZ1NjcmVlbiBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuXHRwcml2YXRlIHJlbmRlcmVyOiBTY2VuZVJlbmRlcmVyO1xuXHRwcml2YXRlIGxvZ286IEdMVGV4dHVyZSB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIHNwaW5uZXI6IEdMVGV4dHVyZSB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIGFuZ2xlID0gMDtcblx0cHJpdmF0ZSBmYWRlT3V0ID0gMDtcblx0cHJpdmF0ZSBmYWRlSW4gPSAwO1xuXHRwcml2YXRlIHRpbWVLZWVwZXIgPSBuZXcgVGltZUtlZXBlcigpO1xuXHRiYWNrZ3JvdW5kQ29sb3IgPSBuZXcgQ29sb3IoMC4xMzUsIDAuMTM1LCAwLjEzNSwgMSk7XG5cdHByaXZhdGUgdGVtcENvbG9yID0gbmV3IENvbG9yKCk7XG5cblx0Y29uc3RydWN0b3IgKHJlbmRlcmVyOiBTY2VuZVJlbmRlcmVyKSB7XG5cdFx0dGhpcy5yZW5kZXJlciA9IHJlbmRlcmVyO1xuXG5cdFx0dGhpcy50aW1lS2VlcGVyLm1heERlbHRhID0gOTtcblxuXHRcdGlmICghbG9nb0ltYWdlKSB7XG5cdFx0XHRsZXQgaXNTYWZhcmkgPSBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoXCJTYWZhcmlcIikgPiAtMTsgLy8gVGhhbmsgeW91IEFwcGxlIEluYy5cblx0XHRcdGxldCBvbmxvYWQgPSAoKSA9PiBsb2FkZWQrKztcblxuXHRcdFx0bG9nb0ltYWdlID0gbmV3IEltYWdlKCk7XG5cdFx0XHRsb2dvSW1hZ2Uuc3JjID0gU1BJTkVfTE9HT19EQVRBO1xuXHRcdFx0aWYgKCFpc1NhZmFyaSkgbG9nb0ltYWdlLmNyb3NzT3JpZ2luID0gXCJhbm9ueW1vdXNcIjtcblx0XHRcdGxvZ29JbWFnZS5vbmxvYWQgPSBvbmxvYWQ7XG5cblx0XHRcdHNwaW5uZXJJbWFnZSA9IG5ldyBJbWFnZSgpO1xuXHRcdFx0c3Bpbm5lckltYWdlLnNyYyA9IFNQSU5ORVJfREFUQTtcblx0XHRcdGlmICghaXNTYWZhcmkpIHNwaW5uZXJJbWFnZS5jcm9zc09yaWdpbiA9IFwiYW5vbnltb3VzXCI7XG5cdFx0XHRzcGlubmVySW1hZ2Uub25sb2FkID0gb25sb2FkO1xuXHRcdH1cblx0fVxuXHRkaXNwb3NlICgpOiB2b2lkIHtcblx0XHR0aGlzLmxvZ28/LmRpc3Bvc2UoKTtcblx0XHR0aGlzLnNwaW5uZXI/LmRpc3Bvc2UoKTtcblx0fVxuXG5cdGRyYXcgKGNvbXBsZXRlID0gZmFsc2UpIHtcblx0XHRpZiAobG9hZGVkIDwgMiB8fCAoY29tcGxldGUgJiYgdGhpcy5mYWRlT3V0ID4gRkFERV9PVVQpKSByZXR1cm47XG5cblx0XHR0aGlzLnRpbWVLZWVwZXIudXBkYXRlKCk7XG5cdFx0bGV0IGEgPSBNYXRoLmFicyhNYXRoLnNpbih0aGlzLnRpbWVLZWVwZXIudG90YWxUaW1lICsgMC4yNSkpO1xuXHRcdHRoaXMuYW5nbGUgLT0gdGhpcy50aW1lS2VlcGVyLmRlbHRhICogMjAwICogKDEgKyAxLjUgKiBNYXRoLnBvdyhhLCA1KSk7XG5cblx0XHRsZXQgdGVtcENvbG9yID0gdGhpcy50ZW1wQ29sb3I7XG5cdFx0bGV0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcblx0XHRsZXQgY2FudmFzID0gcmVuZGVyZXIuY2FudmFzO1xuXHRcdGxldCBnbCA9IHJlbmRlcmVyLmNvbnRleHQuZ2w7XG5cblx0XHRyZW5kZXJlci5yZXNpemUoUmVzaXplTW9kZS5FeHBhbmQpO1xuXHRcdHJlbmRlcmVyLmNhbWVyYS5wb3NpdGlvbi5zZXQoY2FudmFzLndpZHRoIC8gMiwgY2FudmFzLmhlaWdodCAvIDIsIDApO1xuXHRcdHJlbmRlcmVyLmJhdGNoZXIuc2V0QmxlbmRNb2RlKEJsZW5kTW9kZS5Ob3JtYWwsIHRydWUpO1xuXG5cdFx0aWYgKGNvbXBsZXRlKSB7XG5cdFx0XHR0aGlzLmZhZGVPdXQgKz0gdGhpcy50aW1lS2VlcGVyLmRlbHRhICogKHRoaXMudGltZUtlZXBlci50b3RhbFRpbWUgPCAxID8gMiA6IDEpO1xuXHRcdFx0aWYgKHRoaXMuZmFkZU91dCA+IEZBREVfT1VUKSByZXR1cm47XG5cdFx0XHR0ZW1wQ29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuYmFja2dyb3VuZENvbG9yKTtcblx0XHRcdGEgPSAxIC0gdGhpcy5mYWRlT3V0IC8gRkFERV9PVVQ7XG5cdFx0XHRhID0gMSAtIChhIC0gMSkgKiAoYSAtIDEpO1xuXHRcdFx0dGVtcENvbG9yLmEgKj0gYTtcblx0XHRcdGlmICh0ZW1wQ29sb3IuYSA+IDApIHtcblx0XHRcdFx0cmVuZGVyZXIuY2FtZXJhLnpvb20gPSAxO1xuXHRcdFx0XHRyZW5kZXJlci5iZWdpbigpO1xuXHRcdFx0XHRyZW5kZXJlci5xdWFkKHRydWUsIDAsIDAsIGNhbnZhcy53aWR0aCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0LCAwLCBjYW52YXMuaGVpZ2h0LFxuXHRcdFx0XHRcdHRlbXBDb2xvciwgdGVtcENvbG9yLCB0ZW1wQ29sb3IsIHRlbXBDb2xvcik7XG5cdFx0XHRcdHJlbmRlcmVyLmVuZCgpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmZhZGVJbiArPSB0aGlzLnRpbWVLZWVwZXIuZGVsdGE7XG5cdFx0XHRpZiAodGhpcy5iYWNrZ3JvdW5kQ29sb3IuYSA+IDApIHtcblx0XHRcdFx0Z2wuY2xlYXJDb2xvcih0aGlzLmJhY2tncm91bmRDb2xvci5yLCB0aGlzLmJhY2tncm91bmRDb2xvci5nLCB0aGlzLmJhY2tncm91bmRDb2xvci5iLCB0aGlzLmJhY2tncm91bmRDb2xvci5hKTtcblx0XHRcdFx0Z2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7XG5cdFx0XHR9XG5cdFx0XHRhID0gMTtcblx0XHR9XG5cdFx0YSAqPSBNYXRoLm1pbih0aGlzLmZhZGVJbiAvIEZBREVfSU4sIDEpO1xuXHRcdHRlbXBDb2xvci5zZXQoYSwgYSwgYSwgYSk7XG5cblx0XHRpZiAoIXRoaXMubG9nbykge1xuXHRcdFx0dGhpcy5sb2dvID0gbmV3IEdMVGV4dHVyZShyZW5kZXJlci5jb250ZXh0LCBsb2dvSW1hZ2UpO1xuXHRcdFx0dGhpcy5zcGlubmVyID0gbmV3IEdMVGV4dHVyZShyZW5kZXJlci5jb250ZXh0LCBzcGlubmVySW1hZ2UpO1xuXHRcdH1cblx0XHRyZW5kZXJlci5jYW1lcmEuem9vbSA9IE1hdGgubWF4KDEsIHNwaW5uZXJTaXplIC8gY2FudmFzLmhlaWdodCk7XG5cdFx0cmVuZGVyZXIuYmVnaW4oKTtcblx0XHRyZW5kZXJlci5kcmF3VGV4dHVyZSh0aGlzLmxvZ28sIChjYW52YXMud2lkdGggLSBsb2dvV2lkdGgpIC8gMiwgKGNhbnZhcy5oZWlnaHQgLSBsb2dvSGVpZ2h0KSAvIDIsIGxvZ29XaWR0aCwgbG9nb0hlaWdodCwgdGVtcENvbG9yKTtcblx0XHRpZiAodGhpcy5zcGlubmVyKSByZW5kZXJlci5kcmF3VGV4dHVyZVJvdGF0ZWQodGhpcy5zcGlubmVyLCAoY2FudmFzLndpZHRoIC0gc3Bpbm5lclNpemUpIC8gMiwgKGNhbnZhcy5oZWlnaHQgLSBzcGlubmVyU2l6ZSkgLyAyLCBzcGlubmVyU2l6ZSwgc3Bpbm5lclNpemUsIHNwaW5uZXJTaXplIC8gMiwgc3Bpbm5lclNpemUgLyAyLCB0aGlzLmFuZ2xlLCB0ZW1wQ29sb3IpO1xuXHRcdHJlbmRlcmVyLmVuZCgpO1xuXHR9XG5cblx0ZHJhd0luQ29vcmRpbmF0ZXMgKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG5cdFx0aWYgKGxvYWRlZCA8IDIpIHJldHVybjtcblxuXHRcdHRoaXMudGltZUtlZXBlci51cGRhdGUoKTtcblx0XHRsZXQgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyO1xuXHRcdHJlbmRlcmVyLmJhdGNoZXIuc2V0QmxlbmRNb2RlKEJsZW5kTW9kZS5Ob3JtYWwsIHRydWUpO1xuXG5cdFx0aWYgKCF0aGlzLmxvZ28pIHtcblx0XHRcdHRoaXMubG9nbyA9IG5ldyBHTFRleHR1cmUocmVuZGVyZXIuY29udGV4dCwgbG9nb0ltYWdlKTtcblx0XHRcdHRoaXMuc3Bpbm5lciA9IG5ldyBHTFRleHR1cmUocmVuZGVyZXIuY29udGV4dCwgc3Bpbm5lckltYWdlKTtcblx0XHR9XG5cblx0XHRjb25zdCBzaGlmdGVkWCA9IHggLSBsb2dvV2lkdGggLyAyO1xuXHRcdGNvbnN0IHNoaWZ0ZWRZID0geSAtIGxvZ29IZWlnaHQgLyAyO1xuXHRcdHJlbmRlcmVyLmRyYXdUZXh0dXJlKHRoaXMubG9nbywgc2hpZnRlZFgsIHNoaWZ0ZWRZLCBsb2dvV2lkdGgsIGxvZ29IZWlnaHQpO1xuXG5cdFx0dGhpcy5hbmdsZSAtPSB0aGlzLnRpbWVLZWVwZXIuZGVsdGEgKiA1MDA7XG5cdFx0aWYgKHRoaXMuc3Bpbm5lcikgcmVuZGVyZXIuZHJhd1RleHR1cmVSb3RhdGVkKHRoaXMuc3Bpbm5lciwgc2hpZnRlZFgsIHNoaWZ0ZWRZIC0gMjUsIHNwaW5uZXJTaXplLCBzcGlubmVyU2l6ZSwgc3Bpbm5lclNpemUgLyAyLCBzcGlubmVyU2l6ZSAvIDIsIHRoaXMuYW5nbGUpO1xuXHR9XG59XG5cbmxldCBTUElOTkVSX0RBVEEgPSBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBS01BQUFDakNBWUFBQURtYks2QUFBQUxLRWxFUVZSNDJ1MmRlMmlXNVIvR1B6dXFjd2ZubktmTm1hZmw1dFROSFd6cU5pM0RFTVF5a2NBb0pTc3lTa3NwalNJazBpRC8wN0tmNFIrRm5WQkRVVHNoWkdwV1VFSmFhaVdGZ1psVUZtWG1JZTNITlh0aHllYmVaNzdQOUgxM2ZmQkc4WThIN3V0N3ZmZjkzTi83ZnU0dkdHUGlGWmllei9RdHc5bHl0SmFqZnpmdzl6L2orZWZQT3Y3Y1Y4VytsVU5ZMmE4VC9heVRDUnNXRkxKQTVydFVPMUxMa1Y1cDlMSmVKaXpRaUhlcW5sT3RtVkZ0ZFRHcnJaa0pDeFlYc1RnYUk2cjlNWTQvVXBOSXRXNG1GRGFYc1RsYU02cVZabEJxM1V3b2ZGckpwMEhNV0o5RHZYVXpvYkN6bkoxQnpGaldsVExyWmtKaC9URFdCekZqVGdvNTFzMkVnbktJMFJyeCtGaU9Xek56VmF5bTkxU3l4NXFac0dCV2IyWkZhMFpONmRiTWhBV1RjcGtVclJtWEQySzVOVE5oZ1ZiSDBacHhibC9tV2pNVEZ2UklvMGUwWnB6Y25jbld6SVNLdHZtaU1XTlJKNHFzbHdtVlhSWHNhczJJeDhad3pGcVpzR0ZSRVl0YU0rT2FhMWxqclV6WWtKOUcvb2s2VGx6S2pKV1pWRm9yMHk3YzFadTdXakxpcWlHc3NrYW1YZEhvcHlUNHZBTG16UzlrL3QxOXVIdEtIbE9TSU1uNnhBdEFSaklaMXNGY1VTWjBZNExhK0c2TTE4aFMySWxDbjRhK1dvQzBKTkwwZC9kVXVwZG5VajQwZzZFSjJWRWRNbmhyT0cvcDVmL2pVWHo4U2dtdmFHVTZLcE5STnNMVlFWME9kWGYyNHM2M2gvUDJnV29PckJqTUNyMkdKRlFubnhuSU0zcTVQMVBQbWFZdis0ZXY0L0M2VXRicFYyZ3pYQ2tnTDVXOEJ3dDQ4T0ljNnVsNlRwK3M0K1N5QVN4TGlJNCtQWUNuMWJIekRaeHZhUVc2dlp6dG83TVluUUlwTmtmN2twNUV1b3pZVXJvcUVqY05LSEhkMFRsOW1CUE4xcGsraEZlaWVHQm5CdG9nN1VYanNqOXBXZyttNmR1ZWN3MmNheTFPQy91eE1DNDdLbVA5T0lZZm96MVlvQzIwSi9yelJHNHF1VFpLMkVBeUpHczIwcXdVYll3MGFOUm1VeHR2ZlVXL3VFdE56YzFOQjEvWDhMVnlkMTVoaDgyRjQzQXZEK1ZsWGNzU0pFWmExQ1EzZWpsZUFPN294UjNSRFAwWE45MVg0K05YWWI4bmt2N1VOVHdWN2UwWVRkdTdJM2czM3Q3dHVhRWJOd1NacHBzMmZTeXZzNE0yVGpob3QramIwWHpibHRqOHI1ai94VnQvNloxT2I5M1UxWllPNjkxRWhoemNoY0hlWG9zVmpjTlp5c3llekx3NHhSWnQwNVIrZlRldWo4dk9qK3pLeUcwajJhWmNWVnM2ditRYWxuanJNRlpBU1FZbDJuQm9TeXowNmUzai9YazhyZ1dZbU12RUlDdTJwbTFIT1R1Yzdva1Y4RmdSajBYdWt3emFuaHZDYy9GKzcyVGpvUWpkT2JOMU9GdURMbWgweFArV0h0eGlJMTB1a0psQ3ByYjRndWl2MWZQK2F2WnJTMUM3TkFrbGlIWmpEdFp3TU1ncWJ1a0FsdHBNbHd1TXkyRmNFQlBxdmZMTGFyNVVxaTBoQmRFd3J5eStNdjVuNnprYmpUQmErZGxNbHd2VVpGRVRaS0dpRk03dHZiaGRKM2dTVlJPMHd6SWpueG12bC9KNmE2SnNHTVlHcmFodHBzc0ZlcWJSODQxUzNtaE44ME9qT2FTREVkcWQ2U2phTUtnemd6Uks3cTFpYjNQVDlzWXlObzdKWm95TkZOdlJjVk1abXk3V092SXVyeXYvWnZkbWR0OTArblkwYlJwM0F2Uk9vaEZ3ZHdXN2RURzdSRmxid2xxZHJiT0JZZzAwNU5BUW1aVTBIV3QxclhNQkgxWHcwZFE4cG1xem9hUG1kaHVuN2JIWmpOVmU5cVA5ZUZRZk8xVmtVbUhqaEFWVVoxR3RuS0ZTYmpya3JQZnk0aTRVVzV0LzZaeE01NEowQ3F4RmU4MUtwR3NReUU0aDIzb1lZNHd4eGhoampESEdHR09NTWNZWVk0d3h4aGhqakRIR0dHT01NY1lZWTR3eHhoaGpqREhHR0dPTU1jWVlZNHd4eGhoampMbmErYmRPeStJaUZxdUlwR3ExNlBiNzljTll2M0lJSy9YL3VneCtVaTZUVkt2WVZVOU5jOGdYOG9kOElyL0lOL0tQZkNRL3lWZnlsLzYvcGZKdkxDaGtRZEQ2d3lxbnRxdUNYWXVLV0pTZlJyNkQwZEVBeFYzeGx3L2toeUQra2Qva3UvODhjSG8rMDl0UzNMQnBPMUhIQ1ZVcWNJQTZDcUI0Sys2WDZ4MzVML0pNMmxvWHVybFdtVW1sQTVYb2dPSWNLOC9JZjVIbmNyU1dvN0Y2Y0tJV1BqVC9SWEdPbFdma3Y4aHphV3NONHVhYXlzRTZXSWtPS002eDhvejhGM2t1c1hxbzJ2eEM1anRZaVE0b3pySDBUZVM1cUlaY3JCN3FrcndkQThVNVZwNlIveUxQWlY4VisyTDE0Q2w1VEhHd0VoMVFuR1BsR2ZrdjhseVVsSXpGUTFjTllWVkhyY2paMFZDY0ZlOVkrRWIraXp5M2NlY2xVbDQzYUZONTJEWFhzc1lwblk2YTRxRlM4WmNQMnVJZitlN2luUmg2cGRGcmRUR3JtOHVpSHgvTDhUMlY3TkdXenZKQkxKL2JsN21UdXpPNXFCTkZEb2lKSUQvSUYvS0hmQ0sveURmeVQzTzdkL0tiZk5mUzgwaE5JclUwZzlMNkhPcTF4NWlUUW82Rk5wZUxmQ1EveVZmeWwzeG1YWXd4eGhoampESEdHR09NTWNZWVk0d3h4aGhqakRIR0dHT01NY1lZWTR3eHhoaGpqREhHR0dPTU1jWVlZNHd4eGhoampESE5rOXo0SndKMFNxS1RkUWtieUV3aFUzOTNUNlY3enpSNnBpZVIzdEUxSVRlVlhJbWhlNkJYREdaRmRSYlZlYW5rMlRCaGNhRU1yMHJ3Yml4ajQ5SUJMTDIvTC9mZm1NdU5IZnFPOXRGWmpKWUJkMWV3TzNMeCtJY1ZmS2hxbmE1bkhaWVI2WEZQSCs1UjNlZUk1dDlmeC9mdmplQzlKZGV3NU9LWktxRlIvUkRWS0w2dkwvZjlQSmFmbXl2SHNMK2EvZmYyNFY2Tm1qWlFiR2NoVmJZNlVNMkJsdXFIdjFyQ3F6VloxS1Fsa1pib2VwQ2RRdmFjUHN6NWJqVGZYYW8reU1FYUR0N1drOXRTSU1WR2lnM1RlakN0SlNNMmJTcGtQaldQcWQxUzZaYW8rbE9SU1lXbWdrT2pPUlJOd1pxZDVlek1TaUhMUm9vTnI1WHdXalM2LzFYSFg5dkwyVDY3TjdNMWl5WGE5SkNyWWpWclMxZ2JwSnl3NmhCZnNtaU5DWVQwUDkvQStXajEvNnFHcjVZTllGbEpCaVdKb2dFemV6THovWkc4LzlzNGZndFN5dXZOWWJ5cDFJT05GQnR1N3NITnY0L2o5eUF4VUhXcmRhV3NHOStOOFhIZCtZeGtNcFN5K2F5U3o4NDFjQzVvWGJtSENubkk3NHl4QWdaM1liRGVCNFBFUUNPcEJwRk5aV3dhMlpXUmNkbnhMc2wwMGNydFJCMG4ybExnOEpOUmZES29NNE5zb2xnQlNtdy9VTUFEYmExK3FwbXFmeWY2eDF1LzBhL29nM0krYUV1blA2L2k4Nm9zcW15Z2NHYXJGNHA1NGRleC9CbzBMcWZxT2ZWd0lRL0hXNS9SU2t3VjFvTjJXTGxIVGM4MlRsakF3TTRNMU81TFd3WUtaVGppYllYTlMwTjVLY2pLVGUxMFBhZGZMT2JGdUp3SzRvenArVXpYREJUVWpMK001WmNCblJrUVY1M2RNSXdOUVR1NmJTVGJWRXpiaTVhd3VWQnlkMkUvRmdhTjBUYzFmS096QkhIVjJhQWRWU2R2NnM1Tk5rcDdjU0gvKyt4QW5nMnl5SHgrQ00vSDIxWWhmZFBwKzBVMVgwVGJTWm5YeDhmYUc5QW9wME1TMGNUb2gxcCtpTGNwT2tMajl0L0pPazVlcW9QSHhuRHN5ZjQ4NmFuNXlxQ0RLN1haMU80b1o0ZFd5eTNGU1hIVUFZcTQ3dXlZYk1ab0dtaHBHM0RsRUZiNnVOaVZCaHB5YUhobkJPOG9KbWZxT1JPSmp6SWlQNDNoSjhVeElUcXFYNTZTMkh1cjJLc09ucTNuckU2UFBOS1BSd3JTS2JBWnJqVFFOWm11RTdveFlYTVpteFdidzlkeFdGdTRXNGV6VmVkT0U2cXpJN295WWtZK003VFBlV3NQYmsyVVgxcWlvU04rRTNPWnFPUjJjUmVLRStxUVJGTjBQaTd5NzNnL1Vhd1UxS3plekpwWHdMejVoY3pYMXVlVVBLWWtOYjZHSlFaK2o3L2FBZlJaUkVzditxdUdzTW9hbVhaQlcyR3Q1ZVUwYWxvckV6WXNLbUpSYS9tNE5kZXl4bHFac0NHYTg0REtuVm9yRXpib0M3cG9kaXM2OURmSUptd3VmSE1jN2ZhbXZ2bXhaaVlzS090S1diUm0xT2NXMXN5RUJib1NKRm96TGgvRWNtdG13Z0lsdWFNMTQvcGhyTGRtSml4WVhNVGlhTTI0cDVJOTFzeUVCVHBoRk9SN1kydG13Z0pOdlVGT3IrdG92M1V6b2FBdjQ0S1lVYXR2NjJaQ29lbWRodEcwK2h6cXJac0pCUjA4RFdMRzBneEtyWnU1MHF2cHhvczNVNU5JdFc0bUZQcDFvdCtsUGxwcTJsWVhzOXFhbVZCWlVNaUMxb3g0cEpZanZsZlN0QXU2R21UTGNMYm9NdFBJVjQvNmltNWZGZnVVaTlRSWFwMk1pV1ArRDk2UjF2UG1zRC9mQUFBQUFFbEZUa1N1UW1DQ1wiO1xuXG5sZXQgU1BJTkVfTE9HT19EQVRBID0gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUtVQUFBQnNDQVlBQUFBTHpIS21BQUFRN2tsRVFWUjQydTNkYTR4ZFZSVUE0RDB6ZDJZNm5aWTU5RFZ0WjFwdVM5K2x6QzBZQWkyVVE4QUFRY3pGcFBnQTlWSWVJUWJpclJxSjBjQlVCVkdqRHIvUUNLU05SU01tcHVPRHhBZHhxaGd3eGtoRmpmNlN4aC8rVVVOVk5HSkN6Ujd1VHZhczdMWFgycTl6enAzZW02eTBnVE4zWnU3NXV0WmU1K3l6dHhDOVYrL1ZlNVg5RW4xVmpkN0o2U0ZiTE5GN25hUHcrbDJqaDdZSE1CV3NzcU1IdGxzUmRpbTRxc0x0SWF3YVBpSEVRT0xvTnJBOWlJa1FEblJyVkExcUQyTFo4SVNveFlxS28xM3NRQXRCV0JheVFXWlVBWEdSUU05SmpDbmdEVlkwVXFKTkRiUXJNY2FHbUFyZFVLcElqYllpUUxzQ1pDeUlNUUJ5OFF3bmlsUjRRNUF1Q3B4Rll2UkZtQkxiRWl3S3dwc1NhV3ljVlFHWkJLTXJ3QmpBOUJoeERlNTd1MkwyaE9vS05DYk9yZ0FaaXRFVllVeG9LU01FclF2U3hZSXpDa2d1Umc1RUY0QVVocVVsaHkvWVVLU3hjUmFLc2lvWU9RaEQ0STB5WXhrUjNQY0pCY3VGeXNtZ3NYQVdCVE1KeUJDTUlRaDlrR0d4WElYdmV4Q1FYYkhHQU1yQldUYk0yQ0NwTVNNTEl4ZWhDNzdsU0p3WEd0aDdNMEZ6b1ZKSVhYRFdRbkdtaE9rTDBpYzdZaGh0V2RHR2tBdVBBalVXR29GNGZhQ213QmtiWm15VXFVQ3lNcU1MUkE0K0U2SXNkVGppZFVIS0JZcmg5Q25wUmNIMHlwS3hzeU9HRVlOSUllVENPejkxT0lKMVFZb0I1ZUFNeVpvK01GTm55VlRaMFlpUkM5RUdFTU95QWdzaHhFckhzTDJYSzFnT1Vnd29odE0xYTVZTk03UnN1NEswWmtjYlJtNG1wUEJSd0ZaNWhnOWVDcWtyVUIrY3NXR0dvZ3pOa3FFZ3JkblJocEdMa0lOdWRhTGd3dlZCNm9xekNqQ1RaRWxiMlk0QjBnVWpCdEVHMEFSbkRSTGpqb0c5RHdjc2h0UUdsSVBUbGpWandVeVNMV05reVJDUVZIYTBaVVVUUkF3Z0Y5MWEzM0JFeTBWS0FjVnd3cXdaQzJicWJPbFV1cmxsT3hRa0p6TnlJTm9BWXFqV2hZWWpXZzVTQ2lpRzA1UTFVOEZNalRJb1M4WUU2WU9SaTFCSHRKNEtJY1FFRXRUWFVXQXhwSzQ0WVZsUEJkTzFqQ2RGV1RaSUU4YlZHRVlNSVJQY1pHQnc0SEtRY29CaU9FMVpNemJNZ1ZRd1U2Sk1BZEtFRWN1SUpvZ1V2ZzFZQ0NFMmdzQ080MkRsSUlWQUtad3BZSmFTTFZOblNVNlhqWUhVbXhoVG1YYUZhTU8zRVlrTHFNQytGc0xsSW9WQUtaek1yRW5CaEplTGZMTmxLTXJZV1JJRENiT2tGU1NWSGJITTZBS1JDNi9PRFVld05xUStPTGxaa3hwalVtVjhNQmJNVUpTeHl6WTNRMUlnVFJneGlCUkNIZGVtMEtEQVVrQmg5c1J3d2pFbkFYTU1nVG5LaEZsVXRpd2tTNXJHa2E0ZzlTYUdneEZtUkM3QXpUQ0VFQmN5QTM2ZERTc1hxQXRPTGt5c2pHTXdZNVh4VkNoalowa3VTQ283WWxrUlFzUVFZdERFRnNlZ3NMb0N4VXA3S3BncHMyVXNsRkd6SkdjY1NZSFVteGhPWnF3ekVacUFiZlVNQ2lzSEtJWnpnc0NwbDNNVHpNd1RwaTFiWXAyNDc3Z3lGS1V4UzdxV2JkalkyRUJTMmRHRTBRUVJBN2dOQ3lIRWRoakU4UmhVRGxCVDl0emdtaldaTUZObFN5K1VyazFPekN5SmxXMFhrSzRZT1FoMWNEdGNnd0JyUW1vRFdrZGdib0JaRThtWXNKU0hsbkZiSis1YndtT1BKN2xaa2lyYkM4YVJzTXZtZ3RUSGpCaEdFMFFid0oyZWdVRTFJVFZsVUM1T21EVmRZTnJLdU43MHhNNldvU2hqbFc0NDY0ZGJ0aUZJV0s2eDdHakVTRUhVVWUwaVluY25iTWRRU0UwWjFJVFROT2IwaFJtampMdG1TOWRtSjJycDFqdHVLa3R5eXJiNllMRU1DVUhxMmRHRzBRUVJRN2Y3Mmt6YytjSmVjZXJuZThXdnY3Sk5QSFB2ZW5Fa3o4U2gzVXRGYzkyUXlHdDlZa28vSGdPTEFJVVpsSXRUejVvdU1GM0t1RSsyakZMQ1ExRDZsbTZmTE1rQmFjdU9Kb3dZUkJVWHlmanVIakYzTmhkbnNmanZBZkg2RTl2RnQ5WHhLZ2lrRUtnSlp5eVlhbHpPTGVNdTJiTGJVTEk2YmgrUUd3bVErcmdSbHVtZEdFUUFhbytLNTZiRUwyd29WVXdPaWV2MHI4T0FVamlKck1tRkNidnlrR3haUkFtUGl0SzFkSE03Ym9oeU1zdXlpL0k4ZjArZTU3ZkpZSUtFWlhwWG85RTRtT2Y1WFRLeUxMdkNCTEVURjh1WTJTS2Vwa0MrZHBYNFQwMkl2ZXByNEh2WmNPWjVmbWVlNTRmeVBMK0RtVFVoekFzNm40bjhiTjVkcjlmM1lka1NnOG5zeEcwbFBCVktWcE5qRzAvYUdoemZMRG1SWmRudW1abVpwOCtjK2NkWlBWNTU1ZlNyN1hiN3MwakozaTVQY3VlNE14S2tQUGt2dlhUcXovQjkydTMybDB3WU96RzFma2hjZC9weThSY2J5cS92Rk0vS1kxV0E5NWgvM3p6UDcxYmZVNkpzTnBzZmdqK1AvRmxicmRhREdFeFl5dVh2THo4SCtEdWRPREg3MDBhamNTTTNXNll1NGFsUTFzcENPVGQzOGpjS29jVFpiaDkrOU5peFk5OVhKOEFFVWtjcG85VzY0eUgxOTdtNWs3K2JuWjE5UVQrSjA5TkhudFFod2ppL0pnNThxaTYrK29mTHhKOGdTRm5lVncyS2E0UVFEZmgxT2s0ZFphdlZtdFovbnJtNWs3L1ZmNTVPMXRSaGJvVXc1K1pPdnF5T2w1K1IvRnlPSGozMlBZVlUvdGxvTkc1SVhjS3JoSkl6bmd3cDNmTmpvbWF6ZWEvNjRCdU54dHM2NDZmNTBsV3YxNjl1dHc5L0RtdHFkSlF5WkZhU0pWdVY2bnE5ZnFNRW9mNS92VjYvQ1lCcWdKRGxlZSt5QWJGLys0aTRaV3FaZU5mYUlmSFd6bitIeDBLY0V1VTkrczhqdjNlajBiaFZsWE9aeWRYL2swaVJNZWI4UDBENWU2dGo4enkvWGI5VUpJYzU2aC95cVZPblh1bDhsbXVaMmJKc2xLbWJIRzdYcmJwQ21DWEZSTHZkZnFRRDZqVFMzSml5NUk0T3lrTTZBRFYrMUV1MURtVjZldm9wQk9SZXh6RGkxTCtYL0huR3hzYjJ3M0htOVBTUko5UXhXUE9UWmRtbEtodDJoaSt3NmRrb3g1YnFmZkk4ZnllM2hEdGVHcUthSFZzSFhpaEtsMHRCK2gwY1krbHV0ZTU0QUdSS0RDVzg5TE5UUnluSGI3Q2hVV1ZWamV0T25KaDlFWUJVeVBaZU5Db090c2JGUXdkWGk0L2VzRUxjZCt0cThjQ0hKOFVYcCt2aXk5ZWZMejdBZ2FtamxLWGMxQUExbTgzRG9JUkRsRnViemViOTZoaFpMVlRsZ0oyNGd0dHV0eCtPTmE1MGJIWktSZW5hZVRzMU9mcEFmbnI2eU9PZEU3RVpkTndtbEtvY250WExOa0E1SlRHcTQ3RHMrTGY5NGxXc3lmblhsZUxmbkl3SlVONERPbk5Zd3VVeGgyQTNMbjlYVUxyZks4dDNKMjdUdTNCVndpT2pYSnFvQXk4VVplajF5Y2xHbzNHVExOK2d1M3crei9QM1lhV2JRcWszTmUxMmU0WkMrYzhyeFdzWXl0Y1BpUDlScFp4Q3FXREtueE9pQk5seUFVcE9uR3NvaDR0QTJSbThYOXhxdFQ2bWQ1d3labVllKzBZUktMKzFTL3dZUTNuOHpjdEJsNVNCVXY1ZGppdmZqTU9QZHVJemNpemVpWWZyOWZvVnZVd1pHK1hDdXppYlpLblNjZVo1L3Y0UWxLcDh5N0VsaG5KbFRlVFA3Qkkva2xsUllmenJmdkhxRnk0VVgxdmFML2FWbFNtUk96d2J3ZFMyOVQyVWNFd1pGK1Y4b3pNMmx1MVZZODEydS8xNWFreXBHaDNUbUZKZXNKYkhIRDE2N0lkVXh6M1lKeTViTnlTdVgxbWJ2eTU1Q2JNTHR6VTZ0akdsc2RGcHRWcWZVTWMwR28yM0Y0d3kxbDJkU25iZnZwTXdWUGU5V1dWTERzck9KYUY5TUZ1MldxMVBxbU5rR2NlNjd4aVhoVGpkTndkbHZWNi9CZ3hmYlBmQmZWQ2V0eGk2YjkvcmxDdXA2NVF6TTQ4ZGwyT2pMTXYyNkNpYnplWjk2c1RJekVGZHB3UVh6OVUxeXJ0VmxwUi9abGwyRmVjNjVZNmw0cGJieDhYSEg5a2tudnpKbFBqbEh5OFRwMjllS1Q1b3UwYUpvSVQzdzNkQmxMRHpWcGZBSkVaMVhPZGFKWnhuT1NsdlBNalB6eEZsakl2bmc5MTRSd2Vic2pZTzd1aE15SHU0NnNPZm5mM096MlRYRFc2dnZZeGRGb0lYejNXYzhKNXpzOW44aU9uMklyeFRjMkJNM0dscWRwN2RJNTUzdWFPanhyaHdjb2IrTXl1VXBqczZXWlpkb244T2NpZ2pQeDhWK3UrR1RXRlRTV0V4M1dZY2RKMjI1ak5EU0U0cTBHSEN6bHVlSE95dWpuNmJVV1lnZWI5WlpVYVFQZStHelErR2M4K29PR2hDK2MxZDRnZkkxNm4zWERBaFE3KzlxRTlsMDFFMkdvMTMyR1lLeVhFMU5pRkRUY3BvTnB2M0xPWUpHV1hORXJKTlc5c0VwNjNwMlJLaVZQTW4xYlMxRGd4c3lob0dkR3BtaXpqK3h0WGlEWW54Ny92Rm1jZTNpV2RXMWNUVkdFWTRoUTJaVzBuTnE4UW0vTTZYYlhtM1MxMDBsd0dlZEZ5YnV2Tk9pYkxJK1pTMmNlVTRlQXhpRXV2Q2tmbVU4eWNUb0R4RVRlNkZnQ0JRSGVxeUFiRnZmRWhjTzdCd0R1WEZDRWJUWkY4NDBYZUhLMGpZY2JzMk9JR2xlMG1WSi9tbW5DbEVQUXF4eVRZNUk4L3pGaGlmN2ZTWmVlNGJuclBPVTRBc3NuUlhIYVZUQ1RkMTRkUkRZM1ViVElpU2VGaHNOL2FNamducXRoRng4ODByeFgzeUFUTDVwM3k0TFBYek9hQmtVeUJqWk1sWXBidFFsSU9CRDQ3NVpFdXNqTU5TdmtYZTZWRW9KVkRrZVoyZHpJZklGc1J6VStKRjJPeU05TTlmVEMvNlNVWU95RlFQalEybldpVWp4blBmdzVFZUhxTVdJcUFlSUZzQVU4NDdsSk0ySk02eHNld3QxT0lETHM5OVA3WkZITmRCL3VwUzhYdFBpRDdQZkx1Q1hKTm9sWXl5RmlOSS9aaXQ2NUl0ck9WYWZGYkhjRm9oWTdoUFROMjFUano0dWMzaXFmc254S2RYMU1UbDFPb1lSRmFNc1RvR0I2VHJ3MkpGUC9PZFpDMmhKWjdaa3JNb0FiYlNHbWVsREo5MWhGS3VKZVM3amxCTWtKbnJBcXFKbGdNVVpTL2RBclBsR0hOZFNnNU0zeFhYdHZxdXVFYXR2SVl0RFJocHhiVUp1SWdxc1U1bEdXdFVwbG9LMEt1RVU5bVNXOFlwbUZRNTU2eE51WVc3TmlXMTNCK0ZrTWlLSEl5K0M2ZUdnQnhKdk1SMG9TdjVoaTYrejRISnlab1UwTTJSVnZEbHJPUWJjeFZmWDVBaFpidXF5MHY3WnN0WU1MSGxBVmxMVEY5QUxMYnZ1OVk1WnlscG4vWE9zZDBpYkl2eHIyS0NMSHBwNlNDVUlkblNaU0YrV3pmT2hlbTZHRCsxS3dSM1o0ak5qcnREcE5vWndtV2Q4eXJ1cFpONkh4M2ZiTW1GU2UwU3dkcTJaSVBqeGsxMTEyRHVvOE9CR0xyQmt3L0lvbmNkSzJYSHNkQzlkSHoyMDRtNTB4aDN0ekZxMXpGcXR6SFhyZkN3N09nRHNxeU5uWkxzelZpanNtWGdybU5jbUd0Uzc4bElvTVgyYUp6MDNmS08yc0RKZGRQUVNDRFBpUTFEZldCeWNZNlh0WHN0YzJQUUt1eGdHMk1jbVhUUGI5Lzl2bXVKWVhLeUpyV2piZWcrM3hQTTRPNzNuV3F2Ynl3N3hnWlpTSmJFVUJhMTU3Y05KamRyMnZiKzVpQTFZVjNIeFlzY2ozMFBEQ0VISWdjanRmbThLOGhTc21Sb3Rrd0ZrNXMxVFRnaFVBb3BCNnhyakhNQkJrSTBZWVRaMGRabHh3THBraVdEVUxwbXk1Z3dxYXlaZ1pOa0E3b0tRUUN4Y3RCeVlnMFhJSUVRUXVSaXRHVkhibE1UQTJTaEtHUERwQzZ3dStERWdKcWcyckRHREJ0QUY0UTZSQW9qcDF4WEdtU01iSW1WY1IrWVdOWTA0ZVFDdFVHMW9mVUoyL3V2Y0VUSWdVaGhkQUU1R0Fsa0tTaGp3SFRObWhoT0RLZ0pxUTJzQzE0dU9neWZEMEliUkYrTWxRYVpBaVpXeW4yeUpzVEpBVHFHbkhRTzJKaGgreGxzQUNGQ0cwUWJSdGR5elFGWkNaU3hZUHBtVFM3UTVjakpIWU5CWUlrWnB1OTlIb1VRL280UUlZU0laVVpmako0Wk1qWkkzMndaQkRNVTV5aHk4cFpUVUxsNFhZUDVmYWdNeUVWb3k0b3VwVHBHZHV3bmtsb1NsS0V3WStBY1FVNE1oUlRENm92WEJSd0Z6d1dnQ1NFRjBRVmpKVUdtZ0VsbFRTNU9MbENJbElOMW1TOW14L2NaNWVMREFMcENUSTJSQWhrVFpRcVlvVGdwb0NQRUNiYUJIUTJFVEwzUFVsOThFQ0FYWWlqRzBPeVlBbVFvVEc3VzVPRGtBRjFDblZnbTJKUXg0b2tQQStnQ01UYkdza0JHZ1JtYU9ibEFoNUdUT1JJcmZLRng0Vkg0RUlBeElYSXhsZzJTQmJNdkVDWTNlN29BcGJEYUlnUXU1LzJIbWVFS0VJTllpd1NSaTdFUWtMRmd1bVpPQ3VnZ2N0S0dJNFVMWk4vdk1lU0xqMEFZTXl0V0VxTUx6Rmc0ZllEYW9LYUM2d3ZPRlI0RmtJUFFGYUlMeHJKQU9zSHNjL3psZllEV1hFOHFGMjJzOFB6NUtIeGNnRVZBTEJ0akpYQlNTRU93RmhrMVpneTRoaXRDVDRoVncrZ0ZzOC96d3hxSUJiVWd5SzdmY3lBMFBEOVhYNGlWeGhpQzB4ZG9mNlNUV0Nzb0JtS0Y3K2NWQ1dGWFFZeUJNeFJwZitTVFgxYjB4NDVBaE4wT01Tck9HRWlyaHJZL2RmUUFkanZTN295K1dDRjZyMVJJRnhYV3ZsVFJnMVlWcUZXQm14WmJEOTlpZzlwdDBZUFF3OXJEMW5zdFZyaTlWKy9WZTNYclMvd2ZpbTRQNWZJRnhMb0FBQUFBU1VWT1JLNUNZSUk9XCI7XG4iXX0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZGluZ1NjcmVlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Mb2FkaW5nU2NyZWVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUUvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYyxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxvQkFBb0IsQ0FBQztBQUUvRCxJQUFJLFlBQThCLENBQUM7QUFDbkMsSUFBSSxTQUEyQixDQUFDO0FBQ2hDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ2hDLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxVQUFVLEdBQUcsR0FBRyxFQUFFLFdBQVcsR0FBRyxHQUFHLENBQUM7QUFFM0QsTUFBTSxPQUFPLGFBQWE7SUFDakIsUUFBUSxDQUFnQjtJQUN4QixJQUFJLEdBQXFCLElBQUksQ0FBQztJQUM5QixPQUFPLEdBQXFCLElBQUksQ0FBQztJQUNqQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNaLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDWCxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUN0QyxlQUFlLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFFaEMsWUFBYSxRQUF1QjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUV6QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEs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QUMsS0FBSyxDQUFDLENBQUM7SUFDOUosQ0FBQztDQUNEO0FBRUQsSUFBSSxZQUFZLEdBQUcsbzBIQUFvMEgsQ0FBQztBQUV4MUgsSUFBSSxlQUFlLEdBQUcsd3ZMQUF3dkwsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHsgQmxlbmRNb2RlLCBDb2xvciwgRGlzcG9zYWJsZSwgVGltZUtlZXBlciB9IGZyb20gXCJAZXNvdGVyaWNzb2Z0d2FyZS9zcGluZS1jb3JlXCI7XG5pbXBvcnQgeyBHTFRleHR1cmUgfSBmcm9tIFwiLi9HTFRleHR1cmUuanNcIjtcbmltcG9ydCB7IFJlc2l6ZU1vZGUsIFNjZW5lUmVuZGVyZXIgfSBmcm9tIFwiLi9TY2VuZVJlbmRlcmVyLmpzXCI7XG5cbmxldCBzcGlubmVySW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQ7XG5sZXQgbG9nb0ltYWdlOiBIVE1MSW1hZ2VFbGVtZW50O1xubGV0IGxvYWRlZCA9IDA7XG5cbmNvbnN0IEZBREVfSU4gPSAxLCBGQURFX09VVCA9IDE7XG5jb25zdCBsb2dvV2lkdGggPSAxNjUsIGxvZ29IZWlnaHQgPSAxMDgsIHNwaW5uZXJTaXplID0gMTYzO1xuXG5leHBvcnQgY2xhc3MgTG9hZGluZ1NjcmVlbiBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuXHRwcml2YXRlIHJlbmRlcmVyOiBTY2VuZVJlbmRlcmVyO1xuXHRwcml2YXRlIGxvZ286IEdMVGV4dHVyZSB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIHNwaW5uZXI6IEdMVGV4dHVyZSB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIGFuZ2xlID0gMDtcblx0cHJpdmF0ZSBmYWRlT3V0ID0gMDtcblx0cHJpdmF0ZSBmYWRlSW4gPSAwO1xuXHRwcml2YXRlIHRpbWVLZWVwZXIgPSBuZXcgVGltZUtlZXBlcigpO1xuXHRiYWNrZ3JvdW5kQ29sb3IgPSBuZXcgQ29sb3IoMC4xMzUsIDAuMTM1LCAwLjEzNSwgMSk7XG5cdHByaXZhdGUgdGVtcENvbG9yID0gbmV3IENvbG9yKCk7XG5cblx0Y29uc3RydWN0b3IgKHJlbmRlcmVyOiBTY2VuZVJlbmRlcmVyKSB7XG5cdFx0dGhpcy5yZW5kZXJlciA9IHJlbmRlcmVyO1xuXG5cdFx0dGhpcy50aW1lS2VlcGVyLm1heERlbHRhID0gOTtcblxuXHRcdGlmICghbG9nb0ltYWdlKSB7XG5cdFx0XHRsZXQgaXNTYWZhcmkgPSBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoXCJTYWZhcmlcIikgPiAtMTsgLy8gVGhhbmsgeW91IEFwcGxlIEluYy5cblx0XHRcdGxldCBvbmxvYWQgPSAoKSA9PiBsb2FkZWQrKztcblxuXHRcdFx0bG9nb0ltYWdlID0gbmV3IEltYWdlKCk7XG5cdFx0XHRsb2dvSW1hZ2Uuc3JjID0gU1BJTkVfTE9HT19EQVRBO1xuXHRcdFx0aWYgKCFpc1NhZmFyaSkgbG9nb0ltYWdlLmNyb3NzT3JpZ2luID0gXCJhbm9ueW1vdXNcIjtcblx0XHRcdGxvZ29JbWFnZS5vbmxvYWQgPSBvbmxvYWQ7XG5cblx0XHRcdHNwaW5uZXJJbWFnZSA9IG5ldyBJbWFnZSgpO1xuXHRcdFx0c3Bpbm5lckltYWdlLnNyYyA9IFNQSU5ORVJfREFUQTtcblx0XHRcdGlmICghaXNTYWZhcmkpIHNwaW5uZXJJbWFnZS5jcm9zc09yaWdpbiA9IFwiYW5vbnltb3VzXCI7XG5cdFx0XHRzcGlubmVySW1hZ2Uub25sb2FkID0gb25sb2FkO1xuXHRcdH1cblx0fVxuXHRkaXNwb3NlICgpOiB2b2lkIHtcblx0XHR0aGlzLmxvZ28/LmRpc3Bvc2UoKTtcblx0XHR0aGlzLnNwaW5uZXI/LmRpc3Bvc2UoKTtcblx0fVxuXG5cdGRyYXcgKGNvbXBsZXRlID0gZmFsc2UpIHtcblx0XHRpZiAobG9hZGVkIDwgMiB8fCAoY29tcGxldGUgJiYgdGhpcy5mYWRlT3V0ID4gRkFERV9PVVQpKSByZXR1cm47XG5cblx0XHR0aGlzLnRpbWVLZWVwZXIudXBkYXRlKCk7XG5cdFx0bGV0IGEgPSBNYXRoLmFicyhNYXRoLnNpbih0aGlzLnRpbWVLZWVwZXIudG90YWxUaW1lICsgMC4yNSkpO1xuXHRcdHRoaXMuYW5nbGUgLT0gdGhpcy50aW1lS2VlcGVyLmRlbHRhICogMjAwICogKDEgKyAxLjUgKiBNYXRoLnBvdyhhLCA1KSk7XG5cblx0XHRsZXQgdGVtcENvbG9yID0gdGhpcy50ZW1wQ29sb3I7XG5cdFx0bGV0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcblx0XHRsZXQgY2FudmFzID0gcmVuZGVyZXIuY2FudmFzO1xuXHRcdGxldCBnbCA9IHJlbmRlcmVyLmNvbnRleHQuZ2w7XG5cblx0XHRyZW5kZXJlci5yZXNpemUoUmVzaXplTW9kZS5FeHBhbmQpO1xuXHRcdHJlbmRlcmVyLmNhbWVyYS5wb3NpdGlvbi5zZXQoY2FudmFzLndpZHRoIC8gMiwgY2FudmFzLmhlaWdodCAvIDIsIDApO1xuXHRcdHJlbmRlcmVyLmJhdGNoZXIuc2V0QmxlbmRNb2RlKEJsZW5kTW9kZS5Ob3JtYWwsIHRydWUpO1xuXG5cdFx0aWYgKGNvbXBsZXRlKSB7XG5cdFx0XHR0aGlzLmZhZGVPdXQgKz0gdGhpcy50aW1lS2VlcGVyLmRlbHRhICogKHRoaXMudGltZUtlZXBlci50b3RhbFRpbWUgPCAxID8gMiA6IDEpO1xuXHRcdFx0aWYgKHRoaXMuZmFkZU91dCA+IEZBREVfT1VUKSByZXR1cm47XG5cdFx0XHR0ZW1wQ29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuYmFja2dyb3VuZENvbG9yKTtcblx0XHRcdGEgPSAxIC0gdGhpcy5mYWRlT3V0IC8gRkFERV9PVVQ7XG5cdFx0XHRhID0gMSAtIChhIC0gMSkgKiAoYSAtIDEpO1xuXHRcdFx0dGVtcENvbG9yLmEgKj0gYTtcblx0XHRcdGlmICh0ZW1wQ29sb3IuYSA+IDApIHtcblx0XHRcdFx0cmVuZGVyZXIuY2FtZXJhLnpvb20gPSAxO1xuXHRcdFx0XHRyZW5kZXJlci5iZWdpbigpO1xuXHRcdFx0XHRyZW5kZXJlci5xdWFkKHRydWUsIDAsIDAsIGNhbnZhcy53aWR0aCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0LCAwLCBjYW52YXMuaGVpZ2h0LFxuXHRcdFx0XHRcdHRlbXBDb2xvciwgdGVtcENvbG9yLCB0ZW1wQ29sb3IsIHRlbXBDb2xvcik7XG5cdFx0XHRcdHJlbmRlcmVyLmVuZCgpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmZhZGVJbiArPSB0aGlzLnRpbWVLZWVwZXIuZGVsdGE7XG5cdFx0XHRpZiAodGhpcy5iYWNrZ3JvdW5kQ29sb3IuYSA+IDApIHtcblx0XHRcdFx0Z2wuY2xlYXJDb2xvcih0aGlzLmJhY2tncm91bmRDb2xvci5yLCB0aGlzLmJhY2tncm91bmRDb2xvci5nLCB0aGlzLmJhY2tncm91bmRDb2xvci5iLCB0aGlzLmJhY2tncm91bmRDb2xvci5hKTtcblx0XHRcdFx0Z2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7XG5cdFx0XHR9XG5cdFx0XHRhID0gMTtcblx0XHR9XG5cdFx0YSAqPSBNYXRoLm1pbih0aGlzLmZhZGVJbiAvIEZBREVfSU4sIDEpO1xuXHRcdHRlbXBDb2xvci5zZXQoYSwgYSwgYSwgYSk7XG5cblx0XHRpZiAoIXRoaXMubG9nbykge1xuXHRcdFx0dGhpcy5sb2dvID0gbmV3IEdMVGV4dHVyZShyZW5kZXJlci5jb250ZXh0LCBsb2dvSW1hZ2UpO1xuXHRcdFx0dGhpcy5zcGlubmVyID0gbmV3IEdMVGV4dHVyZShyZW5kZXJlci5jb250ZXh0LCBzcGlubmVySW1hZ2UpO1xuXHRcdH1cblx0XHRyZW5kZXJlci5jYW1lcmEuem9vbSA9IE1hdGgubWF4KDEsIHNwaW5uZXJTaXplIC8gY2FudmFzLmhlaWdodCk7XG5cdFx0cmVuZGVyZXIuYmVnaW4oKTtcblx0XHRyZW5kZXJlci5kcmF3VGV4dHVyZSh0aGlzLmxvZ28sIChjYW52YXMud2lkdGggLSBsb2dvV2lkdGgpIC8gMiwgKGNhbnZhcy5oZWlnaHQgLSBsb2dvSGVpZ2h0KSAvIDIsIGxvZ29XaWR0aCwgbG9nb0hlaWdodCwgdGVtcENvbG9yKTtcblx0XHRpZiAodGhpcy5zcGlubmVyKSByZW5kZXJlci5kcmF3VGV4dHVyZVJvdGF0ZWQodGhpcy5zcGlubmVyLCAoY2FudmFzLndpZHRoIC0gc3Bpbm5lclNpemUpIC8gMiwgKGNhbnZhcy5oZWlnaHQgLSBzcGlubmVyU2l6ZSkgLyAyLCBzcGlubmVyU2l6ZSwgc3Bpbm5lclNpemUsIHNwaW5uZXJTaXplIC8gMiwgc3Bpbm5lclNpemUgLyAyLCB0aGlzLmFuZ2xlLCB0ZW1wQ29sb3IpO1xuXHRcdHJlbmRlcmVyLmVuZCgpO1xuXHR9XG5cblx0ZHJhd0luQ29vcmRpbmF0ZXMgKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG5cdFx0aWYgKGxvYWRlZCA8IDIpIHJldHVybjtcblxuXHRcdHRoaXMudGltZUtlZXBlci51cGRhdGUoKTtcblx0XHRsZXQgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyO1xuXHRcdHJlbmRlcmVyLmJhdGNoZXIuc2V0QmxlbmRNb2RlKEJsZW5kTW9kZS5Ob3JtYWwsIHRydWUpO1xuXG5cdFx0aWYgKCF0aGlzLmxvZ28pIHtcblx0XHRcdHRoaXMubG9nbyA9IG5ldyBHTFRleHR1cmUocmVuZGVyZXIuY29udGV4dCwgbG9nb0ltYWdlKTtcblx0XHRcdHRoaXMuc3Bpbm5lciA9IG5ldyBHTFRleHR1cmUocmVuZGVyZXIuY29udGV4dCwgc3Bpbm5lckltYWdlKTtcblx0XHR9XG5cblx0XHRjb25zdCBzaGlmdGVkWCA9IHggLSBsb2dvV2lkdGggLyAyO1xuXHRcdGNvbnN0IHNoaWZ0ZWRZID0geSAtIGxvZ29IZWlnaHQgLyAyO1xuXHRcdHJlbmRlcmVyLmRyYXdUZXh0dXJlKHRoaXMubG9nbywgc2hpZnRlZFgsIHNoaWZ0ZWRZLCBsb2dvV2lkdGgsIGxvZ29IZWlnaHQpO1xuXG5cdFx0dGhpcy5hbmdsZSAtPSB0aGlzLnRpbWVLZWVwZXIuZGVsdGEgKiA1MDA7XG5cdFx0aWYgKHRoaXMuc3Bpbm5lcikgcmVuZGVyZXIuZHJhd1RleHR1cmVSb3RhdGVkKHRoaXMuc3Bpbm5lciwgc2hpZnRlZFgsIHNoaWZ0ZWRZIC0gMjUsIHNwaW5uZXJTaXplLCBzcGlubmVyU2l6ZSwgc3Bpbm5lclNpemUgLyAyLCBzcGlubmVyU2l6ZSAvIDIsIHRoaXMuYW5nbGUpO1xuXHR9XG59XG5cbmxldCBTUElOTkVSX0RBVEEgPSBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBS01BQUFDakNBWUFBQURtYks2QUFBQUxLRWxFUVZSNDJ1MmRlMmlXNVIvR1B6dXFjd2ZubktmTm1hZmw1dFROSFd6cU5pM0RFTVF5a2NBb0pTc3lTa3NwalNJazBpRC8wN0tmNFIrRm5WQkRVVHNoWkdwV1VFSmFhaVdGZ1psVUZtWG1JZTNITlh0aHllYmVaNzdQOUgxM2ZmQkc4WThIN3V0N3ZmZjkzTi83ZnU0dkdHUGlGWmllei9RdHc5bHl0SmFqZnpmdzl6L2orZWZQT3Y3Y1Y4VytsVU5ZMmE4VC9heVRDUnNXRkxKQTVydFVPMUxMa1Y1cDlMSmVKaXpRaUhlcW5sT3RtVkZ0ZFRHcnJaa0pDeFlYc1RnYUk2cjlNWTQvVXBOSXRXNG1GRGFYc1RsYU02cVZabEJxM1V3b2ZGckpwMEhNV0o5RHZYVXpvYkN6bkoxQnpGaldsVExyWmtKaC9URFdCekZqVGdvNTFzMkVnbktJMFJyeCtGaU9Xek56VmF5bTkxU3l4NXFac0dCV2IyWkZhMFpONmRiTWhBV1RjcGtVclJtWEQySzVOVE5oZ1ZiSDBacHhibC9tV2pNVEZ2UklvMGUwWnB6Y25jbld6SVNLdHZtaU1XTlJKNHFzbHdtVlhSWHNhczJJeDhad3pGcVpzR0ZSRVl0YU0rT2FhMWxqclV6WWtKOUcvb2s2VGx6S2pKV1pWRm9yMHk3YzFadTdXakxpcWlHc3NrYW1YZEhvcHlUNHZBTG16UzlrL3QxOXVIdEtIbE9TSU1uNnhBdEFSaklaMXNGY1VTWjBZNExhK0c2TTE4aFMySWxDbjRhK1dvQzBKTkwwZC9kVXVwZG5VajQwZzZFSjJWRWRNbmhyT0cvcDVmL2pVWHo4U2dtdmFHVTZLcE5STnNMVlFWME9kWGYyNHM2M2gvUDJnV29PckJqTUNyMkdKRlFubnhuSU0zcTVQMVBQbWFZdis0ZXY0L0M2VXRicFYyZ3pYQ2tnTDVXOEJ3dDQ4T0ljNnVsNlRwK3M0K1N5QVN4TGlJNCtQWUNuMWJIekRaeHZhUVc2dlp6dG83TVluUUlwTmtmN2twNUV1b3pZVXJvcUVqY05LSEhkMFRsOW1CUE4xcGsraEZlaWVHQm5CdG9nN1VYanNqOXBXZyttNmR1ZWN3MmNheTFPQy91eE1DNDdLbVA5T0lZZm96MVlvQzIwSi9yelJHNHF1VFpLMkVBeUpHczIwcXdVYll3MGFOUm1VeHR2ZlVXL3VFdE56YzFOQjEvWDhMVnlkMTVoaDgyRjQzQXZEK1ZsWGNzU0pFWmExQ1EzZWpsZUFPN294UjNSRFAwWE45MVg0K05YWWI4bmt2N1VOVHdWN2UwWVRkdTdJM2czM3Q3dHVhRWJOd1NacHBzMmZTeXZzNE0yVGpob3QramIwWHpibHRqOHI1ai94VnQvNloxT2I5M1UxWllPNjkxRWhoemNoY0hlWG9zVmpjTlp5c3llekx3NHhSWnQwNVIrZlRldWo4dk9qK3pLeUcwajJhWmNWVnM2ditRYWxuanJNRlpBU1FZbDJuQm9TeXowNmUzai9YazhyZ1dZbU12RUlDdTJwbTFIT1R1Yzdva1Y4RmdSajBYdWt3emFuaHZDYy9GKzcyVGpvUWpkT2JOMU9GdURMbWgweFArV0h0eGlJMTB1a0psQ3ByYjRndWl2MWZQK2F2WnJTMUM3TkFrbGlIWmpEdFp3TU1ncWJ1a0FsdHBNbHd1TXkyRmNFQlBxdmZMTGFyNVVxaTBoQmRFd3J5eStNdjVuNnprYmpUQmErZGxNbHd2VVpGRVRaS0dpRk03dHZiaGRKM2dTVlJPMHd6SWpueG12bC9KNmE2SnNHTVlHcmFodHBzc0ZlcWJSODQxUzNtaE44ME9qT2FTREVkcWQ2U2phTUtnemd6Uks3cTFpYjNQVDlzWXlObzdKWm95TkZOdlJjVk1abXk3V092SXVyeXYvWnZkbWR0OTArblkwYlJwM0F2Uk9vaEZ3ZHdXN2RURzdSRmxid2xxZHJiT0JZZzAwNU5BUW1aVTBIV3QxclhNQkgxWHcwZFE4cG1xem9hUG1kaHVuN2JIWmpOVmU5cVA5ZUZRZk8xVmtVbUhqaEFWVVoxR3RuS0ZTYmpya3JQZnk0aTRVVzV0LzZaeE01NEowQ3F4RmU4MUtwR3NReUU0aDIzb1lZNHd4eGhoampESEdHR09NTWNZWVk0d3h4aGhqakRIR0dHT01NY1lZWTR3eHhoaGpqREhHR0dPTU1jWVlZNHd4eGhoampMbmErYmRPeStJaUZxdUlwR3ExNlBiNzljTll2M0lJSy9YL3VneCtVaTZUVkt2WVZVOU5jOGdYOG9kOElyL0lOL0tQZkNRL3lWZnlsLzYvcGZKdkxDaGtRZEQ2d3lxbnRxdUNYWXVLV0pTZlJyNkQwZEVBeFYzeGx3L2toeUQra2Qva3UvODhjSG8rMDl0UzNMQnBPMUhIQ1ZVcWNJQTZDcUI0Sys2WDZ4MzVML0pNMmxvWHVybFdtVW1sQTVYb2dPSWNLOC9JZjVIbmNyU1dvN0Y2Y0tJV1BqVC9SWEdPbFdma3Y4aHphV3NONHVhYXlzRTZXSWtPS002eDhvejhGM2t1c1hxbzJ2eEM1anRZaVE0b3pySDBUZVM1cUlaY3JCN3FrcndkQThVNVZwNlIveUxQWlY4VisyTDE0Q2w1VEhHd0VoMVFuR1BsR2ZrdjhseVVsSXpGUTFjTllWVkhyY2paMFZDY0ZlOVkrRWIraXp5M2NlY2xVbDQzYUZONTJEWFhzc1lwblk2YTRxRlM4WmNQMnVJZitlN2luUmg2cGRGcmRUR3JtOHVpSHgvTDhUMlY3TkdXenZKQkxKL2JsN21UdXpPNXFCTkZEb2lKSUQvSUYvS0hmQ0sveURmeVQzTzdkL0tiZk5mUzgwaE5JclUwZzlMNkhPcTF4NWlUUW82Rk5wZUxmQ1EveVZmeWwzeG1YWXd4eGhoampESEdHR09NTWNZWVk0d3h4aGhqakRIR0dHT01NY1lZWTR3eHhoaGpqREhHR0dPTU1jWVlZNHd4eGhoampESE5rOXo0SndKMFNxS1RkUWtieUV3aFUzOTNUNlY3enpSNnBpZVIzdEUxSVRlVlhJbWhlNkJYREdaRmRSYlZlYW5rMlRCaGNhRU1yMHJ3Yml4ajQ5SUJMTDIvTC9mZm1NdU5IZnFPOXRGWmpKWUJkMWV3TzNMeCtJY1ZmS2hxbmE1bkhaWVI2WEZQSCs1UjNlZUk1dDlmeC9mdmplQzlKZGV3NU9LWktxRlIvUkRWS0w2dkwvZjlQSmFmbXl2SHNMK2EvZmYyNFY2Tm1qWlFiR2NoVmJZNlVNMkJsdXFIdjFyQ3F6VloxS1Fsa1pib2VwQ2RRdmFjUHN6NWJqVGZYYW8reU1FYUR0N1drOXRTSU1WR2lnM1RlakN0SlNNMmJTcGtQaldQcWQxUzZaYW8rbE9SU1lXbWdrT2pPUlJOd1pxZDVlek1TaUhMUm9vTnI1WHdXalM2LzFYSFg5dkwyVDY3TjdNMWl5WGE5SkNyWWpWclMxZ2JwSnl3NmhCZnNtaU5DWVQwUDkvQStXajEvNnFHcjVZTllGbEpCaVdKb2dFemV6THovWkc4LzlzNGZndFN5dXZOWWJ5cDFJT05GQnR1N3NITnY0L2o5eUF4VUhXcmRhV3NHOStOOFhIZCtZeGtNcFN5K2F5U3o4NDFjQzVvWGJtSENubkk3NHl4QWdaM1liRGVCNFBFUUNPcEJwRk5aV3dhMlpXUmNkbnhMc2wwMGNydFJCMG4ybExnOEpOUmZES29NNE5zb2xnQlNtdy9VTUFEYmExK3FwbXFmeWY2eDF1LzBhL29nM0krYUV1blA2L2k4Nm9zcW15Z2NHYXJGNHA1NGRleC9CbzBMcWZxT2ZWd0lRL0hXNS9SU2t3VjFvTjJXTGxIVGM4MlRsakF3TTRNMU81TFd3WUtaVGppYllYTlMwTjVLY2pLVGUxMFBhZGZMT2JGdUp3SzRvenArVXpYREJUVWpMK001WmNCblJrUVY1M2RNSXdOUVR1NmJTVGJWRXpiaTVhd3VWQnlkMkUvRmdhTjBUYzFmS096QkhIVjJhQWRWU2R2NnM1Tk5rcDdjU0gvKyt4QW5nMnl5SHgrQ00vSDIxWWhmZFBwKzBVMVgwVGJTWm5YeDhmYUc5QW9wME1TMGNUb2gxcCtpTGNwT2tMajl0L0pPazVlcW9QSHhuRHN5ZjQ4NmFuNXlxQ0RLN1haMU80b1o0ZFd5eTNGU1hIVUFZcTQ3dXlZYk1ab0dtaHBHM0RsRUZiNnVOaVZCaHB5YUhobkJPOG9KbWZxT1JPSmp6SWlQNDNoSjhVeElUcXFYNTZTMkh1cjJLc09ucTNuckU2UFBOS1BSd3JTS2JBWnJqVFFOWm11RTdveFlYTVpteFdidzlkeFdGdTRXNGV6VmVkT0U2cXpJN295WWtZK003VFBlV3NQYmsyVVgxcWlvU04rRTNPWnFPUjJjUmVLRStxUVJGTjBQaTd5NzNnL1Vhd1UxS3plekpwWHdMejVoY3pYMXVlVVBLWWtOYjZHSlFaK2o3L2FBZlJaUkVzditxdUdzTW9hbVhaQlcyR3Q1ZVUwYWxvckV6WXNLbUpSYS9tNE5kZXl4bHFac0NHYTg0REtuVm9yRXpib0M3cG9kaXM2OURmSUptd3VmSE1jN2ZhbXZ2bXhaaVlzS090S1diUm0xT2NXMXN5RUJib1NKRm96TGgvRWNtdG13Z0lsdWFNMTQvcGhyTGRtSml4WVhNVGlhTTI0cDVJOTFzeUVCVHBoRk9SN1kydG13Z0pOdlVGT3IrdG92M1V6b2FBdjQ0S1lVYXR2NjJaQ29lbWRodEcwK2h6cXJac0pCUjA4RFdMRzBneEtyWnU1MHF2cHhvczNVNU5JdFc0bUZQcDFvdCtsUGxwcTJsWVhzOXFhbVZCWlVNaUMxb3g0cEpZanZsZlN0QXU2R21UTGNMYm9NdFBJVjQvNmltNWZGZnVVaTlRSWFwMk1pV1ArRDk2UjF2UG1zRC9mQUFBQUFFbEZUa1N1UW1DQ1wiO1xuXG5sZXQgU1BJTkVfTE9HT19EQVRBID0gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUtVQUFBQnNDQVlBQUFBTHpIS21BQUFRN2tsRVFWUjQydTNkYTR4ZFZSVUE0RDB6ZDJZNm5aWTU5RFZ0WjFwdVM5K2x6QzBZQWkyVVE4QUFRY3pGcFBnQTlWSWVJUWJpclJxSjBjQlVCVkdqRHIvUUNLU05SU01tcHVPRHhBZHhxaGd3eGtoRmpmNlN4aC8rVVVOVk5HSkN6Ujd1VHZhczdMWFgycTl6enAzZW02eTBnVE4zWnU3NXV0WmU1K3l6dHhDOVYrL1ZlNVg5RW4xVmpkN0o2U0ZiTE5GN25hUHcrbDJqaDdZSE1CV3NzcU1IdGxzUmRpbTRxc0x0SWF3YVBpSEVRT0xvTnJBOWlJa1FEblJyVkExcUQyTFo4SVNveFlxS28xM3NRQXRCV0JheVFXWlVBWEdSUU05SmpDbmdEVlkwVXFKTkRiUXJNY2FHbUFyZFVLcElqYllpUUxzQ1pDeUlNUUJ5OFF3bmlsUjRRNUF1Q3B4Rll2UkZtQkxiRWl3S3dwc1NhV3ljVlFHWkJLTXJ3QmpBOUJoeERlNTd1MkwyaE9vS05DYk9yZ0FaaXRFVllVeG9LU01FclF2U3hZSXpDa2d1Umc1RUY0QVVocVVsaHkvWVVLU3hjUmFLc2lvWU9RaEQ0STB5WXhrUjNQY0pCY3VGeXNtZ3NYQVdCVE1KeUJDTUlRaDlrR0d4WElYdmV4Q1FYYkhHQU1yQldUYk0yQ0NwTVNNTEl4ZWhDNzdsU0p3WEd0aDdNMEZ6b1ZKSVhYRFdRbkdtaE9rTDBpYzdZaGh0V2RHR2tBdVBBalVXR29GNGZhQ213QmtiWm15VXFVQ3lNcU1MUkE0K0U2SXNkVGppZFVIS0JZcmg5Q25wUmNIMHlwS3hzeU9HRVlOSUllVENPejkxT0lKMVFZb0I1ZUFNeVpvK01GTm55VlRaMFlpUkM5RUdFTU95QWdzaHhFckhzTDJYSzFnT1Vnd29odE0xYTVZTk03UnN1NEswWmtjYlJtNG1wUEJSd0ZaNWhnOWVDcWtyVUIrY3NXR0dvZ3pOa3FFZ3JkblJocEdMa0lOdWRhTGd3dlZCNm9xekNqQ1RaRWxiMlk0QjBnVWpCdEVHMEFSbkRSTGpqb0c5RHdjc2h0UUdsSVBUbGpWandVeVNMV05reVJDUVZIYTBaVVVUUkF3Z0Y5MWEzM0JFeTBWS0FjVnd3cXdaQzJicWJPbFV1cmxsT3hRa0p6TnlJTm9BWXFqV2hZWWpXZzVTQ2lpRzA1UTFVOEZNalRJb1M4WUU2WU9SaTFCSHRKNEtJY1FFRXRUWFVXQXhwSzQ0WVZsUEJkTzFqQ2RGV1RaSUU4YlZHRVlNSVJQY1pHQnc0SEtRY29CaU9FMVpNemJNZ1ZRd1U2Sk1BZEtFRWN1SUpvZ1V2ZzFZQ0NFMmdzQ080MkRsSUlWQUtad3BZSmFTTFZOblNVNlhqWUhVbXhoVG1YYUZhTU8zRVlrTHFNQytGc0xsSW9WQUtaek1yRW5CaEplTGZMTmxLTXJZV1JJRENiT2tGU1NWSGJITTZBS1JDNi9PRFVld05xUStPTGxaa3hwalVtVjhNQmJNVUpTeHl6WTNRMUlnVFJneGlCUkNIZGVtMEtEQVVrQmg5c1J3d2pFbkFYTU1nVG5LaEZsVXRpd2tTNXJHa2E0ZzlTYUdneEZtUkM3QXpUQ0VFQmN5QTM2ZERTc1hxQXRPTGt5c2pHTXdZNVh4VkNoalowa3VTQ283WWxrUlFzUVFZdERFRnNlZ3NMb0N4VXA3S3BncHMyVXNsRkd6SkdjY1NZSFVteGhPWnF3ekVacUFiZlVNQ2lzSEtJWnpnc0NwbDNNVHpNd1RwaTFiWXAyNDc3Z3lGS1V4UzdxV2JkalkyRUJTMmRHRTBRUVJBN2dOQ3lIRWRoakU4UmhVRGxCVDl0emdtaldaTUZObFN5K1VyazFPekN5SmxXMFhrSzRZT1FoMWNEdGNnd0JyUW1vRFdrZGdib0JaRThtWXNKU0hsbkZiSis1YndtT1BKN2xaa2lyYkM4YVJzTXZtZ3RUSGpCaEdFMFFid0oyZWdVRTFJVFZsVUM1T21EVmRZTnJLdU43MHhNNldvU2hqbFc0NDY0ZGJ0aUZJV0s2eDdHakVTRUhVVWUwaVluY25iTWRRU0UwWjFJVFROT2IwaFJtampMdG1TOWRtSjJycDFqdHVLa3R5eXJiNllMRU1DVUhxMmRHRzBRUVJRN2Y3Mmt6YytjSmVjZXJuZThXdnY3Sk5QSFB2ZW5Fa3o4U2gzVXRGYzkyUXlHdDlZa28vSGdPTEFJVVpsSXRUejVvdU1GM0t1RSsyakZMQ1ExRDZsbTZmTE1rQmFjdU9Kb3dZUkJVWHlmanVIakYzTmhkbnNmanZBZkg2RTl2RnQ5WHhLZ2lrRUtnSlp5eVlhbHpPTGVNdTJiTGJVTEk2YmgrUUd3bVErcmdSbHVtZEdFUUFhbytLNTZiRUwyd29WVXdPaWV2MHI4T0FVamlKck1tRkNidnlrR3haUkFtUGl0SzFkSE03Ym9oeU1zdXlpL0k4ZjArZTU3ZkpZSUtFWlhwWG85RTRtT2Y1WFRLeUxMdkNCTEVURjh1WTJTS2Vwa0MrZHBYNFQwMkl2ZXByNEh2WmNPWjVmbWVlNTRmeVBMK0RtVFVoekFzNm40bjhiTjVkcjlmM1lka1NnOG5zeEcwbFBCVktWcE5qRzAvYUdoemZMRG1SWmRudW1abVpwOCtjK2NkWlBWNTU1ZlNyN1hiN3MwakozaTVQY3VlNE14S2tQUGt2dlhUcXovQjkydTMybDB3WU96RzFma2hjZC9weThSY2J5cS92Rk0vS1kxV0E5NWgvM3p6UDcxYmZVNkpzTnBzZmdqK1AvRmxicmRhREdFeFl5dVh2THo4SCtEdWRPREg3MDBhamNTTTNXNll1NGFsUTFzcENPVGQzOGpjS29jVFpiaDkrOU5peFk5OVhKOEFFVWtjcG85VzY0eUgxOTdtNWs3K2JuWjE5UVQrSjA5TkhudFFod2ppL0pnNThxaTYrK29mTHhKOGdTRm5lVncyS2E0UVFEZmgxT2s0ZFphdlZtdFovbnJtNWs3L1ZmNTVPMXRSaGJvVXc1K1pPdnF5T2w1K1IvRnlPSGozMlBZVlUvdGxvTkc1SVhjS3JoSkl6bmd3cDNmTmpvbWF6ZWEvNjRCdU54dHM2NDZmNTBsV3YxNjl1dHc5L0RtdHFkSlF5WkZhU0pWdVY2bnE5ZnFNRW9mNS92VjYvQ1lCcWdKRGxlZSt5QWJGLys0aTRaV3FaZU5mYUlmSFd6bitIeDBLY0V1VTkrczhqdjNlajBiaFZsWE9aeWRYL2swaVJNZWI4UDBENWU2dGo4enkvWGI5VUpJYzU2aC95cVZPblh1bDhsbXVaMmJKc2xLbWJIRzdYcmJwQ21DWEZSTHZkZnFRRDZqVFMzSml5NUk0T3lrTTZBRFYrMUV1MURtVjZldm9wQk9SZXh6RGkxTCtYL0huR3hzYjJ3M0htOVBTUko5UXhXUE9UWmRtbEtodDJoaSt3NmRrb3g1YnFmZkk4ZnllM2hEdGVHcUthSFZzSFhpaEtsMHRCK2gwY1krbHV0ZTU0QUdSS0RDVzg5TE5UUnluSGI3Q2hVV1ZWamV0T25KaDlFWUJVeVBaZU5Db090c2JGUXdkWGk0L2VzRUxjZCt0cThjQ0hKOFVYcCt2aXk5ZWZMejdBZ2FtamxLWGMxQUExbTgzRG9JUkRsRnViemViOTZoaFpMVlRsZ0oyNGd0dHV0eCtPTmE1MGJIWktSZW5hZVRzMU9mcEFmbnI2eU9PZEU3RVpkTndtbEtvY250WExOa0E1SlRHcTQ3RHMrTGY5NGxXc3lmblhsZUxmbkl3SlVONERPbk5Zd3VVeGgyQTNMbjlYVUxyZks4dDNKMjdUdTNCVndpT2pYSnFvQXk4VVplajF5Y2xHbzNHVExOK2d1M3crei9QM1lhV2JRcWszTmUxMmU0WkMrYzhyeFdzWXl0Y1BpUDlScFp4Q3FXREtueE9pQk5seUFVcE9uR3NvaDR0QTJSbThYOXhxdFQ2bWQ1d3labVllKzBZUktMKzFTL3dZUTNuOHpjdEJsNVNCVXY1ZGppdmZqTU9QZHVJemNpemVpWWZyOWZvVnZVd1pHK1hDdXppYlpLblNjZVo1L3Y0UWxLcDh5N0VsaG5KbFRlVFA3Qkkva2xsUllmenJmdkhxRnk0VVgxdmFML2FWbFNtUk96d2J3ZFMyOVQyVWNFd1pGK1Y4b3pNMmx1MVZZODEydS8xNWFreXBHaDNUbUZKZXNKYkhIRDE2N0lkVXh6M1lKeTViTnlTdVgxbWJ2eTU1Q2JNTHR6VTZ0akdsc2RGcHRWcWZVTWMwR28yM0Y0d3kxbDJkU25iZnZwTXdWUGU5V1dWTERzck9KYUY5TUZ1MldxMVBxbU5rR2NlNjd4aVhoVGpkTndkbHZWNi9CZ3hmYlBmQmZWQ2V0eGk2YjkvcmxDdXA2NVF6TTQ4ZGwyT2pMTXYyNkNpYnplWjk2c1RJekVGZHB3UVh6OVUxeXJ0VmxwUi9abGwyRmVjNjVZNmw0cGJieDhYSEg5a2tudnpKbFBqbEh5OFRwMjllS1Q1b3UwYUpvSVQzdzNkQmxMRHpWcGZBSkVaMVhPZGFKWnhuT1NsdlBNalB6eEZsakl2bmc5MTRSd2Vic2pZTzd1aE15SHU0NnNPZm5mM096MlRYRFc2dnZZeGRGb0lYejNXYzhKNXpzOW44aU9uMklyeFRjMkJNM0dscWRwN2RJNTUzdWFPanhyaHdjb2IrTXl1VXBqczZXWlpkb244T2NpZ2pQeDhWK3UrR1RXRlRTV0V4M1dZY2RKMjI1ak5EU0U0cTBHSEN6bHVlSE95dWpuNmJVV1lnZWI5WlpVYVFQZStHelErR2M4K29PR2hDK2MxZDRnZkkxNm4zWERBaFE3KzlxRTlsMDFFMkdvMTMyR1lLeVhFMU5pRkRUY3BvTnB2M0xPWUpHV1hORXJKTlc5c0VwNjNwMlJLaVZQTW4xYlMxRGd4c3lob0dkR3BtaXpqK3h0WGlEWW54Ny92Rm1jZTNpV2RXMWNUVkdFWTRoUTJaVzBuTnE4UW0vTTZYYlhtM1MxMDBsd0dlZEZ5YnV2Tk9pYkxJK1pTMmNlVTRlQXhpRXV2Q2tmbVU4eWNUb0R4RVRlNkZnQ0JRSGVxeUFiRnZmRWhjTzdCd0R1WEZDRWJUWkY4NDBYZUhLMGpZY2JzMk9JR2xlMG1WSi9tbW5DbEVQUXF4eVRZNUk4L3pGaGlmN2ZTWmVlNGJuclBPVTRBc3NuUlhIYVZUQ1RkMTRkUkRZM1ViVElpU2VGaHNOL2FNamducXRoRng4ODByeFgzeUFUTDVwM3k0TFBYek9hQmtVeUJqWk1sWXBidFFsSU9CRDQ3NVpFdXNqTU5TdmtYZTZWRW9KVkRrZVoyZHpJZklGc1J6VStKRjJPeU05TTlmVEMvNlNVWU95RlFQalEybldpVWp4blBmdzVFZUhxTVdJcUFlSUZzQVU4NDdsSk0ySk02eHNld3QxT0lETHM5OVA3WkZITmRCL3VwUzhYdFBpRDdQZkx1Q1hKTm9sWXl5RmlOSS9aaXQ2NUl0ck9WYWZGYkhjRm9oWTdoUFROMjFUano0dWMzaXFmc254S2RYMU1UbDFPb1lSRmFNc1RvR0I2VHJ3MkpGUC9PZFpDMmhKWjdaa3JNb0FiYlNHbWVsREo5MWhGS3VKZVM3amxCTWtKbnJBcXFKbGdNVVpTL2RBclBsR0hOZFNnNU0zeFhYdHZxdXVFYXR2SVl0RFJocHhiVUp1SWdxc1U1bEdXdFVwbG9LMEt1RVU5bVNXOFlwbUZRNTU2eE51WVc3TmlXMTNCK0ZrTWlLSEl5K0M2ZUdnQnhKdk1SMG9TdjVoaTYrejRISnlab1UwTTJSVnZEbHJPUWJjeFZmWDVBaFpidXF5MHY3WnN0WU1MSGxBVmxMVEY5QUxMYnZ1OVk1WnlscG4vWE9zZDBpYkl2eHIyS0NMSHBwNlNDVUlkblNaU0YrV3pmT2hlbTZHRCsxS3dSM1o0ak5qcnREcE5vWndtV2Q4eXJ1cFpONkh4M2ZiTW1GU2UwU3dkcTJaSVBqeGsxMTEyRHVvOE9CR0xyQmt3L0lvbmNkSzJYSHNkQzlkSHoyMDRtNTB4aDN0ekZxMXpGcXR6SFhyZkN3N09nRHNxeU5uWkxzelZpanNtWGdybU5jbUd0Uzc4bElvTVgyYUp6MDNmS08yc0RKZGRQUVNDRFBpUTFEZldCeWNZNlh0WHN0YzJQUUt1eGdHMk1jbVhUUGI5Lzl2bXVKWVhLeUpyV2piZWcrM3hQTTRPNzNuV3F2Ynl3N3hnWlpTSmJFVUJhMTU3Y05KamRyMnZiKzVpQTFZVjNIeFlzY2ozMFBEQ0VISWdjanRmbThLOGhTc21Sb3Rrd0ZrNXMxVFRnaFVBb3BCNnhyakhNQkJrSTBZWVRaMGRabHh3THBraVdEVUxwbXk1Z3dxYXlaZ1pOa0E3b0tRUUN4Y3RCeVlnMFhJSUVRUXVSaXRHVkhibE1UQTJTaEtHUERwQzZ3dStERWdKcWcyckRHREJ0QUY0UTZSQW9qcDF4WEdtU01iSW1WY1IrWVdOWTA0ZVFDdFVHMW9mVUoyL3V2Y0VUSWdVaGhkQUU1R0Fsa0tTaGp3SFRObWhoT0RLZ0pxUTJzQzE0dU9neWZEMEliUkYrTWxRYVpBaVpXeW4yeUpzVEpBVHFHbkhRTzJKaGgreGxzQUNGQ0cwUWJSdGR5elFGWkNaU3hZUHBtVFM3UTVjakpIWU5CWUlrWnB1OTlIb1VRL280UUlZU0laVVpmako0Wk1qWkkzMndaQkRNVTV5aHk4cFpUVUxsNFhZUDVmYWdNeUVWb3k0b3VwVHBHZHV3bmtsb1NsS0V3WStBY1FVNE1oUlRENm92WEJSd0Z6d1dnQ1NFRjBRVmpKVUdtZ0VsbFRTNU9MbENJbElOMW1TOW14L2NaNWVMREFMcENUSTJSQWhrVFpRcVlvVGdwb0NQRUNiYUJIUTJFVEwzUFVsOThFQ0FYWWlqRzBPeVlBbVFvVEc3VzVPRGtBRjFDblZnbTJKUXg0b2tQQStnQ01UYkdza0JHZ1JtYU9ibEFoNUdUT1JJcmZLRng0Vkg0RUlBeElYSXhsZzJTQmJNdkVDWTNlN29BcGJEYUlnUXU1LzJIbWVFS0VJTllpd1NSaTdFUWtMRmd1bVpPQ3VnZ2N0S0dJNFVMWk4vdk1lU0xqMEFZTXl0V0VxTUx6Rmc0ZllEYW9LYUM2d3ZPRlI0RmtJUFFGYUlMeHJKQU9zSHNjL3psZllEV1hFOHFGMjJzOFB6NUtIeGNnRVZBTEJ0akpYQlNTRU93RmhrMVpneTRoaXRDVDRoVncrZ0ZzOC96d3hxSUJiVWd5SzdmY3lBMFBEOVhYNGlWeGhpQzB4ZG9mNlNUV0Nzb0JtS0Y3K2NWQ1dGWFFZeUJNeFJwZitTVFgxYjB4NDVBaE4wT01Tck9HRWlyaHJZL2RmUUFkanZTN295K1dDRjZyMVJJRnhYV3ZsVFJnMVlWcUZXQm14WmJEOTlpZzlwdDBZUFF3OXJEMW5zdFZyaTlWKy9WZTNYclMvd2ZpbTRQNWZJRnhMb0FBQUFBU1VWT1JLNUNZSUk9XCI7XG4iXX0=
package/dist/Matrix4.d.ts CHANGED
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
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 or
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 THE
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 { Vector3 } from "./Vector3.js";
30
30
  export declare const M00 = 0;