@ethlete/core 0.2.0-next.17 → 0.2.0-next.18

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 (35) hide show
  1. package/esm2020/lib/components/structured-data/structured-data.component.mjs +3 -3
  2. package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +3 -3
  3. package/esm2020/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +3 -3
  4. package/esm2020/lib/directives/let/let.directive.mjs +3 -3
  5. package/esm2020/lib/directives/observe-content/observe-content.directive.mjs +3 -3
  6. package/esm2020/lib/directives/observe-resize/observe-resize.directive.mjs +3 -3
  7. package/esm2020/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +3 -3
  8. package/esm2020/lib/directives/repeat/repeat.directive.mjs +3 -3
  9. package/esm2020/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +3 -3
  10. package/esm2020/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +3 -3
  11. package/esm2020/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +3 -3
  12. package/esm2020/lib/directives/seo/seo.directive.mjs +3 -3
  13. package/esm2020/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +3 -3
  14. package/esm2020/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +3 -3
  15. package/esm2020/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +3 -3
  16. package/esm2020/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +3 -3
  17. package/esm2020/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +3 -3
  18. package/esm2020/lib/pipes/to-array/to-array.pipe.mjs +3 -3
  19. package/esm2020/lib/services/click-observer.service.mjs +6 -6
  20. package/esm2020/lib/services/content-observer.service.mjs +6 -6
  21. package/esm2020/lib/services/destroy.service.mjs +3 -3
  22. package/esm2020/lib/services/focus-visible.service.mjs +3 -3
  23. package/esm2020/lib/services/resize-observer.service.mjs +6 -6
  24. package/esm2020/lib/services/viewport.service.mjs +3 -3
  25. package/esm2020/lib/utils/clone.util.mjs +78 -0
  26. package/esm2020/lib/utils/equal.util.mjs +118 -0
  27. package/esm2020/lib/utils/public-api.mjs +3 -1
  28. package/fesm2015/ethlete-core.mjs +278 -82
  29. package/fesm2015/ethlete-core.mjs.map +1 -1
  30. package/fesm2020/ethlete-core.mjs +278 -82
  31. package/fesm2020/ethlete-core.mjs.map +1 -1
  32. package/lib/utils/clone.util.d.ts +15 -0
  33. package/lib/utils/equal.util.d.ts +27 -0
  34. package/lib/utils/public-api.d.ts +2 -0
  35. package/package.json +3 -3
