@joster-dev/chaos-control 0.1.1 → 0.2.0

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 (41) hide show
  1. package/esm2022/lib/chaos-control.module.mjs +19 -9
  2. package/esm2022/lib/components/busy/busy.component.mjs +11 -0
  3. package/esm2022/lib/components/choice/choice.component.mjs +5 -4
  4. package/esm2022/lib/components/color/color.component.mjs +5 -4
  5. package/esm2022/lib/components/file/file.component.mjs +8 -4
  6. package/esm2022/lib/components/icon/icon.component.mjs +117 -0
  7. package/esm2022/lib/components/icon-stack/icon-stack.component.mjs +29 -0
  8. package/esm2022/lib/components/index.mjs +5 -2
  9. package/esm2022/lib/components/number/number.component.mjs +5 -4
  10. package/esm2022/lib/components/readonly/readonly.component.mjs +3 -3
  11. package/esm2022/lib/components/select/select.component.mjs +55 -25
  12. package/esm2022/lib/components/text/text.component.mjs +3 -3
  13. package/esm2022/lib/directives/busy.directive.mjs +71 -0
  14. package/esm2022/lib/directives/index.mjs +3 -1
  15. package/esm2022/lib/directives/item.directive.mjs +3 -1
  16. package/esm2022/lib/directives/size.directive.mjs +38 -0
  17. package/esm2022/lib/models/icon-types.const.mjs +33 -0
  18. package/esm2022/lib/models/icon.type.mjs +2 -0
  19. package/esm2022/lib/models/index.mjs +3 -1
  20. package/esm2022/public-api.mjs +2 -1
  21. package/fesm2022/joster-dev-chaos-control.mjs +410 -84
  22. package/fesm2022/joster-dev-chaos-control.mjs.map +1 -1
  23. package/lib/chaos-control.module.d.ts +8 -5
  24. package/lib/components/busy/busy.component.d.ts +5 -0
  25. package/lib/components/file/file.component.d.ts +2 -1
  26. package/lib/components/icon/icon.component.d.ts +31 -0
  27. package/lib/components/icon-stack/icon-stack.component.d.ts +9 -0
  28. package/lib/components/index.d.ts +4 -1
  29. package/lib/components/select/select.component.d.ts +12 -7
  30. package/lib/directives/busy.directive.d.ts +20 -0
  31. package/lib/directives/index.d.ts +2 -0
  32. package/lib/directives/item.directive.d.ts +1 -0
  33. package/lib/directives/size.directive.d.ts +12 -0
  34. package/lib/models/icon-types.const.d.ts +1 -0
  35. package/lib/models/icon.type.d.ts +2 -0
  36. package/lib/models/index.d.ts +2 -0
  37. package/package.json +2 -2
  38. package/public-api.d.ts +1 -0
  39. package/src/lib/styles.scss +7 -62
  40. package/src/lib/atomic.scss +0 -87
  41. package/src/lib/variables.scss +0 -3
