@pie-lib/charting 6.2.0-next.2 → 6.2.0-next.20

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 (62) hide show
  1. package/CHANGELOG.md +75 -25
  2. package/LICENSE.md +5 -0
  3. package/lib/actions-button.js +1 -1
  4. package/lib/axes.js +86 -29
  5. package/lib/axes.js.map +1 -1
  6. package/lib/bars/bar.js +1 -1
  7. package/lib/bars/common/bars.js +1 -1
  8. package/lib/bars/common/correct-check-icon.js +1 -1
  9. package/lib/bars/histogram.js +1 -1
  10. package/lib/chart-setup.js +1 -1
  11. package/lib/chart-type.js +1 -1
  12. package/lib/chart-types.js +1 -1
  13. package/lib/chart.js +1 -1
  14. package/lib/common/correctness-indicators.js +1 -1
  15. package/lib/common/drag-handle.js +1 -1
  16. package/lib/common/drag-icon.js +1 -1
  17. package/lib/common/styles.js +1 -1
  18. package/lib/grid.js +1 -1
  19. package/lib/index.js +1 -1
  20. package/lib/key-legend.js +1 -1
  21. package/lib/line/common/drag-handle.js +1 -1
  22. package/lib/line/common/line.js +1 -1
  23. package/lib/line/line-cross.js +1 -1
  24. package/lib/line/line-dot.js +1 -1
  25. package/lib/mark-label.js +1 -1
  26. package/lib/plot/common/plot.js +1 -1
  27. package/lib/plot/dot.js +1 -1
  28. package/lib/plot/line.js +1 -1
  29. package/lib/tool-menu.js +1 -1
  30. package/lib/utils.js +1 -1
  31. package/package.json +7 -7
  32. package/src/axes.jsx +84 -26
  33. package/lib/__tests__/actions-button.test.js +0 -332
  34. package/lib/__tests__/axes.test.js +0 -746
  35. package/lib/__tests__/chart-setup.test.js +0 -796
  36. package/lib/__tests__/chart-type.test.js +0 -25
  37. package/lib/__tests__/chart.test.js +0 -103
  38. package/lib/__tests__/grid.test.js +0 -39
  39. package/lib/__tests__/key-legend.test.js +0 -235
  40. package/lib/__tests__/mark-label.test.js +0 -46
  41. package/lib/__tests__/tool-menu.test.js +0 -627
  42. package/lib/__tests__/utils.js +0 -56
  43. package/lib/__tests__/utils.test.js +0 -186
  44. package/lib/bars/__tests__/bar.test.js +0 -53
  45. package/lib/bars/__tests__/histogram.test.js +0 -53
  46. package/lib/bars/__tests__/utils.js +0 -50
  47. package/lib/bars/common/__tests__/bars.test.js +0 -76
  48. package/lib/bars/common/__tests__/utils.js +0 -50
  49. package/lib/common/__tests__/correctness-indicators.test.js +0 -887
  50. package/lib/common/__tests__/drag-handle.test.js +0 -73
  51. package/lib/common/__tests__/utils.js +0 -50
  52. package/lib/line/__tests__/line-cross.test.js +0 -617
  53. package/lib/line/__tests__/line-dot.test.js +0 -47
  54. package/lib/line/__tests__/utils.js +0 -56
  55. package/lib/line/common/__tests__/drag-handle.test.js +0 -73
  56. package/lib/line/common/__tests__/line.test.js +0 -92
  57. package/lib/line/common/__tests__/utils.js +0 -50
  58. package/lib/plot/__tests__/dot.test.js +0 -513
  59. package/lib/plot/__tests__/line.test.js +0 -566
  60. package/lib/plot/__tests__/utils.js +0 -50
  61. package/lib/plot/common/__tests__/plot.test.js +0 -79
  62. package/lib/plot/common/__tests__/utils.js +0 -50
package/CHANGELOG.md CHANGED
@@ -3,69 +3,119 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [6.1.0-next.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.1.0-next.2...@pie-lib/charting@6.1.0-next.4) (2026-01-27)
6
+ # [6.2.0-next.20](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.19...@pie-lib/charting@6.2.0-next.20) (2026-03-18)
7
7
 
8
8
  **Note:** Version bump only for package @pie-lib/charting
9
9
 
10
+ # [6.2.0-next.19](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.18...@pie-lib/charting@6.2.0-next.19) (2026-03-18)
10
11
 
12
+ ### Bug Fixes
11
13
 