@@ -0,0 +1,118 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /* eslint-disable no-var */
3
+ /**
4
+ * Stolen from dequal to avoid adding a dependency
5
+ * https://github.com/lukeed/dequal
6
+ *
7
+ * The MIT License (MIT)
8
+ *
9
+ * Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
10
+ *
11
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ * of this software and associated documentation files (the "Software"), to deal
13
+ * in the Software without restriction, including without limitation the rights
14
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ * copies of the Software, and to permit persons to whom the Software is
16
+ * furnished to do so, subject to the following conditions:
17
+ *
18
+ * The above copyright notice and this permission notice shall be included in
19
+ * all copies or substantial portions of the Software.
20
+ *
21
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
27
+ * THE SOFTWARE.
28
+ */
29
+ const has = Object.prototype.hasOwnProperty;
30
+ function find(iter, tar, key) {
31
+ for (key of iter.keys()) {
32
+ if (equal(key, tar))
33
+ return key;
34
+ }
35
+ }
36
+ export const equal = (foo, bar) => {
37
+ var ctor, len, tmp;
38
+ if (foo === bar)
39
+ return true;
40
+ if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
41
+ if (ctor === Date)
42
+ return foo.getTime() === bar.getTime();
43
+ if (ctor === RegExp)
44
+ return foo.toString() === bar.toString();
45
+ if (ctor === Array) {
46
+ if ((len = foo.length) === bar.length) {
47
+ while (len-- && equal(foo[len], bar[len]))
48
+ ;
49
+ }
50
+ return len === -1;
51
+ }
52
+ if (ctor === Set) {
53
+ if (foo.size !== bar.size) {
54
+ return false;
55
+ }
56
+ for (len of foo) {
57
+ tmp = len;
58
+ if (tmp && typeof tmp === 'object') {
59
+ tmp = find(bar, tmp);
60
+ if (!tmp)
61
+ return false;
62
+ }
63
+ if (!bar.has(tmp))
64
+ return false;
65
+ }
66
+ return true;
67
+ }
68
+ if (ctor === Map) {
69
+ if (foo.size !== bar.size) {
70
+ return false;
71
+ }
72
+ for (len of foo) {
73
+ tmp = len[0];
74
+ if (tmp && typeof tmp === 'object') {
75
+ tmp = find(bar, tmp);
76
+ if (!tmp)
77
+ return false;
78
+ }
79
+ if (!equal(len[1], bar.get(tmp))) {
80
+ return false;
81
+ }
82
+ }
83
+ return true;
84
+ }
85
+ if (ctor === ArrayBuffer) {
86
+ foo = new Uint8Array(foo);
87
+ bar = new Uint8Array(bar);
88
+ }
89
+ else if (ctor === DataView) {
90
+ if ((len = foo.byteLength) === bar.byteLength) {
91
+ while (len-- && foo.getInt8(len) === bar.getInt8(len))
92
+ ;
93
+ }
94
+ return len === -1;
95
+ }
96
+ if (ArrayBuffer.isView(foo)) {
97
+ if ((len = foo.byteLength) === bar.byteLength) {
98
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
99
+ //@ts-ignore
100
+ while (len-- && foo[len] === bar[len])
101
+ ;
102
+ }
103
+ return len === -1;
104
+ }
105
+ if (!ctor || typeof foo === 'object') {
106
+ len = 0;
107
+ for (ctor in foo) {
108
+ if (has.call(foo, ctor) && ++len && !has.call(bar, ctor))
109
+ return false;
110
+ if (!(ctor in bar) || !equal(foo[ctor], bar[ctor]))
111
+ return false;
112
+ }
113
+ return Object.keys(bar).length === len;
114
+ }
115
+ }
116
+ return foo !== foo && bar !== bar;
117
+ };
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWwudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL2VxdWFsLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELDJCQUEyQjtBQUMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQUVILE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO0FBRTVDLFNBQVMsSUFBSSxDQUFDLElBQVMsRUFBRSxHQUFRLEVBQUUsR0FBUztJQUMxQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDdkIsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUFFLE9BQU8sR0FBRyxDQUFDO0tBQ2pDO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQVEsRUFBRSxHQUFRLEVBQUUsRUFBRTtJQUMxQyxJQUFJLElBQVMsRUFBRSxHQUFRLEVBQUUsR0FBUSxDQUFDO0lBQ2xDLElBQUksR0FBRyxLQUFLLEdBQUc7UUFBRSxPQUFPLElBQUksQ0FBQztJQUU3QixJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUU7UUFDOUQsSUFBSSxJQUFJLEtBQUssSUFBSTtZQUFFLE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxRCxJQUFJLElBQUksS0FBSyxNQUFNO1lBQUUsT0FBTyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTlELElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNsQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FB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QUFLLElBQUksSUFBSSxHQUFHLEVBQUU7Z0JBQ2hCLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUM7b0JBQUUsT0FBTyxLQUFLLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUFFLE9BQU8sS0FBSyxDQUFDO2FBQ2xFO1lBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUM7U0FDeEM7S0FDRjtJQUVELE9BQU8sR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZhciAqL1xuLyoqXG4gKiBTdG9sZW4gZnJvbSBkZXF1YWwgdG8gYXZvaWQgYWRkaW5nIGEgZGVwZW5kZW5jeVxuICogaHR0cHM6Ly9naXRodWIuY29tL2x1a2VlZC9kZXF1YWxcbiAqXG4gKiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEx1a2UgRWR3YXJkcyA8bHVrZS5lZHdhcmRzMDVAZ21haWwuY29tPiAobHVrZWVkLmNvbSlcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbiAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuICogVEhFIFNPRlRXQVJFLlxuICovXG5cbmNvbnN0IGhhcyA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5cbmZ1bmN0aW9uIGZpbmQoaXRlcjogYW55LCB0YXI6IGFueSwga2V5PzogYW55KSB7XG4gIGZvciAoa2V5IG9mIGl0ZXIua2V5cygpKSB7XG4gICAgaWYgKGVxdWFsKGtleSwgdGFyKSkgcmV0dXJuIGtleTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZXF1YWwgPSAoZm9vOiBhbnksIGJhcjogYW55KSA9PiB7XG4gIHZhciBjdG9yOiBhbnksIGxlbjogYW55LCB0bXA6IGFueTtcbiAgaWYgKGZvbyA9PT0gYmFyKSByZXR1cm4gdHJ1ZTtcblxuICBpZiAoZm9vICYmIGJhciAmJiAoY3RvciA9IGZvby5jb25zdHJ1Y3RvcikgPT09IGJhci5jb25zdHJ1Y3Rvcikge1xuICAgIGlmIChjdG9yID09PSBEYXRlKSByZXR1cm4gZm9vLmdldFRpbWUoKSA9PT0gYmFyLmdldFRpbWUoKTtcbiAgICBpZiAoY3RvciA9PT0gUmVnRXhwKSByZXR1cm4gZm9vLnRvU3RyaW5nKCkgPT09IGJhci50b1N0cmluZygpO1xuXG4gICAgaWYgKGN0b3IgPT09IEFycmF5KSB7XG4gICAgICBpZiAoKGxlbiA9IGZvby5sZW5ndGgpID09PSBiYXIubGVuZ3RoKSB7XG4gICAgICAgIHdoaWxlIChsZW4tLSAmJiBlcXVhbChmb29bbGVuXSwgYmFyW2xlbl0pKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsZW4gPT09IC0xO1xuICAgIH1cblxuICAgIGlmIChjdG9yID09PSBTZXQpIHtcbiAgICAgIGlmIChmb28uc2l6ZSAhPT0gYmFyLnNpemUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgZm9yIChsZW4gb2YgZm9vKSB7XG4gICAgICAgIHRtcCA9IGxlbjtcbiAgICAgICAgaWYgKHRtcCAmJiB0eXBlb2YgdG1wID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHRtcCA9IGZpbmQoYmFyLCB0bXApO1xuICAgICAgICAgIGlmICghdG1wKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFiYXIuaGFzKHRtcCkpIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjdG9yID09PSBNYXApIHtcbiAgICAgIGlmIChmb28uc2l6ZSAhPT0gYmFyLnNpemUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgZm9yIChsZW4gb2YgZm9vKSB7XG4gICAgICAgIHRtcCA9IGxlblswXTtcbiAgICAgICAgaWYgKHRtcCAmJiB0eXBlb2YgdG1wID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHRtcCA9IGZpbmQoYmFyLCB0bXApO1xuICAgICAgICAgIGlmICghdG1wKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFlcXVhbChsZW5bMV0sIGJhci5nZXQodG1wKSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjdG9yID09PSBBcnJheUJ1ZmZlcikge1xuICAgICAgZm9vID0gbmV3IFVpbnQ4QXJyYXkoZm9vKTtcbiAgICAgIGJhciA9IG5ldyBVaW50OEFycmF5KGJhcik7XG4gICAgfSBlbHNlIGlmIChjdG9yID09PSBEYXRhVmlldykge1xuICAgICAgaWYgKChsZW4gPSBmb28uYnl0ZUxlbmd0aCkgPT09IGJhci5ieXRlTGVuZ3RoKSB7XG4gICAgICAgIHdoaWxlIChsZW4tLSAmJiBmb28uZ2V0SW50OChsZW4pID09PSBiYXIuZ2V0SW50OChsZW4pKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsZW4gPT09IC0xO1xuICAgIH1cblxuICAgIGlmIChBcnJheUJ1ZmZlci5pc1ZpZXcoZm9vKSkge1xuICAgICAgaWYgKChsZW4gPSBmb28uYnl0ZUxlbmd0aCkgPT09IGJhci5ieXRlTGVuZ3RoKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIHdoaWxlIChsZW4tLSAmJiBmb29bbGVuXSA9PT0gYmFyW2xlbl0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxlbiA9PT0gLTE7XG4gICAgfVxuXG4gICAgaWYgKCFjdG9yIHx8IHR5cGVvZiBmb28gPT09ICdvYmplY3QnKSB7XG4gICAgICBsZW4gPSAwO1xuICAgICAgZm9yIChjdG9yIGluIGZvbykge1xuICAgICAgICBpZiAoaGFzLmNhbGwoZm9vLCBjdG9yKSAmJiArK2xlbiAmJiAhaGFzLmNhbGwoYmFyLCBjdG9yKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAoIShjdG9yIGluIGJhcikgfHwgIWVxdWFsKGZvb1tjdG9yXSwgYmFyW2N0b3JdKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGJhcikubGVuZ3RoID09PSBsZW47XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZvbyAhPT0gZm9vICYmIGJhciAhPT0gYmFyO1xufTtcbiJdfQ==
@@ -1,6 +1,8 @@
1
1
  export * from './clamp.util';
2
+ export * from './clone.util';
2
3
  export * from './cookie.util';
4
+ export * from './equal.util';
3
5
  export * from './reactive-binding.util';
4
6
  export * from './scrollable.utils';
5
7
  export * from './viewport.util';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsYW1wLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb29raWUudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL3JlYWN0aXZlLWJpbmRpbmcudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL3Njcm9sbGFibGUudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3cG9ydC51dGlsJztcbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsYW1wLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jbG9uZS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29va2llLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lcXVhbC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhY3RpdmUtYmluZGluZy51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsYWJsZS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXdwb3J0LnV0aWwnO1xuIl19