beetleshine 0.0.21 → 0.0.22
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/lib/xarray.js +28 -0
- package/lib/xarray.js.map +1 -1
- package/package.json +1 -1
package/lib/xarray.js
CHANGED
|
@@ -159,6 +159,34 @@ var Xarray = {
|
|
|
159
159
|
return a.filter(function (e) {
|
|
160
160
|
return !set_b.has(e);
|
|
161
161
|
});
|
|
162
|
+
},
|
|
163
|
+
ary_any_p: function ary_any_p(ary) {
|
|
164
|
+
var block = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (e) {
|
|
165
|
+
return e;
|
|
166
|
+
};
|
|
167
|
+
return ary.some(function (e) {
|
|
168
|
+
return _xobject.Xobject.truthy_p(block(e));
|
|
169
|
+
});
|
|
170
|
+
},
|
|
171
|
+
ary_all_p: function ary_all_p(ary) {
|
|
172
|
+
var block = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (e) {
|
|
173
|
+
return e;
|
|
174
|
+
};
|
|
175
|
+
return ary.every(function (e) {
|
|
176
|
+
return _xobject.Xobject.truthy_p(block(e));
|
|
177
|
+
});
|
|
178
|
+
},
|
|
179
|
+
ary_none_p: function ary_none_p(ary) {
|
|
180
|
+
var block = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (e) {
|
|
181
|
+
return e;
|
|
182
|
+
};
|
|
183
|
+
return !this.ary_any_p(ary, block);
|
|
184
|
+
},
|
|
185
|
+
ary_one_p: function ary_one_p(ary) {
|
|
186
|
+
var block = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (e) {
|
|
187
|
+
return e;
|
|
188
|
+
};
|
|
189
|
+
return this.ary_find_all(ary, block).length === 1;
|
|
162
190
|
}
|
|
163
191
|
};
|
|
164
192
|
exports.Xarray = Xarray;
|
package/lib/xarray.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xarray.js","names":["_xobject","require","_xinteger","_xassertion","_lodash","_interopRequireDefault","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","Xarray","ary_first","ary","arguments","undefined","Xassertion","assert_kind_of_array","ary_last","ary_take","index","_","take","ary_drop","drop","ary_sort_by","block","sortBy","e","ary_find_all","filter","Xobject","truthy_p","ary_reject","falsy_p","ary_find_index","findIndex","ary_each_slice_to_a","step","Error","new_ary","push","ary_reverse","reverse","ary_shuffle","shuffle","ary_sample","sample","ary_wrap","ary_cycle_at","Xinteger","imodulo","ary_move","to","v","tail","splice","apply","ary_rotate","shift","unshift","pop","ary_compact","reduce","a","val","ary_compact_blank","present_p","ary_minus","b","set_b","Set","has","exports"],"sources":["../src/xarray.js"],"sourcesContent":["import { Xobject } from \"./xobject.js\"\nimport { Xinteger } from \"./xinteger.js\"\nimport { Xassertion } from \"./xassertion.js\"\nimport _ from \"lodash\"\n\nexport const Xarray = {\n ary_first(ary, n = null) {\n Xassertion.assert_kind_of_array(ary)\n if (n == null) {\n return ary[0]\n } else {\n return ary.slice(0, n)\n }\n },\n\n ary_last(ary, n = null) {\n Xassertion.assert_kind_of_array(ary)\n if (n == null) {\n return ary[ary.length - 1]\n } else {\n return ary.slice(-n)\n }\n },\n\n ary_take(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return _.take(ary, index)\n },\n\n ary_drop(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return _.drop(ary, index)\n },\n\n // _.sortBy がない場合\n // const wrap = ary.map(e => ({ source: e, value: block(e) }))\n // const sorted = _.sortBy(wrap, \"value\")\n // return sorted.map(e => e.source)\n ary_sort_by(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return _.sortBy(ary, e => block(e))\n },\n\n // JS の filter は 0 で false になるため危険\n ary_find_all(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return ary.filter(e => Xobject.truthy_p(block(e)))\n },\n\n ary_reject(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return ary.filter(e => Xobject.falsy_p(block(e)))\n },\n\n ary_find_index(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n const index = ary.findIndex(e => block(e))\n if (index >= 0) {\n return index\n }\n },\n\n // expect(Gs.ary_each_slice_to_a([\"a\", \"b\", \"c\", \"d\"], 2)).toEqual([[\"a\", \"b\"], [\"c\", \"d\"]])\n // expect(Gs.ary_each_slice_to_a([\"a\", \"b\", \"c\"], 2)).toEqual([[\"a\", \"b\"], [\"c\"]])\n // expect(() => Gs.ary_each_slice_to_a([\"a\", \"b\"], 0)).toThrow()\n // expect(Gs.ary_each_slice_to_a([], 2)).toEqual([])\n ary_each_slice_to_a(ary, step) {\n Xassertion.assert_kind_of_array(ary)\n if (step <= 0) {\n throw new Error(\"invalid slice size\")\n }\n const new_ary = []\n for (let i = 0; i < ary.length; i += step) {\n new_ary.push(ary.slice(i, i + step))\n }\n return new_ary\n },\n\n // 元を破壊させない\n ary_reverse(ary) {\n Xassertion.assert_kind_of_array(ary)\n return [...ary].reverse()\n },\n\n // 元は破壊しない\n ary_shuffle(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.shuffle(ary)\n },\n\n ary_sample(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.sample(ary)\n },\n\n // 必ず配列にする\n ary_wrap(ary) {\n if (!_.isArray(ary)) {\n ary = [ary]\n }\n return ary\n },\n\n // はみ出ない\n ary_cycle_at(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return ary[Xinteger.imodulo(index, ary.length)]\n },\n\n // ary 内のインデックス from の要素を to に移動\n // https://qiita.com/nowayoutbut/items/991515b32805e21f8892\n ary_move(ary, from, to) {\n Xassertion.assert_kind_of_array(ary)\n const n = ary.length\n ary = [...ary]\n to = Xinteger.imodulo(to, n)\n if (from === to || from > n - 1 || to > n - 1) {\n return ary\n }\n const v = ary[from]\n const tail = ary.slice(from + 1)\n ary.splice(from)\n Array.prototype.push.apply(ary, tail)\n ary.splice(to, 0, v)\n return ary\n },\n\n ary_rotate(ary, n = 1) {\n Xassertion.assert_kind_of_array(ary)\n ary = [...ary]\n if (ary.length > 0) {\n if (n > 0) {\n for (let i = 0; i < n; i += 1) {\n ary.push(ary.shift())\n }\n } else {\n for (let i = 0; i < -n; i += 1) {\n ary.unshift(ary.pop())\n }\n }\n }\n return ary\n },\n\n // {1, null, undefined, \"\"} => [1, \"\"]\n ary_compact(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.reduce(ary, (a, val) => {\n if (val == null) {\n } else {\n a.push(val)\n }\n return a\n }, [])\n },\n\n // {1, null, undefined, \"\"} => [1]\n ary_compact_blank(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.reduce(ary, (a, val) => {\n if (Xobject.present_p(val)) {\n a.push(val)\n }\n return a\n }, [])\n },\n\n // a - b\n ary_minus(a, b) {\n Xassertion.assert_kind_of_array(a)\n Xassertion.assert_kind_of_array(b)\n const set_b = new Set(b)\n return a.filter(e => !set_b.has(e))\n },\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xarray.js","names":["_xobject","require","_xinteger","_xassertion","_lodash","_interopRequireDefault","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","Xarray","ary_first","ary","arguments","undefined","Xassertion","assert_kind_of_array","ary_last","ary_take","index","_","take","ary_drop","drop","ary_sort_by","block","sortBy","e","ary_find_all","filter","Xobject","truthy_p","ary_reject","falsy_p","ary_find_index","findIndex","ary_each_slice_to_a","step","Error","new_ary","push","ary_reverse","reverse","ary_shuffle","shuffle","ary_sample","sample","ary_wrap","ary_cycle_at","Xinteger","imodulo","ary_move","to","v","tail","splice","apply","ary_rotate","shift","unshift","pop","ary_compact","reduce","a","val","ary_compact_blank","present_p","ary_minus","b","set_b","Set","has","ary_any_p","some","ary_all_p","every","ary_none_p","ary_one_p","exports"],"sources":["../src/xarray.js"],"sourcesContent":["import { Xobject } from \"./xobject.js\"\nimport { Xinteger } from \"./xinteger.js\"\nimport { Xassertion } from \"./xassertion.js\"\nimport _ from \"lodash\"\n\nexport const Xarray = {\n ary_first(ary, n = null) {\n Xassertion.assert_kind_of_array(ary)\n if (n == null) {\n return ary[0]\n } else {\n return ary.slice(0, n)\n }\n },\n\n ary_last(ary, n = null) {\n Xassertion.assert_kind_of_array(ary)\n if (n == null) {\n return ary[ary.length - 1]\n } else {\n return ary.slice(-n)\n }\n },\n\n ary_take(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return _.take(ary, index)\n },\n\n ary_drop(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return _.drop(ary, index)\n },\n\n // _.sortBy がない場合\n // const wrap = ary.map(e => ({ source: e, value: block(e) }))\n // const sorted = _.sortBy(wrap, \"value\")\n // return sorted.map(e => e.source)\n ary_sort_by(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return _.sortBy(ary, e => block(e))\n },\n\n // JS の filter は 0 で false になるため危険\n ary_find_all(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return ary.filter(e => Xobject.truthy_p(block(e)))\n },\n\n ary_reject(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return ary.filter(e => Xobject.falsy_p(block(e)))\n },\n\n ary_find_index(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n const index = ary.findIndex(e => block(e))\n if (index >= 0) {\n return index\n }\n },\n\n // expect(Gs.ary_each_slice_to_a([\"a\", \"b\", \"c\", \"d\"], 2)).toEqual([[\"a\", \"b\"], [\"c\", \"d\"]])\n // expect(Gs.ary_each_slice_to_a([\"a\", \"b\", \"c\"], 2)).toEqual([[\"a\", \"b\"], [\"c\"]])\n // expect(() => Gs.ary_each_slice_to_a([\"a\", \"b\"], 0)).toThrow()\n // expect(Gs.ary_each_slice_to_a([], 2)).toEqual([])\n ary_each_slice_to_a(ary, step) {\n Xassertion.assert_kind_of_array(ary)\n if (step <= 0) {\n throw new Error(\"invalid slice size\")\n }\n const new_ary = []\n for (let i = 0; i < ary.length; i += step) {\n new_ary.push(ary.slice(i, i + step))\n }\n return new_ary\n },\n\n // 元を破壊させない\n ary_reverse(ary) {\n Xassertion.assert_kind_of_array(ary)\n return [...ary].reverse()\n },\n\n // 元は破壊しない\n ary_shuffle(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.shuffle(ary)\n },\n\n ary_sample(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.sample(ary)\n },\n\n // 必ず配列にする\n ary_wrap(ary) {\n if (!_.isArray(ary)) {\n ary = [ary]\n }\n return ary\n },\n\n // はみ出ない\n ary_cycle_at(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return ary[Xinteger.imodulo(index, ary.length)]\n },\n\n // ary 内のインデックス from の要素を to に移動\n // https://qiita.com/nowayoutbut/items/991515b32805e21f8892\n ary_move(ary, from, to) {\n Xassertion.assert_kind_of_array(ary)\n const n = ary.length\n ary = [...ary]\n to = Xinteger.imodulo(to, n)\n if (from === to || from > n - 1 || to > n - 1) {\n return ary\n }\n const v = ary[from]\n const tail = ary.slice(from + 1)\n ary.splice(from)\n Array.prototype.push.apply(ary, tail)\n ary.splice(to, 0, v)\n return ary\n },\n\n ary_rotate(ary, n = 1) {\n Xassertion.assert_kind_of_array(ary)\n ary = [...ary]\n if (ary.length > 0) {\n if (n > 0) {\n for (let i = 0; i < n; i += 1) {\n ary.push(ary.shift())\n }\n } else {\n for (let i = 0; i < -n; i += 1) {\n ary.unshift(ary.pop())\n }\n }\n }\n return ary\n },\n\n // {1, null, undefined, \"\"} => [1, \"\"]\n ary_compact(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.reduce(ary, (a, val) => {\n if (val == null) {\n } else {\n a.push(val)\n }\n return a\n }, [])\n },\n\n // {1, null, undefined, \"\"} => [1]\n ary_compact_blank(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.reduce(ary, (a, val) => {\n if (Xobject.present_p(val)) {\n a.push(val)\n }\n return a\n }, [])\n },\n\n // a - b\n ary_minus(a, b) {\n Xassertion.assert_kind_of_array(a)\n Xassertion.assert_kind_of_array(b)\n const set_b = new Set(b)\n return a.filter(e => !set_b.has(e))\n },\n\n ary_any_p(ary, block = e => e) { return ary.some(e => Xobject.truthy_p(block(e))) },\n ary_all_p(ary, block = e => e) { return ary.every(e => Xobject.truthy_p(block(e))) },\n ary_none_p(ary, block = e => e) { return !this.ary_any_p(ary, block) },\n ary_one_p(ary, block = e => e) { return this.ary_find_all(ary, block).length === 1 },\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAAsB,SAAAI,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,mBAAAC,GAAA,WAAAC,kBAAA,CAAAD,GAAA,KAAAE,gBAAA,CAAAF,GAAA,KAAAG,2BAAA,CAAAH,GAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAC,IAAA,CAAAP,CAAA,EAAAQ,KAAA,aAAAL,CAAA,iBAAAH,CAAA,CAAAS,WAAA,EAAAN,CAAA,GAAAH,CAAA,CAAAS,WAAA,CAAAC,IAAA,MAAAP,CAAA,cAAAA,CAAA,mBAAAQ,KAAA,CAAAC,IAAA,CAAAZ,CAAA,OAAAG,CAAA,+DAAAU,IAAA,CAAAV,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAL,iBAAAkB,IAAA,eAAAC,MAAA,oBAAAD,IAAA,CAAAC,MAAA,CAAAC,QAAA,aAAAF,IAAA,+BAAAH,KAAA,CAAAC,IAAA,CAAAE,IAAA;AAAA,SAAAnB,mBAAAD,GAAA,QAAAiB,KAAA,CAAAM,OAAA,CAAAvB,GAAA,UAAAQ,iBAAA,CAAAR,GAAA;AAAA,SAAAQ,kBAAAR,GAAA,EAAAwB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAxB,GAAA,CAAAyB,MAAA,EAAAD,GAAA,GAAAxB,GAAA,CAAAyB,MAAA,WAAAC,CAAA,MAAAC,IAAA,OAAAV,KAAA,CAAAO,GAAA,GAAAE,CAAA,GAAAF,GAAA,EAAAE,CAAA,IAAAC,IAAA,CAAAD,CAAA,IAAA1B,GAAA,CAAA0B,CAAA,UAAAC,IAAA;AAEf,IAAMC,MAAM,GAAG;EACpBC,SAAS,WAAAA,UAACC,GAAG,EAAY;IAAA,IAAVrB,CAAC,GAAAsB,SAAA,CAAAN,MAAA,QAAAM,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;IACrBE,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,IAAIrB,CAAC,IAAI,IAAI,EAAE;MACb,OAAOqB,GAAG,CAAC,CAAC,CAAC;IACf,CAAC,MAAM;MACL,OAAOA,GAAG,CAAChB,KAAK,CAAC,CAAC,EAAEL,CAAC,CAAC;IACxB;EACF,CAAC;EAED0B,QAAQ,WAAAA,SAACL,GAAG,EAAY;IAAA,IAAVrB,CAAC,GAAAsB,SAAA,CAAAN,MAAA,QAAAM,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;IACpBE,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,IAAIrB,CAAC,IAAI,IAAI,EAAE;MACb,OAAOqB,GAAG,CAACA,GAAG,CAACL,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC,MAAM;MACL,OAAOK,GAAG,CAAChB,KAAK,CAAC,CAACL,CAAC,CAAC;IACtB;EACF,CAAC;EAED2B,QAAQ,WAAAA,SAACN,GAAG,EAAEO,KAAK,EAAE;IACnBJ,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,OAAOQ,kBAAC,CAACC,IAAI,CAACT,GAAG,EAAEO,KAAK,CAAC;EAC3B,CAAC;EAEDG,QAAQ,WAAAA,SAACV,GAAG,EAAEO,KAAK,EAAE;IACnBJ,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,OAAOQ,kBAAC,CAACG,IAAI,CAACX,GAAG,EAAEO,KAAK,CAAC;EAC3B,CAAC;EAMDK,WAAW,WAAAA,YAACZ,GAAG,EAAEa,KAAK,EAAE;IACtBV,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,OAAOQ,kBAAC,CAACM,MAAM,CAACd,GAAG,EAAE,UAAAe,CAAC;MAAA,OAAIF,KAAK,CAACE,CAAC,CAAC;IAAA,EAAC;EACrC,CAAC;EAGDC,YAAY,WAAAA,aAAChB,GAAG,EAAEa,KAAK,EAAE;IACvBV,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,OAAOA,GAAG,CAACiB,MAAM,CAAC,UAAAF,CAAC;MAAA,OAAIG,gBAAO,CAACC,QAAQ,CAACN,KAAK,CAACE,CAAC,CAAC,CAAC;IAAA,EAAC;EACpD,CAAC;EAEDK,UAAU,WAAAA,WAACpB,GAAG,EAAEa,KAAK,EAAE;IACrBV,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,OAAOA,GAAG,CAACiB,MAAM,CAAC,UAAAF,CAAC;MAAA,OAAIG,gBAAO,CAACG,OAAO,CAACR,KAAK,CAACE,CAAC,CAAC,CAAC;IAAA,EAAC;EACnD,CAAC;EAEDO,cAAc,WAAAA,eAACtB,GAAG,EAAEa,KAAK,EAAE;IACzBV,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,IAAMO,KAAK,GAAGP,GAAG,CAACuB,SAAS,CAAC,UAAAR,CAAC;MAAA,OAAIF,KAAK,CAACE,CAAC,CAAC;IAAA,EAAC;IAC1C,IAAIR,KAAK,IAAI,CAAC,EAAE;MACd,OAAOA,KAAK;IACd;EACF,CAAC;EAMDiB,mBAAmB,WAAAA,oBAACxB,GAAG,EAAEyB,IAAI,EAAE;IAC7BtB,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,IAAIyB,IAAI,IAAI,CAAC,EAAE;MACb,MAAM,IAAIC,KAAK,CAAC,oBAAoB,CAAC;IACvC;IACA,IAAMC,OAAO,GAAG,EAAE;IAClB,KAAK,IAAI/B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGI,GAAG,CAACL,MAAM,EAAEC,CAAC,IAAI6B,IAAI,EAAE;MACzCE,OAAO,CAACC,IAAI,CAAC5B,GAAG,CAAChB,KAAK,CAACY,CAAC,EAAEA,CAAC,GAAG6B,IAAI,CAAC,CAAC;IACtC;IACA,OAAOE,OAAO;EAChB,CAAC;EAGDE,WAAW,WAAAA,YAAC7B,GAAG,EAAE;IACfG,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,OAAO/B,kBAAA,CAAI+B,GAAG,EAAE8B,OAAO,EAAE;EAC3B,CAAC;EAGDC,WAAW,WAAAA,YAAC/B,GAAG,EAAE;IACfG,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,OAAOQ,kBAAC,CAACwB,OAAO,CAAChC,GAAG,CAAC;EACvB,CAAC;EAEDiC,UAAU,WAAAA,WAACjC,GAAG,EAAE;IACdG,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,OAAOQ,kBAAC,CAAC0B,MAAM,CAAClC,GAAG,CAAC;EACtB,CAAC;EAGDmC,QAAQ,WAAAA,SAACnC,GAAG,EAAE;IACZ,IAAI,CAACQ,kBAAC,CAACf,OAAO,CAACO,GAAG,CAAC,EAAE;MACnBA,GAAG,GAAG,CAACA,GAAG,CAAC;IACb;IACA,OAAOA,GAAG;EACZ,CAAC;EAGDoC,YAAY,WAAAA,aAACpC,GAAG,EAAEO,KAAK,EAAE;IACvBJ,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,OAAOA,GAAG,CAACqC,kBAAQ,CAACC,OAAO,CAAC/B,KAAK,EAAEP,GAAG,CAACL,MAAM,CAAC,CAAC;EACjD,CAAC;EAID4C,QAAQ,WAAAA,SAACvC,GAAG,EAAEZ,IAAI,EAAEoD,EAAE,EAAE;IACtBrC,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,IAAMrB,CAAC,GAAGqB,GAAG,CAACL,MAAM;IACpBK,GAAG,GAAA/B,kBAAA,CAAO+B,GAAG,CAAC;IACdwC,EAAE,GAAGH,kBAAQ,CAACC,OAAO,CAACE,EAAE,EAAE7D,CAAC,CAAC;IAC5B,IAAIS,IAAI,KAAKoD,EAAE,IAAIpD,IAAI,GAAGT,CAAC,GAAG,CAAC,IAAI6D,EAAE,GAAG7D,CAAC,GAAG,CAAC,EAAE;MAC7C,OAAOqB,GAAG;IACZ;IACA,IAAMyC,CAAC,GAAGzC,GAAG,CAACZ,IAAI,CAAC;IACnB,IAAMsD,IAAI,GAAG1C,GAAG,CAAChB,KAAK,CAACI,IAAI,GAAG,CAAC,CAAC;IAChCY,GAAG,CAAC2C,MAAM,CAACvD,IAAI,CAAC;IAChBD,KAAK,CAACN,SAAS,CAAC+C,IAAI,CAACgB,KAAK,CAAC5C,GAAG,EAAE0C,IAAI,CAAC;IACrC1C,GAAG,CAAC2C,MAAM,CAACH,EAAE,EAAE,CAAC,EAAEC,CAAC,CAAC;IACpB,OAAOzC,GAAG;EACZ,CAAC;EAED6C,UAAU,WAAAA,WAAC7C,GAAG,EAAS;IAAA,IAAPrB,CAAC,GAAAsB,SAAA,CAAAN,MAAA,QAAAM,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC;IACnBE,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpCA,GAAG,GAAA/B,kBAAA,CAAO+B,GAAG,CAAC;IACd,IAAIA,GAAG,CAACL,MAAM,GAAG,CAAC,EAAE;MAClB,IAAIhB,CAAC,GAAG,CAAC,EAAE;QACT,KAAK,IAAIiB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGjB,CAAC,EAAEiB,CAAC,IAAI,CAAC,EAAE;UAC7BI,GAAG,CAAC4B,IAAI,CAAC5B,GAAG,CAAC8C,KAAK,EAAE,CAAC;QACvB;MACF,CAAC,MAAM;QACL,KAAK,IAAIlD,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAG,CAACjB,CAAC,EAAEiB,EAAC,IAAI,CAAC,EAAE;UAC9BI,GAAG,CAAC+C,OAAO,CAAC/C,GAAG,CAACgD,GAAG,EAAE,CAAC;QACxB;MACF;IACF;IACA,OAAOhD,GAAG;EACZ,CAAC;EAGDiD,WAAW,WAAAA,YAACjD,GAAG,EAAE;IACfG,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,OAAOQ,kBAAC,CAAC0C,MAAM,CAAClD,GAAG,EAAE,UAACmD,CAAC,EAAEC,GAAG,EAAK;MAC/B,IAAIA,GAAG,IAAI,IAAI,EAAE,CACjB,CAAC,MAAM;QACLD,CAAC,CAACvB,IAAI,CAACwB,GAAG,CAAC;MACb;MACA,OAAOD,CAAC;IACV,CAAC,EAAE,EAAE,CAAC;EACR,CAAC;EAGDE,iBAAiB,WAAAA,kBAACrD,GAAG,EAAE;IACrBG,sBAAU,CAACC,oBAAoB,CAACJ,GAAG,CAAC;IACpC,OAAOQ,kBAAC,CAAC0C,MAAM,CAAClD,GAAG,EAAE,UAACmD,CAAC,EAAEC,GAAG,EAAK;MAC/B,IAAIlC,gBAAO,CAACoC,SAAS,CAACF,GAAG,CAAC,EAAE;QAC1BD,CAAC,CAACvB,IAAI,CAACwB,GAAG,CAAC;MACb;MACA,OAAOD,CAAC;IACV,CAAC,EAAE,EAAE,CAAC;EACR,CAAC;EAGDI,SAAS,WAAAA,UAACJ,CAAC,EAAEK,CAAC,EAAE;IACdrD,sBAAU,CAACC,oBAAoB,CAAC+C,CAAC,CAAC;IAClChD,sBAAU,CAACC,oBAAoB,CAACoD,CAAC,CAAC;IAClC,IAAMC,KAAK,GAAG,IAAIC,GAAG,CAACF,CAAC,CAAC;IACxB,OAAOL,CAAC,CAAClC,MAAM,CAAC,UAAAF,CAAC;MAAA,OAAI,CAAC0C,KAAK,CAACE,GAAG,CAAC5C,CAAC,CAAC;IAAA,EAAC;EACrC,CAAC;EAED6C,SAAS,WAAAA,UAAC5D,GAAG,EAAmB;IAAA,IAAhBa,KAAK,GAAAZ,SAAA,CAAAN,MAAA,QAAAM,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,UAAAc,CAAC;MAAA,OAAIA,CAAC;IAAA;IAAI,OAAOf,GAAG,CAAC6D,IAAI,CAAC,UAAA9C,CAAC;MAAA,OAAIG,gBAAO,CAACC,QAAQ,CAACN,KAAK,CAACE,CAAC,CAAC,CAAC;IAAA,EAAC;EAAE,CAAC;EACrF+C,SAAS,WAAAA,UAAC9D,GAAG,EAAmB;IAAA,IAAhBa,KAAK,GAAAZ,SAAA,CAAAN,MAAA,QAAAM,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,UAAAc,CAAC;MAAA,OAAIA,CAAC;IAAA;IAAI,OAAOf,GAAG,CAAC+D,KAAK,CAAC,UAAAhD,CAAC;MAAA,OAAIG,gBAAO,CAACC,QAAQ,CAACN,KAAK,CAACE,CAAC,CAAC,CAAC;IAAA,EAAC;EAAC,CAAC;EACrFiD,UAAU,WAAAA,WAAChE,GAAG,EAAkB;IAAA,IAAhBa,KAAK,GAAAZ,SAAA,CAAAN,MAAA,QAAAM,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,UAAAc,CAAC;MAAA,OAAIA,CAAC;IAAA;IAAI,OAAO,CAAC,IAAI,CAAC6C,SAAS,CAAC5D,GAAG,EAAEa,KAAK,CAAC;EAAgB,CAAC;EACrFoD,SAAS,WAAAA,UAACjE,GAAG,EAAmB;IAAA,IAAhBa,KAAK,GAAAZ,SAAA,CAAAN,MAAA,QAAAM,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,UAAAc,CAAC;MAAA,OAAIA,CAAC;IAAA;IAAI,OAAO,IAAI,CAACC,YAAY,CAAChB,GAAG,EAAEa,KAAK,CAAC,CAAClB,MAAM,KAAK,CAAC;EAAC;AACtF,CAAC;AAAAuE,OAAA,CAAApE,MAAA,GAAAA,MAAA"}
|