@@ -0,0 +1,117 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { SizeDirective } from '../../directives/size.directive';
3
+ import { iconTypes } from '../../models';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class IconComponent extends SizeDirective {
7
+ get type() {
8
+ return this._type;
9
+ }
10
+ set type(value) {
11
+ if (typeof value === 'string')
12
+ value = value.toLowerCase().trim();
13
+ if (!iconTypes.includes(value))
14
+ throw new Error(`expected [type] to be: ${iconTypes.join(' | ')}`);
15
+ this._type = value;
16
+ }
17
+ get fill() {
18
+ return this._fill;
19
+ }
20
+ set fill(value) {
21
+ if (typeof value === 'string')
22
+ value = [value];
23
+ if (value === null || value === undefined)
24
+ value = [null];
25
+ if (!Array.isArray(value) || !value.every(item => item === null || typeof item === 'string'))
26
+ throw new Error('expected [fill] to be: string | null | (string | null)[]');
27
+ this._fill = value;
28
+ }
29
+ get fillRotate() {
30
+ return this._fillRotate;
31
+ }
32
+ set fillRotate(value) {
33
+ if (typeof value === 'string')
34
+ value = Number(value);
35
+ if (typeof value !== 'number')
36
+ throw new Error('expected [fillRotate] to be: string | number');
37
+ this._fillRotate = value;
38
+ }
39
+ get fillOpacity() {
40
+ return this._fillOpacity;
41
+ }
42
+ set fillOpacity(value) {
43
+ if (typeof value !== 'number' || value < 0)
44
+ throw new Error('expected [fillOpacity] to be: number >= 0');
45
+ this._fillOpacity = value;
46
+ }
47
+ get stroke() {
48
+ return this._stroke;
49
+ }
50
+ set stroke(value) {
51
+ if (typeof value === 'string')
52
+ value = [value];
53
+ if (value === null || value === undefined)
54
+ value = [null];
55
+ if (!Array.isArray(value) || !value.every(item => item === null || typeof item === 'string'))
56
+ throw new Error('expected [stroke] to be: string | null | (string | null)[]');
57
+ this._stroke = value;
58
+ }
59
+ get strokeRotate() {
60
+ return this._strokeRotate;
61
+ }
62
+ set strokeRotate(value) {
63
+ if (typeof value === 'string')
64
+ value = Number(value);
65
+ if (typeof value !== 'number')
66
+ throw new Error('expected [strokeRotate] to be: string | number');
67
+ this._strokeRotate = value;
68
+ }
69
+ constructor() {
70
+ super();
71
+ this._fill = [null];
72
+ this._fillRotate = 0;
73
+ this._fillOpacity = 1;
74
+ this._stroke = ['current'];
75
+ this._strokeRotate = 0;
76
+ this.spin = null;
77
+ this.id = `${Math.random().toString(36).substring(2, 13)}`;
78
+ }
79
+ linearGradientStopColor(item) {
80
+ if (item === 'current')
81
+ return 'currentColor';
82
+ return item === null
83
+ ? ''
84
+ : `#${item}`;
85
+ }
86
+ linearGradientStopOpacity(item) {
87
+ return item === null
88
+ ? 0
89
+ : 1;
90
+ }
91
+ linearGradientStopOffset(index, items) {
92
+ if (items.length === 1)
93
+ return '0%';
94
+ return `${100 - (((items.length - 1 - index) / (items.length - 1)) * 100)}%`;
95
+ }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
97
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: IconComponent, selector: "icon[type]", inputs: { type: "type", fill: "fill", fillRotate: "fillRotate", fillOpacity: "fillOpacity", stroke: "stroke", strokeRotate: "strokeRotate", spin: "spin" }, usesInheritance: true, ngImport: i0, template: "<svg\r\n attr.height=\"{{size}}\"\r\n attr.width=\"{{size}}\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 100 100\"\r\n [class.spin-x]=\"spin === 'x'\"\r\n [class.spin-y]=\"spin === 'y'\"\r\n [class.spin-z]=\"spin === 'z'\"\r\n>\r\n <linearGradient\r\n id=\"fill-gradient-{{id}}\"\r\n attr.gradientTransform=\"rotate({{_fillRotate}}) translate({{(_fillRotate / 180) % 0.5}})\"\r\n >\r\n <stop\r\n *ngFor=\"let item of _fill; let idx = index\"\r\n [attr.offset]=\"linearGradientStopOffset(idx, _fill)\"\r\n [attr.stop-color]=\"linearGradientStopColor(item)\"\r\n [attr.stop-opacity]=\"linearGradientStopOpacity(item)\"\r\n />\r\n </linearGradient>\r\n <linearGradient\r\n id=\"stroke-gradient-{{id}}\"\r\n attr.gradientTransform=\"rotate({{_strokeRotate}}) translate({{(_strokeRotate / 180) % 0.5}})\"\r\n >\r\n <stop\r\n *ngFor=\"let item of _stroke; let idx = index\"\r\n [attr.offset]=\"linearGradientStopOffset(idx, _stroke)\"\r\n [attr.stop-color]=\"linearGradientStopColor(item)\"\r\n />\r\n </linearGradient>\r\n <circle\r\n *ngIf=\"type === 'circle'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"47.5\"\r\n />\r\n <circle\r\n *ngIf=\"type === 'dot'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"30\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ring'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M50,2.5C23.767,2.5,2.5,23.767,2.5,50S23.767,97.5,50,97.5S97.5,76.233,97.5,50S76.233,2.5,50,2.5z M50,80c-16.568,0-30-13.432-30-30c0-16.568,13.432-30,30-30s30,13.432,30,30C80,66.568,66.568,80,50,80z\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'square'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n width=\"95\"\r\n height=\"95\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'squircle'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n width=\"95\"\r\n height=\"95\"\r\n rx=\"15\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'minus'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"37.5\"\r\n width=\"95\"\r\n height=\"25\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'check'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"96.465,27.488 82.322,13.347,37.257,58.367 17.675,38.785 3.535,52.928 37.259,86.652\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'times'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"64.143,50 96.465,17.678 82.323,3.535,50,35.857 17.678,3.535 3.535,17.676 35.858,50 3.535,82.323 17.678,96.465 50.001,64.142 82.323,96.465 96.465,82.322\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'plus'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"97.5,37.5 62.5,37.5 62.5,2.5 37.5,2.5 37.5,37.5 2.5,37.5 2.5,62.5 37.5,62.5 37.5,97.5 62.5,97.5 62.5,62.5 97.5,62.5\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'row'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"96,50 66.5,20 66.5,37.5 33.5,37.5 33.5,20 4,50 33.5,80 33.5,62.5 66.5,62.5 66.5,80\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'column'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"62.5,33.535 80,33.535 50,3.535 20,33.535 37.5,33.535 37.5,66.465 20,66.465 50,96.465 80,66.465 62.5,66.465\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'flag'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"93,33.86 22.5,7.368 22.5,2.5 2.5,2.5 2.5,97.5 22.5,97.5 22.5,59.915\"\r\n />\r\n <path\r\n *ngIf=\"type === 'gear'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M96.35,39.625C95.178,34.369,93.14,29.44,90.385,25H80l-5-5V9.618C70.554,6.859,65.617,4.82,60.353,3.65L56.61,7.761L50,15.022l-6.61-7.261L39.647,3.65C34.382,4.82,29.447,6.859,25,9.618V20l-5,5H9.615C6.86,29.44,4.822,34.369,3.65,39.625l4.165,3.764L15.132,50l-7.316,6.61L3.65,60.375C4.822,65.631,6.86,70.56,9.615,75H20l5,5v10.382c4.441,2.755,9.371,4.793,14.628,5.964l3.761-4.162L50,84.867l6.61,7.316l3.761,4.162c5.258-1.171,10.188-3.209,14.629-5.964V80l5-5h10.385c2.755-4.44,4.793-9.369,5.965-14.625l-4.165-3.765L84.869,50l7.315-6.611L96.35,39.625z M50,72.5c-12.427,0-22.5-10.073-22.5-22.5c0-12.426,10.073-22.5,22.5-22.5S72.5,37.574,72.5,50C72.5,62.427,62.427,72.5,50,72.5z\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'star'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,9.91 62.022,38.363 92.798,41.005\r\n69.453,61.23 76.45,91.316 50,75.364 23.55,91.315 30.547,61.23 7.203,41.005 37.978,38.363 \"\r\n />\r\n <!-- start user -->\r\n <circle\r\n *ngIf=\"type === 'user'\"\r\n fill=\"#FFFFFF\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"27.5\"\r\n r=\"25\"\r\n />\r\n <path\r\n *ngIf=\"type === 'user'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M86.6,52.5H71.646 C67.324,59.971,59.252,65,50,65s-17.324-5.029-21.646-12.5H14.4c-6.297,0-11.9,5.373-11.9,12v33h95v-33 C97.5,57.873,92.896,52.5,86.6,52.5z\"\r\n />\r\n <!-- end user -->\r\n <path\r\n *ngIf=\"type === 'bomb'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M93.634,34.651c4.687-4.686,5.182-11.789,1.107-15.863L81.213,5.261c-4.074-4.076-11.178-3.58-15.863,1.105l-1.252,1.252C59.294,5.929,54.132,5,48.75,5C23.207,5,2.5,25.707,2.5,51.25S23.207,97.5,48.75,97.5S95,76.793,95,51.25c0-5.381-0.929-10.543-2.618-15.347L93.634,34.651z M70.4,64.681l-12.009-1.009l-1.091,12.001l-8.551-8.492l-8.55,8.492l-1.091-12.001L27.1,64.681l6.878-9.896L24.13,47.84l11.63-3.159l-3.08-11.65l10.939,5.056l5.13-10.905l5.131,10.905L64.82,33.03l-3.08,11.65l11.63,3.159l-9.849,6.945L70.4,64.681z\"\r\n />\r\n <!-- start refresh -->\r\n <path\r\n *ngIf=\"type === 'refresh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M50,80c-9.186,0-17.391-4.141-22.893-10.643L37.5,58.965h-35v35l12.204-12.204C23.395,91.42,35.982,97.5,50,97.5c26.232,0,47.5-21.268,47.5-47.5H80C80,66.568,66.568,80,50,80z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'refresh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M85.296,18.24C76.605,8.58,64.018,2.5,50,2.5C23.768,2.5,2.5,23.768,2.5,50H20c0-16.568,13.432-30,30-30c9.186,0,17.393,4.141,22.893,10.643L62.5,41.036h35v-35L85.296,18.24z\"\r\n />\r\n <!-- end refresh -->\r\n <polygon\r\n *ngIf=\"type === 'ascend'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,3.841 20,38.842 80,38.842\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'descend'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,96.158 20,61.158 80,61.158\"\r\n />\r\n <path\r\n *ngIf=\"type === 'search'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M96.465,87.627L70.56,61.721C74.924,55.591,77.5,48.099,77.5,40C77.5,19.29,60.711,2.5,40,2.5C19.29,2.5,2.5,19.29,2.5,40c0,20.711,16.79,37.5,37.5,37.5c8.098,0,15.591-2.575,21.72-6.94l25.906,25.905L96.465,87.627z M40,65c-13.807,0-25-11.192-25-25c0-13.807,11.193-25,25-25c13.808,0,25,11.193,25,25C65,53.808,53.808,65,40,65z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'crown'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M95,22.5c0-4.143-3.357-7.5-7.5-7.5\r\n\tS80,18.357,80,22.5c0,2.145,0.904,4.073,2.347,5.44L67.673,66.273l-13.37-50.136C56.234,14.781,57.5,12.54,57.5,10\r\n\tc0-4.143-3.357-7.5-7.5-7.5s-7.5,3.357-7.5,7.5c0,2.54,1.266,4.78,3.197,6.137l-13.37,50.136L17.654,27.939\r\n\tC19.096,26.573,20,24.644,20,22.5c0-4.143-3.357-7.5-7.5-7.5S5,18.357,5,22.5c0,3.673,2.642,6.724,6.128,7.369L14.857,72.5H12.5v15\r\n\tH10v10h80v-10h-2.5v-15h-2.356l3.729-42.631C92.358,29.223,95,26.173,95,22.5z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ogre'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M82.5,5.721c0,0,5,5,5,15s-10,10-10,10h-3.519\r\n\tC72.018,28.728,69.393,27.5,66.5,27.5h-33c-2.894,0-5.518,1.228-7.481,3.221H22.5c0,0-10,0-10-10s5-15,5-15s-15,5-15,20\r\n\tc0,13.263,7.821,22.61,20,24.6V60.5c0,6.583,4.861,11.923,10.881,11.993C33.869,79.732,35,87.834,35,90c0,4.143,3.357,7.5,7.5,7.5\r\n\th15c4.143,0,7.5-3.357,7.5-7.5c0-2.166,1.131-10.268,1.62-17.507c6.019-0.07,10.88-5.41,10.88-11.993V50.32\r\n\tc12.179-1.989,20-11.337,20-24.6C97.5,10.721,82.5,5.721,82.5,5.721z M37.5,65c-4.143,0-7.5-3.357-7.5-7.5s3.357-7.5,7.5-7.5\r\n\ts7.5,3.357,7.5,7.5S41.643,65,37.5,65z M62.5,65c-4.143,0-7.5-3.357-7.5-7.5s3.357-7.5,7.5-7.5s7.5,3.357,7.5,7.5S66.643,65,62.5,65\r\n\tz\"\r\n />\r\n <path\r\n *ngIf=\"type === 'folder'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M42.503,10.5c-9.836,0-28.103,0-28.103,0\r\n\tc-6.296,0-11.9,5.373-11.9,12v56c0,6.627,5.604,12,11.9,12h72.2c6.296,0,10.9-5.373,10.9-12c0,0,0-37.406,0-44\r\n\ts-4.467-11.989-10.9-12s-33.807,0-33.807,0S52.339,10.5,42.503,10.5z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'chevron'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M 81.371204,80.734189 96.459378,65.734039 50.000001,19.268573 3.5406224,65.734039 18.628797,80.734189 50.000001,49.268874 Z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ankh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M85,60l-5-15H60.938\r\n\tC65.605,36.781,70,27.677,70,22.5c0-11.046-8.955-20-20-20c-11.046,0-20,8.954-20,20c0,5.177,4.394,14.281,9.062,22.5H19.999L15,60\r\n\tl28.965-4.138L40,97.5h20l-3.967-41.638L85,60z M49.999,12.551c5.524,0,10.001,4.478,10.001,10c0,5.523-10.001,20-10.001,20\r\n\ts-10-14.477-10-20C40,17.028,44.477,12.551,49.999,12.551z\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'sun'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n points=\"50.001,5.864 57.541,21.864\r\n\t72.068,11.778 70.6,29.403 88.224,27.933 78.14,42.461 94.137,50 78.14,57.541 88.224,72.07 70.6,70.6 72.068,88.225 57.541,78.141\r\n\t50.001,94.137 42.461,78.141 27.933,88.225 29.403,70.6 11.777,72.07 21.863,57.541 5.864,50 21.863,42.461 11.777,27.933\r\n\t29.403,29.403 27.933,11.778 42.461,21.864 \"\r\n />\r\n <path\r\n *ngIf=\"type === 'moon'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M90.029,62.626\r\n\tc-14.54,14.54-38.115,14.539-52.654,0c-14.54-14.54-14.54-38.114,0-52.654c2.739-2.74,5.802-4.963,9.061-6.67\r\n\tC35.463,4.049,24.701,8.604,16.313,16.991c-18.417,18.418-18.417,48.278,0,66.696c18.417,18.416,48.278,18.416,66.694,0\r\n\tc8.389-8.389,12.942-19.149,13.69-30.123C94.989,56.825,92.768,59.886,90.029,62.626z\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'clear'\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n width=\"75\"\r\n height=\"75\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'clear'\"\r\n x=\"22.5\"\r\n y=\"22.5\"\r\n fill=\"none\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n stroke-dasharray=\"13.25 5.5\"\r\n width=\"75\"\r\n height=\"75\"\r\n />\r\n <path\r\n *ngIf=\"type === 'amphora'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M92.5,28c0-11.046-7.835-20-17.5-20\r\n\tc-3.586,0-6.917,1.237-9.691,3.352c0.025-0.749,0.084-1.409,0.191-1.852c0.471-1.918,3.5-7,3.5-7H31c0,0,3.03,5.082,3.5,7\r\n\tc0.108,0.442,0.166,1.103,0.192,1.852C31.917,9.237,28.586,8,25,8C15.335,8,7.5,16.954,7.5,28c0,7.019,3.17,13.182,7.956,16.751\r\n\tC15.165,46.438,15,48.187,15,50c0,13.744,18.5,40.5,18.5,40.5l-2.5,7h38l-2.5-7c0,0,18.5-26.756,18.5-40.5\r\n\tc0-1.813-0.164-3.563-0.456-5.249C89.33,41.182,92.5,35.019,92.5,28z M15,28c0-6.903,4.478-12.5,10-12.5\r\n\tc2.789,0,5.309,1.43,7.122,3.732c-3.582,2.808-10.347,8.93-14.215,17.577C16.111,34.549,15,31.437,15,28z M82.093,36.809\r\n\tc-3.866-8.647-10.634-14.769-14.215-17.577C69.691,16.93,72.211,15.5,75,15.5c5.521,0,10,5.597,10,12.5\r\n\tC85,31.437,83.889,34.549,82.093,36.809z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'speech'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M50,2.5C26.702,2.5,2.5,22.339,2.5,45\r\n\tc0,8.368,3.307,16.347,8.641,23.084L3.979,94.813l23.196-13.393c7.078,3.83,15,6.076,22.825,6.076c23.299,0,47.5-19.838,47.5-42.5\r\n\tC97.5,22.336,73.299,2.5,50,2.5z M75,60.001H25c-2.762,0-5-2.238-5-5s2.238-5,5-5h50c2.762,0,5,2.239,5,5\r\n\tC80,57.763,77.762,60.001,75,60.001z M75,40H25c-2.762,0-5-2.239-5-5s2.238-5,5-5h50c2.762,0,5,2.239,5,5C80,37.763,77.762,40,75,40\r\n\tz\"\r\n />\r\n</svg>\r\n", styles: [":host{display:inline-block}:host>svg{display:block}:host>svg.spin-x{animation:spinX 1.5s linear infinite}:host>svg.spin-y{animation:spinY 1.5s linear infinite}:host>svg.spin-z{animation:spinZ 1.5s linear infinite}@keyframes spinX{0%{transform:rotateX(0)}to{transform:rotateX(360deg)}}@keyframes spinY{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes spinZ{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
98
+ }
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: IconComponent, decorators: [{
100
+ type: Component,
101
+ args: [{ selector: 'icon[type]', template: "<svg\r\n attr.height=\"{{size}}\"\r\n attr.width=\"{{size}}\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 100 100\"\r\n [class.spin-x]=\"spin === 'x'\"\r\n [class.spin-y]=\"spin === 'y'\"\r\n [class.spin-z]=\"spin === 'z'\"\r\n>\r\n <linearGradient\r\n id=\"fill-gradient-{{id}}\"\r\n attr.gradientTransform=\"rotate({{_fillRotate}}) translate({{(_fillRotate / 180) % 0.5}})\"\r\n >\r\n <stop\r\n *ngFor=\"let item of _fill; let idx = index\"\r\n [attr.offset]=\"linearGradientStopOffset(idx, _fill)\"\r\n [attr.stop-color]=\"linearGradientStopColor(item)\"\r\n [attr.stop-opacity]=\"linearGradientStopOpacity(item)\"\r\n />\r\n </linearGradient>\r\n <linearGradient\r\n id=\"stroke-gradient-{{id}}\"\r\n attr.gradientTransform=\"rotate({{_strokeRotate}}) translate({{(_strokeRotate / 180) % 0.5}})\"\r\n >\r\n <stop\r\n *ngFor=\"let item of _stroke; let idx = index\"\r\n [attr.offset]=\"linearGradientStopOffset(idx, _stroke)\"\r\n [attr.stop-color]=\"linearGradientStopColor(item)\"\r\n />\r\n </linearGradient>\r\n <circle\r\n *ngIf=\"type === 'circle'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"47.5\"\r\n />\r\n <circle\r\n *ngIf=\"type === 'dot'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"30\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ring'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M50,2.5C23.767,2.5,2.5,23.767,2.5,50S23.767,97.5,50,97.5S97.5,76.233,97.5,50S76.233,2.5,50,2.5z M50,80c-16.568,0-30-13.432-30-30c0-16.568,13.432-30,30-30s30,13.432,30,30C80,66.568,66.568,80,50,80z\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'square'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n width=\"95\"\r\n height=\"95\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'squircle'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n width=\"95\"\r\n height=\"95\"\r\n rx=\"15\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'minus'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"37.5\"\r\n width=\"95\"\r\n height=\"25\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'check'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"96.465,27.488 82.322,13.347,37.257,58.367 17.675,38.785 3.535,52.928 37.259,86.652\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'times'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"64.143,50 96.465,17.678 82.323,3.535,50,35.857 17.678,3.535 3.535,17.676 35.858,50 3.535,82.323 17.678,96.465 50.001,64.142 82.323,96.465 96.465,82.322\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'plus'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"97.5,37.5 62.5,37.5 62.5,2.5 37.5,2.5 37.5,37.5 2.5,37.5 2.5,62.5 37.5,62.5 37.5,97.5 62.5,97.5 62.5,62.5 97.5,62.5\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'row'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"96,50 66.5,20 66.5,37.5 33.5,37.5 33.5,20 4,50 33.5,80 33.5,62.5 66.5,62.5 66.5,80\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'column'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"62.5,33.535 80,33.535 50,3.535 20,33.535 37.5,33.535 37.5,66.465 20,66.465 50,96.465 80,66.465 62.5,66.465\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'flag'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"93,33.86 22.5,7.368 22.5,2.5 2.5,2.5 2.5,97.5 22.5,97.5 22.5,59.915\"\r\n />\r\n <path\r\n *ngIf=\"type === 'gear'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M96.35,39.625C95.178,34.369,93.14,29.44,90.385,25H80l-5-5V9.618C70.554,6.859,65.617,4.82,60.353,3.65L56.61,7.761L50,15.022l-6.61-7.261L39.647,3.65C34.382,4.82,29.447,6.859,25,9.618V20l-5,5H9.615C6.86,29.44,4.822,34.369,3.65,39.625l4.165,3.764L15.132,50l-7.316,6.61L3.65,60.375C4.822,65.631,6.86,70.56,9.615,75H20l5,5v10.382c4.441,2.755,9.371,4.793,14.628,5.964l3.761-4.162L50,84.867l6.61,7.316l3.761,4.162c5.258-1.171,10.188-3.209,14.629-5.964V80l5-5h10.385c2.755-4.44,4.793-9.369,5.965-14.625l-4.165-3.765L84.869,50l7.315-6.611L96.35,39.625z M50,72.5c-12.427,0-22.5-10.073-22.5-22.5c0-12.426,10.073-22.5,22.5-22.5S72.5,37.574,72.5,50C72.5,62.427,62.427,72.5,50,72.5z\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'star'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,9.91 62.022,38.363 92.798,41.005\r\n69.453,61.23 76.45,91.316 50,75.364 23.55,91.315 30.547,61.23 7.203,41.005 37.978,38.363 \"\r\n />\r\n <!-- start user -->\r\n <circle\r\n *ngIf=\"type === 'user'\"\r\n fill=\"#FFFFFF\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"27.5\"\r\n r=\"25\"\r\n />\r\n <path\r\n *ngIf=\"type === 'user'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M86.6,52.5H71.646 C67.324,59.971,59.252,65,50,65s-17.324-5.029-21.646-12.5H14.4c-6.297,0-11.9,5.373-11.9,12v33h95v-33 C97.5,57.873,92.896,52.5,86.6,52.5z\"\r\n />\r\n <!-- end user -->\r\n <path\r\n *ngIf=\"type === 'bomb'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M93.634,34.651c4.687-4.686,5.182-11.789,1.107-15.863L81.213,5.261c-4.074-4.076-11.178-3.58-15.863,1.105l-1.252,1.252C59.294,5.929,54.132,5,48.75,5C23.207,5,2.5,25.707,2.5,51.25S23.207,97.5,48.75,97.5S95,76.793,95,51.25c0-5.381-0.929-10.543-2.618-15.347L93.634,34.651z M70.4,64.681l-12.009-1.009l-1.091,12.001l-8.551-8.492l-8.55,8.492l-1.091-12.001L27.1,64.681l6.878-9.896L24.13,47.84l11.63-3.159l-3.08-11.65l10.939,5.056l5.13-10.905l5.131,10.905L64.82,33.03l-3.08,11.65l11.63,3.159l-9.849,6.945L70.4,64.681z\"\r\n />\r\n <!-- start refresh -->\r\n <path\r\n *ngIf=\"type === 'refresh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M50,80c-9.186,0-17.391-4.141-22.893-10.643L37.5,58.965h-35v35l12.204-12.204C23.395,91.42,35.982,97.5,50,97.5c26.232,0,47.5-21.268,47.5-47.5H80C80,66.568,66.568,80,50,80z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'refresh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M85.296,18.24C76.605,8.58,64.018,2.5,50,2.5C23.768,2.5,2.5,23.768,2.5,50H20c0-16.568,13.432-30,30-30c9.186,0,17.393,4.141,22.893,10.643L62.5,41.036h35v-35L85.296,18.24z\"\r\n />\r\n <!-- end refresh -->\r\n <polygon\r\n *ngIf=\"type === 'ascend'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,3.841 20,38.842 80,38.842\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'descend'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,96.158 20,61.158 80,61.158\"\r\n />\r\n <path\r\n *ngIf=\"type === 'search'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M96.465,87.627L70.56,61.721C74.924,55.591,77.5,48.099,77.5,40C77.5,19.29,60.711,2.5,40,2.5C19.29,2.5,2.5,19.29,2.5,40c0,20.711,16.79,37.5,37.5,37.5c8.098,0,15.591-2.575,21.72-6.94l25.906,25.905L96.465,87.627z M40,65c-13.807,0-25-11.192-25-25c0-13.807,11.193-25,25-25c13.808,0,25,11.193,25,25C65,53.808,53.808,65,40,65z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'crown'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M95,22.5c0-4.143-3.357-7.5-7.5-7.5\r\n\tS80,18.357,80,22.5c0,2.145,0.904,4.073,2.347,5.44L67.673,66.273l-13.37-50.136C56.234,14.781,57.5,12.54,57.5,10\r\n\tc0-4.143-3.357-7.5-7.5-7.5s-7.5,3.357-7.5,7.5c0,2.54,1.266,4.78,3.197,6.137l-13.37,50.136L17.654,27.939\r\n\tC19.096,26.573,20,24.644,20,22.5c0-4.143-3.357-7.5-7.5-7.5S5,18.357,5,22.5c0,3.673,2.642,6.724,6.128,7.369L14.857,72.5H12.5v15\r\n\tH10v10h80v-10h-2.5v-15h-2.356l3.729-42.631C92.358,29.223,95,26.173,95,22.5z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ogre'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M82.5,5.721c0,0,5,5,5,15s-10,10-10,10h-3.519\r\n\tC72.018,28.728,69.393,27.5,66.5,27.5h-33c-2.894,0-5.518,1.228-7.481,3.221H22.5c0,0-10,0-10-10s5-15,5-15s-15,5-15,20\r\n\tc0,13.263,7.821,22.61,20,24.6V60.5c0,6.583,4.861,11.923,10.881,11.993C33.869,79.732,35,87.834,35,90c0,4.143,3.357,7.5,7.5,7.5\r\n\th15c4.143,0,7.5-3.357,7.5-7.5c0-2.166,1.131-10.268,1.62-17.507c6.019-0.07,10.88-5.41,10.88-11.993V50.32\r\n\tc12.179-1.989,20-11.337,20-24.6C97.5,10.721,82.5,5.721,82.5,5.721z M37.5,65c-4.143,0-7.5-3.357-7.5-7.5s3.357-7.5,7.5-7.5\r\n\ts7.5,3.357,7.5,7.5S41.643,65,37.5,65z M62.5,65c-4.143,0-7.5-3.357-7.5-7.5s3.357-7.5,7.5-7.5s7.5,3.357,7.5,7.5S66.643,65,62.5,65\r\n\tz\"\r\n />\r\n <path\r\n *ngIf=\"type === 'folder'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M42.503,10.5c-9.836,0-28.103,0-28.103,0\r\n\tc-6.296,0-11.9,5.373-11.9,12v56c0,6.627,5.604,12,11.9,12h72.2c6.296,0,10.9-5.373,10.9-12c0,0,0-37.406,0-44\r\n\ts-4.467-11.989-10.9-12s-33.807,0-33.807,0S52.339,10.5,42.503,10.5z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'chevron'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M 81.371204,80.734189 96.459378,65.734039 50.000001,19.268573 3.5406224,65.734039 18.628797,80.734189 50.000001,49.268874 Z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ankh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M85,60l-5-15H60.938\r\n\tC65.605,36.781,70,27.677,70,22.5c0-11.046-8.955-20-20-20c-11.046,0-20,8.954-20,20c0,5.177,4.394,14.281,9.062,22.5H19.999L15,60\r\n\tl28.965-4.138L40,97.5h20l-3.967-41.638L85,60z M49.999,12.551c5.524,0,10.001,4.478,10.001,10c0,5.523-10.001,20-10.001,20\r\n\ts-10-14.477-10-20C40,17.028,44.477,12.551,49.999,12.551z\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'sun'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n points=\"50.001,5.864 57.541,21.864\r\n\t72.068,11.778 70.6,29.403 88.224,27.933 78.14,42.461 94.137,50 78.14,57.541 88.224,72.07 70.6,70.6 72.068,88.225 57.541,78.141\r\n\t50.001,94.137 42.461,78.141 27.933,88.225 29.403,70.6 11.777,72.07 21.863,57.541 5.864,50 21.863,42.461 11.777,27.933\r\n\t29.403,29.403 27.933,11.778 42.461,21.864 \"\r\n />\r\n <path\r\n *ngIf=\"type === 'moon'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M90.029,62.626\r\n\tc-14.54,14.54-38.115,14.539-52.654,0c-14.54-14.54-14.54-38.114,0-52.654c2.739-2.74,5.802-4.963,9.061-6.67\r\n\tC35.463,4.049,24.701,8.604,16.313,16.991c-18.417,18.418-18.417,48.278,0,66.696c18.417,18.416,48.278,18.416,66.694,0\r\n\tc8.389-8.389,12.942-19.149,13.69-30.123C94.989,56.825,92.768,59.886,90.029,62.626z\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'clear'\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n width=\"75\"\r\n height=\"75\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'clear'\"\r\n x=\"22.5\"\r\n y=\"22.5\"\r\n fill=\"none\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n stroke-dasharray=\"13.25 5.5\"\r\n width=\"75\"\r\n height=\"75\"\r\n />\r\n <path\r\n *ngIf=\"type === 'amphora'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M92.5,28c0-11.046-7.835-20-17.5-20\r\n\tc-3.586,0-6.917,1.237-9.691,3.352c0.025-0.749,0.084-1.409,0.191-1.852c0.471-1.918,3.5-7,3.5-7H31c0,0,3.03,5.082,3.5,7\r\n\tc0.108,0.442,0.166,1.103,0.192,1.852C31.917,9.237,28.586,8,25,8C15.335,8,7.5,16.954,7.5,28c0,7.019,3.17,13.182,7.956,16.751\r\n\tC15.165,46.438,15,48.187,15,50c0,13.744,18.5,40.5,18.5,40.5l-2.5,7h38l-2.5-7c0,0,18.5-26.756,18.5-40.5\r\n\tc0-1.813-0.164-3.563-0.456-5.249C89.33,41.182,92.5,35.019,92.5,28z M15,28c0-6.903,4.478-12.5,10-12.5\r\n\tc2.789,0,5.309,1.43,7.122,3.732c-3.582,2.808-10.347,8.93-14.215,17.577C16.111,34.549,15,31.437,15,28z M82.093,36.809\r\n\tc-3.866-8.647-10.634-14.769-14.215-17.577C69.691,16.93,72.211,15.5,75,15.5c5.521,0,10,5.597,10,12.5\r\n\tC85,31.437,83.889,34.549,82.093,36.809z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'speech'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M50,2.5C26.702,2.5,2.5,22.339,2.5,45\r\n\tc0,8.368,3.307,16.347,8.641,23.084L3.979,94.813l23.196-13.393c7.078,3.83,15,6.076,22.825,6.076c23.299,0,47.5-19.838,47.5-42.5\r\n\tC97.5,22.336,73.299,2.5,50,2.5z M75,60.001H25c-2.762,0-5-2.238-5-5s2.238-5,5-5h50c2.762,0,5,2.239,5,5\r\n\tC80,57.763,77.762,60.001,75,60.001z M75,40H25c-2.762,0-5-2.239-5-5s2.238-5,5-5h50c2.762,0,5,2.239,5,5C80,37.763,77.762,40,75,40\r\n\tz\"\r\n />\r\n</svg>\r\n", styles: [":host{display:inline-block}:host>svg{display:block}:host>svg.spin-x{animation:spinX 1.5s linear infinite}:host>svg.spin-y{animation:spinY 1.5s linear infinite}:host>svg.spin-z{animation:spinZ 1.5s linear infinite}@keyframes spinX{0%{transform:rotateX(0)}to{transform:rotateX(360deg)}}@keyframes spinY{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes spinZ{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
102
+ }], ctorParameters: () => [], propDecorators: { type: [{
103
+ type: Input
104
+ }], fill: [{
105
+ type: Input
106
+ }], fillRotate: [{
107
+ type: Input
108
+ }], fillOpacity: [{
109
+ type: Input
110
+ }], stroke: [{
111
+ type: Input
112
+ }], strokeRotate: [{
113
+ type: Input
114
+ }], spin: [{
115
+ type: Input
116
+ }] } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQVEsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFPL0MsTUFBTSxPQUFPLGFBQWMsU0FBUSxhQUFhO0lBQzlDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBVztRQUNsQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQVUsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUdELElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBd0M7UUFDL0MsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1lBQzNCLEtBQUssR0FBRyxD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QGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpemVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NpemUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgaWNvbiwgaWNvblR5cGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWNvblt0eXBlXScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ljb24uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgZXh0ZW5kcyBTaXplRGlyZWN0aXZlIHtcclxuICBASW5wdXQoKVxyXG4gIGdldCB0eXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XHJcbiAgfVxyXG4gIHNldCB0eXBlKHZhbHVlOiBpY29uKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgdmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpLnRyaW0oKSBhcyBpY29uO1xyXG4gICAgaWYgKCFpY29uVHlwZXMuaW5jbHVkZXModmFsdWUpKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGV4cGVjdGVkIFt0eXBlXSB0byBiZTogJHtpY29uVHlwZXMuam9pbignIHwgJyl9YCk7XHJcbiAgICB0aGlzLl90eXBlID0gdmFsdWU7XHJcbiAgfVxyXG4gIF90eXBlITogaWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZmlsbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9maWxsO1xyXG4gIH1cclxuICBzZXQgZmlsbCh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IChzdHJpbmcgfCBudWxsKVtdKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgdmFsdWUgPSBbdmFsdWVdO1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHZhbHVlID0gW251bGxdO1xyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCAhdmFsdWUuZXZlcnkoaXRlbSA9PiBpdGVtID09PSBudWxsIHx8IHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgW2ZpbGxdIHRvIGJlOiBzdHJpbmcgfCBudWxsIHwgKHN0cmluZyB8IG51bGwpW10nKTtcclxuICAgIHRoaXMuX2ZpbGwgPSB2YWx1ZTtcclxuICB9XHJcbiAgX2ZpbGw6IChzdHJpbmcgfCBudWxsKVtdID0gW251bGxdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBmaWxsUm90YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGxSb3RhdGU7XHJcbiAgfVxyXG4gIHNldCBmaWxsUm90YXRlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICB2YWx1ZSA9IE51bWJlcih2YWx1ZSk7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZCBbZmlsbFJvdGF0ZV0gdG8gYmU6IHN0cmluZyB8IG51bWJlcicpO1xyXG4gICAgdGhpcy5fZmlsbFJvdGF0ZSA9IHZhbHVlO1xyXG4gIH1cclxuICBfZmlsbFJvdGF0ZSA9IDA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGZpbGxPcGFjaXR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGxPcGFjaXR5O1xyXG4gIH1cclxuICBzZXQgZmlsbE9wYWNpdHkodmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicgfHwgdmFsdWUgPCAwKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIFtmaWxsT3BhY2l0eV0gdG8gYmU6IG51bWJlciA+PSAwJyk7XHJcbiAgICB0aGlzLl9maWxsT3BhY2l0eSA9IHZhbHVlO1xyXG4gIH1cclxuICBfZmlsbE9wYWNpdHkgPSAxO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBzdHJva2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3Ryb2tlO1xyXG4gIH1cclxuICBzZXQgc3Ryb2tlKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgKHN0cmluZyB8IG51bGwpW10pIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICB2YWx1ZSA9IFt2YWx1ZV07XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgdmFsdWUgPSBbbnVsbF07XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8ICF2YWx1ZS5ldmVyeShpdGVtID0+IGl0ZW0gPT09IG51bGwgfHwgdHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSlcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZCBbc3Ryb2tlXSB0byBiZTogc3RyaW5nIHwgbnVsbCB8IChzdHJpbmcgfCBudWxsKVtdJyk7XHJcbiAgICB0aGlzLl9zdHJva2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgX3N0cm9rZTogKHN0cmluZyB8IG51bGwpW10gPSBbJ2N1cnJlbnQnXTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgc3Ryb2tlUm90YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0cm9rZVJvdGF0ZTtcclxuICB9XHJcbiAgc2V0IHN0cm9rZVJvdGF0ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgdmFsdWUgPSBOdW1iZXIodmFsdWUpO1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgW3N0cm9rZVJvdGF0ZV0gdG8gYmU6IHN0cmluZyB8IG51bWJlcicpO1xyXG4gICAgdGhpcy5fc3Ryb2tlUm90YXRlID0gdmFsdWU7XHJcbiAgfVxyXG4gIF9zdHJva2VSb3RhdGUgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNwaW46ICd4JyB8ICd5JyB8ICd6JyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBpZCA9IGAke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCAxMyl9YDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbGluZWFyR3JhZGllbnRTdG9wQ29sb3IoaXRlbTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKGl0ZW0gPT09ICdjdXJyZW50JylcclxuICAgICAgcmV0dXJuICdjdXJyZW50Q29sb3InO1xyXG5cclxuICAgIHJldHVybiBpdGVtID09PSBudWxsXHJcbiAgICAgID8gJydcclxuICAgICAgOiBgIyR7aXRlbX1gO1xyXG4gIH1cclxuXHJcbiAgbGluZWFyR3JhZGllbnRTdG9wT3BhY2l0eShpdGVtOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICByZXR1cm4gaXRlbSA9PT0gbnVsbFxyXG4gICAgICA/IDBcclxuICAgICAgOiAxO1xyXG4gIH1cclxuXHJcbiAgbGluZWFyR3JhZGllbnRTdG9wT2Zmc2V0KGluZGV4OiBudW1iZXIsIGl0ZW1zOiB1bmtub3duW10pIHtcclxuICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDEpXHJcbiAgICAgIHJldHVybiAnMCUnO1xyXG4gICAgcmV0dXJuIGAkezEwMCAtICgoKGl0ZW1zLmxlbmd0aCAtIDEgLSBpbmRleCkgLyAoaXRlbXMubGVuZ3RoIC0gMSkpICogMTAwKX0lYDtcclxuICB9XHJcbn1cclxuIiwiPHN2Z1xyXG4gIGF0dHIuaGVpZ2h0PVwie3tzaXplfX1cIlxyXG4gIGF0dHIud2lkdGg9XCJ7e3NpemV9fVwiXHJcbiAgdmVyc2lvbj1cIjEuMVwiXHJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgdmlld0JveD1cIjAgMCAxMDAgMTAwXCJcclxuICBbY2xhc3Muc3Bpbi14XT1cInNwaW4gPT09ICd4J1wiXHJcbiAgW2NsYXNzLnNwaW4teV09XCJzcGluID09PSAneSdcIlxyXG4gIFtjbGFzcy5zcGluLXpdPVwic3BpbiA9PT0gJ3onXCJcclxuPlxyXG4gIDxsaW5lYXJHcmFkaWVudFxyXG4gICAgaWQ9XCJmaWxsLWdyYWRpZW50LXt7aWR9fVwiXHJcbiAgICBhdHRyLmdyYWRpZW50VHJhbnNmb3JtPVwicm90YXRlKHt7X2ZpbGxSb3RhdGV9fSkgdHJhbnNsYXRlKHt7KF9maWxsUm90YXRlIC8gMTgwKSAlIDAuNX19KVwiXHJcbiAgPlxyXG4gICAgPHN0b3BcclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2ZpbGw7IGxldCBpZHggPSBpbmRleFwiXHJcbiAgICAgIFthdHRyLm9mZnNldF09XCJsaW5lYXJHcmFkaWVudFN0b3BPZmZzZXQoaWR4LCBfZmlsbClcIlxyXG4gICAgICBbYXR0ci5zdG9wLWNvbG9yXT1cImxpbmVhckdyYWRpZW50U3RvcENvbG9yKGl0ZW0pXCJcclxuICAgICAgW2F0dHIuc3RvcC1vcGFjaXR5XT1cImxpbmVhckdyYWRpZW50U3RvcE9wYWNpdHkoaXRlbSlcIlxyXG4gICAgLz5cclxuICA8L2xpbmVhckdyYWRpZW50PlxyXG4gIDxsaW5lYXJHcmFkaWVudFxyXG4gICAgaWQ9XCJzdHJva2UtZ3JhZGllbnQte3tpZH19XCJcclxuICAgIGF0dHIuZ3JhZGllbnRUcmFuc2Zvcm09XCJyb3RhdGUoe3tfc3Ryb2tlUm90YXRlfX0pIHRyYW5zbGF0ZSh7eyhfc3Ryb2tlUm90YXRlIC8gMTgwKSAlIDAuNX19KVwiXHJcbiAgPlxyXG4gICAgPHN0b3BcclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3N0cm9rZTsgbGV0IGlkeCA9IGluZGV4XCJcclxuICAgICAgW2F0dHIub2Zmc2V0XT1cImxpbmVhckdyYWRpZW50U3RvcE9mZnNldChpZHgsIF9zdHJva2UpXCJcclxuICAgICAgW2F0dHIuc3RvcC1jb2xvcl09XCJsaW5lYXJHcmFkaWVudFN0b3BDb2xvcihpdGVtKVwiXHJcbiAgICAvPlxyXG4gIDwvbGluZWFyR3JhZGllbnQ+XHJcbiAgPGNpcmNsZVxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnY2lyY2xlJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgY3g9XCI1MFwiXHJcbiAgICBjeT1cIjUwXCJcclxuICAgIHI9XCI0Ny41XCJcclxuICAvPlxyXG4gIDxjaXJjbGVcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2RvdCdcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIGN4PVwiNTBcIlxyXG4gICAgY3k9XCI1MFwiXHJcbiAgICByPVwiMzBcIlxyXG4gIC8+XHJcbiAgPHBhdGhcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ3JpbmcnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBkPVwiTTUwLDIuNUMyMy43NjcsMi41LDIuNSwyMy43NjcsMi41LDUwUzIzLjc2Nyw5Ny41LDUwLDk3LjVTOTcuNSw3Ni4yMzMsOTcuNSw1MFM3Ni4yMzMsMi41LDUwLDIuNXogTTUwLDgwYy0xNi41NjgsMC0zMC0xMy40MzItMzAtMzBjMC0xNi41NjgsMTMuNDMyLTMwLDMwLTMwczMwLDEzLjQzMiwzMCwzMEM4MCw2Ni41NjgsNjYuNTY4LDgwLDUwLDgwelwiXHJcbiAgLz5cclxuICA8cmVjdFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnc3F1YXJlJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgeD1cIjIuNVwiXHJcbiAgICB5PVwiMi41XCJcclxuICAgIHdpZHRoPVwiOTVcIlxyXG4gICAgaGVpZ2h0PVwiOTVcIlxyXG4gIC8+XHJcbiAgPHJlY3RcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ3NxdWlyY2xlJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgeD1cIjIuNVwiXHJcbiAgICB5PVwiMi41XCJcclxuICAgIHdpZHRoPVwiOTVcIlxyXG4gICAgaGVpZ2h0PVwiOTVcIlxyXG4gICAgcng9XCIxNVwiXHJcbiAgLz5cclxuICA8cmVjdFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnbWludXMnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICB4PVwiMi41XCJcclxuICAgIHk9XCIzNy41XCJcclxuICAgIHdpZHRoPVwiOTVcIlxyXG4gICAgaGVpZ2h0PVwiMjVcIlxyXG4gIC8+XHJcbiAgPHBvbHlnb25cclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2NoZWNrJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgcG9pbnRzPVwiOTYuNDY1LDI3LjQ4OCA4Mi4zMjIsMTMuMzQ3LDM3LjI1Nyw1OC4zNjcgMTcuNjc1LDM4Ljc4NSAzLjUzNSw1Mi45MjggMzcuMjU5LDg2LjY1MlwiXHJcbiAgLz5cclxuICA8cG9seWdvblxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAndGltZXMnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBwb2ludHM9XCI2NC4xNDMsNTAgOTYuNDY1LDE3LjY3OCA4Mi4zMjMsMy41MzUsNTAsMzUuODU3IDE3LjY3OCwzLjUzNSAzLjUzNSwxNy42NzYgMzUuODU4LDUwIDMuNTM1LDgyLjMyMyAxNy42NzgsOTYuNDY1IDUwLjAwMSw2NC4xNDIgODIuMzIzLDk2LjQ2NSA5Ni40NjUsODIuMzIyXCJcclxuICAvPlxyXG4gIDxwb2x5Z29uXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdwbHVzJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgcG9pbnRzPVwiOTcuNSwzNy41IDYyLjUsMzcuNSA2Mi41LDIuNSAzNy41LDIuNSAzNy41LDM3LjUgMi41LDM3LjUgMi41LDYyLjUgMzcuNSw2Mi41IDM3LjUsOTcuNSA2Mi41LDk3LjUgNjIuNSw2Mi41IDk3LjUsNjIuNVwiXHJcbiAgLz5cclxuICA8cG9seWdvblxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAncm93J1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgcG9pbnRzPVwiOTYsNTAgNjYuNSwyMCA2Ni41LDM3LjUgMzMuNSwzNy41IDMzLjUsMjAgNCw1MCAzMy41LDgwIDMzLjUsNjIuNSA2Ni41LDYyLjUgNjYuNSw4MFwiXHJcbiAgLz5cclxuICA8cG9seWdvblxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnY29sdW1uJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgcG9pbnRzPVwiNjIuNSwzMy41MzUgODAsMzMuNTM1IDUwLDMuNTM1IDIwLDMzLjUzNSAzNy41LDMzLjUzNSAzNy41LDY2LjQ2NSAyMCw2Ni40NjUgNTAsOTYuNDY1IDgwLDY2LjQ2NSA2Mi41LDY2LjQ2NVwiXHJcbiAgLz5cclxuICA8cG9seWdvblxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnZmxhZydcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHBvaW50cz1cIjkzLDMzLjg2IDIyLjUsNy4zNjggMjIuNSwyLjUgMi41LDIuNSAyLjUsOTcuNSAyMi41LDk3LjUgMjIuNSw1OS45MTVcIlxyXG4gIC8+XHJcbiAgPHBhdGhcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2dlYXInXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBkPVwiTTk2LjM1LDM5LjYyNUM5NS4xNzgsMzQuMzY5LDkzLjE0LDI5LjQ0LDkwLjM4NSwyNUg4MGwtNS01VjkuNjE4QzcwLjU1NCw2Ljg1OSw2NS42MTcsNC44Miw2MC4zNTMsMy42NUw1Ni42MSw3Ljc2MUw1MCwxNS4wMjJsLTYuNjEtNy4yNjFMMzkuNjQ3LDMuNjVDMzQuMzgyLDQuODIsMjkuNDQ3LDYuODU5LDI1LDkuNjE4VjIwbC01LDVIOS42MTVDNi44NiwyOS40NCw0LjgyMiwzNC4zNjksMy42NSwzOS42MjVsNC4xNjUsMy43NjRMMTUuMTMyLDUwbC03LjMxNiw2LjYxTDMuNjUsNjAuMzc1QzQuODIyLDY1LjYzMSw2Ljg2LDcwLjU2LDkuNjE1LDc1SDIwbDUsNXYxMC4zODJjNC40NDEsMi43NTUsOS4zNzEsNC43OTMsMTQuNjI4LDUuOTY0bDMuNzYxLTQuMTYyTDUwLDg0Ljg2N2w2LjYxLDcuMzE2bDMuNzYxLDQuMTYyYzUuMjU4LTEuMTcxLDEwLjE4OC0zLjIwOSwxNC42MjktNS45NjRWODBsNS01aDEwLjM4NWMyLjc1NS00LjQ0LDQuNzkzLTkuMzY5LDUuOTY1LTE0LjYyNWwtNC4xNjUtMy43NjVMODQuODY5LDUwbDcuMzE1LTYuNjExTDk2LjM1LDM5LjYyNXogTTUwLDcyLjVjLTEyLjQyNywwLTIyLjUtMTAuMDczLTIyLjUtMjIuNWMwLTEyLjQyNiwxMC4wNzMtMjIuNSwyMi41LTIyLjVTNzIuNSwzNy41NzQsNzIuNSw1MEM3Mi41LDYyLjQyNyw2Mi40MjcsNzIuNSw1MCw3Mi41elwiXHJcbiAgLz5cclxuICA8cG9seWdvblxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnc3RhcidcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHBvaW50cz1cIjUwLDkuOTEgNjIuMDIyLDM4LjM2MyA5Mi43OTgsNDEuMDA1XHJcbjY5LjQ1Myw2MS4yMyA3Ni40NSw5MS4zMTYgNTAsNzUuMzY0IDIzLjU1LDkxLjMxNSAzMC41NDcsNjEuMjMgNy4yMDMsNDEuMDA1IDM3Ljk3OCwzOC4zNjMgXCJcclxuICAvPlxyXG4gIDwhLS0gc3RhcnQgdXNlciAtLT5cclxuICA8Y2lyY2xlXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICd1c2VyJ1wiXHJcbiAgICBmaWxsPVwiI0ZGRkZGRlwiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgY3g9XCI1MFwiXHJcbiAgICBjeT1cIjI3LjVcIlxyXG4gICAgcj1cIjI1XCJcclxuICAvPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICd1c2VyJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgZD1cIk04Ni42LDUyLjVINzEuNjQ2IEM2Ny4zMjQsNTkuOTcxLDU5LjI1Miw2NSw1MCw2NXMtMTcuMzI0LTUuMDI5LTIxLjY0Ni0xMi41SDE0LjRjLTYuMjk3LDAtMTEuOSw1LjM3My0xMS45LDEydjMzaDk1di0zMyBDOTcuNSw1Ny44NzMsOTIuODk2LDUyLjUsODYuNiw1Mi41elwiXHJcbiAgLz5cclxuICA8IS0tIGVuZCB1c2VyIC0tPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdib21iJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgZD1cIk05My42MzQsMzQuNjUxYzQuNjg3LTQuNjg2LDUuMTgyLTExLjc4OSwxLjEwNy0xNS44NjNMODEuMjEzLDUuMjYxYy00LjA3NC00LjA3Ni0xMS4xNzgtMy41OC0xNS44NjMsMS4xMDVsLTEuMjUyLDEuMjUyQzU5LjI5NCw1LjkyOSw1NC4xMzIsNSw0OC43NSw1QzIzLjIwNyw1LDIuNSwyNS43MDcsMi41LDUxLjI1UzIzLjIwNyw5Ny41LDQ4Ljc1LDk3LjVTOTUsNzYuNzkzLDk1LDUxLjI1YzAtNS4zODEtMC45MjktMTAuNTQzLTIuNjE4LTE1LjM0N0w5My42MzQsMzQuNjUxeiBNNzAuNCw2NC42ODFsLTEyLjAwOS0xLjAwOWwtMS4wOTEsMTIuMDAxbC04LjU1MS04LjQ5MmwtOC41NSw4LjQ5MmwtMS4wOTEtMTIuMDAxTDI3LjEsNjQuNjgxbDYuODc4LTkuODk2TDI0LjEzLDQ3Ljg0bDExLjYzLTMuMTU5bC0zLjA4LTExLjY1bDEwLjkzOSw1LjA1Nmw1LjEzLTEwLjkwNWw1LjEzMSwxMC45MDVMNjQuODIsMzMuMDNsLTMuMDgsMTEuNjVsMTEuNjMsMy4xNTlsLTkuODQ5LDYuOTQ1TDcwLjQsNjQuNjgxelwiXHJcbiAgLz5cclxuICA8IS0tIHN0YXJ0IHJlZnJlc2ggLS0+XHJcbiAgPHBhdGhcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ3JlZnJlc2gnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcclxuICAgIGQ9XCJNNTAsODBjLTkuMTg2LDAtMTcuMzkxLTQuMTQxLTIyLjg5My0xMC42NDNMMzcuNSw1OC45NjVoLTM1djM1bDEyLjIwNC0xMi4yMDRDMjMuMzk1LDkxLjQyLDM1Ljk4Miw5Ny41LDUwLDk3LjVjMjYuMjMyLDAsNDcuNS0yMS4yNjgsNDcuNS00Ny41SDgwQzgwLDY2LjU2OCw2Ni41NjgsODAsNTAsODB6XCJcclxuICAvPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdyZWZyZXNoJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICBkPVwiTTg1LjI5NiwxOC4yNEM3Ni42MDUsOC41OCw2NC4wMTgsMi41LDUwLDIuNUMyMy43NjgsMi41LDIuNSwyMy43NjgsMi41LDUwSDIwYzAtMTYuNTY4LDEzLjQzMi0zMCwzMC0zMGM5LjE4NiwwLDE3LjM5Myw0LjE0MSwyMi44OTMsMTAuNjQzTDYyLjUsNDEuMDM2aDM1di0zNUw4NS4yOTYsMTguMjR6XCJcclxuICAvPlxyXG4gIDwhLS0gZW5kIHJlZnJlc2ggLS0+XHJcbiAgPHBvbHlnb25cclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2FzY2VuZCdcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHBvaW50cz1cIjUwLDMuODQxIDIwLDM4Ljg0MiA4MCwzOC44NDJcIlxyXG4gIC8+XHJcbiAgPHBvbHlnb25cclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2Rlc2NlbmQnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBwb2ludHM9XCI1MCw5Ni4xNTggMjAsNjEuMTU4IDgwLDYxLjE1OFwiXHJcbiAgLz5cclxuICA8cGF0aFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnc2VhcmNoJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICBkPVwiTTk2LjQ2NSw4Ny42MjdMNzAuNTYsNjEuNzIxQzc0LjkyNCw1NS41OTEsNzcuNSw0OC4wOTksNzcuNSw0MEM3Ny41LDE5LjI5LDYwLjcxMSwyLjUsNDAsMi41QzE5LjI5LDIuNSwyLjUsMTkuMjksMi41LDQwYzAsMjAuNzExLDE2Ljc5LDM3LjUsMzcuNSwzNy41YzguMDk4LDAsMTUuNTkxLTIuNTc1LDIxLjcyLTYuOTRsMjUuOTA2LDI1LjkwNUw5Ni40NjUsODcuNjI3eiBNNDAsNjVjLTEzLjgwNywwLTI1LTExLjE5Mi0yNS0yNWMwLTEzLjgwNywxMS4xOTMtMjUsMjUtMjVjMTMuODA4LDAsMjUsMTEuMTkzLDI1LDI1QzY1LDUzLjgwOCw1My44MDgsNjUsNDAsNjV6XCJcclxuICAvPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdjcm93bidcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIlxyXG4gICAgZD1cIk05NSwyMi41YzAtNC4xNDMtMy4zNTctNy41LTcuNS03LjVcclxuXHRTODAsMTguMzU3LDgwLDIyLjVjMCwyLjE0NSwwLjkwNCw0LjA3MywyLjM0Nyw1LjQ0TDY3LjY3Myw2Ni4yNzNsLTEzLjM3LTUwLjEzNkM1Ni4yMzQsMTQuNzgxLDU3LjUsMTIuNTQsNTcuNSwxMFxyXG5cdGMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41cy03LjUsMy4zNTctNy41LDcuNWMwLDIuNTQsMS4yNjYsNC43OCwzLjE5Nyw2LjEzN2wtMTMuMzcsNTAuMTM2TDE3LjY1NCwyNy45MzlcclxuXHRDMTkuMDk2LDI2LjU3MywyMCwyNC42NDQsMjAsMjIuNWMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41UzUsMTguMzU3LDUsMjIuNWMwLDMuNjczLDIuNjQyLDYuNzI0LDYuMTI4LDcuMzY5TDE0Ljg1Nyw3Mi41SDEyLjV2MTVcclxuXHRIMTB2MTBoODB2LTEwaC0yLjV2LTE1aC0yLjM1NmwzLjcyOS00Mi42MzFDOTIuMzU4LDI5LjIyMyw5NSwyNi4xNzMsOTUsMjIuNXpcIlxyXG4gIC8+XHJcbiAgPHBhdGhcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ29ncmUnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcclxuICAgIGQ9XCJNODIuNSw1LjcyMWMwLDAsNSw1LDUsMTVzLTEwLDEwLTEwLDEwaC0zLjUxOVxyXG5cdEM3Mi4wMTgsMjguNzI4LDY5LjM5MywyNy41LDY2LjUsMjcuNWgtMzNjLTIuODk0LDAtNS41MTgsMS4yMjgtNy40ODEsMy4yMjFIMjIuNWMwLDAtMTAsMC0xMC0xMHM1LTE1LDUtMTVzLTE1LDUtMTUsMjBcclxuXHRjMCwxMy4yNjMsNy44MjEsMjIuNjEsMjAsMjQuNlY2MC41YzAsNi41ODMsNC44NjEsMTEuOTIzLDEwLjg4MSwxMS45OTNDMzMuODY5LDc5LjczMiwzNSw4Ny44MzQsMzUsOTBjMCw0LjE0MywzLjM1Nyw3LjUsNy41LDcuNVxyXG5cdGgxNWM0LjE0MywwLDcuNS0zLjM1Nyw3LjUtNy41YzAtMi4xNjYsMS4xMzEtMTAuMjY4LDEuNjItMTcuNTA3YzYuMDE5LTAuMDcsMTAuODgtNS40MSwxMC44OC0xMS45OTNWNTAuMzJcclxuXHRjMTIuMTc5LTEuOTg5LDIwLTExLjMzNywyMC0yNC42Qzk3LjUsMTAuNzIxLDgyLjUsNS43MjEsODIuNSw1LjcyMXogTTM3LjUsNjVjLTQuMTQzLDAtNy41LTMuMzU3LTcuNS03LjVzMy4zNTctNy41LDcuNS03LjVcclxuXHRzNy41LDMuMzU3LDcuNSw3LjVTNDEuNjQzLDY1LDM3LjUsNjV6IE02Mi41LDY1Yy00LjE0MywwLTcuNS0zLjM1Ny03LjUtNy41czMuMzU3LTcuNSw3LjUtNy41czcuNSwzLjM1Nyw3LjUsNy41UzY2LjY0Myw2NSw2Mi41LDY1XHJcblx0elwiXHJcbiAgLz5cclxuICA8cGF0aFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnZm9sZGVyJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICBkPVwiTTQyLjUwMywxMC41Yy05LjgzNiwwLTI4LjEwMywwLTI4LjEwMywwXHJcblx0Yy02LjI5NiwwLTExLjksNS4zNzMtMTEuOSwxMnY1NmMwLDYuNjI3LDUuNjA0LDEyLDExLjksMTJoNzIuMmM2LjI5NiwwLDEwLjktNS4zNzMsMTAuOS0xMmMwLDAsMC0zNy40MDYsMC00NFxyXG5cdHMtNC40NjctMTEuOTg5LTEwLjktMTJzLTMzLjgwNywwLTMzLjgwNywwUzUyLjMzOSwxMC41LDQyLjUwMywxMC41elwiXHJcbiAgLz5cclxuICA8cGF0aFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnY2hldnJvbidcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIlxyXG4gICAgZD1cIk0gODEuMzcxMjA0LDgwLjczNDE4OSA5Ni40NTkzNzgsNjUuNzM0MDM5IDUwLjAwMDAwMSwxOS4yNjg1NzMgMy41NDA2MjI0LDY1LjczNDAzOSAxOC42Mjg3OTcsODAuNzM0MTg5IDUwLjAwMDAwMSw0OS4yNjg4NzQgWlwiXHJcbiAgLz5cclxuICA8cGF0aFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnYW5raCdcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIlxyXG4gICAgZD1cIk04NSw2MGwtNS0xNUg2MC45MzhcclxuXHRDNjUuNjA1LDM2Ljc4MSw3MCwyNy42NzcsNzAsMjIuNWMwLTExLjA0Ni04Ljk1NS0yMC0yMC0yMGMtMTEuMDQ2LDAtMjAsOC45NTQtMjAsMjBjMCw1LjE3Nyw0LjM5NCwxNC4yODEsOS4wNjIsMjIuNUgxOS45OTlMMTUsNjBcclxuXHRsMjguOTY1LTQuMTM4TDQwLDk3LjVoMjBsLTMuOTY3LTQxLjYzOEw4NSw2MHogTTQ5Ljk5OSwxMi41NTFjNS41MjQsMCwxMC4wMDEsNC40NzgsMTAuMDAxLDEwYzAsNS41MjMtMTAuMDAxLDIwLTEwLjAwMSwyMFxyXG5cdHMtMTAtMTQuNDc3LTEwLTIwQzQwLDE3LjAyOCw0NC40NzcsMTIuNTUxLDQ5Ljk5OSwxMi41NTF6XCJcclxuICAvPlxyXG4gIDxwb2x5Z29uXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdzdW4nXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcclxuICAgIHBvaW50cz1cIjUwLjAwMSw1Ljg2NCA1Ny41NDEsMjEuODY0XHJcblx0NzIuMDY4LDExLjc3OCA3MC42LDI5LjQwMyA4OC4yMjQsMjcuOTMzIDc4LjE0LDQyLjQ2MSA5NC4xMzcsNTAgNzguMTQsNTcuNTQxIDg4LjIyNCw3Mi4wNyA3MC42LDcwLjYgNzIuMDY4LDg4LjIyNSA1Ny41NDEsNzguMTQxXHJcblx0NTAuMDAxLDk0LjEzNyA0Mi40NjEsNzguMTQxIDI3LjkzMyw4OC4yMjUgMjkuNDAzLDcwLjYgMTEuNzc3LDcyLjA3IDIxLjg2Myw1Ny41NDEgNS44NjQsNTAgMjEuODYzLDQyLjQ2MSAxMS43NzcsMjcuOTMzXHJcblx0MjkuNDAzLDI5LjQwMyAyNy45MzMsMTEuNzc4IDQyLjQ2MSwyMS44NjQgXCJcclxuICAvPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdtb29uJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICBkPVwiTTkwLjAyOSw2Mi42MjZcclxuXHRjLTE0LjU0LDE0LjU0LTM4LjExNSwxNC41MzktNTIuNjU0LDBjLTE0LjU0LTE0LjU0LTE0LjU0LTM4LjExNCwwLTUyLjY1NGMyLjczOS0yLjc0LDUuODAyLTQuOTYzLDkuMDYxLTYuNjdcclxuXHRDMzUuNDYzLDQuMDQ5LDI0LjcwMSw4LjYwNCwxNi4zMTMsMTYuOTkxYy0xOC40MTcsMTguNDE4LTE4LjQxNyw0OC4yNzgsMCw2Ni42OTZjMTguNDE3LDE4LjQxNiw0OC4yNzgsMTguNDE2LDY2LjY5NCwwXHJcblx0YzguMzg5LTguMzg5LDEyLjk0Mi0xOS4xNDksMTMuNjktMzAuMTIzQzk0Ljk4OSw1Ni44MjUsOTIuNzY4LDU5Ljg4Niw5MC4wMjksNjIuNjI2elwiXHJcbiAgLz5cclxuICA8cmVjdFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnY2xlYXInXCJcclxuICAgIHg9XCIyLjVcIlxyXG4gICAgeT1cIjIuNVwiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICB3aWR0aD1cIjc1XCJcclxuICAgIGhlaWdodD1cIjc1XCJcclxuICAvPlxyXG4gIDxyZWN0XHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdjbGVhcidcIlxyXG4gICAgeD1cIjIyLjVcIlxyXG4gICAgeT1cIjIyLjVcIlxyXG4gICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICBzdHJva2UtZGFzaGFycmF5PVwiMTMuMjUgNS41XCJcclxuICAgIHdpZHRoPVwiNzVcIlxyXG4gICAgaGVpZ2h0PVwiNzVcIlxyXG4gIC8+XHJcbiAgPHBhdGhcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2FtcGhvcmEnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcclxuICAgIGQ9XCJNOTIuNSwyOGMwLTExLjA0Ni03LjgzNS0yMC0xNy41LTIwXHJcblx0Yy0zLjU4NiwwLTYuOTE3LDEuMjM3LTkuNjkxLDMuMzUyYzAuMDI1LTAuNzQ5LDAuMDg0LTEuNDA5LDAuMTkxLTEuODUyYzAuNDcxLTEuOTE4LDMuNS03LDMuNS03SDMxYzAsMCwzLjAzLDUuMDgyLDMuNSw3XHJcblx0YzAuMTA4LDAuNDQyLDAuMTY2LDEuMTAzLDAuMTkyLDEuODUyQzMxLjkxNyw5LjIzNywyOC41ODYsOCwyNSw4QzE1LjMzNSw4LDcuNSwxNi45NTQsNy41LDI4YzAsNy4wMTksMy4xNywxMy4xODIsNy45NTYsMTYuNzUxXHJcblx0QzE1LjE2NSw0Ni40MzgsMTUsNDguMTg3LDE1LDUwYzAsMTMuNzQ0LDE4LjUsNDAuNSwxOC41LDQwLjVsLTIuNSw3aDM4bC0yLjUtN2MwLDAsMTguNS0yNi43NTYsMTguNS00MC41XHJcblx0YzAtMS44MTMtMC4xNjQtMy41NjMtMC40NTYtNS4yNDlDODkuMzMsNDEuMTgyLDkyLjUsMzUuMDE5LDkyLjUsMjh6IE0xNSwyOGMwLTYuOTAzLDQuNDc4LTEyLjUsMTAtMTIuNVxyXG5cdGMyLjc4OSwwLDUuMzA5LDEuNDMsNy4xMjIsMy43MzJjLTMuNTgyLDIuODA4LTEwLjM0Nyw4LjkzLTE0LjIxNSwxNy41NzdDMTYuMTExLDM0LjU0OSwxNSwzMS40MzcsMTUsMjh6IE04Mi4wOTMsMzYuODA5XHJcblx0Yy0zLjg2Ni04LjY0Ny0xMC42MzQtMTQuNzY5LTE0LjIxNS0xNy41NzdDNjkuNjkxLDE2LjkzLDcyLjIxMSwxNS41LDc1LDE1LjVjNS41MjEsMCwxMCw1LjU5NywxMCwxMi41XHJcblx0Qzg1LDMxLjQzNyw4My44ODksMzQuNTQ5LDgyLjA5MywzNi44MDl6XCJcclxuICAvPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdzcGVlY2gnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcclxuICAgIGQ9XCJNNTAsMi41QzI2LjcwMiwyLjUsMi41LDIyLjMzOSwyLjUsNDVcclxuXHRjMCw4LjM2OCwzLjMwNywxNi4zNDcsOC42NDEsMjMuMDg0TDMuOTc5LDk0LjgxM2wyMy4xOTYtMTMuMzkzYzcuMDc4LDMuODMsMTUsNi4wNzYsMjIuODI1LDYuMDc2YzIzLjI5OSwwLDQ3LjUtMTkuODM4LDQ3LjUtNDIuNVxyXG5cdEM5Ny41LDIyLjMzNiw3My4yOTksMi41LDUwLDIuNXogTTc1LDYwLjAwMUgyNWMtMi43NjIsMC01LTIuMjM4LTUtNXMyLjIzOC01LDUtNWg1MGMyLjc2MiwwLDUsMi4yMzksNSw1XHJcblx0QzgwLDU3Ljc2Myw3Ny43NjIsNjAuMDAxLDc1LDYwLjAwMXogTTc1LDQwSDI1Yy0yLjc2MiwwLTUtMi4yMzktNS01czIuMjM4LTUsNS01aDUwYzIuNzYyLDAsNSwyLjIzOSw1LDVDODAsMzcuNzYzLDc3Ljc2Miw0MCw3NSw0MFxyXG5cdHpcIlxyXG4gIC8+XHJcbjwvc3ZnPlxyXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Component, HostBinding } from '@angular/core';
2
+ import { SizeDirective } from '../../directives';
3
+ import * as i0 from "@angular/core";
4
+ export class IconStackComponent extends SizeDirective {
5
+ constructor() {
6
+ super();
7
+ this.width = this.size;
8
+ this.height = this.size;
9
+ this.sizeChangesSubject.subscribe({
10
+ next: () => {
11
+ this.width = this.size;
12
+ this.height = this.size;
13
+ }
14
+ });
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: IconStackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: IconStackComponent, selector: "icon-stack", host: { properties: { "style.width": "this.width", "style.height": "this.height" } }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:grid;grid-template-columns:1fr}:host ::ng-deep>icon{grid-row-start:1;grid-column-start:1;display:flex;justify-content:center;align-items:center}\n"] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: IconStackComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'icon-stack', template: `<ng-content></ng-content>`, styles: [":host{display:grid;grid-template-columns:1fr}:host ::ng-deep>icon{grid-row-start:1;grid-column-start:1;display:flex;justify-content:center;align-items:center}\n"] }]
22
+ }], ctorParameters: () => [], propDecorators: { width: [{
23
+ type: HostBinding,
24
+ args: ['style.width']
25
+ }], height: [{
26
+ type: HostBinding,
27
+ args: ['style.height']
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zdGFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvY29tcG9uZW50cy9pY29uLXN0YWNrL2ljb24tc3RhY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPakQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWE7SUFJbkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUprQixVQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqQixXQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUk5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO1lBQ2hDLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDMUIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBWlUsa0JBQWtCO2tHQUFsQixrQkFBa0IsK0pBSG5CLDJCQUEyQjs7MkZBRzFCLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxZQUFZLFlBQ1osMkJBQTJCO3dEQUlULEtBQUs7c0JBQWhDLFdBQVc7dUJBQUMsYUFBYTtnQkFDRyxNQUFNO3NCQUFsQyxXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpemVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWNvbi1zdGFjaycsXHJcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcclxuICBzdHlsZVVybHM6IFsnLi9pY29uLXN0YWNrLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEljb25TdGFja0NvbXBvbmVudCBleHRlbmRzIFNpemVEaXJlY3RpdmUge1xyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSB3aWR0aCA9IHRoaXMuc2l6ZTtcclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGhlaWdodCA9IHRoaXMuc2l6ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5zaXplQ2hhbmdlc1N1YmplY3Quc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMud2lkdGggPSB0aGlzLnNpemU7XHJcbiAgICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLnNpemU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,8 +1,11 @@
1
+ export * from './busy/busy.component';
1
2
  export * from './choice/choice.component';
2
3
  export * from './color/color.component';
3
4
  export * from './file/file.component';
5
+ export * from './icon-stack/icon-stack.component';
6
+ export * from './icon/icon.component';
4
7
  export * from './number/number.component';
5
8
  export * from './readonly/readonly.component';
6
- export * from './text/text.component';
7
9
  export * from './select/select.component';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaG9pY2UvY2hvaWNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sb3IvY29sb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlL2ZpbGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9udW1iZXIvbnVtYmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90ZXh0L3RleHQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XHJcbiJdfQ==
10
+ export * from './text/text.component';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXN5L2J1c3kuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jaG9pY2UvY2hvaWNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sb3IvY29sb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlL2ZpbGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9pY29uLXN0YWNrL2ljb24tc3RhY2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9pY29uL2ljb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9udW1iZXIvbnVtYmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC90ZXh0LmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -4,7 +4,8 @@ import { ControlDirective } from '../../directives';
4
4
  import { isNumber } from '../../models';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/forms";
7
- import * as i2 from "@joster-dev/icon";
7
+ import * as i2 from "../icon/icon.component";
8
+ import * as i3 from "../../directives/size.directive";
8
9
  export class NumberComponent extends ControlDirective {
9
10
  get min() {
10
11
  return this._min;
@@ -117,11 +118,11 @@ export class NumberComponent extends ControlDirective {
117
118
  this.ngControl.control?.updateValueAndValidity();
118
119
  }
119
120
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: NumberComponent, deps: [{ token: i1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: NumberComponent, selector: "jo-number", inputs: { min: "min", max: "max", step: "step" }, usesInheritance: true, ngImport: i0, template: "<label [class.required]=\"required\">\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"d-flex align-items-stretch\">\r\n <input\r\n [(ngModel)]=\"model\"\r\n #numberInput\r\n class=\"d-flex align-items-center\"\r\n type=\"number\"\r\n [size]=\"maxDigitSize + sizePadding\"\r\n [class.active]=\"_model !== null\"\r\n [class.border-radius-left]=\"borderRadiusLeft\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n (beforeinput)=\"onBeforeinput($event)\"\r\n />\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Subtract\"\r\n type=\"button\"\r\n [disabled]=\"isDisabledSubtract\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"subtract(numberInput)\"\r\n >\r\n <icon\r\n type=\"minus\"\r\n size=\"1em\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Add\"\r\n type=\"button\"\r\n [class.border-radius-right]=\"borderRadiusRight\"\r\n [disabled]=\"isDisabledAdd\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"add(numberInput)\"\r\n >\r\n <icon\r\n type=\"plus\"\r\n size=\"1em\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['min']\">\r\n minimum number is {{min}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['max']\">\r\n maximum number is {{max}}\r\n </li>\r\n</ul> -->", styles: ["input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host>div>input{border-right:0}:host>div>button:not(:last-child){border-right:0;border-left:0}:host>div>button:last-child{border-left:0}\n", ".d-flex{display:flex}.align-items-start{align-items:flex-start}.align-items-center{align-items:center}.align-items-stretch{align-items:stretch}.justify-content-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.flex-column{flex-direction:column}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.align-self-center{align-self:center}.margin-right-1{margin-right:.5em}.margin-right-2{margin-right:1em}.margin-left-1{margin-left:.5em}.margin-left-2{margin-left:1em}.border-radius-right{border-top-right-radius:.5em;border-bottom-right-radius:.5em}.border-radius-left{border-top-left-radius:.5em;border-bottom-left-radius:.5em}.white-space-nowrap{white-space:nowrap}.text-right{text-align:right}.text-left{text-align:left}.text-center{text-align:center}\n", "label{display:block;padding-bottom:.5em;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}ul>li{padding-top:.25em}a:not(.jo-ignore),button:not(.jo-ignore),.button,input,textarea{color:inherit;background:transparent;border-width:.15em;border-style:outset;border-color:currentColor;padding:.5em;margin:0;font-size:1em;line-height:1em}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.button:active,.button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.button:disabled,.button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.button{cursor:pointer}@keyframes invalid-border{0%,to{border-style:inset}50%{border-style:outset}}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.IconComponent, selector: "icon[type]", inputs: ["type", "fill", "fillRotate", "fillOpacity", "stroke", "strokeRotate", "spin"] }] }); }
121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: NumberComponent, selector: "jo-number", inputs: { min: "min", max: "max", step: "step" }, usesInheritance: true, ngImport: i0, template: "<label [class.required]=\"required\">\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"d-flex align-items-stretch\">\r\n <input\r\n [(ngModel)]=\"model\"\r\n #numberInput\r\n class=\"d-flex align-items-center\"\r\n type=\"number\"\r\n [size]=\"maxDigitSize + sizePadding\"\r\n [class.active]=\"_model !== null\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n (beforeinput)=\"onBeforeinput($event)\"\r\n />\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Subtract\"\r\n type=\"button\"\r\n [disabled]=\"isDisabledSubtract\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"subtract(numberInput)\"\r\n >\r\n <icon\r\n type=\"minus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Add\"\r\n type=\"button\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [disabled]=\"isDisabledAdd\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"add(numberInput)\"\r\n >\r\n <icon\r\n type=\"plus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['min']\">\r\n minimum number is {{min}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['max']\">\r\n maximum number is {{max}}\r\n </li>\r\n</ul> -->", styles: ["input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host>div>input{border-right:0}:host>div>button:not(:last-child){border-right:0;border-left:0}:host>div>button:last-child{border-left:0}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit;min-width:0}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.IconComponent, selector: "icon[type]", inputs: ["type", "fill", "fillRotate", "fillOpacity", "stroke", "strokeRotate", "spin"] }, { kind: "directive", type: i3.SizeDirective, selector: "[size]", inputs: ["size"] }] }); }
121
122
  }
122
123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: NumberComponent, decorators: [{
123
124
  type: Component,
124
- args: [{ selector: 'jo-number', template: "<label [class.required]=\"required\">\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"d-flex align-items-stretch\">\r\n <input\r\n [(ngModel)]=\"model\"\r\n #numberInput\r\n class=\"d-flex align-items-center\"\r\n type=\"number\"\r\n [size]=\"maxDigitSize + sizePadding\"\r\n [class.active]=\"_model !== null\"\r\n [class.border-radius-left]=\"borderRadiusLeft\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n (beforeinput)=\"onBeforeinput($event)\"\r\n />\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Subtract\"\r\n type=\"button\"\r\n [disabled]=\"isDisabledSubtract\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"subtract(numberInput)\"\r\n >\r\n <icon\r\n type=\"minus\"\r\n size=\"1em\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Add\"\r\n type=\"button\"\r\n [class.border-radius-right]=\"borderRadiusRight\"\r\n [disabled]=\"isDisabledAdd\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"add(numberInput)\"\r\n >\r\n <icon\r\n type=\"plus\"\r\n size=\"1em\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['min']\">\r\n minimum number is {{min}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['max']\">\r\n maximum number is {{max}}\r\n </li>\r\n</ul> -->", styles: ["input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host>div>input{border-right:0}:host>div>button:not(:last-child){border-right:0;border-left:0}:host>div>button:last-child{border-left:0}\n", ".d-flex{display:flex}.align-items-start{align-items:flex-start}.align-items-center{align-items:center}.align-items-stretch{align-items:stretch}.justify-content-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.flex-column{flex-direction:column}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.align-self-center{align-self:center}.margin-right-1{margin-right:.5em}.margin-right-2{margin-right:1em}.margin-left-1{margin-left:.5em}.margin-left-2{margin-left:1em}.border-radius-right{border-top-right-radius:.5em;border-bottom-right-radius:.5em}.border-radius-left{border-top-left-radius:.5em;border-bottom-left-radius:.5em}.white-space-nowrap{white-space:nowrap}.text-right{text-align:right}.text-left{text-align:left}.text-center{text-align:center}\n", "label{display:block;padding-bottom:.5em;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}ul>li{padding-top:.25em}a:not(.jo-ignore),button:not(.jo-ignore),.button,input,textarea{color:inherit;background:transparent;border-width:.15em;border-style:outset;border-color:currentColor;padding:.5em;margin:0;font-size:1em;line-height:1em}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.button:active,.button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.button:disabled,.button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.button{cursor:pointer}@keyframes invalid-border{0%,to{border-style:inset}50%{border-style:outset}}\n"] }]
125
+ args: [{ selector: 'jo-number', template: "<label [class.required]=\"required\">\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"d-flex align-items-stretch\">\r\n <input\r\n [(ngModel)]=\"model\"\r\n #numberInput\r\n class=\"d-flex align-items-center\"\r\n type=\"number\"\r\n [size]=\"maxDigitSize + sizePadding\"\r\n [class.active]=\"_model !== null\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n (beforeinput)=\"onBeforeinput($event)\"\r\n />\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Subtract\"\r\n type=\"button\"\r\n [disabled]=\"isDisabledSubtract\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"subtract(numberInput)\"\r\n >\r\n <icon\r\n type=\"minus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Add\"\r\n type=\"button\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [disabled]=\"isDisabledAdd\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"add(numberInput)\"\r\n >\r\n <icon\r\n type=\"plus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['min']\">\r\n minimum number is {{min}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['max']\">\r\n maximum number is {{max}}\r\n </li>\r\n</ul> -->", styles: ["input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host>div>input{border-right:0}:host>div>button:not(:last-child){border-right:0;border-left:0}:host>div>button:last-child{border-left:0}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit;min-width:0}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"] }]
125
126
  }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
126
127
  type: Self
127
128
  }] }], propDecorators: { min: [{
@@ -131,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
131
132
  }], step: [{
132
133
  type: Input
133
134
  }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYW9zLWNvbnRyb2wvc3JjL2xpYi9jb21wb25lbnRzL251bWJlci9udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvbnVtYmVyL251bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUE4RixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBV3hDLE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQUNuRCxJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdELElBQ0ksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixD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SSxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxRQUFRO1FBQ2QsTUFBTSxVQUFVLEdBQWtCO1lBQ2hDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUN4QixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDekIsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJO1lBQ3hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0lBQ25ELENBQUM7OEdBMUlVLGVBQWU7a0dBQWYsZUFBZSwwSENkNUIsc3VEQTZEUzs7MkZEL0NJLGVBQWU7a0JBVDNCLFNBQVM7K0JBQ0UsV0FBVzs7MEJBaURsQixJQUFJO3lDQXZDSCxHQUFHO3NCQUROLEtBQUs7Z0JBYUYsR0FBRztzQkFETixLQUFLO2dCQWFGLElBQUk7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnam8tbnVtYmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL251bWJlci5jb21wb25lbnQuc2NzcycsXHJcbiAgICAnLi4vLi4vYXRvbWljLnNjc3MnLFxyXG4gICAgJy4uLy4uL3N0eWxlcy5zY3NzJyxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG1pbigpIHtcclxuICAgIHJldHVybiB0aGlzLl9taW47XHJcbiAgfVxyXG4gIHNldCBtaW4odmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKCFpc051bWJlcih2YWx1ZSkpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignW21pbl0gZXhwZWN0czogbnVtYmVyJyk7XHJcbiAgICB0aGlzLl9taW4gPSB2YWx1ZTtcclxuICAgIHRoaXMudmFsaWRhdGlvbi5uZXh0KCk7XHJcbiAgfVxyXG4gIF9taW4gPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBtYXgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWF4O1xyXG4gIH1cclxuICBzZXQgbWF4KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIGlmICghaXNOdW1iZXIodmFsdWUpKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ttYXhdIGV4cGVjdHM6IG51bWJlcicpO1xyXG4gICAgdGhpcy5fbWF4ID0gdmFsdWU7XHJcbiAgICB0aGlzLnZhbGlkYXRpb24ubmV4dCgpO1xyXG4gIH1cclxuICBfbWF4ID0gOTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgc3RlcCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zdGVwO1xyXG4gIH1cclxuICBzZXQgc3RlcCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICBpZiAoIWlzTnVtYmVyKHZhbHVlKSlcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdbc3RlcF0gZXhwZWN0czogbnVtYmVyJyk7XHJcbiAgICB0aGlzLl9zdGVwID0gdmFsdWU7XHJcbiAgICB0aGlzLm11c3RCZUludGVnZXIgPSBOdW1iZXIuaXNJbnRlZ2VyKHRoaXMuX3N0ZXApO1xyXG4gIH1cclxuICBfc3RlcCA9IDE7XHJcblxyXG4gIG11c3RCZUludGVnZXIgPSB0cnVlO1xyXG4gIHJlYWRvbmx5IHNpemVQYWRkaW5nID0gNTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnZhbGlkYXRpb24uc3Vic2NyaWJlKCgpID0+IHRoaXMudmFsaWRhdGUoKSk7XHJcbiAgICB0aGlzLnZhbGlkYXRpb24ubmV4dCgpO1xyXG4gICAgbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gIH1cclxuXHJcbiAgX21vZGVsOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBnZXQgbW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbW9kZWw7XHJcbiAgfVxyXG4gIHNldCBtb2RlbCh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fbW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGlzYWJsZWRBZGQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkID09PSB0cnVlXHJcbiAgICAgIHx8IHRoaXMubW9kZWwgIT09IG51bGxcclxuICAgICAgJiYgdGhpcy5tb2RlbCArIHRoaXMuc3RlcCA+IHRoaXMubWF4O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGlzYWJsZWRTdWJ0cmFjdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmlzRGlzYWJsZWQgPT09IHRydWVcclxuICAgICAgfHwgdGhpcy5fbW9kZWwgIT09IG51bGxcclxuICAgICAgJiYgdGhpcy5fbW9kZWwgLSB0aGlzLnN0ZXAgPCB0aGlzLm1pbjtcclxuICB9XHJcblxyXG4gIGdldCBtYXhEaWdpdFNpemUoKSB7XHJcbiAgICByZXR1cm4gTWF0aC5tYXgoXHJcbiAgICAgIHRoaXMuX3N0ZXAudG9TdHJpbmcoKS5sZW5ndGgsXHJcbiAgICAgIHRoaXMuX21heC50b1N0cmluZygpLmxlbmd0aCxcclxuICAgICAgdGhpcy5fbWluLnRvU3RyaW5nKCkubGVuZ3RoXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25CZWZvcmVpbnB1dChlOiBFdmVudCkge1xyXG4gICAgY29uc3QgZXZlbnQgPSBlIGFzIElucHV0RXZlbnQ7XHJcbiAgICBpZiAoZXZlbnQuZGF0YSA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgaXNEaWdpdCA9IC9cXGQvLnRlc3QoZXZlbnQuZGF0YSk7XHJcbiAgICBjb25zdCBpc01pbnVzID0gZXZlbnQuZGF0YSA9PT0gJy0nO1xyXG4gICAgY29uc3QgaXNNaW51c0FsbG93ZWQgPSB0aGlzLm1pbiA8IDA7XHJcbiAgICBjb25zdCBpc0Jsb2NrZWROb25EaWdpdCA9ICFpc0RpZ2l0ICYmICEoaXNNaW51cyAmJiBpc01pbnVzQWxsb3dlZClcclxuICAgIGNvbnN0IGlzUGFzdE1heCA9IE51bWJlcigodGhpcy5fbW9kZWwgfHwgJycpICsgZXZlbnQuZGF0YSkgPiB0aGlzLm1heDtcclxuICAgIGlmIChpc0Jsb2NrZWROb25EaWdpdCB8fCBpc1Bhc3RNYXgpXHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBhZGQoZTogSFRNTElucHV0RWxlbWVudCkge1xyXG4gICAgaWYgKHRoaXMubW9kZWwgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5tb2RlbCA9IHRoaXMubWF4O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgZS5zdGVwVXAoKTtcclxuICAgIHRoaXMubW9kZWwgPSBlLnZhbHVlQXNOdW1iZXI7XHJcbiAgfVxyXG5cclxuICBzdWJ0cmFjdChlOiBIVE1MSW5wdXRFbGVtZW50KSB7XHJcbiAgICBpZiAodGhpcy5tb2RlbCA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5taW47XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBlLnN0ZXBEb3duKCk7XHJcbiAgICB0aGlzLm1vZGVsID0gZS52YWx1ZUFzTnVtYmVyO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UoX21vZGVsOiBudW1iZXIgfCBudWxsKSB7IH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgdmFsdWUgPSBudWxsO1xyXG5cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG5cclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCBpc051bWJlcih2YWx1ZSkpXHJcbiAgICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZhbGlkYXRlKCkge1xyXG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtcclxuICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5taW4pLFxyXG4gICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLm1heClcclxuICAgIF07XHJcblxyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQgPT09IHRydWUpXHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuXHJcbiAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bGFiZWwgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkXCI+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2xhYmVsPlxyXG5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdHJldGNoXCI+XHJcbiAgPGlucHV0XHJcbiAgICBbKG5nTW9kZWwpXT1cIm1vZGVsXCJcclxuICAgICNudW1iZXJJbnB1dFxyXG4gICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgW3NpemVdPVwibWF4RGlnaXRTaXplICsgc2l6ZVBhZGRpbmdcIlxyXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJfbW9kZWwgIT09IG51bGxcIlxyXG4gICAgW2NsYXNzLmJvcmRlci1yYWRpdXMtbGVmdF09XCJib3JkZXJSYWRpdXNMZWZ0XCJcclxuICAgIFtjbGFzcy5pbnZhbGlkXT1cIm5nQ29udHJvbC5jb250cm9sPy5pbnZhbGlkXCJcclxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgIFttaW5dPVwibWluXCJcclxuICAgIFttYXhdPVwibWF4XCJcclxuICAgIChiZWZvcmVpbnB1dCk9XCJvbkJlZm9yZWlucHV0KCRldmVudClcIlxyXG4gIC8+XHJcbiAgPGJ1dHRvblxyXG4gICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgIHRpdGxlPVwiU3VidHJhY3RcIlxyXG4gICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFN1YnRyYWN0XCJcclxuICAgIFtjbGFzcy5pbnZhbGlkXT1cIm5nQ29udHJvbC5jb250cm9sPy5pbnZhbGlkXCJcclxuICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcclxuICAgIChjbGljayk9XCJzdWJ0cmFjdChudW1iZXJJbnB1dClcIlxyXG4gID5cclxuICAgIDxpY29uXHJcbiAgICAgIHR5cGU9XCJtaW51c1wiXHJcbiAgICAgIHNpemU9XCIxZW1cIlxyXG4gICAgICBbZmlsbF09XCJbbnVsbCwgJ2N1cnJlbnQnXVwiXHJcbiAgICAgIGZpbGxSb3RhdGU9XCI5MFwiXHJcbiAgICA+PC9pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b25cclxuICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICB0aXRsZT1cIkFkZFwiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIFtjbGFzcy5ib3JkZXItcmFkaXVzLXJpZ2h0XT1cImJvcmRlclJhZGl1c1JpZ2h0XCJcclxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkQWRkXCJcclxuICAgIFtjbGFzcy5pbnZhbGlkXT1cIm5nQ29udHJvbC5jb250cm9sPy5pbnZhbGlkXCJcclxuICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcclxuICAgIChjbGljayk9XCJhZGQobnVtYmVySW5wdXQpXCJcclxuICA+XHJcbiAgICA8aWNvblxyXG4gICAgICB0eXBlPVwicGx1c1wiXHJcbiAgICAgIHNpemU9XCIxZW1cIlxyXG4gICAgICBbZmlsbF09XCJbbnVsbCwgJ2N1cnJlbnQnXVwiXHJcbiAgICAgIGZpbGxSb3RhdGU9XCI5MFwiXHJcbiAgICA+PC9pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gPHVsICpuZ0lmPVwibmdDb250cm9sLmNvbnRyb2w/LmVycm9yc1wiPlxyXG4gIDxsaSAqbmdJZj1cIm5nQ29udHJvbC5jb250cm9sPy5lcnJvcnM/LlsnbWluJ11cIj5cclxuICAgIG1pbmltdW0gbnVtYmVyIGlzIHt7bWlufX1cclxuICA8L2xpPlxyXG4gIDxsaSAqbmdJZj1cIm5nQ29udHJvbC5jb250cm9sPy5lcnJvcnM/LlsnbWF4J11cIj5cclxuICAgIG1heGltdW0gbnVtYmVyIGlzIHt7bWF4fX1cclxuICA8L2xpPlxyXG48L3VsPiAtLT4iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYW9zLWNvbnRyb2wvc3JjL2xpYi9jb21wb25lbnRzL251bWJlci9udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvbnVtYmVyL251bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUE4RixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQVV4QyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxnQkFBZ0I7SUFDbkQsSUFDSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxLQUFhO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIs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QUksUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRU8sUUFBUTtRQUNkLE1BQU0sVUFBVSxHQUFrQjtZQUNoQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDeEIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3pCLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSTtZQUN4QixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztJQUNuRCxDQUFDOzhHQTFJVSxlQUFlO2tHQUFmLGVBQWUsMEhDYjVCLGl0REE2RFM7OzJGRGhESSxlQUFlO2tCQVIzQixTQUFTOytCQUNFLFdBQVc7OzBCQWdEbEIsSUFBSTt5Q0F2Q0gsR0FBRztzQkFETixLQUFLO2dCQWFGLEdBQUc7c0JBRE4sS0FBSztnQkFhRixJQUFJO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2pvLW51bWJlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9udW1iZXIuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uLy4uL3N0eWxlcy5zY3NzJyxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG1pbigpIHtcclxuICAgIHJldHVybiB0aGlzLl9taW47XHJcbiAgfVxyXG4gIHNldCBtaW4odmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKCFpc051bWJlcih2YWx1ZSkpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignW21pbl0gZXhwZWN0czogbnVtYmVyJyk7XHJcbiAgICB0aGlzLl9taW4gPSB2YWx1ZTtcclxuICAgIHRoaXMudmFsaWRhdGlvbi5uZXh0KCk7XHJcbiAgfVxyXG4gIF9taW4gPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBtYXgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWF4O1xyXG4gIH1cclxuICBzZXQgbWF4KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIGlmICghaXNOdW1iZXIodmFsdWUpKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ttYXhdIGV4cGVjdHM6IG51bWJlcicpO1xyXG4gICAgdGhpcy5fbWF4ID0gdmFsdWU7XHJcbiAgICB0aGlzLnZhbGlkYXRpb24ubmV4dCgpO1xyXG4gIH1cclxuICBfbWF4ID0gOTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgc3RlcCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zdGVwO1xyXG4gIH1cclxuICBzZXQgc3RlcCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICBpZiAoIWlzTnVtYmVyKHZhbHVlKSlcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdbc3RlcF0gZXhwZWN0czogbnVtYmVyJyk7XHJcbiAgICB0aGlzLl9zdGVwID0gdmFsdWU7XHJcbiAgICB0aGlzLm11c3RCZUludGVnZXIgPSBOdW1iZXIuaXNJbnRlZ2VyKHRoaXMuX3N0ZXApO1xyXG4gIH1cclxuICBfc3RlcCA9IDE7XHJcblxyXG4gIG11c3RCZUludGVnZXIgPSB0cnVlO1xyXG4gIHJlYWRvbmx5IHNpemVQYWRkaW5nID0gNTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnZhbGlkYXRpb24uc3Vic2NyaWJlKCgpID0+IHRoaXMudmFsaWRhdGUoKSk7XHJcbiAgICB0aGlzLnZhbGlkYXRpb24ubmV4dCgpO1xyXG4gICAgbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gIH1cclxuXHJcbiAgX21vZGVsOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBnZXQgbW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbW9kZWw7XHJcbiAgfVxyXG4gIHNldCBtb2RlbCh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fbW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGlzYWJsZWRBZGQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkID09PSB0cnVlXHJcbiAgICAgIHx8IHRoaXMubW9kZWwgIT09IG51bGxcclxuICAgICAgJiYgdGhpcy5tb2RlbCArIHRoaXMuc3RlcCA+IHRoaXMubWF4O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGlzYWJsZWRTdWJ0cmFjdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmlzRGlzYWJsZWQgPT09IHRydWVcclxuICAgICAgfHwgdGhpcy5fbW9kZWwgIT09IG51bGxcclxuICAgICAgJiYgdGhpcy5fbW9kZWwgLSB0aGlzLnN0ZXAgPCB0aGlzLm1pbjtcclxuICB9XHJcblxyXG4gIGdldCBtYXhEaWdpdFNpemUoKSB7XHJcbiAgICByZXR1cm4gTWF0aC5tYXgoXHJcbiAgICAgIHRoaXMuX3N0ZXAudG9TdHJpbmcoKS5sZW5ndGgsXHJcbiAgICAgIHRoaXMuX21heC50b1N0cmluZygpLmxlbmd0aCxcclxuICAgICAgdGhpcy5fbWluLnRvU3RyaW5nKCkubGVuZ3RoXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25CZWZvcmVpbnB1dChlOiBFdmVudCkge1xyXG4gICAgY29uc3QgZXZlbnQgPSBlIGFzIElucHV0RXZlbnQ7XHJcbiAgICBpZiAoZXZlbnQuZGF0YSA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgaXNEaWdpdCA9IC9cXGQvLnRlc3QoZXZlbnQuZGF0YSk7XHJcbiAgICBjb25zdCBpc01pbnVzID0gZXZlbnQuZGF0YSA9PT0gJy0nO1xyXG4gICAgY29uc3QgaXNNaW51c0FsbG93ZWQgPSB0aGlzLm1pbiA8IDA7XHJcbiAgICBjb25zdCBpc0Jsb2NrZWROb25EaWdpdCA9ICFpc0RpZ2l0ICYmICEoaXNNaW51cyAmJiBpc01pbnVzQWxsb3dlZClcclxuICAgIGNvbnN0IGlzUGFzdE1heCA9IE51bWJlcigodGhpcy5fbW9kZWwgfHwgJycpICsgZXZlbnQuZGF0YSkgPiB0aGlzLm1heDtcclxuICAgIGlmIChpc0Jsb2NrZWROb25EaWdpdCB8fCBpc1Bhc3RNYXgpXHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBhZGQoZTogSFRNTElucHV0RWxlbWVudCkge1xyXG4gICAgaWYgKHRoaXMubW9kZWwgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5tb2RlbCA9IHRoaXMubWF4O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgZS5zdGVwVXAoKTtcclxuICAgIHRoaXMubW9kZWwgPSBlLnZhbHVlQXNOdW1iZXI7XHJcbiAgfVxyXG5cclxuICBzdWJ0cmFjdChlOiBIVE1MSW5wdXRFbGVtZW50KSB7XHJcbiAgICBpZiAodGhpcy5tb2RlbCA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5taW47XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBlLnN0ZXBEb3duKCk7XHJcbiAgICB0aGlzLm1vZGVsID0gZS52YWx1ZUFzTnVtYmVyO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UoX21vZGVsOiBudW1iZXIgfCBudWxsKSB7IH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgdmFsdWUgPSBudWxsO1xyXG5cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG5cclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCBpc051bWJlcih2YWx1ZSkpXHJcbiAgICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZhbGlkYXRlKCkge1xyXG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtcclxuICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5taW4pLFxyXG4gICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLm1heClcclxuICAgIF07XHJcblxyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQgPT09IHRydWUpXHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuXHJcbiAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bGFiZWwgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkXCI+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2xhYmVsPlxyXG5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdHJldGNoXCI+XHJcbiAgPGlucHV0XHJcbiAgICBbKG5nTW9kZWwpXT1cIm1vZGVsXCJcclxuICAgICNudW1iZXJJbnB1dFxyXG4gICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgW3NpemVdPVwibWF4RGlnaXRTaXplICsgc2l6ZVBhZGRpbmdcIlxyXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJfbW9kZWwgIT09IG51bGxcIlxyXG4gICAgW2NsYXNzLmJyLXN0YXJ0XT1cImJvcmRlclJhZGl1c0xlZnRcIlxyXG4gICAgW2NsYXNzLmludmFsaWRdPVwibmdDb250cm9sLmNvbnRyb2w/LmludmFsaWRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgW21pbl09XCJtaW5cIlxyXG4gICAgW21heF09XCJtYXhcIlxyXG4gICAgKGJlZm9yZWlucHV0KT1cIm9uQmVmb3JlaW5wdXQoJGV2ZW50KVwiXHJcbiAgLz5cclxuICA8YnV0dG9uXHJcbiAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgdGl0bGU9XCJTdWJ0cmFjdFwiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkU3VidHJhY3RcIlxyXG4gICAgW2NsYXNzLmludmFsaWRdPVwibmdDb250cm9sLmNvbnRyb2w/LmludmFsaWRcIlxyXG4gICAgKGJsdXIpPVwib25Ub3VjaGVkKClcIlxyXG4gICAgKGNsaWNrKT1cInN1YnRyYWN0KG51bWJlcklucHV0KVwiXHJcbiAgPlxyXG4gICAgPGljb25cclxuICAgICAgdHlwZT1cIm1pbnVzXCJcclxuICAgICAgc2l6ZT1cIjFyZW1cIlxyXG4gICAgICBbZmlsbF09XCJbbnVsbCwgJ2N1cnJlbnQnXVwiXHJcbiAgICAgIGZpbGxSb3RhdGU9XCI5MFwiXHJcbiAgICA+PC9pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b25cclxuICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICB0aXRsZT1cIkFkZFwiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIFtjbGFzcy5ici1lbmRdPVwiYm9yZGVyUmFkaXVzUmlnaHRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRBZGRcIlxyXG4gICAgW2NsYXNzLmludmFsaWRdPVwibmdDb250cm9sLmNvbnRyb2w/LmludmFsaWRcIlxyXG4gICAgKGJsdXIpPVwib25Ub3VjaGVkKClcIlxyXG4gICAgKGNsaWNrKT1cImFkZChudW1iZXJJbnB1dClcIlxyXG4gID5cclxuICAgIDxpY29uXHJcbiAgICAgIHR5cGU9XCJwbHVzXCJcclxuICAgICAgc2l6ZT1cIjFyZW1cIlxyXG4gICAgICBbZmlsbF09XCJbbnVsbCwgJ2N1cnJlbnQnXVwiXHJcbiAgICAgIGZpbGxSb3RhdGU9XCI5MFwiXHJcbiAgICA+PC9pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gPHVsICpuZ0lmPVwibmdDb250cm9sLmNvbnRyb2w/LmVycm9yc1wiPlxyXG4gIDxsaSAqbmdJZj1cIm5nQ29udHJvbC5jb250cm9sPy5lcnJvcnM/LlsnbWluJ11cIj5cclxuICAgIG1pbmltdW0gbnVtYmVyIGlzIHt7bWlufX1cclxuICA8L2xpPlxyXG4gIDxsaSAqbmdJZj1cIm5nQ29udHJvbC5jb250cm9sPy5lcnJvcnM/LlsnbWF4J11cIj5cclxuICAgIG1heGltdW0gbnVtYmVyIGlzIHt7bWF4fX1cclxuICA8L2xpPlxyXG48L3VsPiAtLT4iXX0=
@@ -3,12 +3,12 @@ import * as i0 from "@angular/core";
3
3
  export class ReadonlyComponent {
4
4
  constructor() { }
5
5
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ReadonlyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: ReadonlyComponent, selector: "jo-readonly", inputs: { model: "model" }, ngImport: i0, template: "<label>\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"readonly\">\r\n {{model}}\r\n</div>\r\n", styles: [":host>div{color:inherit;background:transparent;border-width:.15em;border-color:transparent;border-style:solid;padding:.5em}\n", "label{display:block;padding-bottom:.5em;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}ul>li{padding-top:.25em}a:not(.jo-ignore),button:not(.jo-ignore),.button,input,textarea{color:inherit;background:transparent;border-width:.15em;border-style:outset;border-color:currentColor;padding:.5em;margin:0;font-size:1em;line-height:1em}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.button:active,.button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.button:disabled,.button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.button{cursor:pointer}@keyframes invalid-border{0%,to{border-style:inset}50%{border-style:outset}}\n"] }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: ReadonlyComponent, selector: "jo-readonly", inputs: { model: "model" }, ngImport: i0, template: "<label>\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"readonly p-2\">\r\n {{model}}\r\n</div>", styles: [":host>div{color:inherit;background:transparent;border-width:.15em;border-color:transparent;border-style:solid}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit;min-width:0}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"] }); }
7
7
  }
8
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ReadonlyComponent, decorators: [{
9
9
  type: Component,
10
- args: [{ selector: 'jo-readonly', template: "<label>\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"readonly\">\r\n {{model}}\r\n</div>\r\n", styles: [":host>div{color:inherit;background:transparent;border-width:.15em;border-color:transparent;border-style:solid;padding:.5em}\n", "label{display:block;padding-bottom:.5em;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}ul>li{padding-top:.25em}a:not(.jo-ignore),button:not(.jo-ignore),.button,input,textarea{color:inherit;background:transparent;border-width:.15em;border-style:outset;border-color:currentColor;padding:.5em;margin:0;font-size:1em;line-height:1em}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.button:active,.button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.button:disabled,.button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.button{cursor:pointer}@keyframes invalid-border{0%,to{border-style:inset}50%{border-style:outset}}\n"] }]
10
+ args: [{ selector: 'jo-readonly', template: "<label>\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"readonly p-2\">\r\n {{model}}\r\n</div>", styles: [":host>div{color:inherit;background:transparent;border-width:.15em;border-color:transparent;border-style:solid}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit;min-width:0}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"] }]
11
11
  }], ctorParameters: () => [], propDecorators: { model: [{
12
12
  type: Input
13
13
  }] } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBV2pELE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsZ0JBQWdCLENBQUM7OEdBSE4saUJBQWlCO2tHQUFqQixpQkFBaUIsK0VDWDlCLGlIQU9BOzsyRkRJYSxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsYUFBYTt3REFRZCxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHByaW1pdGl2ZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2pvLXJlYWRvbmx5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZG9ubHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vcmVhZG9ubHkuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uLy4uL3N0eWxlcy5zY3NzJyxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWFkb25seUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbW9kZWw/OiBwcmltaXRpdmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIiwiPGxhYmVsPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9sYWJlbD5cclxuXHJcbjxkaXYgY2xhc3M9XCJyZWFkb25seVwiPlxyXG4gIHt7bW9kZWx9fVxyXG48L2Rpdj5cclxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBV2pELE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsZ0JBQWdCLENBQUM7OEdBSE4saUJBQWlCO2tHQUFqQixpQkFBaUIsK0VDWDlCLGlIQU1NOzsyRkRLTyxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsYUFBYTt3REFRZCxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHByaW1pdGl2ZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2pvLXJlYWRvbmx5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZG9ubHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vcmVhZG9ubHkuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uLy4uL3N0eWxlcy5zY3NzJyxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWFkb25seUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbW9kZWw/OiBwcmltaXRpdmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIiwiPGxhYmVsPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9sYWJlbD5cclxuXHJcbjxkaXYgY2xhc3M9XCJyZWFkb25seSBwLTJcIj5cclxuICB7e21vZGVsfX1cclxuPC9kaXY+Il19