@datagrok-libraries/bio 5.41.5 → 5.41.6
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/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
10
10
|
"friendlyName": "Datagrok bio library",
|
|
11
|
-
"version": "5.41.
|
|
11
|
+
"version": "5.41.6",
|
|
12
12
|
"description": "Bio utilities, types supporting Macromolecule, Molecule3D data",
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@datagrok-libraries/gridext": "^1.3.71",
|
|
@@ -13,6 +13,7 @@ type MonomerPlacerProps = {
|
|
|
13
13
|
export declare function hitBounds(bounds: number[], x: number): number | null;
|
|
14
14
|
export declare class MonomerPlacer extends CellRendererBackBase<string> {
|
|
15
15
|
private readonly propsProvider;
|
|
16
|
+
private colWidth;
|
|
16
17
|
private _monomerLengthList;
|
|
17
18
|
private separatorWidth;
|
|
18
19
|
props: MonomerPlacerProps;
|
|
@@ -30,7 +31,7 @@ export declare class MonomerPlacer extends CellRendererBackBase<string> {
|
|
|
30
31
|
constructor(gridCol: DG.GridColumn | null, tableCol: DG.Column<string>, logger: ILogger, propsProvider: () => MonomerPlacerProps);
|
|
31
32
|
protected reset(): void;
|
|
32
33
|
/** Returns monomers lengths of the {@link rowIdx} and cumulative sums for borders, monomer places */
|
|
33
|
-
getCellMonomerLengths(rowIdx: number,
|
|
34
|
+
getCellMonomerLengths(rowIdx: number, newWidth: number): [number[], number[]];
|
|
34
35
|
private getCellMonomerLengthsForSeq;
|
|
35
36
|
private getCellMonomerLengthsForSeqMsa;
|
|
36
37
|
/** Returns seq position for pointer x */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-renderer-monomer-placer.d.ts","sourceRoot":"","sources":["cell-renderer-monomer-placer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cell-renderer-monomer-placer.d.ts","sourceRoot":"","sources":["cell-renderer-monomer-placer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAItC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAGjC,KAAK,kBAAkB,GAAG;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IACjD,cAAc,EAAE,kBAAkB,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;CAChE,CAAC;AAEF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBpE;AAED,qBAAa,aAAc,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IAqB3D,OAAO,CAAC,QAAQ,CAAC,aAAa;IApBhC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,kBAAkB,CAA2B;IAGrD,OAAO,CAAC,cAAc,CAAK;IACpB,KAAK,EAAE,kBAAkB,CAAC;IACjC,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,6BAA6B,CAAa;IAElD,OAAO,CAAC,QAAQ,CAAkB;IAClC,IAAW,OAAO,IAAI,OAAO,CAA0B;IAEhD,iBAAiB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAM;IACvD,oBAAoB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAM;IAEjE,sEAAsE;gBAEpE,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,EAC7B,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC3B,MAAM,EAAE,OAAO,EACE,aAAa,EAAE,MAAM,kBAAkB;cAsBvC,KAAK,IAAI,IAAI;IAQhC,qGAAqG;IAC9F,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC;IAepF,OAAO,CAAC,2BAA2B;IA8BnC,OAAO,CAAC,8BAA8B;IAmDtC,yCAAyC;IAClC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASpE,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1C,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKtC,KAAK,IAAI,OAAO;CAGxB"}
|
|
@@ -29,6 +29,7 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
29
29
|
constructor(gridCol, tableCol, logger, propsProvider) {
|
|
30
30
|
super(gridCol, tableCol, logger);
|
|
31
31
|
this.propsProvider = propsProvider;
|
|
32
|
+
this.colWidth = 0;
|
|
32
33
|
this._monomerLengthList = null;
|
|
33
34
|
// width of separator symbol
|
|
34
35
|
this.separatorWidth = 5;
|
|
@@ -62,22 +63,26 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
62
63
|
this._monomerStructureMap = {};
|
|
63
64
|
}
|
|
64
65
|
/** Returns monomers lengths of the {@link rowIdx} and cumulative sums for borders, monomer places */
|
|
65
|
-
getCellMonomerLengths(rowIdx,
|
|
66
|
-
|
|
67
|
-
this.
|
|
66
|
+
getCellMonomerLengths(rowIdx, newWidth) {
|
|
67
|
+
if (this.colWidth < newWidth) {
|
|
68
|
+
this.colWidth = newWidth;
|
|
69
|
+
this.reset();
|
|
70
|
+
}
|
|
71
|
+
const res = this.props.seqHandler.isMsa() ? this.getCellMonomerLengthsForSeqMsa() :
|
|
72
|
+
this.getCellMonomerLengthsForSeq(rowIdx);
|
|
68
73
|
const resSum = new Array(res.length + 1);
|
|
69
74
|
resSum[0] = 5; // padding
|
|
70
75
|
for (let pos = 1; pos < resSum.length; pos++)
|
|
71
76
|
resSum[pos] = resSum[pos - 1] + res[pos - 1];
|
|
72
77
|
return [res, resSum];
|
|
73
78
|
}
|
|
74
|
-
getCellMonomerLengthsForSeq(rowIdx
|
|
79
|
+
getCellMonomerLengthsForSeq(rowIdx) {
|
|
75
80
|
if (this._monomerLengthList === null) {
|
|
76
81
|
this._monomerLengthList = new Array(this.tableCol.length).fill(null);
|
|
77
82
|
this._updated = true;
|
|
78
83
|
}
|
|
79
84
|
const minMonWidth = this.props.separatorWidth + 1 * this.props.monomerCharWidth;
|
|
80
|
-
const maxVisibleSeqLength = Math.ceil(
|
|
85
|
+
const maxVisibleSeqLength = Math.ceil(this.colWidth / minMonWidth);
|
|
81
86
|
const seqMonList = SeqHandler.forColumn(this.tableCol).getSplitted(rowIdx).originals;
|
|
82
87
|
const visibleSeqLength = Math.min(maxVisibleSeqLength, seqMonList.length);
|
|
83
88
|
let res = this._monomerLengthList[rowIdx];
|
|
@@ -91,14 +96,14 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
91
96
|
const seqMonWidth = separatorWidth + shortMon.length * this.props.monomerCharWidth;
|
|
92
97
|
res[seqMonI] = seqMonWidth;
|
|
93
98
|
seqWidth += seqMonWidth;
|
|
94
|
-
if (seqWidth >
|
|
99
|
+
if (seqWidth > this.colWidth)
|
|
95
100
|
break;
|
|
96
101
|
}
|
|
97
102
|
this._updated = true;
|
|
98
103
|
}
|
|
99
104
|
return res;
|
|
100
105
|
}
|
|
101
|
-
getCellMonomerLengthsForSeqMsa(
|
|
106
|
+
getCellMonomerLengthsForSeqMsa() {
|
|
102
107
|
var _a;
|
|
103
108
|
if (this._monomerLengthList === null) {
|
|
104
109
|
this._monomerLengthList = new Array(1).fill(null);
|
|
@@ -125,7 +130,7 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
125
130
|
}
|
|
126
131
|
})();
|
|
127
132
|
const minMonWidth = this.props.separatorWidth + 1 * this.props.monomerCharWidth;
|
|
128
|
-
const maxVisibleSeqLength = Math.ceil(
|
|
133
|
+
const maxVisibleSeqLength = Math.ceil(this.colWidth / minMonWidth);
|
|
129
134
|
for (let seqIdx = startIdx; seqIdx < endIdx; seqIdx++) {
|
|
130
135
|
if (this._processedRows.get(seqIdx) && maxVisibleSeqLength <= this._processedMaxVisibleSeqLength)
|
|
131
136
|
continue;
|
|
@@ -141,7 +146,7 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
141
146
|
const seqMonWidth = this.props.separatorWidth + shortMon.length * this.props.monomerCharWidth;
|
|
142
147
|
res[seqMonI] = Math.max(res[seqMonI] ?? 0, seqMonWidth);
|
|
143
148
|
seqWidth += seqMonWidth;
|
|
144
|
-
if (seqWidth >=
|
|
149
|
+
if (seqWidth >= this.colWidth)
|
|
145
150
|
break;
|
|
146
151
|
}
|
|
147
152
|
this._updated = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-renderer-monomer-placer.js","sourceRoot":"","sources":["cell-renderer-monomer-placer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cell-renderer-monomer-placer.js","sourceRoot":"","sources":["cell-renderer-monomer-placer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAQnE,MAAM,UAAU,SAAS,CAAC,MAAgB,EAAE,CAAS;IACnD,IAAI,cAAc,GAAW,GAAG,CAAC;IACjC,IAAI,KAAK,GAAW,CAAC,CAAC;IACtB,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC;IACT,OAAO,KAAK,IAAI,MAAM,EAAE;QACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;aACT,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;YACvB,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;aACf,gCAAgC;YACnC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC;QAEnB,IAAI,EAAE,cAAc,IAAI,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,+BAA+B;gBAC9E,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACrC;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,aAAc,SAAQ,oBAA4B;IAW7D,IAAW,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAKvD,sEAAsE;IACtE,YACE,OAA6B,EAC7B,QAA2B,EAC3B,MAAe,EACE,aAAuC;QAExD,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAFhB,kBAAa,GAAb,aAAa,CAA0B;QApBlD,aAAQ,GAAW,CAAC,CAAC;QACrB,uBAAkB,GAAsB,IAAI,CAAC;QAErD,4BAA4B;QACpB,mBAAc,GAAG,CAAC,CAAC;QAGnB,kCAA6B,GAAW,CAAC,CAAC;QAE1C,aAAQ,GAAY,KAAK,CAAC;QAG3B,sBAAiB,GAAmC,EAAE,CAAC,CAAC,mDAAmD;QAC3G,yBAAoB,GAAmC,EAAE,CAAC,CAAC,2CAA2C;QAU3G,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAS,CAAC,MAAM,CAAC,CAAC;QAE9D,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC,CAAC;SACL;QAED,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YACnC,CAAC,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEkB,KAAK;QACtB,IAAI,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAS,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,qGAAqG;IAC9F,qBAAqB,CAAC,MAAc,EAAE,QAAgB;QAC3D,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;QACD,MAAM,GAAG,GAAa,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;YAC3F,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAa,IAAI,KAAK,CAAS,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;QACzB,KAAK,IAAI,GAAG,GAAW,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;YAClD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;IAEO,2BAA2B,CAAC,MAAc;QAChD,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAChF,MAAM,mBAAmB,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAoB,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;QACtG,MAAM,gBAAgB,GAAW,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAElF,IAAI,GAAG,GAAa,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,gBAAgB,EAAE;YACjD,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAS,UAAU,CAAC,MAAM,CAAC,CAAC;YAE7E,IAAI,QAAQ,GAAW,CAAC,CAAC;YACzB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE;gBAC3D,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC/F,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC7G,MAAM,WAAW,GAAW,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBAC3F,GAAG,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC;gBAC3B,QAAQ,IAAI,WAAW,CAAC;gBACxB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;oBAAE,MAAM;aACrC;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,8BAA8B;;QACpC,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;QACD,MAAA,IAAI,CAAC,kBAAkB,EAAC,CAAC,SAAD,CAAC,IAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACvC,mFAAmF;QACnF,8FAA8F;QAE9F,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAC,GAAG,CAAC,GAAG,EAAE;YAC/B,IAAI;gBACF,MAAM,IAAI,GAAmB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1F,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;oBACrB,OAAO;wBACL,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;qBACpF,CAAC;iBACH;;oBAAM,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAC,CAAC;aACzE;YAAC,OAAO,EAAE,EAAE;gBACX,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAC,CAAC;aAClE;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAChF,MAAM,mBAAmB,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC;QAC3E,KAAK,IAAI,MAAM,GAAG,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE;YACrD,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,mBAAmB,IAAI,IAAI,CAAC,6BAA6B;gBAC9F,SAAS;YACX,MAAM,UAAU,GAAoB,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACpE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,SAAS,CAAC;YAEtD,MAAM,gBAAgB,GAAW,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAClF,IAAI,gBAAgB,GAAG,GAAG,CAAC,MAAM;gBAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAS,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAElF,IAAI,QAAQ,GAAW,CAAC,CAAC;YACzB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE;gBAC3D,MAAM,WAAW,GAAW,UAAU,CAAC,OAAO,CAAC,CAAC;gBAChD,MAAM,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC/F,MAAM,WAAW,GAAW,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACtG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;gBACxD,QAAQ,IAAI,WAAW,CAAC;gBACxB,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ;oBAAE,MAAM;aACtC;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAC;SACxG;QACD,OAAO,GAAG,CAAC,CAAC,iCAAiC;IAC/C,CAAC;IAED,yCAAyC;IAClC,WAAW,CAAC,MAAc,EAAE,CAAS,EAAE,KAAa;QACzD,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,GACpD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAa,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,OAAO,SAAS,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEM,qBAAqB,CAAC,KAAa;QACxC,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEM,iBAAiB,CAAC,KAAa;QACpC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;CACF"}
|