14
+ - **charting:** enhance RawChartAxes with MathJax rendering support and improve hidden label measurement PD-5496 PD-5497 ([4644a62](https://github.com/pie-framework/pie-lib/commit/4644a62365cc22b5558ae99cfa64c78bdc21815a))
12
15
 
16
+ # [6.2.0-next.18](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.17...@pie-lib/charting@6.2.0-next.18) (2026-03-18)
13
17
 
14
- # [6.1.0-next.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.1.0-next.1...@pie-lib/charting@6.1.0-next.2) (2026-01-26)
18
+ **Note:** Version bump only for package @pie-lib/charting
19
+
20
+ # [6.2.0-next.17](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.16...@pie-lib/charting@6.2.0-next.17) (2026-03-18)
15
21
 
16
22
  **Note:** Version bump only for package @pie-lib/charting
17
23
 
24
+ # [6.2.0-next.16](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.15...@pie-lib/charting@6.2.0-next.16) (2026-03-11)
18
25
 
26
+ **Note:** Version bump only for package @pie-lib/charting
19
27
 
28
+ # [6.2.0-next.15](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.14...@pie-lib/charting@6.2.0-next.15) (2026-03-11)
20
29
 
30
+ **Note:** Version bump only for package @pie-lib/charting
21
31
 
22
- # [6.1.0-next.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.36.2...@pie-lib/charting@6.1.0-next.1) (2026-01-26)
32
+ # [6.2.0-next.14](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.13...@pie-lib/charting@6.2.0-next.14) (2026-03-09)
23
33
 
34
+ **Note:** Version bump only for package @pie-lib/charting
24
35
 
25
- ### Bug Fixes
36
+ # [6.2.0-next.13](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.12...@pie-lib/charting@6.2.0-next.13) (2026-03-06)
26
37
 
27
- * charting cleanup ([4f8b14f](https://github.com/pie-framework/pie-lib/commit/4f8b14f59cf6d977af04feaa75f78f65fe4ffbb8))
28
- * charting issue after mui update ([19eb377](https://github.com/pie-framework/pie-lib/commit/19eb377ae63624402dce8118857c64e2da07c7ec))
29
- * charting issues ([fb42cac](https://github.com/pie-framework/pie-lib/commit/fb42cacad4753b1aaf501969bde0a489fd223a1e))
30
- * charting style ([1e72103](https://github.com/pie-framework/pie-lib/commit/1e7210354c92a4f85da10043f42261e275894b69))
31
- * charting styles ([c733e4e](https://github.com/pie-framework/pie-lib/commit/c733e4e316b572a8aea3e494a2ab3bf3863a015e))
32
- * charting ux fixes after mui update PD-5258 ([38ee1dc](https://github.com/pie-framework/pie-lib/commit/38ee1dc3810760794690534821f78672906a4981))
33
- * math keyboard ref and remove console log ([fd9dc91](https://github.com/pie-framework/pie-lib/commit/fd9dc91092497e55a75aba3e7ef1c4c1c5723f35))
34
- * publish charting ([df5a64e](https://github.com/pie-framework/pie-lib/commit/df5a64e4287fe71b0da7838c14b19e72286c7e82))
35
- * remove carets from [@pie-lib](https://github.com/pie-lib) dependencies and configure lerna to use exact versions ([c9cd800](https://github.com/pie-framework/pie-lib/commit/c9cd800844abca09e7acf1fd35b2ddf51a6d86df))
36
- * remove carret, point to specific libs version ([09939a5](https://github.com/pie-framework/pie-lib/commit/09939a5aca19d7dda03d62c93d4d524f98dd69da))
37
- * remove exports and publish ([#2068](https://github.com/pie-framework/pie-lib/issues/2068)) ([60a96cd](https://github.com/pie-framework/pie-lib/commit/60a96cde0ec65f6b1cac0ae329aa33a0abc50d05))
38
- * select in chart type selection ([ba56525](https://github.com/pie-framework/pie-lib/commit/ba5652504daa9fe9bc499b66c5d8acb88ebf7a8e))
39
- * use fixed lib deps ([de7c64d](https://github.com/pie-framework/pie-lib/commit/de7c64d14f13259fe44d47405e4421baef21e24e))
38
+ **Note:** Version bump only for package @pie-lib/charting
40
39
 
40
+ # [6.2.0-next.12](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.11...@pie-lib/charting@6.2.0-next.12) (2026-03-04)
41
41
 
42
- ### Features
42
+ **Note:** Version bump only for package @pie-lib/charting
43
+
44
+ # [6.2.0-next.11](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.9...@pie-lib/charting@6.2.0-next.11) (2026-02-26)
43
45
 
44
- * bump react and react-dom ([01dc19e](https://github.com/pie-framework/pie-lib/commit/01dc19e88bbc8d372c561d1511df1a82937d45af))
45
- * implement web component safe select in charting ([6f84f2f](https://github.com/pie-framework/pie-lib/commit/6f84f2f0bb917a64dbbd46b917f8cc1b5665d9eb))
46
- * migrate from [@vx](https://github.com/vx) library to [@visx](https://github.com/visx) ([135bf60](https://github.com/pie-framework/pie-lib/commit/135bf605161bfbd0070ac181892df20931691ce3))
47
- * packages/charting mui update PD-5268 ([9619c34](https://github.com/pie-framework/pie-lib/commit/9619c3437ad7ae762daa04350e1110cb429c7166))
48
- * sync latest changes from dev ([c936e9c](https://github.com/pie-framework/pie-lib/commit/c936e9c7f9e095e7d9b9805ac2bf72bd271e05f1))
46
+ **Note:** Version bump only for package @pie-lib/charting
49
47
 
48
+ # [6.2.0-next.9](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.8...@pie-lib/charting@6.2.0-next.9) (2026-02-25)
50
49
 
50
+ **Note:** Version bump only for package @pie-lib/charting
51
51
 
52
+ # [6.2.0-next.8](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.7...@pie-lib/charting@6.2.0-next.8) (2026-02-25)
52
53
 
54
+ ### Bug Fixes
53
55
 
54
- # [6.0.0-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.36.3-next.0...@pie-lib/charting@6.0.0-next.0) (2026-01-19)
56
+ - **deps:** update [@pie-lib](https://github.com/pie-lib) dependencies to published versions ([134fbdc](https://github.com/pie-framework/pie-lib/commit/134fbdc90c6a15f89a736340578d70fb80a983b3))
57
+
58
+ # [6.2.0-next.7](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.6...@pie-lib/charting@6.2.0-next.7) (2026-02-25)
55
59
 
56
60
  **Note:** Version bump only for package @pie-lib/charting
57
61
 
62
+ # [6.2.0-next.6](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.5...@pie-lib/charting@6.2.0-next.6) (2026-02-25)
58
63
 
64
+ **Note:** Version bump only for package @pie-lib/charting
59
65
 
66
+ # [6.2.0-next.5](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.4...@pie-lib/charting@6.2.0-next.5) (2026-02-25)
60
67
 
68
+ **Note:** Version bump only for package @pie-lib/charting
61
69
 
62
- ## [5.36.3-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.50.0-mui-update.0...@pie-lib/charting@5.36.3-next.0) (2026-01-19)
70
+ # [6.2.0-next.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.3...@pie-lib/charting@6.2.0-next.4) (2026-02-24)
63
71
 
64
72
  **Note:** Version bump only for package @pie-lib/charting
65
73
 
74
+ # [6.2.0-next.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.2.0-next.1...@pie-lib/charting@6.2.0-next.3) (2026-02-24)
66
75
 
76
+ **Note:** Version bump only for package @pie-lib/charting
67
77
 
78
+ # [6.1.0-next.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.1.0-next.2...@pie-lib/charting@6.1.0-next.4) (2026-01-27)
79
+
80
+ **Note:** Version bump only for package @pie-lib/charting
81
+
82
+ # [6.1.0-next.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@6.1.0-next.1...@pie-lib/charting@6.1.0-next.2) (2026-01-26)
83
+
84
+ **Note:** Version bump only for package @pie-lib/charting
85
+
86
+ # [6.1.0-next.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.36.2...@pie-lib/charting@6.1.0-next.1) (2026-01-26)
87
+
88
+ ### Bug Fixes
68
89
 
90
+ - charting cleanup ([4f8b14f](https://github.com/pie-framework/pie-lib/commit/4f8b14f59cf6d977af04feaa75f78f65fe4ffbb8))
91
+ - charting issue after mui update ([19eb377](https://github.com/pie-framework/pie-lib/commit/19eb377ae63624402dce8118857c64e2da07c7ec))
92
+ - charting issues ([fb42cac](https://github.com/pie-framework/pie-lib/commit/fb42cacad4753b1aaf501969bde0a489fd223a1e))
93
+ - charting style ([1e72103](https://github.com/pie-framework/pie-lib/commit/1e7210354c92a4f85da10043f42261e275894b69))
94
+ - charting styles ([c733e4e](https://github.com/pie-framework/pie-lib/commit/c733e4e316b572a8aea3e494a2ab3bf3863a015e))
95
+ - charting ux fixes after mui update PD-5258 ([38ee1dc](https://github.com/pie-framework/pie-lib/commit/38ee1dc3810760794690534821f78672906a4981))
96
+ - math keyboard ref and remove console log ([fd9dc91](https://github.com/pie-framework/pie-lib/commit/fd9dc91092497e55a75aba3e7ef1c4c1c5723f35))
97
+ - publish charting ([df5a64e](https://github.com/pie-framework/pie-lib/commit/df5a64e4287fe71b0da7838c14b19e72286c7e82))
98
+ - remove carets from [@pie-lib](https://github.com/pie-lib) dependencies and configure lerna to use exact versions ([c9cd800](https://github.com/pie-framework/pie-lib/commit/c9cd800844abca09e7acf1fd35b2ddf51a6d86df))
99
+ - remove carret, point to specific libs version ([09939a5](https://github.com/pie-framework/pie-lib/commit/09939a5aca19d7dda03d62c93d4d524f98dd69da))
100
+ - remove exports and publish ([#2068](https://github.com/pie-framework/pie-lib/issues/2068)) ([60a96cd](https://github.com/pie-framework/pie-lib/commit/60a96cde0ec65f6b1cac0ae329aa33a0abc50d05))
101
+ - select in chart type selection ([ba56525](https://github.com/pie-framework/pie-lib/commit/ba5652504daa9fe9bc499b66c5d8acb88ebf7a8e))
102
+ - use fixed lib deps ([de7c64d](https://github.com/pie-framework/pie-lib/commit/de7c64d14f13259fe44d47405e4421baef21e24e))
103
+
104
+ ### Features
105
+
106
+ - bump react and react-dom ([01dc19e](https://github.com/pie-framework/pie-lib/commit/01dc19e88bbc8d372c561d1511df1a82937d45af))
107
+ - implement web component safe select in charting ([6f84f2f](https://github.com/pie-framework/pie-lib/commit/6f84f2f0bb917a64dbbd46b917f8cc1b5665d9eb))
108
+ - migrate from [@vx](https://github.com/vx) library to [@visx](https://github.com/visx) ([135bf60](https://github.com/pie-framework/pie-lib/commit/135bf605161bfbd0070ac181892df20931691ce3))
109
+ - packages/charting mui update PD-5268 ([9619c34](https://github.com/pie-framework/pie-lib/commit/9619c3437ad7ae762daa04350e1110cb429c7166))
110
+ - sync latest changes from dev ([c936e9c](https://github.com/pie-framework/pie-lib/commit/c936e9c7f9e095e7d9b9805ac2bf72bd271e05f1))
111
+
112
+ # [6.0.0-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.36.3-next.0...@pie-lib/charting@6.0.0-next.0) (2026-01-19)
113
+
114
+ **Note:** Version bump only for package @pie-lib/charting
115
+
116
+ ## [5.36.3-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.50.0-mui-update.0...@pie-lib/charting@5.36.3-next.0) (2026-01-19)
117
+
118
+ **Note:** Version bump only for package @pie-lib/charting
69
119
 
70
120
  ## [5.36.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.36.1...@pie-lib/charting@5.36.2) (2025-11-27)
71
121
 
package/LICENSE.md ADDED
@@ -0,0 +1,5 @@
1
+ Copyright 2019 CoreSpring Inc
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
4
+
5
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -142,4 +142,4 @@ var ActionsButton = exports.ActionsButton = /*#__PURE__*/function (_React$Compon
142
142
  categories: _propTypes["default"].array
143
143
  });
144
144
  var _default = exports["default"] = ActionsButton;
145
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX0J1dHRvbiIsIl9Qb3BvdmVyIiwiX1BhcGVyIiwiX3JlbmRlclVpIiwiX3RyYW5zbGF0b3IiLCJfY2FsbFN1cGVyIiwidCIsIm8iLCJlIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiY2FsbCIsInRyYW5zbGF0b3IiLCJUcmFuc2xhdG9yIiwiU3R5bGVkQWN0aW9ucyIsInN0eWxlZCIsImFsaWduU2VsZiIsIlN0eWxlZFRyaWdnZXIiLCJfcmVmIiwidGhlbWUiLCJjdXJzb3IiLCJmb250U2l6ZSIsInR5cG9ncmFwaHkiLCJjb2xvciIsInRlcnRpYXJ5IiwicGFkZGluZyIsInNwYWNpbmciLCJTdHlsZWRBY3Rpb25zUGFwZXIiLCJQYXBlciIsIl9yZWYyIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJ0ZXh0VHJhbnNmb3JtIiwidGV4dCIsImp1c3RpZnlDb250ZW50IiwiQWN0aW9uc0J1dHRvbiIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfZGVmaW5lUHJvcGVydHkyIiwiZXZlbnQiLCJzZXRTdGF0ZSIsImFjdGlvbnNBbmNob3JFbCIsImN1cnJlbnRUYXJnZXQiLCJhZGRDYXRlZ29yeSIsImhhbmRsZUFjdGlvbnNDbG9zZSIsImluZGV4IiwiZGVsZXRlQ2F0ZWdvcnkiLCJzdGF0ZSIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbmRlciIsIl90aGlzMiIsIl90aGlzJHByb3BzIiwiY2F0ZWdvcmllcyIsImxhbmd1YWdlIiwiY3JlYXRlRWxlbWVudCIsInJvbGUiLCJ0YWJJbmRleCIsIm9uQ2xpY2siLCJoYW5kbGVBY3Rpb25zQ2xpY2siLCJjb25jYXQiLCJNYXRoIiwicmFuZG9tIiwib3BlbiIsImFuY2hvckVsIiwib25DbG9zZSIsImFuY2hvck9yaWdpbiIsInZlcnRpY2FsIiwiaG9yaXpvbnRhbCIsInRyYW5zZm9ybU9yaWdpbiIsImhhbmRsZUFkZENhdGVnb3J5IiwibG5nIiwibGVuZ3RoIiwibWFwIiwiY2F0ZWdvcnkiLCJkZWxldGFibGUiLCJjb3JyZWN0bmVzcyIsImhhbmRsZURlbGV0ZUNhdGVnb3J5IiwibGFiZWwiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwic3RyaW5nIiwiYXJyYXkiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9hY3Rpb25zLWJ1dHRvbi5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQnV0dG9uJztcbmltcG9ydCBQb3BvdmVyIGZyb20gJ0BtdWkvbWF0ZXJpYWwvUG9wb3Zlcic7XG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XG5cbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCBUcmFuc2xhdG9yIGZyb20gJ0BwaWUtbGliL3RyYW5zbGF0b3InO1xuXG5jb25zdCB7IHRyYW5zbGF0b3IgfSA9IFRyYW5zbGF0b3I7XG5cbmNvbnN0IFN0eWxlZEFjdGlvbnMgPSBzdHlsZWQoJ2RpdicpKCgpID0+ICh7XG4gIGFsaWduU2VsZjogJ2ZsZXgtZW5kJyxcbn0pKTtcblxuY29uc3QgU3R5bGVkVHJpZ2dlciA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgY3Vyc29yOiAncG9pbnRlcicsXG4gIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplLFxuICBjb2xvcjogY29sb3IudGVydGlhcnkoKSxcbiAgcGFkZGluZzogdGhlbWUuc3BhY2luZygxKSxcbn0pKTtcblxuY29uc3QgU3R5bGVkQWN0aW9uc1BhcGVyID0gc3R5bGVkKFBhcGVyKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBwYWRkaW5nOiB0aGVtZS5zcGFjaW5nKDEpLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICBnYXA6IHRoZW1lLnNwYWNpbmcoMSksXG4gICcmIGJ1dHRvbic6IHtcbiAgICB0ZXh0VHJhbnNmb3JtOiAnbm9uZScsXG4gICAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUsXG4gICAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2ZsZXgtc3RhcnQnLFxuICB9LFxufSkpO1xuXG5leHBvcnQgY2xhc3MgQWN0aW9uc0J1dHRvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBhY3Rpb25zQW5jaG9yRWw6IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBhY3Rpb25zQW5jaG9yRWw6IG51bGwgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGFkZENhdGVnb3J5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlbGV0ZUNhdGVnb3J5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxhbmd1YWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNhdGVnb3JpZXM6IFByb3BUeXBlcy5hcnJheSxcbiAgfTtcblxuICBoYW5kbGVBY3Rpb25zQ2xpY2sgPSAoZXZlbnQpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgYWN0aW9uc0FuY2hvckVsOiBldmVudC5jdXJyZW50VGFyZ2V0IH0pO1xuICB9O1xuXG4gIGhhbmRsZUFjdGlvbnNDbG9zZSA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgYWN0aW9uc0FuY2hvckVsOiBudWxsIH0pO1xuICB9O1xuXG4gIGhhbmRsZUFkZENhdGVnb3J5ID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgYWRkQ2F0ZWdvcnkgfSA9IHRoaXMucHJvcHM7XG4gICAgYWRkQ2F0ZWdvcnkoKTtcbiAgICB0aGlzLmhhbmRsZUFjdGlvbnNDbG9zZSgpO1xuICB9O1xuXG4gIGhhbmRsZURlbGV0ZUNhdGVnb3J5ID0gKGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBkZWxldGVDYXRlZ29yeSB9ID0gdGhpcy5wcm9wcztcbiAgICBkZWxldGVDYXRlZ29yeShpbmRleCk7XG4gICAgdGhpcy5oYW5kbGVBY3Rpb25zQ2xvc2UoKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjYXRlZ29yaWVzLCBsYW5ndWFnZSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGFjdGlvbnNBbmNob3JFbCB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQWN0aW9ucz5cbiAgICAgICAgPFN0eWxlZFRyaWdnZXIgcm9sZT1cImJ1dHRvblwiIHRhYkluZGV4PXswfSBvbkNsaWNrPXt0aGlzLmhhbmRsZUFjdGlvbnNDbGlja30+XG4gICAgICAgICAgQWN0aW9uc1xuICAgICAgICA8L1N0eWxlZFRyaWdnZXI+XG4gICAgICAgIDxQb3BvdmVyXG4gICAgICAgICAga2V5PXtgYWN0aW9ucy1wb3BvdmVyLSR7TWF0aC5yYW5kb20oKX1gfVxuICAgICAgICAgIG9wZW49e0Jvb2xlYW4oYWN0aW9uc0FuY2hvckVsKX1cbiAgICAgICAgICBhbmNob3JFbD17YWN0aW9uc0FuY2hvckVsfVxuICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuaGFuZGxlQWN0aW9uc0Nsb3NlfVxuICAgICAgICAgIGFuY2hvck9yaWdpbj17eyB2ZXJ0aWNhbDogJ2JvdHRvbScsIGhvcml6b250YWw6ICdsZWZ0JyB9fVxuICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbj17eyB2ZXJ0aWNhbDogJ3RvcCcsIGhvcml6b250YWw6ICdsZWZ0JyB9fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0eWxlZEFjdGlvbnNQYXBlcj5cbiAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17KCkgPT4gdGhpcy5oYW5kbGVBZGRDYXRlZ29yeSgpfT5cbiAgICAgICAgICAgICAgKyB7dHJhbnNsYXRvci50KCdjaGFydGluZy5hZGQnLCB7IGxuZzogbGFuZ3VhZ2UgfSl9XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIHtjYXRlZ29yaWVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgY2F0ZWdvcmllcy5tYXAoXG4gICAgICAgICAgICAgICAgKGNhdGVnb3J5LCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5LmRlbGV0YWJsZSAmJlxuICAgICAgICAgICAgICAgICAgIWNhdGVnb3J5LmNvcnJlY3RuZXNzICYmIChcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBrZXk9e2luZGV4fSBvbkNsaWNrPXsoKSA9PiB0aGlzLmhhbmRsZURlbGV0ZUNhdGVnb3J5KGluZGV4KX0+XG4gICAgICAgICAgICAgICAgICAgICAge2Ake3RyYW5zbGF0b3IudCgnY2hhcnRpbmcuZGVsZXRlJywgeyBsbmc6IGxhbmd1YWdlIH0pfSA8JHtjYXRlZ29yeS5sYWJlbCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRvci50KCdjaGFydGluZy5uZXdMYWJlbCcsIHsgbG5nOiBsYW5ndWFnZSB9KX0+YH1cbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgIDwvU3R5bGVkQWN0aW9uc1BhcGVyPlxuICAgICAgICA8L1BvcG92ZXI+XG4gICAgICA8L1N0eWxlZEFjdGlvbnM+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBY3Rpb25zQnV0dG9uO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQU0sU0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQTZDLFNBQUFRLFdBQUFDLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFdBQUFELENBQUEsT0FBQUUsZ0JBQUEsYUFBQUYsQ0FBQSxPQUFBRywyQkFBQSxhQUFBSixDQUFBLEVBQUFLLHlCQUFBLEtBQUFDLE9BQUEsQ0FBQUMsU0FBQSxDQUFBTixDQUFBLEVBQUFDLENBQUEsWUFBQUMsZ0JBQUEsYUFBQUgsQ0FBQSxFQUFBUSxXQUFBLElBQUFQLENBQUEsQ0FBQVEsS0FBQSxDQUFBVCxDQUFBLEVBQUFFLENBQUE7QUFBQSxTQUFBRywwQkFBQSxjQUFBTCxDQUFBLElBQUFVLE9BQUEsQ0FBQUMsU0FBQSxDQUFBQyxPQUFBLENBQUFDLElBQUEsQ0FBQVAsT0FBQSxDQUFBQyxTQUFBLENBQUFHLE9BQUEsaUNBQUFWLENBQUEsYUFB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
145
+ //# sourceMappingURL=actions-button.js.map
package/lib/axes.js CHANGED
@@ -28,6 +28,31 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
28
28
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29
29
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
30
30
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
31
+ // one document-level MutationObserver shared across all
32
+ // RawChartAxes instances so that no chart misses a MathJax render batch
33
+ var _mathCallbacks = new Set();
34
+ var _docObserver = null;
35
+ function registerMathCallback(cb) {
36
+ _mathCallbacks.add(cb);
37
+ if (!_docObserver && typeof document !== 'undefined') {
38
+ _docObserver = new MutationObserver(function () {
39
+ _mathCallbacks.forEach(function (fn) {
40
+ return fn();
41
+ });
42
+ });
43
+ _docObserver.observe(document.body, {
44
+ childList: true,
45
+ subtree: true
46
+ });
47
+ }
48
+ }
49
+ function unregisterMathCallback(cb) {
50
+ _mathCallbacks["delete"](cb);
51
+ if (_mathCallbacks.size === 0 && _docObserver) {
52
+ _docObserver.disconnect();
53
+ _docObserver = null;
54
+ }
55
+ }
31
56
  var StyledErrorText = (0, _styles.styled)('text')(function (_ref) {
32
57
  var theme = _ref.theme;
33
58
  return {
@@ -414,6 +439,48 @@ var RawChartAxes = exports.RawChartAxes = /*#__PURE__*/function (_React$Componen
414
439
  height: 0,
415
440
  width: 0
416
441
  });
442
+ (0, _defineProperty2["default"])(_this3, "measureHiddenLabel", function () {
443
+ if (!_this3.hiddenLabelRef) return;
444
+ var mjx = _this3.hiddenLabelRef.querySelector('mjx-container');
445
+ var input = _this3.hiddenLabelRef.querySelector('input');
446
+ var target = mjx || input || _this3.hiddenLabelRef;
447
+ var rect = target.getBoundingClientRect();
448
+ var height = Math.floor(rect.height);
449
+ var width = Math.floor(rect.width);
450
+ if (height !== _this3.state.height || width !== _this3.state.width) {
451
+ _this3.setState({
452
+ height: height,
453
+ width: width
454
+ });
455
+ }
456
+ });
457
+ // called by the document-level observer on every DOM mutation.
458
+ // only re-measures once mjx-container is present in our hidden label.
459
+ (0, _defineProperty2["default"])(_this3, "_onDocMutation", function () {
460
+ if (!_this3.hiddenLabelRef) return;
461
+ if (_this3.hiddenLabelRef.querySelector('mjx-container')) {
462
+ _this3.measureHiddenLabel();
463
+ }
464
+ });
465
+ (0, _defineProperty2["default"])(_this3, "observeHiddenLabel", function (el) {
466
+ if (!el) return;
467
+ var containsLatex = el.querySelector('[data-latex], [data-raw]');
468
+ if (containsLatex) {
469
+ (0, _mathRendering.renderMath)(el);
470
+ }
471
+ if (el.querySelector('mjx-container') || !containsLatex) {
472
+ _this3.measureHiddenLabel();
473
+ }
474
+ // always register: if mjx-container isn't there yet, the doc observer will
475
+ // call _onDocMutation when MathJax finishes rendering any element on the page.
476
+ registerMathCallback(_this3._onDocMutation);
477
+ });
478
+ (0, _defineProperty2["default"])(_this3, "setHiddenLabelRef", function (ref) {
479
+ if (ref && ref !== _this3.hiddenLabelRef) {
480
+ _this3.hiddenLabelRef = ref;
481
+ _this3.observeHiddenLabel(ref);
482
+ }
483
+ });
417
484
  return _this3;
418
485
  }
419
486
  (0, _inherits2["default"])(RawChartAxes, _React$Component2);
@@ -421,40 +488,32 @@ var RawChartAxes = exports.RawChartAxes = /*#__PURE__*/function (_React$Componen
421
488
  key: "componentDidMount",
422
489
  value: function componentDidMount() {
423
490
  if (this.hiddenLabelRef) {
424
- var boundingClientRect = this.hiddenLabelRef.getBoundingClientRect();
425
- var hiddenEl = this.hiddenLabelRef;
426
-
427
- // same logic used in dropdown.jsx for hidden labels width calculation
428
- if (hiddenEl) {
429
- var containsLatex = hiddenEl.querySelector('[data-latex], [data-raw]');
430
- var hasMathJax = hiddenEl.querySelector('mjx-container');
431
- var mathHandled = hiddenEl.querySelector('[data-math-handled="true"]');
432
- if (containsLatex && (!mathHandled || !hasMathJax)) {
433
- (0, _mathRendering.renderMath)(this.hiddenLabelRef);
434
- }
435
- this.setState({
436
- height: Math.floor(boundingClientRect.height),
437
- width: Math.floor(boundingClientRect.width)
438
- });
439
- }
491
+ this.observeHiddenLabel(this.hiddenLabelRef);
492
+ }
493
+ }
494
+ }, {
495
+ key: "componentWillUnmount",
496
+ value: function componentWillUnmount() {
497
+ unregisterMathCallback(this._onDocMutation);
498
+ if (this._updateTimer) {
499
+ clearTimeout(this._updateTimer);
440
500
  }
441
501
  }
442
502
  }, {
443
503
  key: "componentDidUpdate",
444
- value: function componentDidUpdate() {
445
- if (this.hiddenLabelRef) {
446
- var width = Math.floor(this.hiddenLabelRef.getBoundingClientRect().width);
447
- if (width !== this.state.width) {
448
- this.setState({
449
- width: width
450
- });
451
- }
504
+ value: function componentDidUpdate(prevProps) {
505
+ var _this4 = this;
506
+ if (prevProps.categories !== this.props.categories) {
507
+ if (this._updateTimer) clearTimeout(this._updateTimer);
508
+ this._updateTimer = setTimeout(function () {
509
+ return _this4.measureHiddenLabel();
510
+ }, 50);
452
511
  }
453
512
  }
454
513
  }, {
455
514
  key: "render",
456
515
  value: function render() {
457
- var _this4 = this;
516
+ var _this5 = this;
458
517
  var _this$props5 = this.props,
459
518
  graphProps = _this$props5.graphProps,
460
519
  xBand = _this$props5.xBand,
@@ -505,9 +564,7 @@ var RawChartAxes = exports.RawChartAxes = /*#__PURE__*/function (_React$Componen
505
564
  };
506
565
  var getTickComponent = function getTickComponent(props) {
507
566
  var properties = {
508
- hiddenLabelRef: function hiddenLabelRef(ref) {
509
- _this4.hiddenLabelRef = ref;
510
- },
567
+ hiddenLabelRef: _this5.setHiddenLabelRef,
511
568
  categories: categories,
512
569
  xBand: xBand,
513
570
  bandWidth: bandWidth,
@@ -583,4 +640,4 @@ var RawChartAxes = exports.RawChartAxes = /*#__PURE__*/function (_React$Componen
583
640
  })])
584
641
  });
585
642
  var _default = exports["default"] = RawChartAxes;
586
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX2F4aXMiLCJfQ2hlY2tib3giLCJfcGxvdCIsIl9yZW5kZXJVaSIsIl9jb25maWdVaSIsIl9tYXRoUmVuZGVyaW5nIiwiX2NvcnJlY3RuZXNzSW5kaWNhdG9ycyIsIl91dGlscyIsIl9tYXJrTGFiZWwiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiY2FsbCIsIlN0eWxlZEVycm9yVGV4dCIsInN0eWxlZCIsIl9yZWYiLCJ0aGVtZSIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsImZpbGwiLCJwYWxldHRlIiwiZXJyb3IiLCJtYWluIiwiU3R5bGVkQ2hlY2tib3giLCJDaGVja2JveCIsImNvbG9yIiwiY29uY2F0IiwidGVydGlhcnkiLCJTdHlsZWRBeGVzR3JvdXAiLCJfcmVmMiIsIl90aGVtZSR0eXBvZ3JhcGh5JGJvZCIsInN0cm9rZSIsInZpc3VhbEVsZW1lbnRzQ29sb3JzIiwiQVhJU19MSU5FX0NPTE9SIiwic3Ryb2tlV2lkdGgiLCJBWElTX1RJQ0tfQ09MT1IiLCJmb250RmFtaWx5IiwiYm9keTEiLCJ0ZXh0QW5jaG9yIiwiY29ycmVjdG5lc3NJY29uU3R5bGVzIiwiYm9yZGVyUmFkaXVzIiwic3BhY2luZyIsImRlZmF1bHRzIiwiV0hJVEUiLCJ3aWR0aCIsImhlaWdodCIsInBhZGRpbmciLCJib3JkZXIiLCJib3hTaXppbmciLCJpbmNvcnJlY3RJY29uU3R5bGVzIiwiYmFja2dyb3VuZENvbG9yIiwiaW5jb3JyZWN0V2l0aEljb24iLCJjb3JyZWN0SWNvblN0eWxlcyIsImNvcnJlY3QiLCJUaWNrQ29tcG9uZW50IiwiZXhwb3J0cyIsIl9SZWFjdCRDb21wb25lbnQiLCJwcm9wcyIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIm9wZW4iLCJjYWxsYmFjayIsInNldFN0YXRlIiwiZGlhbG9nIiwiaW5kZXgiLCJuZXdMYWJlbCIsIl90aGlzJHByb3BzIiwiY2F0ZWdvcmllcyIsIm9uQ2hhbmdlQ2F0ZWdvcnkiLCJjYXRlZ29yeSIsImxhYmVsIiwidmFsdWUiLCJfdGhpcyRwcm9wczIiLCJ0aXRsZSIsInRleHQiLCJvbkNvbmZpcm0iLCJoYW5kbGVBbGVydERpYWxvZyIsImludGVyYWN0aXZlIiwib25DbG9zZSIsIl90aGlzJHByb3BzMyIsImVkaXRhYmxlIiwibWF4Q2hhciIsImNodW5rcyIsImluZGV4VG9TcGxpdCIsImxhc3RJbmRleE9mIiwic3Vic3RyaW5nIiwidHJpbSIsInN0YXRlIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJhdXRvRm9jdXMiLCJvbkF1dG9Gb2N1c1VzZWQiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRwcm9wczQiLCJ4QmFuZCIsImJhbmRXaWR0aCIsImJhcldpZHRoIiwicm90YXRlIiwidG9wIiwiZ3JhcGhQcm9wcyIsImRlZmluZUNoYXJ0IiwiY2hhcnRpbmdPcHRpb25zIiwieCIsInkiLCJmb3JtYXR0ZWRWYWx1ZSIsImNoYW5nZUludGVyYWN0aXZlRW5hYmxlZCIsImNoYW5nZUVkaXRhYmxlRW5hYmxlZCIsImhpZGRlbkxhYmVsUmVmIiwic2hvd0NvcnJlY3RuZXNzIiwiY2xhc3NlcyIsImNvcnJlY3RuZXNzSWNvbiIsImluY29ycmVjdEljb24iLCJjb3JyZWN0SWNvbiIsIl9yZWYzIiwiY2hhbmdlRWRpdGFibGUiLCJjaGFuZ2VJbnRlcmFjdGl2ZSIsInBhcnNlSW50Iiwic3BsaXQiLCJfcmVmNCIsImNvcnJlY3RuZXNzIiwiYmFyWCIsImJhbmRLZXkiLCJsb25nZXN0Q2F0ZWdvcnkiLCJyZWR1Y2UiLCJhIiwiYiIsImxlbmd0aEEiLCJsZW5ndGhCIiwiZGlzdGluY3RNZXNzYWdlcyIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJTZXQiLCJ2YWx1ZXMiLCJqb2luIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwicG9pbnRlckV2ZW50cyIsIm92ZXJmbG93IiwiaXNIaWRkZW5MYWJlbCIsImlucHV0UmVmIiwiZGlzYWJsZWQiLCJtYXJrIiwiaW5wdXQiLCJvbkNoYW5nZSIsImNoYW5nZUNhdGVnb3J5IiwibGltaXRDaGFyYWN0ZXJzIiwiY29ycmVjdG5lc3NJbmRpY2F0b3IiLCJUaWNrQ29ycmVjdG5lc3NJbmRpY2F0b3IiLCJwb3NpdGlvbiIsIndvcmRCcmVhayIsIm1heFdpZHRoIiwiZGlzcGxheSIsInNwbGl0VGV4dCIsImF1dGhvcmluZ0xhYmVsIiwibWFwIiwid29yZCIsImR5IiwiY2hlY2tlZCIsInRhcmdldCIsIkFsZXJ0RGlhbG9nIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJib29sIiwiYW55IiwicHJvcFR5cGVzIiwiYXJyYXkiLCJmdW5jIiwibnVtYmVyIiwib2JqZWN0Iiwic3RyaW5nIiwib25lT2ZUeXBlIiwic2hhcGUiLCJjdXJyZW50IiwiaW5zdGFuY2VPZiIsIkVsZW1lbnQiLCJSYXdDaGFydEF4ZXMiLCJfUmVhY3QkQ29tcG9uZW50MiIsIl90aGlzMyIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29tcG9uZW50RGlkTW91bnQiLCJib3VuZGluZ0NsaWVudFJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJoaWRkZW5FbCIsImNvbnRhaW5zTGF0ZXgiLCJxdWVyeVNlbGVjdG9yIiwiaGFzTWF0aEpheCIsIm1hdGhIYW5kbGVkIiwicmVuZGVyTWF0aCIsIk1hdGgiLCJmbG9vciIsIl90aGlzNCIsIl90aGlzJHByb3BzNSIsImxlZnRBeGlzIiwiX3RoaXMkcHJvcHM1JGNhdGVnb3JpIiwiX3JlZjUiLCJfcmVmNSRzY2FsZSIsInNjYWxlIiwiX3JlZjUkcmFuZ2UiLCJyYW5nZSIsIl9yZWY1JGRvbWFpbiIsImRvbWFpbiIsIl9yZWY1JHNpemUiLCJzaXplIiwiX3RoaXMkc3RhdGUiLCJib3R0b21TY2FsZSIsInJhbmdlUm91bmQiLCJiYW5kd2lkdGgiLCJtYXgiLCJyb3dUaWNrVmFsdWVzIiwiZ2V0VGlja1ZhbHVlcyIsInN0ZXAiLCJsYWJlbFN0ZXAiLCJyb3RhdGVCZWNhdXNlT2ZIZWlnaHQiLCJnZXRSb3RhdGVBbmdsZSIsInJvdGF0ZUJlY2F1c2VPZldpZHRoIiwiZ2V0VGlja0xhYmVsUHJvcHMiLCJkeCIsInRvTG9jYWxlU3RyaW5nIiwiZ2V0VGlja0NvbXBvbmVudCIsInByb3BlcnRpZXMiLCJyZWYiLCJBeGlzTGVmdCIsInRpY2tMZW5ndGgiLCJ0aWNrRm9ybWF0IiwidGlja1ZhbHVlcyIsInRpY2tMYWJlbFByb3BzIiwiQXhpc0JvdHRvbSIsImxhYmVsUHJvcHMiLCJtaW4iLCJ0ZXh0TGFiZWxQcm9wcyIsImNvdW50IiwidGlja0NvbXBvbmVudCIsInR5cGVzIiwiR3JhcGhQcm9wc1R5cGUiLCJpc1JlcXVpcmVkIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvYXhlcy5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgeyBBeGlzQm90dG9tLCBBeGlzTGVmdCB9IGZyb20gJ0B2aXN4L2F4aXMnO1xuaW1wb3J0IENoZWNrYm94IGZyb20gJ0BtdWkvbWF0ZXJpYWwvQ2hlY2tib3gnO1xuXG5pbXBvcnQgeyB0eXBlcyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IHsgQWxlcnREaWFsb2cgfSBmcm9tICdAcGllLWxpYi9jb25maWctdWknO1xuaW1wb3J0IHsgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcblxuaW1wb3J0IHsgVGlja0NvcnJlY3RuZXNzSW5kaWNhdG9yIH0gZnJvbSAnLi9jb21tb24vY29ycmVjdG5lc3MtaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBiYW5kS2V5LCBnZXRSb3RhdGVBbmdsZSwgZ2V0VGlja1ZhbHVlcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IE1hcmtMYWJlbCBmcm9tICcuL21hcmstbGFiZWwnO1xuXG5jb25zdCBTdHlsZWRFcnJvclRleHQgPSBzdHlsZWQoJ3RleHQnKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSAtIDIsXG4gIGZpbGw6IHRoZW1lLnBhbGV0dGUuZXJyb3IubWFpbixcbn0pKTtcblxuY29uc3QgU3R5bGVkQ2hlY2tib3ggPSBzdHlsZWQoQ2hlY2tib3gpKCgpID0+ICh7XG4gIGNvbG9yOiBgJHtjb2xvci50ZXJ0aWFyeSgpfSAhaW1wb3J0YW50YCxcbn0pKTtcblxuY29uc3QgU3R5bGVkQXhlc0dyb3VwID0gc3R5bGVkKCdnJykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgJyYgLnZ4LWF4aXMtbGluZSc6IHtcbiAgICBzdHJva2U6IGNvbG9yLnZpc3VhbEVsZW1lbnRzQ29sb3JzLkFYSVNfTElORV9DT0xPUixcbiAgICBzdHJva2VXaWR0aDogMixcbiAgfSxcbiAgJyYgLnZ4LWF4aXMtdGljayc6IHtcbiAgICBmaWxsOiBjb2xvci52aXN1YWxFbGVtZW50c0NvbG9ycy5BWElTX1RJQ0tfQ09MT1IsXG4gICAgJyYgbGluZSc6IHtcbiAgICAgIHN0cm9rZTogY29sb3IudmlzdWFsRWxlbWVudHNDb2xvcnMuQVhJU19USUNLX0NPTE9SLFxuICAgICAgc3Ryb2tlV2lkdGg6IDIsXG4gICAgfSxcbiAgICBmb250RmFtaWx5OiB0aGVtZS50eXBvZ3JhcGh5LmJvZHkxPy5mb250RmFtaWx5LFxuICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplLFxuICAgIHRleHRBbmNob3I6ICdtaWRkbGUnLFxuICB9LFxufSkpO1xuXG5jb25zdCBjb3JyZWN0bmVzc0ljb25TdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIGJvcmRlclJhZGl1czogdGhlbWUuc3BhY2luZygyKSxcbiAgY29sb3I6IGNvbG9yLmRlZmF1bHRzLldISVRFLFxuICBmb250U2l6ZTogJzE2cHgnLFxuICB3aWR0aDogJzE2cHgnLFxuICBoZWlnaHQ6ICcxNnB4JyxcbiAgcGFkZGluZzogJzJweCcsXG4gIGJvcmRlcjogYDFweCBzb2xpZCAke2NvbG9yLmRlZmF1bHRzLldISVRFfWAsXG4gIGJveFNpemluZzogJ3Vuc2V0JywgLy8gdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYm9yZGVyLWJveCBpbiBJQlhcbn0pO1xuXG5jb25zdCBpbmNvcnJlY3RJY29uU3R5bGVzID0ge1xuICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmluY29ycmVjdFdpdGhJY29uKCksXG59O1xuXG5jb25zdCBjb3JyZWN0SWNvblN0eWxlcyA9IHtcbiAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5jb3JyZWN0KCksXG59O1xuXG5leHBvcnQgY2xhc3MgVGlja0NvbXBvbmVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgZGVmaW5lQ2hhcnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGVycm9yOiBQcm9wVHlwZXMuYW55LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBkaWFsb2c6IHtcbiAgICAgICAgb3BlbjogZmFsc2UsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgaWYgKHRoaXMucHJvcHMuYXV0b0ZvY3VzICYmICFwcmV2UHJvcHMuYXV0b0ZvY3VzKSB7XG4gICAgICB0aGlzLnByb3BzLm9uQXV0b0ZvY3VzVXNlZCgpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUFsZXJ0RGlhbG9nID0gKG9wZW4sIGNhbGxiYWNrKSA9PlxuICAgIHRoaXMuc2V0U3RhdGUoXG4gICAgICB7XG4gICAgICAgIGRpYWxvZzogeyBvcGVuIH0sXG4gICAgICB9LFxuICAgICAgY2FsbGJhY2ssXG4gICAgKTtcblxuICBjaGFuZ2VDYXRlZ29yeSA9IChpbmRleCwgbmV3TGFiZWwpID0+IHtcbiAgICBjb25zdCB7IGNhdGVnb3JpZXMsIG9uQ2hhbmdlQ2F0ZWdvcnkgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgY2F0ZWdvcnkgPSBjYXRlZ29yaWVzW2luZGV4XTtcblxuICAgIG9uQ2hhbmdlQ2F0ZWdvcnkoaW5kZXgsIHsgLi4uY2F0ZWdvcnksIGxhYmVsOiBuZXdMYWJlbCB9KTtcbiAgfTtcblxuICBjaGFuZ2VJbnRlcmFjdGl2ZSA9IChpbmRleCwgdmFsdWUpID0+IHtcbiAgICBjb25zdCB7IGNhdGVnb3JpZXMsIG9uQ2hhbmdlQ2F0ZWdvcnkgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgY2F0ZWdvcnkgPSBjYXRlZ29yaWVzW2luZGV4XTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBkaWFsb2c6IHtcbiAgICAgICAgICBvcGVuOiB0cnVlLFxuICAgICAgICAgIHRpdGxlOiAnV2FybmluZycsXG4gICAgICAgICAgdGV4dDogJ1RoaXMgd2lsbCByZW1vdmUgdGhlIGNvcnJlY3QgYW5zd2VyIHZhbHVlIHRoYXQgaGFzIGJlZW4gZGVmaW5lZCBmb3IgdGhpcyBjYXRlZ29yeS4nLFxuICAgICAgICAgIG9uQ29uZmlybTogKCkgPT5cbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQWxlcnREaWFsb2coZmFsc2UsIG9uQ2hhbmdlQ2F0ZWdvcnkoaW5kZXgsIHsgLi4uY2F0ZWdvcnksIGludGVyYWN0aXZlOiAhY2F0ZWdvcnkuaW50ZXJhY3RpdmUgfSkpLFxuICAgICAgICAgIG9uQ2xvc2U6ICgpID0+IHRoaXMuaGFuZGxlQWxlcnREaWFsb2coZmFsc2UpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9uQ2hhbmdlQ2F0ZWdvcnkoaW5kZXgsIHsgLi4uY2F0ZWdvcnksIGludGVyYWN0aXZlOiAhY2F0ZWdvcnkuaW50ZXJhY3RpdmUgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNoYW5nZUVkaXRhYmxlID0gKGluZGV4LCB2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IHsgY2F0ZWdvcmllcywgb25DaGFuZ2VDYXRlZ29yeSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYXRlZ29yeSA9IGNhdGVnb3JpZXNbaW5kZXhdO1xuXG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGRpYWxvZzoge1xuICAgICAgICAgIG9wZW46IHRydWUsXG4gICAgICAgICAgdGl0bGU6ICdXYXJuaW5nJyxcbiAgICAgICAgICB0ZXh0OiAnVGhpcyB3aWxsIHJlbW92ZSB0aGUgY29ycmVjdCBhbnN3ZXIgY2F0ZWdvcnkgbmFtZSB0aGF0IGhhcyBiZWVuIGRlZmluZWQgZm9yIHRoaXMgY2F0ZWdvcnkuJyxcbiAgICAgICAgICBvbkNvbmZpcm06ICgpID0+XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUFsZXJ0RGlhbG9nKFxuICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgb25DaGFuZ2VDYXRlZ29yeShpbmRleCwgeyAuLi5jYXRlZ29yeSwgZWRpdGFibGU6ICFjYXRlZ29yeS5lZGl0YWJsZSB8fCBmYWxzZSB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgb25DbG9zZTogKCkgPT4gdGhpcy5oYW5kbGVBbGVydERpYWxvZyhmYWxzZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgb25DaGFuZ2VDYXRlZ29yeShpbmRleCwgeyAuLi5jYXRlZ29yeSwgZWRpdGFibGU6ICFjYXRlZ29yeS5lZGl0YWJsZSB8fCBmYWxzZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgc3BsaXRUZXh0ID0gKHRleHQsIG1heENoYXIpID0+IHtcbiAgICBsZXQgY2h1bmtzID0gW107XG4gICAgd2hpbGUgKCh0ZXh0IHx8ICcnKS5sZW5ndGggPiAwKSB7XG4gICAgICBsZXQgaW5kZXhUb1NwbGl0O1xuICAgICAgaWYgKHRleHQubGVuZ3RoID4gbWF4Q2hhcikge1xuICAgICAgICBpbmRleFRvU3BsaXQgPSB0ZXh0Lmxhc3RJbmRleE9mKCcgJywgbWF4Q2hhcik7XG4gICAgICAgIGlmIChpbmRleFRvU3BsaXQgPT09IC0xKSB7XG4gICAgICAgICAgaW5kZXhUb1NwbGl0ID0gbWF4Q2hhcjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5kZXhUb1NwbGl0ID0gdGV4dC5sZW5ndGg7XG4gICAgICB9XG4gICAgICBjaHVua3MucHVzaCh0ZXh0LnN1YnN0cmluZygwLCBpbmRleFRvU3BsaXQpKTtcbiAgICAgIHRleHQgPSB0ZXh0LnN1YnN0cmluZyhpbmRleFRvU3BsaXQpLnRyaW0oKTtcbiAgICB9XG4gICAgcmV0dXJuIGNodW5rcztcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY2F0ZWdvcmllcyxcbiAgICAgIHhCYW5kLFxuICAgICAgYmFuZFdpZHRoLFxuICAgICAgYmFyV2lkdGgsXG4gICAgICByb3RhdGUsXG4gICAgICB0b3AsXG4gICAgICBncmFwaFByb3BzLFxuICAgICAgZGVmaW5lQ2hhcnQsXG4gICAgICBjaGFydGluZ09wdGlvbnMsXG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIGZvcm1hdHRlZFZhbHVlLFxuICAgICAgY2hhbmdlSW50ZXJhY3RpdmVFbmFibGVkLFxuICAgICAgY2hhbmdlRWRpdGFibGVFbmFibGVkLFxuICAgICAgZXJyb3IsXG4gICAgICBhdXRvRm9jdXMsXG4gICAgICBoaWRkZW5MYWJlbFJlZixcbiAgICAgIHNob3dDb3JyZWN0bmVzcyxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICghZm9ybWF0dGVkVmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBjbGFzc2VzIG9iamVjdCBmb3IgVGlja0NvcnJlY3RuZXNzSW5kaWNhdG9yIGNvbXBhdGliaWxpdHlcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgY29ycmVjdG5lc3NJY29uOiBjb3JyZWN0bmVzc0ljb25TdHlsZXMsXG4gICAgICBpbmNvcnJlY3RJY29uOiBpbmNvcnJlY3RJY29uU3R5bGVzLFxuICAgICAgY29ycmVjdEljb246IGNvcnJlY3RJY29uU3R5bGVzLFxuICAgIH07XG5cbiAgICBjb25zdCB7IGRpYWxvZyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGNoYW5nZUVkaXRhYmxlLCBjaGFuZ2VJbnRlcmFjdGl2ZSB9ID0gY2hhcnRpbmdPcHRpb25zIHx8IHt9O1xuICAgIGNvbnN0IGluZGV4ID0gcGFyc2VJbnQoZm9ybWF0dGVkVmFsdWUuc3BsaXQoJy0nKVswXSwgMTApO1xuICAgIGNvbnN0IGNhdGVnb3J5ID0gY2F0ZWdvcmllc1tpbmRleF07XG4gICAgY29uc3QgeyBlZGl0YWJsZSwgaW50ZXJhY3RpdmUsIGxhYmVsLCBjb3JyZWN0bmVzcyB9ID0gY2F0ZWdvcnkgfHwge307XG4gICAgY29uc3QgYmFyWCA9IHhCYW5kKGJhbmRLZXkoeyBsYWJlbCB9LCBpbmRleCkpO1xuICAgIGNvbnN0IGxvbmdlc3RDYXRlZ29yeSA9IChjYXRlZ29yaWVzIHx8IFtdKS5yZWR1Y2UoXG4gICAgICAoYSwgYikgPT4ge1xuICAgICAgICBjb25zdCBsZW5ndGhBID0gYSAmJiBhLmxhYmVsID8gYS5sYWJlbC5sZW5ndGggOiAwO1xuICAgICAgICBjb25zdCBsZW5ndGhCID0gYiAmJiBiLmxhYmVsID8gYi5sYWJlbC5sZW5ndGggOiAwO1xuXG4gICAgICAgIHJldHVybiBsZW5ndGhBID4gbGVuZ3RoQiA/IGEgOiBiO1xuICAgICAgfSxcbiAgICAgIHsgbGFiZWw6ICcnIH0sXG4gICAgKTtcbiAgICBjb25zdCBkaXN0aW5jdE1lc3NhZ2VzID0gZXJyb3IgPyBbLi4ubmV3IFNldChPYmplY3QudmFsdWVzKGVycm9yKSldLmpvaW4oJyAnKSA6ICcnO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxnPlxuICAgICAgICA8Zm9yZWlnbk9iamVjdFxuICAgICAgICAgIHg9e2JhbmRXaWR0aCA/IGJhclggOiB4IC0gYmFyV2lkdGggLyAyfVxuICAgICAgICAgIHk9ezE4fVxuICAgICAgICAgIHdpZHRoPXtiYXJXaWR0aH1cbiAgICAgICAgICBoZWlnaHQ9ezR9XG4gICAgICAgICAgc3R5bGU9e3sgcG9pbnRlckV2ZW50czogJ25vbmUnLCBvdmVyZmxvdzogJ3Zpc2libGUnIH19XG4gICAgICAgID5cbiAgICAgICAgICB7aW5kZXggPT09IDAgJiYgKFxuICAgICAgICAgICAgPE1hcmtMYWJlbFxuICAgICAgICAgICAgICBpc0hpZGRlbkxhYmVsPXt0cnVlfVxuICAgICAgICAgICAgICBpbnB1dFJlZj17aGlkZGVuTGFiZWxSZWZ9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXt0cnVlfVxuICAgICAgICAgICAgICBtYXJrPXtsb25nZXN0Q2F0ZWdvcnl9XG4gICAgICAgICAgICAgIGdyYXBoUHJvcHM9e2dyYXBoUHJvcHN9XG4gICAgICAgICAgICAgIGJhcldpZHRoPXtiYXJXaWR0aH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIDxNYXJrTGFiZWxcbiAgICAgICAgICAgIGF1dG9Gb2N1cz17ZGVmaW5lQ2hhcnQgJiYgYXV0b0ZvY3VzfVxuICAgICAgICAgICAgaW5wdXRSZWY9eyhyKSA9PiAodGhpcy5pbnB1dCA9IHIpfVxuICAgICAgICAgICAgZGlzYWJsZWQ9eyFkZWZpbmVDaGFydCAmJiAhZWRpdGFibGV9XG4gICAgICAgICAgICBtYXJrPXtjYXRlZ29yeX1cbiAgICAgICAgICAgIGdyYXBoUHJvcHM9e2dyYXBoUHJvcHN9XG4gICAgICAgICAgICBvbkNoYW5nZT17KG5ld0xhYmVsKSA9PiB0aGlzLmNoYW5nZUNhdGVnb3J5KGluZGV4LCBuZXdMYWJlbCl9XG4gICAgICAgICAgICBiYXJXaWR0aD17YmFyV2lkdGh9XG4gICAgICAgICAgICByb3RhdGU9e3JvdGF0ZX1cbiAgICAgICAgICAgIGNvcnJlY3RuZXNzPXtjb3JyZWN0bmVzc31cbiAgICAgICAgICAgIGVycm9yPXtlcnJvciAmJiBlcnJvcltpbmRleF19XG4gICAgICAgICAgICBsaW1pdENoYXJhY3RlcnNcbiAgICAgICAgICAgIGNvcnJlY3RuZXNzSW5kaWNhdG9yPXtcbiAgICAgICAgICAgICAgc2hvd0NvcnJlY3RuZXNzICYmXG4gICAgICAgICAgICAgIGNvcnJlY3RuZXNzICYmIChcbiAgICAgICAgICAgICAgICA8VGlja0NvcnJlY3RuZXNzSW5kaWNhdG9yIGNvcnJlY3RuZXNzPXtjb3JyZWN0bmVzc30gaW50ZXJhY3RpdmU9e2ludGVyYWN0aXZlfSBjbGFzc2VzPXtjbGFzc2VzfSAvPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9mb3JlaWduT2JqZWN0PlxuXG4gICAgICAgIHtlcnJvciAmJiBpbmRleCA9PT0gMCAmJiAoXG4gICAgICAgICAgPFN0eWxlZEVycm9yVGV4dCB5PXt5ICsgMjN9IGhlaWdodD17Nn0gdGV4dEFuY2hvcj1cInN0YXJ0XCI+XG4gICAgICAgICAgICB7ZGlzdGluY3RNZXNzYWdlc31cbiAgICAgICAgICA8L1N0eWxlZEVycm9yVGV4dD5cbiAgICAgICAgKX1cblxuICAgICAgICB7ZGVmaW5lQ2hhcnQgJiYgaW5kZXggPT09IDAgJiYgKFxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIHg9ey01NX1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiAndmlzaWJsZScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjaGFuZ2VJbnRlcmFjdGl2ZUVuYWJsZWQgJiYgKFxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIHk9e3kgKyA5MCArIHRvcH1cbiAgICAgICAgICAgICAgICB3aWR0aD17YmFyV2lkdGh9XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXs0fVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgICAgICAgICAgIHdvcmRCcmVhazogJ2JyZWFrLXdvcmQnLFxuICAgICAgICAgICAgICAgICAgbWF4V2lkdGg6IGJhcldpZHRoLFxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0aGlzLnNwbGl0VGV4dChjaGFuZ2VJbnRlcmFjdGl2ZT8uYXV0aG9yaW5nTGFiZWwsIDIwKS5tYXAoKHdvcmQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICA8dHNwYW4ga2V5PXtpbmRleH0geD1cIjBcIiBkeT17YCR7aW5kZXggPiAwID8gJzEuMmVtJyA6ICcuNmVtJ31gfT5cbiAgICAgICAgICAgICAgICAgICAge3dvcmR9XG4gICAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7Y2hhbmdlRWRpdGFibGVFbmFibGVkICYmIChcbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICB5PXt5ICsgMTQ1ICsgdG9wfVxuICAgICAgICAgICAgICAgIHdpZHRoPXtiYXJXaWR0aH1cbiAgICAgICAgICAgICAgICBoZWlnaHQ9ezR9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgd29yZEJyZWFrOiAnYnJlYWstd29yZCcsXG4gICAgICAgICAgICAgICAgICBtYXhXaWR0aDogYmFyV2lkdGgsXG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RoaXMuc3BsaXRUZXh0KGNoYW5nZUVkaXRhYmxlPy5hdXRob3JpbmdMYWJlbCwgMjApLm1hcCgod29yZCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgIDx0c3BhbiBrZXk9e2luZGV4fSB4PVwiMFwiIGR5PXtgJHtpbmRleCA+IDAgPyAnMS4yZW0nIDogJy42ZW0nfWB9PlxuICAgICAgICAgICAgICAgICAgICB7d29yZH1cbiAgICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgICl9XG5cbiAgICAgICAge2RlZmluZUNoYXJ0ICYmIGNoYW5nZUludGVyYWN0aXZlRW5hYmxlZCAmJiAoXG4gICAgICAgICAgPGZvcmVpZ25PYmplY3RcbiAgICAgICAgICAgIHg9e3ggLSAyNH1cbiAgICAgICAgICAgIHk9e3kgKyA4MCArIHRvcH1cbiAgICAgICAgICAgIHdpZHRoPXtiYXJXaWR0aH1cbiAgICAgICAgICAgIGhlaWdodD17NH1cbiAgICAgICAgICAgIHN0eWxlPXt7IHBvaW50ZXJFdmVudHM6ICd2aXNpYmxlJywgb3ZlcmZsb3c6ICd2aXNpYmxlJyB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTdHlsZWRDaGVja2JveFxuICAgICAgICAgICAgICBzdHlsZT17eyBwb3NpdGlvbjogJ2ZpeGVkJyB9fVxuICAgICAgICAgICAgICBjaGVja2VkPXtpbnRlcmFjdGl2ZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB0aGlzLmNoYW5nZUludGVyYWN0aXZlKGluZGV4LCBlLnRhcmdldC5jaGVja2VkKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9mb3JlaWduT2JqZWN0PlxuICAgICAgICApfVxuXG4gICAgICAgIHtkZWZpbmVDaGFydCAmJiBjaGFuZ2VFZGl0YWJsZUVuYWJsZWQgJiYgKFxuICAgICAgICAgIDxmb3JlaWduT2JqZWN0XG4gICAgICAgICAgICB4PXt4IC0gMjR9XG4gICAgICAgICAgICB5PXt5ICsgMTMwICsgdG9wfVxuICAgICAgICAgICAgd2lkdGg9e2JhcldpZHRofVxuICAgICAgICAgICAgaGVpZ2h0PXs0fVxuICAgICAgICAgICAgc3R5bGU9e3sgcG9pbnRlckV2ZW50czogJ3Zpc2libGUnLCBvdmVyZmxvdzogJ3Zpc2libGUnIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFN0eWxlZENoZWNrYm94XG4gICAgICAgICAgICAgIHN0eWxlPXt7IHBvc2l0aW9uOiAnZml4ZWQnIH19XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e2VkaXRhYmxlfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHRoaXMuY2hhbmdlRWRpdGFibGUoaW5kZXgsIGUudGFyZ2V0LmNoZWNrZWQpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2ZvcmVpZ25PYmplY3Q+XG4gICAgICAgICl9XG5cbiAgICAgICAgPGZvcmVpZ25PYmplY3RcbiAgICAgICAgICB4PXt4IC0gMjR9XG4gICAgICAgICAgeT17eSArIDEwMCArIHRvcH1cbiAgICAgICAgICB3aWR0aD17YmFyV2lkdGh9XG4gICAgICAgICAgaGVpZ2h0PXs0fVxuICAgICAgICAgIHN0eWxlPXt7IHBvaW50ZXJFdmVudHM6ICd2aXNpYmxlJywgb3ZlcmZsb3c6ICd2aXNpYmxlJyB9fVxuICAgICAgICA+XG4gICAgICAgICAgPEFsZXJ0RGlhbG9nXG4gICAgICAgICAgICBvcGVuPXtkaWFsb2cub3Blbn1cbiAgICAgICAgICAgIHRpdGxlPXtkaWFsb2cudGl0bGV9XG4gICAgICAgICAgICB0ZXh0PXtkaWFsb2cudGV4dH1cbiAgICAgICAgICAgIG9uQ2xvc2U9e2RpYWxvZy5vbkNsb3NlfVxuICAgICAgICAgICAgb25Db25maXJtPXtkaWFsb2cub25Db25maXJtfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZm9yZWlnbk9iamVjdD5cbiAgICAgIDwvZz5cbiAgICApO1xuICB9XG59XG5cblRpY2tDb21wb25lbnQucHJvcFR5cGVzID0ge1xuICBjYXRlZ29yaWVzOiBQcm9wVHlwZXMuYXJyYXksXG4gIHhCYW5kOiBQcm9wVHlwZXMuZnVuYyxcbiAgYmFuZFdpZHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICBiYXJXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgcm90YXRlOiBQcm9wVHlwZXMubnVtYmVyLFxuICB0b3A6IFByb3BUeXBlcy5udW1iZXIsXG4gIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gIHk6IFByb3BUeXBlcy5udW1iZXIsXG4gIGdyYXBoUHJvcHM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGZvcm1hdHRlZFZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkNoYW5nZUNhdGVnb3J5OiBQcm9wVHlwZXMuZnVuYyxcbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICBlcnJvcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgZGVmaW5lQ2hhcnQ6IFByb3BUeXBlcy5ib29sLFxuICBjaGFydGluZ09wdGlvbnM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGNoYW5nZUludGVyYWN0aXZlRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGNoYW5nZUVkaXRhYmxlRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGF1dG9Gb2N1czogUHJvcFR5cGVzLmJvb2wsXG4gIG9uQXV0b0ZvY3VzVXNlZDogUHJvcFR5cGVzLmZ1bmMsXG4gIHNob3dDb3JyZWN0bmVzczogUHJvcFR5cGVzLmJvb2wsXG4gIGhpZGRlbkxhYmVsUmVmOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLnNoYXBlKHsgY3VycmVudDogUHJvcFR5cGVzLmluc3RhbmNlT2YoRWxlbWVudCkgfSldKSxcbn07XG5cbmV4cG9ydCBjbGFzcyBSYXdDaGFydEF4ZXMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGJvdHRvbVNjYWxlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjYXRlZ29yaWVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgZGVmaW5lQ2hhcnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGVycm9yOiBQcm9wVHlwZXMuYW55LFxuICAgIGdyYXBoUHJvcHM6IHR5cGVzLkdyYXBoUHJvcHNUeXBlLmlzUmVxdWlyZWQsXG4gICAgeEJhbmQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIGxlZnRBeGlzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25DaGFuZ2VDYXRlZ29yeTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgdG9wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIHRoZW1lOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNoYXJ0aW5nT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjaGFuZ2VJbnRlcmFjdGl2ZUVuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGNoYW5nZUVkaXRhYmxlRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgYXV0b0ZvY3VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbkF1dG9Gb2N1c1VzZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIHNob3dDb3JyZWN0bmVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGlkZGVuTGFiZWxSZWY6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMuc2hhcGUoeyBjdXJyZW50OiBQcm9wVHlwZXMuaW5zdGFuY2VPZihFbGVtZW50KSB9KV0pLFxuICB9O1xuXG4gIHN0YXRlID0geyBoZWlnaHQ6IDAsIHdpZHRoOiAwIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgaWYgKHRoaXMuaGlkZGVuTGFiZWxSZWYpIHtcbiAgICAgIGNvbnN0IGJvdW5kaW5nQ2xpZW50UmVjdCA9IHRoaXMuaGlkZGVuTGFiZWxSZWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBoaWRkZW5FbCA9IHRoaXMuaGlkZGVuTGFiZWxSZWY7XG5cbiAgICAgIC8vIHNhbWUgbG9naWMgdXNlZCBpbiBkcm9wZG93bi5qc3ggZm9yIGhpZGRlbiBsYWJlbHMgd2lkdGggY2FsY3VsYXRpb25cbiAgICAgIGlmIChoaWRkZW5FbCkge1xuICAgICAgICBjb25zdCBjb250YWluc0xhdGV4ID0gaGlkZGVuRWwucXVlcnlTZWxlY3RvcignW2RhdGEtbGF0ZXhdLCBbZGF0YS1yYXddJyk7XG4gICAgICAgIGNvbnN0IGhhc01hdGhKYXggPSBoaWRkZW5FbC5xdWVyeVNlbGVjdG9yKCdtangtY29udGFpbmVyJyk7XG4gICAgICAgIGNvbnN0IG1hdGhIYW5kbGVkID0gaGlkZGVuRWwucXVlcnlTZWxlY3RvcignW2RhdGEtbWF0aC1oYW5kbGVkPVwidHJ1ZVwiXScpO1xuXG4gICAgICAgIGlmIChjb250YWluc0xhdGV4ICYmICghbWF0aEhhbmRsZWQgfHwgIWhhc01hdGhKYXgpKSB7XG4gICAgICAgICAgcmVuZGVyTWF0aCh0aGlzLmhpZGRlbkxhYmVsUmVmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIGhlaWdodDogTWF0aC5mbG9vcihib3VuZGluZ0NsaWVudFJlY3QuaGVpZ2h0KSxcbiAgICAgICAgICB3aWR0aDogTWF0aC5mbG9vcihib3VuZGluZ0NsaWVudFJlY3Qud2lkdGgpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgaWYgKHRoaXMuaGlkZGVuTGFiZWxSZWYpIHtcbiAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5mbG9vcih0aGlzLmhpZGRlbkxhYmVsUmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtcblxuICAgICAgaWYgKHdpZHRoICE9PSB0aGlzLnN0YXRlLndpZHRoKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyB3aWR0aCB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgZ3JhcGhQcm9wcyxcbiAgICAgIHhCYW5kLFxuICAgICAgbGVmdEF4aXMsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uQ2hhbmdlQ2F0ZWdvcnksXG4gICAgICBjYXRlZ29yaWVzID0gW10sXG4gICAgICB0b3AsXG4gICAgICBkZWZpbmVDaGFydCxcbiAgICAgIGNoYXJ0aW5nT3B0aW9ucyxcbiAgICAgIGNoYW5nZUludGVyYWN0aXZlRW5hYmxlZCxcbiAgICAgIGNoYW5nZUVkaXRhYmxlRW5hYmxlZCxcbiAgICAgIHRoZW1lLFxuICAgICAgYXV0b0ZvY3VzLFxuICAgICAgb25BdXRvRm9jdXNVc2VkLFxuICAgICAgZXJyb3IsXG4gICAgICBzaG93Q29ycmVjdG5lc3MsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB7IHNjYWxlID0ge30sIHJhbmdlID0ge30sIGRvbWFpbiA9IHt9LCBzaXplID0ge30gfSA9IGdyYXBoUHJvcHMgfHwge307XG4gICAgY29uc3QgeyBoZWlnaHQsIHdpZHRoIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgY29uc3QgYm90dG9tU2NhbGUgPSB4QmFuZCAmJiB0eXBlb2YgeEJhbmQucmFuZ2VSb3VuZCA9PT0gJ2Z1bmN0aW9uJyAmJiB4QmFuZC5yYW5nZVJvdW5kKFswLCBzaXplLndpZHRoXSk7XG5cbiAgICBjb25zdCBiYW5kV2lkdGggPSB4QmFuZCAmJiB0eXBlb2YgeEJhbmQuYmFuZHdpZHRoID09PSAnZnVuY3Rpb24nICYmIHhCYW5kLmJhbmR3aWR0aCgpO1xuICAgIC8vIGZvciBjaGFydFR5cGUgXCJsaW5lXCIsIGJhbmRXaWR0aCB3aWxsIGJlIDAsIHNvIHdlIGhhdmUgdG8gY2FsY3VsYXRlIGl0XG4gICAgY29uc3QgYmFyV2lkdGggPSBiYW5kV2lkdGggfHwgKHNjYWxlLnggJiYgc2NhbGUueChkb21haW4ubWF4KSAvIGNhdGVnb3JpZXMubGVuZ3RoKTtcblxuICAgIGNvbnN0IHJvd1RpY2tWYWx1ZXMgPSBnZXRUaWNrVmFsdWVzKHsgLi4ucmFuZ2UsIHN0ZXA6IHJhbmdlLmxhYmVsU3RlcCB9KTtcbiAgICBjb25zdCBmb250U2l6ZSA9IHRoZW1lICYmIHRoZW1lLnR5cG9ncmFwaHkgPyB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplIDogMTQ7XG4gICAgLy8gdGhpcyBtb3N0bHkgYXBwbGllcyBmb3IgbGFiZWxzIHRoYXQgYXJlIG5vdCBlZGl0YWJsZVxuICAgIGNvbnN0IHJvdGF0ZUJlY2F1c2VPZkhlaWdodCA9IGdldFJvdGF0ZUFuZ2xlKGZvbnRTaXplLCBoZWlnaHQpO1xuICAgIC8vIHRoaXMgYXBwbGllcyBmb3IgbGFiZWxzIHRoYXQgYXJlIGVkaXRhYmxlXG4gICAgY29uc3Qgcm90YXRlQmVjYXVzZU9mV2lkdGggPSB3aWR0aCA+IGJhcldpZHRoID8gMjUgOiAwO1xuXG4gICAgY29uc3QgZ2V0VGlja0xhYmVsUHJvcHMgPSAodmFsdWUpID0+ICh7XG4gICAgICBkeTogNCxcbiAgICAgIGR4OiAtMTAgLSAodmFsdWUudG9Mb2NhbGVTdHJpbmcoKS5sZW5ndGggfHwgMSkgKiA1LFxuICAgIH0pO1xuXG4gICAgY29uc3QgZ2V0VGlja0NvbXBvbmVudCA9IChwcm9wcykgPT4ge1xuICAgICAgY29uc3QgcHJvcGVydGllcyA9IHtcbiAgICAgICAgaGlkZGVuTGFiZWxSZWY6IChyZWYpID0+IHtcbiAgICAgICAgICB0aGlzLmhpZGRlbkxhYmVsUmVmID0gcmVmO1xuICAgICAgICB9LFxuICAgICAgICBjYXRlZ29yaWVzLFxuICAgICAgICB4QmFuZCxcbiAgICAgICAgYmFuZFdpZHRoLFxuICAgICAgICBiYXJXaWR0aCxcbiAgICAgICAgcm90YXRlOiByb3RhdGVCZWNhdXNlT2ZIZWlnaHQgfHwgcm90YXRlQmVjYXVzZU9mV2lkdGgsXG4gICAgICAgIHRvcCxcbiAgICAgICAgZGVmaW5lQ2hhcnQsXG4gICAgICAgIGNoYXJ0aW5nT3B0aW9ucyxcbiAgICAgICAgYXV0b0ZvY3VzLFxuICAgICAgICBvbkF1dG9Gb2N1c1VzZWQsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBvbkNoYW5nZUNhdGVnb3J5LFxuICAgICAgICBjaGFuZ2VJbnRlcmFjdGl2ZUVuYWJsZWQsXG4gICAgICAgIGNoYW5nZUVkaXRhYmxlRW5hYmxlZCxcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgIGdyYXBoUHJvcHMsXG4gICAgICAgIHg6IHByb3BzLngsXG4gICAgICAgIHk6IHByb3BzLnksXG4gICAgICAgIGZvcm1hdHRlZFZhbHVlOiBwcm9wcy5mb3JtYXR0ZWRWYWx1ZSxcbiAgICAgICAgc2hvd0NvcnJlY3RuZXNzLFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIDxUaWNrQ29tcG9uZW50IHsuLi5wcm9wZXJ0aWVzfSAvPjtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRBeGVzR3JvdXA+XG4gICAgICAgIHtsZWZ0QXhpcyAmJiAoXG4gICAgICAgICAgPEF4aXNMZWZ0XG4gICAgICAgICAgICBzY2FsZT17c2NhbGUueX1cbiAgICAgICAgICAgIHRpY2tMZW5ndGg9ezEwfVxuICAgICAgICAgICAgdGlja0Zvcm1hdD17KHZhbHVlKSA9PiB2YWx1ZX1cbiAgICAgICAgICAgIHRpY2tWYWx1ZXM9e3Jvd1RpY2tWYWx1ZXN9XG4gICAgICAgICAgICB0aWNrTGFiZWxQcm9wcz17Z2V0VGlja0xhYmVsUHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgPEF4aXNCb3R0b21cbiAgICAgICAgICBzY2FsZT17Ym90dG9tU2NhbGV9XG4gICAgICAgICAgbGFiZWxQcm9wcz17eyB5OiA2MCArIHRvcCB9fVxuICAgICAgICAgIHRvcD17c2NhbGUueSAmJiBzY2FsZS55KHJhbmdlLm1pbil9XG4gICAgICAgICAgdGV4dExhYmVsUHJvcHM9eygpID0+ICh7IHRleHRBbmNob3I6ICdtaWRkbGUnIH0pfVxuICAgICAgICAgIHRpY2tGb3JtYXQ9eyhjb3VudCkgPT4gY291bnR9XG4gICAgICAgICAgdGlja0NvbXBvbmVudD17Z2V0VGlja0NvbXBvbmVudH1cbiAgICAgICAgICBhdXRvRm9jdXM9e2F1dG9Gb2N1c31cbiAgICAgICAgICBvbkF1dG9Gb2N1c1VzZWQ9e29uQXV0b0ZvY3VzVXNlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkQXhlc0dyb3VwPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUmF3Q2hhcnRBeGVzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEs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
643
+ //# sourceMappingURL=axes.js.map