@j2inn/resolvable-ui-elements 0.0.1-beta.10 → 0.0.1-beta.11
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.
- package/dist/resolvableElements/elements/ResolvableValueElement.d.ts +2 -0
- package/dist/resolvableElements/elements/ResolvableValueElement.js +13 -0
- package/dist/resolvableElements/elements/ResolvableValueElement.js.map +1 -1
- package/dist/resolvableElements/elements/UiElement.d.ts +1 -1
- package/dist/resolvableElements/elements/UiElement.js +3 -3
- package/dist/resolvableElements/elements/UiElement.js.map +1 -1
- package/dist_es/resolvableElements/elements/ResolvableValueElement.d.ts +2 -0
- package/dist_es/resolvableElements/elements/ResolvableValueElement.js +13 -0
- package/dist_es/resolvableElements/elements/ResolvableValueElement.js.map +1 -1
- package/dist_es/resolvableElements/elements/UiElement.d.ts +1 -1
- package/dist_es/resolvableElements/elements/UiElement.js +3 -3
- package/dist_es/resolvableElements/elements/UiElement.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { UiElementConstructorData, UiElementData, UiElementMeta } from './UiElem
|
|
|
3
3
|
export interface ResolvableValueElementMeta extends UiElementMeta {
|
|
4
4
|
resolutionType: string;
|
|
5
5
|
resolvedType: string;
|
|
6
|
+
defaultValue: string;
|
|
6
7
|
}
|
|
7
8
|
export declare const isResolvableValueElement: (element: UiElementData) => element is UiElementData<ResolvableValueElementMeta>;
|
|
8
9
|
export declare const isResolvableValueElementMeta: (meta: UiElementMeta) => meta is ResolvableValueElementMeta;
|
|
@@ -10,5 +11,6 @@ export declare const isResolvableValueElementMeta: (meta: UiElementMeta) => meta
|
|
|
10
11
|
* base class for leaf resolvable elements that are resolved into a value defined by the resolvedType property in the metadata
|
|
11
12
|
*/
|
|
12
13
|
export declare abstract class ResolvableValueElement<T extends UiElementData = UiElementData> extends ResolvableElement<T> {
|
|
14
|
+
#private;
|
|
13
15
|
constructor(data: UiElementConstructorData<T>);
|
|
14
16
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ResolvableValueElement = exports.isResolvableValueElementMeta = exports.isResolvableValueElement = void 0;
|
|
7
|
+
const haystack_core_1 = require("haystack-core");
|
|
7
8
|
const ResolvableElement_1 = require("./ResolvableElement");
|
|
8
9
|
const isResolvableValueElement = (element) => {
|
|
9
10
|
return !!element?._meta && (0, exports.isResolvableValueElementMeta)(element._meta);
|
|
@@ -20,6 +21,18 @@ exports.isResolvableValueElementMeta = isResolvableValueElementMeta;
|
|
|
20
21
|
class ResolvableValueElement extends ResolvableElement_1.ResolvableElement {
|
|
21
22
|
constructor(data) {
|
|
22
23
|
super(data);
|
|
24
|
+
this.#setDefaultValue();
|
|
25
|
+
}
|
|
26
|
+
#setDefaultValue() {
|
|
27
|
+
const { defaultValue } = this._meta;
|
|
28
|
+
if (defaultValue) {
|
|
29
|
+
try {
|
|
30
|
+
this.value = haystack_core_1.ZincReader.readValue(defaultValue);
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
console.error('Failed to parse element default value from: ', JSON.stringify(this._meta), e);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
23
36
|
}
|
|
24
37
|
}
|
|
25
38
|
exports.ResolvableValueElement = ResolvableValueElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolvableValueElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableValueElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,2DAAuD;
|
|
1
|
+
{"version":3,"file":"ResolvableValueElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableValueElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAA0C;AAC1C,2DAAuD;AAchD,MAAM,wBAAwB,GAAG,CACvC,OAAsB,EACiC,EAAE;IACzD,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,IAAA,oCAA4B,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AACvE,CAAC,CAAA;AAJY,QAAA,wBAAwB,4BAIpC;AAEM,MAAM,4BAA4B,GAAG,CAC3C,IAAmB,EACkB,EAAE;IACvC,OAAO,CACN,CAAC,CAA8B,IAAK,CAAC,cAAc;QACnD,CAAC,CAA8B,IAAK,CAAC,YAAY,CACjD,CAAA;AACF,CAAC,CAAA;AAPY,QAAA,4BAA4B,gCAOxC;AAED;;GAEG;AACH,MAAsB,sBAEpB,SAAQ,qCAAoB;IAC7B,YAAY,IAAiC;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACxB,CAAC;IAED,gBAAgB;QACf,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAmC,CAAA;QAEjE,IAAI,YAAY,EAAE;YACjB,IAAI;gBACH,IAAI,CAAC,KAAK,GAAG,0BAAU,CAAC,SAAS,CAChC,YAAY,CAC0B,CAAA;aACvC;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,KAAK,CACZ,8CAA8C,EAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAC1B,CAAC,CACD,CAAA;aACD;SACD;IACF,CAAC;CACD;AAzBD,wDAyBC"}
|
|
@@ -25,7 +25,6 @@ export interface UiElementConstructorData<T extends UiElementData> {
|
|
|
25
25
|
* Base UiElement class
|
|
26
26
|
*/
|
|
27
27
|
export declare abstract class UiElement<T extends UiElementData = UiElementData> {
|
|
28
|
-
#private;
|
|
29
28
|
constructor({ name, element, resolver, onUpdate, }: UiElementConstructorData<T>);
|
|
30
29
|
resolver: Resolver;
|
|
31
30
|
_meta?: UiElementMeta;
|
|
@@ -33,6 +32,7 @@ export declare abstract class UiElement<T extends UiElementData = UiElementData>
|
|
|
33
32
|
toJSON(): Record<string, unknown>;
|
|
34
33
|
inspect(): void;
|
|
35
34
|
isAccessAllowed(): boolean;
|
|
35
|
+
protected _value?: ResolvedElementValue<T>;
|
|
36
36
|
get value(): ResolvedElementValue<T> | undefined;
|
|
37
37
|
set value(value: ResolvedElementValue<T> | undefined);
|
|
38
38
|
onUpdate: (value: ResolvedElementValue<T> | undefined) => void;
|
|
@@ -35,12 +35,12 @@ class UiElement {
|
|
|
35
35
|
// If userRole is not defined return false.
|
|
36
36
|
return false;
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
_value;
|
|
39
39
|
get value() {
|
|
40
|
-
return this
|
|
40
|
+
return this._value;
|
|
41
41
|
}
|
|
42
42
|
set value(value) {
|
|
43
|
-
this
|
|
43
|
+
this._value = value;
|
|
44
44
|
this.onUpdate(value);
|
|
45
45
|
}
|
|
46
46
|
onUpdate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/UiElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AAiCjD;;GAEG;AACH,MAAsB,SAAS;IAC9B,YAAY,EACX,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,GACqB;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzB,CAAC;IACD,QAAQ,CAAU;IAElB,KAAK,CAAgB;IAErB,IAAI,CAAS;IAEb,MAAM;QACL,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;IACD,OAAO;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,eAAe;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3D,OAAO,IAAI,CAAA;SACX;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAO,kBAAkB,CAAC,CAAA;QAClE,IAAI,QAAQ,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;SACjD;QAED,2CAA2C;QAC3C,OAAO,KAAK,CAAA;IACb,CAAC;
|
|
1
|
+
{"version":3,"file":"UiElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/UiElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AAiCjD;;GAEG;AACH,MAAsB,SAAS;IAC9B,YAAY,EACX,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,GACqB;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzB,CAAC;IACD,QAAQ,CAAU;IAElB,KAAK,CAAgB;IAErB,IAAI,CAAS;IAEb,MAAM;QACL,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;IACD,OAAO;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,eAAe;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3D,OAAO,IAAI,CAAA;SACX;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAO,kBAAkB,CAAC,CAAA;QAClE,IAAI,QAAQ,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;SACjD;QAED,2CAA2C;QAC3C,OAAO,KAAK,CAAA;IACb,CAAC;IAES,MAAM,CAA0B;IAE1C,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAA;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,KAA0C;QACnD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IACD,QAAQ,CAAsD;CAC9D;AAlDD,8BAkDC;AACD,SAAgB,WAAW,CAAC,GAAG,MAA8B;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACvD,CAAC;AAFD,kCAEC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CACpC,IAAI,EAAE,GAAG,CAAO,UAAU,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { UiElementConstructorData, UiElementData, UiElementMeta } from './UiElem
|
|
|
3
3
|
export interface ResolvableValueElementMeta extends UiElementMeta {
|
|
4
4
|
resolutionType: string;
|
|
5
5
|
resolvedType: string;
|
|
6
|
+
defaultValue: string;
|
|
6
7
|
}
|
|
7
8
|
export declare const isResolvableValueElement: (element: UiElementData) => element is UiElementData<ResolvableValueElementMeta>;
|
|
8
9
|
export declare const isResolvableValueElementMeta: (meta: UiElementMeta) => meta is ResolvableValueElementMeta;
|
|
@@ -10,5 +11,6 @@ export declare const isResolvableValueElementMeta: (meta: UiElementMeta) => meta
|
|
|
10
11
|
* base class for leaf resolvable elements that are resolved into a value defined by the resolvedType property in the metadata
|
|
11
12
|
*/
|
|
12
13
|
export declare abstract class ResolvableValueElement<T extends UiElementData = UiElementData> extends ResolvableElement<T> {
|
|
14
|
+
#private;
|
|
13
15
|
constructor(data: UiElementConstructorData<T>);
|
|
14
16
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
3
3
|
*/
|
|
4
|
+
import { ZincReader } from 'haystack-core';
|
|
4
5
|
import { ResolvableElement } from './ResolvableElement';
|
|
5
6
|
export const isResolvableValueElement = (element) => {
|
|
6
7
|
return !!element?._meta && isResolvableValueElementMeta(element._meta);
|
|
@@ -15,6 +16,18 @@ export const isResolvableValueElementMeta = (meta) => {
|
|
|
15
16
|
export class ResolvableValueElement extends ResolvableElement {
|
|
16
17
|
constructor(data) {
|
|
17
18
|
super(data);
|
|
19
|
+
this.#setDefaultValue();
|
|
20
|
+
}
|
|
21
|
+
#setDefaultValue() {
|
|
22
|
+
const { defaultValue } = this._meta;
|
|
23
|
+
if (defaultValue) {
|
|
24
|
+
try {
|
|
25
|
+
this.value = ZincReader.readValue(defaultValue);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
console.error('Failed to parse element default value from: ', JSON.stringify(this._meta), e);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
18
31
|
}
|
|
19
32
|
}
|
|
20
33
|
//# sourceMappingURL=ResolvableValueElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolvableValueElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableValueElement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"ResolvableValueElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableValueElement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAcvD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,OAAsB,EACiC,EAAE;IACzD,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,4BAA4B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC3C,IAAmB,EACkB,EAAE;IACvC,OAAO,CACN,CAAC,CAA8B,IAAK,CAAC,cAAc;QACnD,CAAC,CAA8B,IAAK,CAAC,YAAY,CACjD,CAAA;AACF,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,OAAgB,sBAEpB,SAAQ,iBAAoB;IAC7B,YAAY,IAAiC;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACxB,CAAC;IAED,gBAAgB;QACf,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAmC,CAAA;QAEjE,IAAI,YAAY,EAAE;YACjB,IAAI;gBACH,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,SAAS,CAChC,YAAY,CAC0B,CAAA;aACvC;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,KAAK,CACZ,8CAA8C,EAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAC1B,CAAC,CACD,CAAA;aACD;SACD;IACF,CAAC;CACD"}
|
|
@@ -25,7 +25,6 @@ export interface UiElementConstructorData<T extends UiElementData> {
|
|
|
25
25
|
* Base UiElement class
|
|
26
26
|
*/
|
|
27
27
|
export declare abstract class UiElement<T extends UiElementData = UiElementData> {
|
|
28
|
-
#private;
|
|
29
28
|
constructor({ name, element, resolver, onUpdate, }: UiElementConstructorData<T>);
|
|
30
29
|
resolver: Resolver;
|
|
31
30
|
_meta?: UiElementMeta;
|
|
@@ -33,6 +32,7 @@ export declare abstract class UiElement<T extends UiElementData = UiElementData>
|
|
|
33
32
|
toJSON(): Record<string, unknown>;
|
|
34
33
|
inspect(): void;
|
|
35
34
|
isAccessAllowed(): boolean;
|
|
35
|
+
protected _value?: ResolvedElementValue<T>;
|
|
36
36
|
get value(): ResolvedElementValue<T> | undefined;
|
|
37
37
|
set value(value: ResolvedElementValue<T> | undefined);
|
|
38
38
|
onUpdate: (value: ResolvedElementValue<T> | undefined) => void;
|
|
@@ -32,12 +32,12 @@ export class UiElement {
|
|
|
32
32
|
// If userRole is not defined return false.
|
|
33
33
|
return false;
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
_value;
|
|
36
36
|
get value() {
|
|
37
|
-
return this
|
|
37
|
+
return this._value;
|
|
38
38
|
}
|
|
39
39
|
set value(value) {
|
|
40
|
-
this
|
|
40
|
+
this._value = value;
|
|
41
41
|
this.onUpdate(value);
|
|
42
42
|
}
|
|
43
43
|
onUpdate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/UiElement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AAiCjD;;GAEG;AACH,MAAM,OAAgB,SAAS;IAC9B,YAAY,EACX,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,GACqB;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzB,CAAC;IACD,QAAQ,CAAU;IAElB,KAAK,CAAgB;IAErB,IAAI,CAAS;IAEb,MAAM;QACL,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;IACD,OAAO;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,eAAe;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3D,OAAO,IAAI,CAAA;SACX;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAO,kBAAkB,CAAC,CAAA;QAClE,IAAI,QAAQ,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;SACjD;QAED,2CAA2C;QAC3C,OAAO,KAAK,CAAA;IACb,CAAC;
|
|
1
|
+
{"version":3,"file":"UiElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/UiElement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AAiCjD;;GAEG;AACH,MAAM,OAAgB,SAAS;IAC9B,YAAY,EACX,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,GACqB;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzB,CAAC;IACD,QAAQ,CAAU;IAElB,KAAK,CAAgB;IAErB,IAAI,CAAS;IAEb,MAAM;QACL,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;IACD,OAAO;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,eAAe;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3D,OAAO,IAAI,CAAA;SACX;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAO,kBAAkB,CAAC,CAAA;QAClE,IAAI,QAAQ,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;SACjD;QAED,2CAA2C;QAC3C,OAAO,KAAK,CAAA;IACb,CAAC;IAES,MAAM,CAA0B;IAE1C,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAA;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,KAA0C;QACnD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IACD,QAAQ,CAAsD;CAC9D;AACD,MAAM,UAAU,WAAW,CAAC,GAAG,MAA8B;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CACpC,IAAI,EAAE,GAAG,CAAO,UAAU,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA"}
|