@consent.software/catalog 1.5.4 → 1.6.1

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.
@@ -1,24 +1,86 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
6
27
  };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
9
34
  };
10
35
  import { LitElement, html, css } from 'lit';
11
36
  import { customElement } from 'lit/decorators.js';
12
37
  import { property } from 'lit/decorators/property.js';
13
38
  import { delayFor } from '@push.rocks/smartdelay';
14
- let ConsentsoftwareToggle = class ConsentsoftwareToggle extends LitElement {
15
- #required_accessor_storage;
16
- get required() { return this.#required_accessor_storage; }
17
- set required(value) { this.#required_accessor_storage = value; }
18
- #selected_accessor_storage;
19
- get selected() { return this.#selected_accessor_storage; }
20
- set selected(value) { this.#selected_accessor_storage = value; }
21
- static { this.styles = css `
39
+ let ConsentsoftwareToggle = (() => {
40
+ let _classDecorators = [customElement('consentsoftware-toggle')];
41
+ let _classDescriptor;
42
+ let _classExtraInitializers = [];
43
+ let _classThis;
44
+ let _classSuper = LitElement;
45
+ let _required_decorators;
46
+ let _required_initializers = [];
47
+ let _required_extraInitializers = [];
48
+ let _selected_decorators;
49
+ let _selected_initializers = [];
50
+ let _selected_extraInitializers = [];
51
+ var ConsentsoftwareToggle = class extends _classSuper {
52
+ static { _classThis = this; }
53
+ static {
54
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
55
+ _required_decorators = [property({ type: Boolean })];
56
+ _selected_decorators = [property({ type: Boolean, reflect: true })];
57
+ __esDecorate(this, null, _required_decorators, { kind: "accessor", name: "required", static: false, private: false, access: { has: obj => "required" in obj, get: obj => obj.required, set: (obj, value) => { obj.required = value; } }, metadata: _metadata }, _required_initializers, _required_extraInitializers);
58
+ __esDecorate(this, null, _selected_decorators, { kind: "accessor", name: "selected", static: false, private: false, access: { has: obj => "selected" in obj, get: obj => obj.selected, set: (obj, value) => { obj.selected = value; } }, metadata: _metadata }, _selected_initializers, _selected_extraInitializers);
59
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
60
+ ConsentsoftwareToggle = _classThis = _classDescriptor.value;
61
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
62
+ }
63
+ #required_accessor_storage = __runInitializers(this, _required_initializers, false);
64
+ get required() { return this.#required_accessor_storage; }
65
+ set required(value) { this.#required_accessor_storage = value; }
66
+ #selected_accessor_storage = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _selected_initializers, false));
67
+ get selected() { return this.#selected_accessor_storage; }
68
+ set selected(value) { this.#selected_accessor_storage = value; }
69
+ /**
70
+ * We always track the knob’s left offset in `currentX`.
71
+ * - 0 => fully left
72
+ * - 30 => fully right
73
+ */
74
+ currentX = (__runInitializers(this, _selected_extraInitializers), 0);
75
+ /**
76
+ * Drag state
77
+ */
78
+ isDragging = false;
79
+ hasDragged = false;
80
+ startX = 0; // pointerdown offset
81
+ knobWidth = 30;
82
+ trackWidth = 60;
83
+ static styles = css `
22
84
  :host {
23
85
  display: block;
24
86
  position: relative;
@@ -85,28 +147,12 @@ let ConsentsoftwareToggle = class ConsentsoftwareToggle extends LitElement {
85
147
  :host([required]) .toggleKnobInner {
86
148
  background: rgba(255, 255, 255, 0.1);
87
149
  }
88
- `; }
89
- constructor() {
90
- super();
91
- this.#required_accessor_storage = false;
92
- this.#selected_accessor_storage = false;
93
- /**
94
- * We always track the knob’s left offset in `currentX`.
95
- * - 0 => fully left
96
- * - 30 => fully right
97
- */
98
- this.currentX = 0;
99
- /**
100
- * Drag state
101
- */
102
- this.isDragging = false;
103
- this.hasDragged = false;
104
- this.startX = 0; // pointerdown offset
105
- this.knobWidth = 30;
106
- this.trackWidth = 60;
107
- }
108
- render() {
109
- return html `
150
+ `;
151
+ constructor() {
152
+ super();
153
+ }
154
+ render() {
155
+ return html `
110
156
  <div class="label">${this.getText()}</div>
111
157
  <!-- A user can click anywhere in this toggle area. -->
112
158
  <div class="toggle" @click=${this.handleClick}>
@@ -125,132 +171,125 @@ let ConsentsoftwareToggle = class ConsentsoftwareToggle extends LitElement {
125
171
  </div>
126
172
  </div>
127
173
  `;
128
- }
129
- /**
130
- * If required = true on first render, auto-select and set the knob to the right.
131
- */
132
- async firstUpdated() {
133
- if (this.required) {
134
- // If "required" => always selected
135
- this.selected = true;
136
- this.currentX = this.knobWidth; // 30
137
- this.requestUpdate();
138
174
  }
139
- else {
140
- // If not required, set knob to 0 or 30 depending on `selected`
141
- this.currentX = this.selected ? this.knobWidth : 0;
142
- this.requestUpdate();
175
+ /**
176
+ * If required = true on first render, auto-select and set the knob to the right.
177
+ */
178
+ async firstUpdated() {
179
+ if (this.required) {
180
+ // If "required" => always selected
181
+ this.selected = true;
182
+ this.currentX = this.knobWidth; // 30
183
+ this.requestUpdate();
184
+ }
185
+ else {
186
+ // If not required, set knob to 0 or 30 depending on `selected`
187
+ this.currentX = this.selected ? this.knobWidth : 0;
188
+ this.requestUpdate();
189
+ }
143
190
  }
144
- }
145
- /**
146
- * CLICK HANDLER
147
- */
148
- async handleClick(event) {
149
- // If the user truly dragged the knob, skip the normal click toggle.
150
- if (this.isDragging || this.hasDragged) {
191
+ /**
192
+ * CLICK HANDLER
193
+ */
194
+ async handleClick(event) {
195
+ // If the user truly dragged the knob, skip the normal click toggle.
196
+ if (this.isDragging || this.hasDragged) {
197
+ event.stopPropagation();
198
+ event.preventDefault();
199
+ return;
200
+ }
201
+ if (this.required) {
202
+ // small bounce from 30 -> 20 -> 30
203
+ this.currentX = this.knobWidth; // ensure at 30
204
+ this.requestUpdate();
205
+ await new Promise((r) => setTimeout(r, 10));
206
+ this.currentX = 20; // small bounce left
207
+ this.requestUpdate();
208
+ await delayFor(200);
209
+ this.currentX = this.knobWidth; // back to 30
210
+ this.requestUpdate();
211
+ return;
212
+ }
213
+ // Normal toggle if no drag & not required
151
214
  event.stopPropagation();
152
215
  event.preventDefault();
153
- return;
154
- }
155
- if (this.required) {
156
- // small bounce from 30 -> 20 -> 30
157
- this.currentX = this.knobWidth; // ensure at 30
216
+ this.selected = !this.selected;
217
+ this.currentX = this.selected ? this.knobWidth : 0; // snap knob left(0) or right(30)
158
218
  this.requestUpdate();
159
- await new Promise((r) => setTimeout(r, 10));
160
- this.currentX = 20; // small bounce left
219
+ this.dispatchEvent(new CustomEvent('toggle', { detail: { selected: this.selected } }));
220
+ delayFor(0).then(() => {
221
+ this.hasDragged = false;
222
+ });
223
+ }
224
+ /**
225
+ * DRAG HANDLERS (pointer events)
226
+ */
227
+ onPointerDown(event) {
228
+ if (this.required) {
229
+ // If "required", disallow manual dragging
230
+ return;
231
+ }
232
+ // Start dragging
233
+ this.isDragging = true;
234
+ // The difference between the pointer’s X and the knob’s current position
235
+ this.startX = event.clientX - this.currentX;
236
+ // capture pointer so we keep receiving pointermove/pointerup
237
+ event.target.setPointerCapture(event.pointerId);
238
+ }
239
+ onPointerMove(event) {
240
+ if (!this.isDragging)
241
+ return;
242
+ const newX = event.clientX - this.startX;
243
+ this.hasDragged = true;
244
+ const toggleKnobInner = this.shadowRoot.querySelector('.toggleKnobInner');
245
+ toggleKnobInner.classList.add('dragging');
246
+ // Clamp
247
+ this.currentX = Math.max(0, Math.min(newX, this.trackWidth - this.knobWidth));
161
248
  this.requestUpdate();
162
- await delayFor(200);
163
- this.currentX = this.knobWidth; // back to 30
249
+ }
250
+ onPointerUp(event) {
251
+ if (!this.isDragging)
252
+ return;
253
+ event.target.releasePointerCapture(event.pointerId);
254
+ this.isDragging = false;
255
+ // If we didn’t truly drag, pointerup does nothing; click handler handles toggling.
256
+ if (!this.hasDragged) {
257
+ return;
258
+ }
259
+ const toggleKnobInner = this.shadowRoot.querySelector('.toggleKnobInner');
260
+ toggleKnobInner.classList.remove('dragging');
261
+ // Real drag => decide final side
262
+ const midpoint = (this.trackWidth - this.knobWidth) / 2; // 15
263
+ this.selected = this.currentX > midpoint;
264
+ this.currentX = this.selected ? this.knobWidth : 0; // snap to edge
164
265
  this.requestUpdate();
165
- return;
266
+ // Dispatch toggle event
267
+ this.dispatchEvent(new CustomEvent('toggle', { detail: { selected: this.selected } }));
268
+ delayFor(0).then(() => {
269
+ this.hasDragged = false;
270
+ });
166
271
  }
167
- // Normal toggle if no drag & not required
168
- event.stopPropagation();
169
- event.preventDefault();
170
- this.selected = !this.selected;
171
- this.currentX = this.selected ? this.knobWidth : 0; // snap knob left(0) or right(30)
172
- this.requestUpdate();
173
- this.dispatchEvent(new CustomEvent('toggle', { detail: { selected: this.selected } }));
174
- delayFor(0).then(() => {
175
- this.hasDragged = false;
176
- });
177
- }
178
- /**
179
- * DRAG HANDLERS (pointer events)
180
- */
181
- onPointerDown(event) {
182
- if (this.required) {
183
- // If "required", disallow manual dragging
184
- return;
272
+ /**
273
+ * If external code sets `selected = true/false`, we also sync the knob position
274
+ */
275
+ updated(changedProperties) {
276
+ if (changedProperties.has('selected') &&
277
+ !this.isDragging &&
278
+ !this.hasDragged &&
279
+ !this.required) {
280
+ this.currentX = this.selected ? this.knobWidth : 0;
281
+ this.requestUpdate();
282
+ }
283
+ super.updated(changedProperties);
185
284
  }
186
- // Start dragging
187
- this.isDragging = true;
188
- // The difference between the pointer’s X and the knob’s current position
189
- this.startX = event.clientX - this.currentX;
190
- // capture pointer so we keep receiving pointermove/pointerup
191
- event.target.setPointerCapture(event.pointerId);
192
- }
193
- onPointerMove(event) {
194
- if (!this.isDragging)
195
- return;
196
- const newX = event.clientX - this.startX;
197
- this.hasDragged = true;
198
- const toggleKnobInner = this.shadowRoot.querySelector('.toggleKnobInner');
199
- toggleKnobInner.classList.add('dragging');
200
- // Clamp
201
- this.currentX = Math.max(0, Math.min(newX, this.trackWidth - this.knobWidth));
202
- this.requestUpdate();
203
- }
204
- onPointerUp(event) {
205
- if (!this.isDragging)
206
- return;
207
- event.target.releasePointerCapture(event.pointerId);
208
- this.isDragging = false;
209
- // If we didn’t truly drag, pointerup does nothing; click handler handles toggling.
210
- if (!this.hasDragged) {
211
- return;
285
+ getText() {
286
+ return this.textContent;
212
287
  }
213
- const toggleKnobInner = this.shadowRoot.querySelector('.toggleKnobInner');
214
- toggleKnobInner.classList.remove('dragging');
215
- // Real drag => decide final side
216
- const midpoint = (this.trackWidth - this.knobWidth) / 2; // 15
217
- this.selected = this.currentX > midpoint;
218
- this.currentX = this.selected ? this.knobWidth : 0; // snap to edge
219
- this.requestUpdate();
220
- // Dispatch toggle event
221
- this.dispatchEvent(new CustomEvent('toggle', { detail: { selected: this.selected } }));
222
- delayFor(0).then(() => {
223
- this.hasDragged = false;
224
- });
225
- }
226
- /**
227
- * If external code sets `selected = true/false`, we also sync the knob position
228
- */
229
- updated(changedProperties) {
230
- if (changedProperties.has('selected') &&
231
- !this.isDragging &&
232
- !this.hasDragged &&
233
- !this.required) {
234
- this.currentX = this.selected ? this.knobWidth : 0;
235
- this.requestUpdate();
288
+ static {
289
+ __runInitializers(_classThis, _classExtraInitializers);
236
290
  }
237
- super.updated(changedProperties);
238
- }
239
- getText() {
240
- return this.textContent;
241
- }
242
- };
243
- __decorate([
244
- property({ type: Boolean }),
245
- __metadata("design:type", Object)
246
- ], ConsentsoftwareToggle.prototype, "required", null);
247
- __decorate([
248
- property({ type: Boolean, reflect: true }),
249
- __metadata("design:type", Object)
250
- ], ConsentsoftwareToggle.prototype, "selected", null);
251
- ConsentsoftwareToggle = __decorate([
252
- customElement('consentsoftware-toggle'),
253
- __metadata("design:paramtypes", [])
254
- ], ConsentsoftwareToggle);
291
+ };
292
+ return ConsentsoftwareToggle = _classThis;
293
+ })();
255
294
  export { ConsentsoftwareToggle };
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2VudHNvZnR3YXJlLXRvZ2dsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9jb25zZW50c29mdHdhcmUtdG9nZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBdUIsTUFBTSxLQUFLLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHM0MsSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBc0IsU0FBUSxVQUFVO0lBRW5DLDJCQUFpQjtJQUFqQixJQUFBLFFBQVEsOENBQVM7SUFBakIsSUFBQSxRQUFRLG9EQUFTO0lBR2pCLDJCQUFpQjtJQUFqQixJQUFBLFFBQVEsOENBQVM7SUFBakIsSUFBQSxRQUFRLG9EQUFTO2FBa0JuQixXQUFNLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUV6QixBQW5FbUIsQ0FtRWxCO0lBRUY7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTNGTSxrQ0FBVyxLQUFLLENBQUM7UUFHakIsa0NBQVcsS0FBSyxDQUFDO1FBRWpDOzs7O1dBSUc7UUFDSyxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRXJCOztXQUVHO1FBQ0ssZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFdBQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxxQkFBcUI7UUFDeEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGVBQVUsR0FBRyxFQUFFLENBQUM7SUF5RWpDLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUE7MkJBQ1ksSUFBSSxDQUFDLE9BQU8sRUFBRTs7bUNBRU4sSUFBSSxDQUFDLFdBQVc7Ozs7Ozs2QkFNdEIsSUFBSSxDQUFDLFFBQVE7NkJBQ2IsSUFBSSxDQUFDLGFBQWE7NkJBQ2xCLElBQUksQ0FBQyxhQUFhOzJCQUNwQixJQUFJLENBQUMsV0FBVzsrQkFDWixJQUFJLENBQUMsV0FBVzs7Ozs7S0FLMUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLG1DQUFtQztZQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLO1lBQ3JDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO2FBQU0sQ0FBQztZQUNOLCtEQUErRDtZQUMvRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBaUI7UUFDeEMsb0VBQW9FO1FBQ3BFLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLG1DQUFtQztZQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxlQUFlO1lBQy9DLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxvQkFBb0I7WUFDeEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXBCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWE7WUFDN0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBRUQsMENBQTBDO1FBQzFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQ0FBaUM7UUFDckYsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWEsQ0FBQyxLQUFtQjtRQUN2QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQiwwQ0FBMEM7WUFDMUMsT0FBTztRQUNULENBQUM7UUFFRCxpQkFBaUI7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTVDLDZEQUE2RDtRQUM1RCxLQUFLLENBQUMsTUFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFtQjtRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBQzdCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixNQUFNLGVBQWUsR0FBbUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMxRixlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxQyxRQUFRO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQW1CO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU87UUFDNUIsS0FBSyxDQUFDLE1BQXNCLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXhCLG1GQUFtRjtRQUNuRixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxlQUFlLEdBQW1CLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDMUYsZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0MsaUNBQWlDO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSztRQUM5RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZTtRQUNuRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNPLE9BQU8sQ0FBQyxpQkFBNEM7UUFDNUQsSUFDRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQ2pDLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDaEIsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNoQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQ2QsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7O0FBclBlO0lBRGYsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDOztxREFDSztBQUdqQjtJQURmLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDOztxREFDVjtBQUx0QixxQkFBcUI7SUFEakMsYUFBYSxDQUFDLHdCQUF3QixDQUFDOztHQUMzQixxQkFBcUIsQ0F3UGpDIn0=
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2VudHNvZnR3YXJlLXRvZ2dsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9jb25zZW50c29mdHdhcmUtdG9nZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQXVCLE1BQU0sS0FBSyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0lBR3JDLHFCQUFxQjs0QkFEakMsYUFBYSxDQUFDLHdCQUF3QixDQUFDOzs7O3NCQUNHLFVBQVU7Ozs7Ozs7cUNBQWxCLFNBQVEsV0FBVTs7OztvQ0FDbEQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO29DQUczQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUYzQyw2S0FBZ0IsUUFBUSw2QkFBUixRQUFRLDJGQUFTO1lBR2pDLDZLQUFnQixRQUFRLDZCQUFSLFFBQVEsMkZBQVM7WUFMbkMsNktBd1BDOzs7O1FBdFBDLDZFQUEyQixLQUFLLEVBQUM7UUFBakMsSUFBZ0IsUUFBUSw4Q0FBUztRQUFqQyxJQUFnQixRQUFRLG9EQUFTO1FBR2pDLG9JQUEyQixLQUFLLEdBQUM7UUFBakMsSUFBZ0IsUUFBUSw4Q0FBUztRQUFqQyxJQUFnQixRQUFRLG9EQUFTO1FBRWpDOzs7O1dBSUc7UUFDSyxRQUFRLDBEQUFHLENBQUMsRUFBQztRQUVyQjs7V0FFRztRQUNLLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUNu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