@galadrim/galadmin 0.1.228 → 0.1.232

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/api.d.ts CHANGED
@@ -1,2 +1,9 @@
1
- declare const _default: (db: any, config: any, user: any) => import("express-serve-static-core").Express;
1
+ declare global {
2
+ namespace Express {
3
+ interface Request {
4
+ config?: any;
5
+ }
6
+ }
7
+ }
8
+ declare const _default: (db: any, config: any) => import("express-serve-static-core").Express;
2
9
  export default _default;
package/dist/api.js CHANGED
@@ -32,11 +32,93 @@ function generateUniqueIdForObject(obj) {
32
32
  const hash = crypto.createHash("sha256").update(str).digest("hex");
33
33
  return hash;
34
34
  }
35
- exports.default = (db, config, user) => {
35
+ exports.default = (db, config) => {
36
36
  const app = express();
37
+ app.use((req, res, next) => {
38
+ req.config = Object.assign(Object.assign({}, config), { views: config.views
39
+ .filter(x => !x.roles
40
+ || (req.session.user && ([...(x.roles || []), ...(x.readRoles || [])].includes(req.session.user.role))))
41
+ .map(view => {
42
+ const readOnly = req.session.user && view.roles && !view.roles.includes(req.session.user.role);
43
+ if (readOnly) {
44
+ return Object.assign(Object.assign({}, view), { canEdit: false, canCreate: false, canDelete: false, clickToEdit: false });
45
+ }
46
+ else {
47
+ return view;
48
+ }
49
+ })
50
+ .map(view => {
51
+ if (view.type === "table") {
52
+ return Object.assign(Object.assign({}, view), { columns: view.columns.filter(column => !column.roles || (req.session.user && column.roles.includes(req.session.user.role))) });
53
+ }
54
+ else {
55
+ return view;
56
+ }
57
+ }) });
58
+ next();
59
+ });
37
60
  app.use(async (req, res, next) => {
38
- if (!config.enriched) {
39
- await enrichConfig(config, db);
61
+ if (!req.config.enriched) {
62
+ await enrichConfig(req.config, db);
63
+ }
64
+ next();
65
+ });
66
+ const ROOT_ROLE = "root";
67
+ const roleOf = (req) => req.session && req.session.user && req.session.user.role;
68
+ const canWriteView = (view, role) => role === ROOT_ROLE || !view || !view.roles || view.roles.includes(role);
69
+ const viewFromRequest = (req) => {
70
+ const idx = req.body && req.body.viewIndex !== undefined
71
+ ? req.body.viewIndex
72
+ : req.query && req.query.viewIndex !== undefined
73
+ ? req.query.viewIndex
74
+ : undefined;
75
+ if (idx === undefined || !req.config || !req.config.views)
76
+ return undefined;
77
+ return req.config.views[idx];
78
+ };
79
+ const MUTATING_VIEW_ROUTES = new Set([
80
+ "/updateRecord",
81
+ "/createRecord",
82
+ "/deleteRecord",
83
+ "/deleteRecords",
84
+ "/deleteRecordFromPanel",
85
+ "/customAction",
86
+ "/uploadFile",
87
+ ]);
88
+ const areSafeColumnNames = (data) => !data ||
89
+ Object.keys(data).every((k) => /^[A-Za-z0-9_]+$/.test(k));
90
+ const writableTables = (req) => {
91
+ var _a, _b;
92
+ const role = roleOf(req);
93
+ const tables = new Set();
94
+ for (const view of ((_a = req.config) === null || _a === void 0 ? void 0 : _a.views) || []) {
95
+ if (!canWriteView(view, role))
96
+ continue;
97
+ if (view.tableName)
98
+ tables.add(view.tableName);
99
+ for (const panel of view.recordViewPanels || []) {
100
+ if (panel.tableName)
101
+ tables.add(panel.tableName);
102
+ if ((_b = panel.createConfig) === null || _b === void 0 ? void 0 : _b.tableName)
103
+ tables.add(panel.createConfig.tableName);
104
+ }
105
+ }
106
+ return tables;
107
+ };
108
+ const looksLikeSqlBreakout = (frag) => typeof frag === "string" &&
109
+ /(;|--|\/\*|\bunion\b|\binto\s+(out|dump)file\b|\bsleep\s*\(|\bbenchmark\s*\(|\bload_file\s*\()/i.test(frag);
110
+ app.use((req, res, next) => {
111
+ const role = roleOf(req);
112
+ if (req.body && Array.isArray(req.body.filters)) {
113
+ if (req.body.filters.some(looksLikeSqlBreakout)) {
114
+ return res.status(400).send({ error: "Invalid filter" });
115
+ }
116
+ }
117
+ if (MUTATING_VIEW_ROUTES.has(req.path)) {
118
+ const view = viewFromRequest(req);
119
+ if (!view || !canWriteView(view, role)) {
120
+ return res.sendStatus(403);
121
+ }
40
122
  }
41
123
  next();
42
124
  });
@@ -122,7 +204,7 @@ exports.default = (db, config, user) => {
122
204
  }
123
205
  app.get("/config", async (req, res) => {
124
206
  try {
125
- const { mysql, auth, sessionSecret } = config, safeConfig = __rest(config, ["mysql", "auth", "sessionSecret"]);
207
+ const _a = req.config, { mysql, auth, sessionSecret } = _a, safeConfig = __rest(_a, ["mysql", "auth", "sessionSecret"]);
126
208
  res.send({
127
209
  config: serializeJs(safeConfig),
128
210
  });
@@ -190,7 +272,7 @@ exports.default = (db, config, user) => {
190
272
  };
191
273
  app.post("/foreignSelectRecords", async (req, res, next) => {
192
274
  var _a, _b, _c, _d, _e;
193
- const view = config.views[req.body.viewIndex];
275
+ const view = req.config.views[req.body.viewIndex];
194
276
  const column = [
195
277
  ...view.columns,
196
278
  ...(((_c = (_b = (_a = view.recordViewPanels) === null || _a === void 0 ? void 0 : _a.map((x) => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.createConfig) === null || _a === void 0 ? void 0 : _a.columns; })) === null || _b === void 0 ? void 0 : _b.filter((x) => x)) === null || _c === void 0 ? void 0 : _c.flat()) || []),
@@ -207,7 +289,7 @@ exports.default = (db, config, user) => {
207
289
  ? `${column.searchableName} LIKE '${column.wholeSearch ? "%" : ""}${queryEscaped}%'`
208
290
  : null,
209
291
  column.filtersFromUser
210
- ? column.filtersFromUser(user.userId, user.role)
292
+ ? column.filtersFromUser(req.session.user.userId, req.session.user.role)
211
293
  : null,
212
294
  ]),
213
295
  join: column.join,
@@ -241,7 +323,7 @@ exports.default = (db, config, user) => {
241
323
  res.send(options);
242
324
  });
243
325
  app.post("/records", async function (req, res, next) {
244
- const view = config.views[req.body.viewIndex];
326
+ const view = req.config.views[req.body.viewIndex];
245
327
  const isDesc = req.body.isDesc === null ? view.isDesc : req.body.isDesc;
246
328
  const subview = view.subviews && req.body.subviewIndex !== undefined
247
329
  ? view.subviews[req.body.subviewIndex]
@@ -255,7 +337,7 @@ exports.default = (db, config, user) => {
255
337
  subview === null || subview === void 0 ? void 0 : subview.filters,
256
338
  ...req.body.filters,
257
339
  view.filtersFromUser
258
- ? view.filtersFromUser(user.userId, user.role)
340
+ ? view.filtersFromUser(req.session.user.userId, req.session.user.role)
259
341
  : null,
260
342
  ]),
261
343
  having: subview === null || subview === void 0 ? void 0 : subview.having,
@@ -375,7 +457,7 @@ exports.default = (db, config, user) => {
375
457
  return value;
376
458
  }
377
459
  app.post("/recordsExport", async function (req, res) {
378
- const view = config.views[req.body.viewIndex];
460
+ const view = req.config.views[req.body.viewIndex];
379
461
  const orderBy = req.body.orderBy || view.orderBy;
380
462
  const isDesc = req.body.isDesc === null ? view.isDesc : req.body.isDesc;
381
463
  const subview = view.subviews && req.body.subviewIndex !== undefined
@@ -436,7 +518,7 @@ exports.default = (db, config, user) => {
436
518
  if (err) {
437
519
  return res.status(500).send(err);
438
520
  }
439
- const view = config.views[fields.viewIndex[0]];
521
+ const view = req.config.views[fields.viewIndex[0]];
440
522
  if (typeof view.parseImportFile !== "function") {
441
523
  return res
442
524
  .status(500)
@@ -519,7 +601,7 @@ exports.default = (db, config, user) => {
519
601
  if (err) {
520
602
  return res.status(500).send(err);
521
603
  }
522
- const view = config.views[fields.viewIndex[0]];
604
+ const view = req.config.views[fields.viewIndex[0]];
523
605
  const panel = view.recordViewPanels[fields.panelIndex[0]];
524
606
  if (typeof panel.parseImportFile !== "function") {
525
607
  return res
@@ -589,7 +671,7 @@ exports.default = (db, config, user) => {
589
671
  });
590
672
  });
591
673
  app.get("/record", async function (req, res) {
592
- const view = config.views[req.query.viewIndex];
674
+ const view = req.config.views[req.query.viewIndex];
593
675
  const { err, rows } = await db.query("SELECT " +
594
676
  (view.selectExpression || "*") +
595
677
  " FROM ?? " +
@@ -617,7 +699,10 @@ exports.default = (db, config, user) => {
617
699
  }
618
700
  });
619
701
  app.post("/updateRecord", async function (req, res, next) {
620
- const view = config.views[req.body.viewIndex];
702
+ const view = req.config.views[req.body.viewIndex];
703
+ if (!areSafeColumnNames(req.body.data)) {
704
+ return res.status(400).send({ error: "Invalid column name" });
705
+ }
621
706
  for (let key in req.body.data) {
622
707
  if (req.body.data[key] == "NULL" ||
623
708
  req.body.data[key] === "" ||
@@ -660,7 +745,7 @@ exports.default = (db, config, user) => {
660
745
  res.sendStatus(200);
661
746
  });
662
747
  app.post("/customAction", async function (req, res, next) {
663
- const view = config.views[req.body.viewIndex];
748
+ const view = req.config.views[req.body.viewIndex];
664
749
  const action = view.customActions[req.body.actionIndex];
665
750
  for (const recordId of req.body.selectedRecordIds) {
666
751
  try {
@@ -670,7 +755,7 @@ exports.default = (db, config, user) => {
670
755
  (view.join || "") +
671
756
  " WHERE ?? = ?", [view.tableName, view.tableName + "." + view.primaryId, recordId]);
672
757
  const record = rows[0];
673
- const actionResult = await action.action(record, user.userId);
758
+ const actionResult = await action.action(record, req.session.user.userId);
674
759
  if (actionResult) {
675
760
  return res.send({
676
761
  success: true,
@@ -692,7 +777,7 @@ exports.default = (db, config, user) => {
692
777
  });
693
778
  });
694
779
  app.post("/deleteRecord", async function (req, res) {
695
- const view = config.views[req.body.viewIndex];
780
+ const view = req.config.views[req.body.viewIndex];
696
781
  const { rows, err: err2 } = await db.query("SELECT " +
697
782
  (view.selectExpression || "*") +
698
783
  " FROM ?? " +
@@ -734,7 +819,7 @@ exports.default = (db, config, user) => {
734
819
  res.sendStatus(200);
735
820
  });
736
821
  app.post("/deleteRecordFromPanel", async function (req, res) {
737
- const view = config.views[req.body.viewIndex];
822
+ const view = req.config.views[req.body.viewIndex];
738
823
  const panel = view.recordViewPanels.find((x) => x.__id__ === req.body.panelId);
739
824
  const { rows, err: err2 } = await db.query("SELECT * FROM ?? WHERE ?? = ?", [panel.tableName, panel.primaryId, req.body.primaryValue]);
740
825
  if (err2) {
@@ -766,7 +851,7 @@ exports.default = (db, config, user) => {
766
851
  res.sendStatus(200);
767
852
  });
768
853
  app.post("/deleteRecords", async function (req, res, next) {
769
- const view = config.views[req.body.viewIndex];
854
+ const view = req.config.views[req.body.viewIndex];
770
855
  const { err } = await db.query(`DELETE FROM ?? WHERE ?? IN(${req.body.primaryValues.map((x) => "'" + x + "'").join(",")})`, [view.tableName, view.primaryId]);
771
856
  if (err) {
772
857
  return res.status(500).send(err);
@@ -791,7 +876,7 @@ exports.default = (db, config, user) => {
791
876
  }
792
877
  }
793
878
  }
794
- for (const view of config.views) {
879
+ for (const view of req.config.views) {
795
880
  await checkAndGetNotificationBadge(view);
796
881
  if (view.subviews) {
797
882
  for (const subview of view.subviews) {
@@ -802,6 +887,15 @@ exports.default = (db, config, user) => {
802
887
  res.send(notificationBadges);
803
888
  });
804
889
  app.post("/duplicateRecord", async function (req, res, next) {
890
+ var _a;
891
+ const allowedTables = writableTables(req);
892
+ const requestedTables = [
893
+ req.body.table,
894
+ ...(((_a = req.body.duplicateConfig) === null || _a === void 0 ? void 0 : _a.foreignTables) || []).map((t) => t.table),
895
+ ];
896
+ if (requestedTables.some((t) => !allowedTables.has(t))) {
897
+ return res.sendStatus(403);
898
+ }
805
899
  const primaryId = req.body.duplicateConfig.primaryId;
806
900
  const { err, rows } = await db.query("SELECT * FROM ?? WHERE ?? = ?", [
807
901
  req.body.table,
@@ -845,7 +939,7 @@ exports.default = (db, config, user) => {
845
939
  });
846
940
  app.post("/createRecord", async function (req, res, next) {
847
941
  var _a, _b, _c;
848
- const view = config.views[req.body.viewIndex];
942
+ const view = req.config.views[req.body.viewIndex];
849
943
  const panel = req.body.panelIndex
850
944
  ? view.recordViewPanels[req.body.panelIndex]
851
945
  : null;
@@ -871,6 +965,9 @@ exports.default = (db, config, user) => {
871
965
  delete createPayload[key];
872
966
  }
873
967
  }
968
+ if (!areSafeColumnNames(createPayload)) {
969
+ return res.status(400).send({ error: "Invalid column name" });
970
+ }
874
971
  const queryExpression = Object.keys(createPayload).join(", ");
875
972
  const queryPlaceholders = Object.keys(createPayload)
876
973
  .map((x) => "?")
@@ -913,24 +1010,58 @@ exports.default = (db, config, user) => {
913
1010
  });
914
1011
  }
915
1012
  });
916
- app.get("/customQuery", async function (req, res, next) {
917
- const query = req.query.query.replace(/\?/g, req.query.primaryValue);
918
- const { err, rows } = await db.query(query);
919
- if (err) {
920
- return res.status(500).send(err);
1013
+ function collectAllowedQueries(node, acc = new Set()) {
1014
+ if (!node || typeof node !== "object")
1015
+ return acc;
1016
+ if (Array.isArray(node)) {
1017
+ for (const item of node)
1018
+ collectAllowedQueries(item, acc);
1019
+ return acc;
1020
+ }
1021
+ for (const key of Object.keys(node)) {
1022
+ const value = node[key];
1023
+ if (typeof value === "string" && (key === "query" || /Query$/.test(key))) {
1024
+ acc.add(value.trim());
1025
+ }
1026
+ else if (value && typeof value === "object") {
1027
+ collectAllowedQueries(value, acc);
1028
+ }
921
1029
  }
922
- if (req.query.viewIndex && req.query.panelIndex) {
923
- const panel = config.views[req.query.viewIndex].recordViewPanels[req.query.panelIndex];
924
- if (panel.formatValue) {
925
- for (const row of rows) {
926
- for (const key in panel.formatValue) {
927
- row[key] = await panel.formatValue[key](row);
1030
+ return acc;
1031
+ }
1032
+ const CONFIG_USES_CUSTOM_QUERY = collectAllowedQueries(config.views).size > 0;
1033
+ if (!CONFIG_USES_CUSTOM_QUERY) {
1034
+ app.get("/customQuery", (req, res) => res.sendStatus(404));
1035
+ }
1036
+ else {
1037
+ app.get("/customQuery", async function (req, res, next) {
1038
+ const template = typeof req.query.query === "string" ? req.query.query : "";
1039
+ const allowed = collectAllowedQueries(req.config.views);
1040
+ if (!allowed.has(template.trim())) {
1041
+ return res.status(403).send({ error: "Query not allowed" });
1042
+ }
1043
+ if (!/^\s*\(?\s*(select|with)\b/i.test(template) || /;/.test(template)) {
1044
+ return res.status(400).send({ error: "Only read-only queries are allowed" });
1045
+ }
1046
+ const placeholderCount = (template.match(/\?/g) || []).length;
1047
+ const params = new Array(placeholderCount).fill(req.query.primaryValue);
1048
+ const { err, rows } = await db.query(template, params);
1049
+ if (err) {
1050
+ return res.status(500).send(err);
1051
+ }
1052
+ if (req.query.viewIndex && req.query.panelIndex) {
1053
+ const panel = req.config.views[req.query.viewIndex].recordViewPanels[req.query.panelIndex];
1054
+ if (panel.formatValue) {
1055
+ for (const row of rows) {
1056
+ for (const key in panel.formatValue) {
1057
+ row[key] = await panel.formatValue[key](row);
1058
+ }
928
1059
  }
929
1060
  }
930
1061
  }
931
- }
932
- res.send(rows);
933
- });
1062
+ res.send(rows);
1063
+ });
1064
+ }
934
1065
  function uploadFile(column, fileParamName, req, res) {
935
1066
  if (column.s3Config || column.gcpConfig) {
936
1067
  const form = new multiparty.Form();
@@ -1096,7 +1227,7 @@ exports.default = (db, config, user) => {
1096
1227
  });
1097
1228
  app.post("/uploadFile", async function (req, res, next) {
1098
1229
  var _a, _b, _c;
1099
- const view = config.views[req.query.viewIndex];
1230
+ const view = req.config.views[req.query.viewIndex];
1100
1231
  const column = [
1101
1232
  ...view.columns,
1102
1233
  ...(((_c = (_b = (_a = view.recordViewPanels) === null || _a === void 0 ? void 0 : _a.map((x) => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.createConfig) === null || _a === void 0 ? void 0 : _a.columns; })) === null || _b === void 0 ? void 0 : _b.filter((x) => x)) === null || _c === void 0 ? void 0 : _c.flat()) || []),
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mCAAmC;AACnC,yCAAyC;AACzC,yBAAyB;AACzB,6BAA6B;AAC7B,iCAAiC;AACjC,6BAA6B;AAE7B,qCAAuC;AACvC,mDAAgD;AAChD,2CAAgC;AAChC,oDAAoD;AACpD,+CAA+C;AAE/C,iCAAiC;AACjC,uDAAyC;AACzC,qEAAkD;AAClD,iCAA0B;AAC1B,+BAAoC;AAEpC,SAAS,yBAAyB,CAAC,GAAG;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kBAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAClC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IAEtB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,KAAK;;QACpD,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QAClD,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,IAAI,cAAc,GAAG,IAAI,CAAC;YAC1B,KAAK,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;gBACtB,IACE,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK;oBAC/B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAC9C,CAAC;oBACD,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBAC5B,WAAW,IAAI,UAAU,CAAC;oBAC5B,CAAC;yBAAM,IAAI,cAAc,EAAE,CAAC;wBAC1B,WAAW,IAAI,QAAQ,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACN,WAAW,IAAI,MAAM,CAAC;oBACxB,CAAC;oBACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;wBAG9B,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;oBAC3C,CAAC;yBAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC3B,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;6BAC3B,KAAK,CAAC,GAAG,CAAC;6BACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;6BAC5D,IAAI,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC;oBACD,WAAW,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;oBACrE,cAAc,GAAG,KAAK,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,WAAW,IAAI,GAAG,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,KAAK,GACT,MAAM,CAAC,WAAW;YAClB;cACQ,MAAM,CAAC,gBAAgB,IAAI,GAAG;eAC7B,MAAM,CAAC,KAAK;UACjB,MAAM,CAAC,IAAI,IAAI,EAAE;UACjB,WAAW;UACX,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;UAClD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;UAC/C,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3H,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAClC,GAAG,KAAK,UAAU,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAC3E,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO;gBACL,KAAK,EAAE,GAAG;aACX,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,CAAC;QACtB,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CACvD,kCAAkC,KAAK,KAAK,CAC7C,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChD,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,CAAC,CAAC,0CAAE,KAAK,KAAI,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI;YACJ,WAAW;YACX,KAAK,EAAE;gBACL,KAAK;gBACL,MAAM;aACP;YACD,KAAK;SACN,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,oBAAoB,CAAC,MAAM;QACxC,OAAO,MAAM,UAAU,CACrB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YACpB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YACzD,KAAK,EAAE,CAAC;SACT,CAAC,CACH,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,KAAoB,MAAM,EAArB,UAAU,UAAK,MAAM,EAAtD,kCAA6C,CAAS,CAAC;YAC7D,GAAG,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC;aAChC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,EAAE,CAAC,YAAY,CACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,EACjD,OAAO,CACR,CACF,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;gBACjC,KAAK,EAAE,IAAI,CAAC,IAAI,CACd,SAAS,EACT,QAAQ,EACR,GAAG,CAAC,KAAK,CAAC,aAAuB,CAClC;gBACD,OAAO,EAAE;oBACP,IAAA,6BAAO,GAAE;oBACT,IAAA,sBAAK,EAAC;wBACJ,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC;wBACnD,YAAY,EAAE,SAAS;qBACxB,CAAC;iBACH;gBACD,QAAQ;aACT,CAAC,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACvC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;QAC1D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,GAAG,CAAC,IAAI,CAAC;YACP,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,EAAE;QAC5B,MAAM,kBAAkB,GAAG,EAAE,CAAC;QAC9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,kBAAkB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACV,MAAM,IAAI,OAAO,CAAC;gBACpB,CAAC;gBACD,MAAM,IAAI,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC9C,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG;YACb,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,CAAC,CAAA,MAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,YAAY,0CAAE,OAAO,CAAA,EAAA,CAAC,0CACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,0CAChB,IAAI,EAAE,KAAI,EAAE,CAAC;SAClB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,YAAY,GAChB,EAAE,CAAC,MAAM,KAAK,YAAY;YACxB,CAAC,CAAC,MAAA,GAAG,CAAC,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;YACrC,CAAC,CAAC,MAAA,GAAG,CAAC,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,UAAU,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,MAAM,CAAC;gBACd,MAAM,CAAC,OAAO;gBACd,GAAG,CAAC,IAAI,CAAC,KAAK;oBACZ,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,UAAU,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,IAAI;oBACpF,CAAC,CAAC,IAAI;gBACR,MAAM,CAAC,eAAe;oBACpB,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;oBAChD,CAAC,CAAC,IAAI;aACT,CAAC;YACF,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;SAC5B,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC;YACV,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,KAAK,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC9B,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBACjC,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChE,OAAO;gBACL,KAAK;gBACL,KAAK;aACN,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QACxE,MAAM,OAAO,GACX,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS;YAClD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,IAAI,IAAI,CAAC,OAAO,CAAC;QACrE,MAAM,EACJ,IAAI,EAAE,OAAO,EACb,KAAK,EACL,KAAK,EACL,KAAK,GACN,GAAG,MAAM,UAAU,CAClB;YACE,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;YACnB,OAAO,EAAE,MAAM,CAAC;gBACd,IAAI,CAAC,OAAO;gBACZ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;gBAChB,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO;gBACnB,IAAI,CAAC,eAAe;oBAClB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;oBAC9C,CAAC,CAAC,IAAI;aACT,CAAC;YACF,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,OAAO,EAAE;gBACP,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;gBACxD,IAAI,CAAC,SAAS;aACf;iBACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;iBAChB,IAAI,CAAC,IAAI,CAAC;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;SACxB,EACD,IAAI,CACL,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,MAAM,CAAC,iBAAiB,MAAM,CAAC,MAAM,IAAI,CAAC;wBACxC,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO;YACP,KAAK;YACL,KAAK;SACN,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,wBAAwB,GAAG,EAAE,CAAC;IAEpC,KAAK,UAAU,iBAAiB,CAAC,MAAM,EAAE,MAAM;QAC7C,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAChC,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAChC,KAAK,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBACjC,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC9B,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACxC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,SAAS,cAAc,CAAC,UAAU,EAAE,IAAI;QACtC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC;YACH,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,SAAS;oBACP,MAAM;wBACN,GAAG;wBACH,KAAK;wBACL,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;4BAC5B,CAAC,CAAC,GAAG;gCACH,IAAI,CAAC,GAAG,CAAC;qCACN,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;qCACpB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;qCAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gCACrB,GAAG;4BACL,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;gCAC7B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gCAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChB,GAAG,CAAC;gBACN,SAAS,IAAI,SAAS,CAAC;YACzB,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;YAC5C,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,SAAS,CAAC,CAAC;YAChE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,SAAS,uBAAuB,CAAC,KAAU,EAAE,MAAc;QACzD,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC5B,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;YAChD,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;QAChE,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAClC,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QACxE,MAAM,OAAO,GACX,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS;YAClD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,UAAU,CAAC;YAChD,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,IAAI,EAAE,CAAC;YACP,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;YACjE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;SACxB,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC1D,IAAI,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,GAAG,CAAC;gBACzB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,KAAK,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,MAAM,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC1D,IAAI,CAAC,GAAG,CAAC;wBAAE,MAAM,IAAI,GAAG,CAAC;oBACzB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAC;wBACtC,MAAM,IAAI,GAAG,CAAC;oBAChB,CAAC;oBACD,MAAM,IAAI,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAC;wBACtC,MAAM,IAAI,GAAG,CAAC;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,WAAW,GAAG,EAAE,MAAM,EAAE,KAAK;YAChD,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;gBAC/C,OAAO,GAAG;qBACP,MAAM,CAAC,GAAG,CAAC;qBACX,IAAI,CACH,qEAAqE,CACtE,CAAC;YACN,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC,IAAI,CAAC;oBACd,YAAY,EAAE,CAAC;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACH,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;wBACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACpB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,WAAW,CAAC;gBAChB,IAAI,EAAE,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC/B,WAAW,GAAG,mBAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;oBAEnF,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC3B,MAAM,UAAU,GAAG,OAAO;6BACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;6BACzD,IAAI,CAAC,IAAI,CAAC,CAAC;wBACd,WAAW,IAAI,KAAK,UAAU,IAAI,CAAC;oBACrC,CAAC;oBACD,WAAW;wBACT,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACxB,iBAAiB,IAAI,CAAC,qBAAqB,kBAAkB,CAAC;oBAEhE,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC3B,WAAW,IAAI,IAAI,MAAM,iBAAiB,MAAM,IAAI,CAAC;oBACvD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,WAAW;wBACT,kBAAkB;4BAClB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;4BAC5C,UAAU,CAAC;oBACb,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC3B,WAAW;4BACT,IAAI;gCACJ,OAAO;qCACJ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;qCACzD,IAAI,CAAC,IAAI,CAAC;gCACb,IAAI,CAAC;oBACT,CAAC;oBACD,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC;oBACpE,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC3B,WAAW,IAAI,IAAI,GAAG,MAAM,GAAG,cAAc,GAAG,MAAM,GAAG,KAAK,CAAC;oBACjE,CAAC;gBACH,CAAC;gBACD,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEvC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvE,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACnB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBAC1B,GAAG;wBACH,OAAO,EAAE,0BAA0B;qBACpC,CAAC,CAAC;gBACL,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC;oBACP,YAAY,EAAE,CAAC,CAAC,YAAY;iBAC7B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,GAAG;oBACH,OAAO,EAAE,0BAA0B;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG;QACpD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,WAAW,GAAG,EAAE,MAAM,EAAE,KAAK;YAChD,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;gBAChD,OAAO,GAAG;qBACP,MAAM,CAAC,GAAG,CAAC;qBACX,IAAI,CACH,sEAAsE,CACvE,CAAC;YACN,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,OAAO,GAAG;qBACP,MAAM,CAAC,GAAG,CAAC;qBACX,IAAI,CACH,mEAAmE,CACpE,CAAC;YACN,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,CACzC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EACb,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CACnB,CAAC;YACF,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC,IAAI,CAAC;oBACd,YAAY,EAAE,CAAC;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACH,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;wBACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACpB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,WAAW,GACb,0BAA0B;oBAC1B,KAAK,CAAC,YAAY,CAAC,WAAW;oBAC9B,KAAK;oBACL,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5C,UAAU,CAAC;gBACb,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,WAAW;wBACT,IAAI;4BACJ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAClB,IAAI;4BACJ,OAAO;iCACJ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;iCACzD,IAAI,CAAC,IAAI,CAAC;4BACb,IAAI,CAAC;gBACT,CAAC;gBACD,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC;gBACpE,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,WAAW,IAAI,IAAI,GAAG,MAAM,GAAG,cAAc,GAAG,MAAM,GAAG,KAAK,CAAC;gBACjE,CAAC;gBACD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBAChE,KAAK,CAAC,SAAS;iBAChB,CAAC,CAAC;gBACH,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACnB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBAC1B,GAAG;wBACH,OAAO,EAAE,0BAA0B;qBACpC,CAAC,CAAC;gBACL,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC;oBACP,YAAY,EAAE,CAAC,CAAC,YAAY;iBAC7B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,GAAG;oBACH,OAAO,EAAE,0BAA0B;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAmB,CAAC,CAAC;QACzD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAClC,SAAS;YACP,CAAC,IAAI,CAAC,gBAAgB,IAAI,GAAG,CAAC;YAC9B,WAAW;YACX,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACjB,eAAe,EACjB;YACE,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS;YACrC,GAAG,CAAC,KAAK,CAAC,QAAQ;SACnB,CACF,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,MAAM,CAAC,iBAAiB,MAAM,CAAC,MAAM,IAAI,CAAC;wBACxC,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,IACE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM;gBAC5B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;gBACzB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,cAAc,EACrC,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;aACtB,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,CAAC;QACF,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAC5B,iBAAiB,eAAe,eAAe,EAC/C;YACE,IAAI,CAAC,SAAS;YACd,GAAG,eAAe;YAClB,IAAI,CAAC,SAAS;YACd,GAAG,CAAC,IAAI,CAAC,YAAY;SACtB,CACF,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBAClC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY;oBACzB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;oBACnB,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY;iBACpC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,oBAAoB,CAAC;gBAC9B,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY;gBACzB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;aACpB,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAC7B,SAAS;oBACP,CAAC,IAAI,CAAC,gBAAgB,IAAI,GAAG,CAAC;oBAC9B,WAAW;oBACX,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;oBACjB,eAAe,EACjB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAClE,CAAC;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9D,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,GAAG,CAAC,IAAI,CAAC;wBACd,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,YAAY;qBACtB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,GAAG,CAAC,IAAI,CAAC;oBACd,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG;iBACX,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,MAAM,CAAC,cAAc;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CACxC,SAAS;YACP,CAAC,IAAI,CAAC,gBAAgB,IAAI,GAAG,CAAC;YAC9B,WAAW;YACX,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACjB,eAAe,EACjB;YACE,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS;YACrC,GAAG,CAAC,IAAI,CAAC,YAAY;SACtB,CACF,CAAC;QACF,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC5D,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,SAAS;YACd,GAAG,CAAC,IAAI,CAAC,YAAY;SACtB,CAAC,CAAC;QACH,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBACpC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY;iBAC1B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,sBAAsB,CAAC;gBAChC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY;gBACzB,aAAa;aACd,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CACrC,CAAC;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CACxC,+BAA+B,EAC/B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAC1D,CAAC;QACF,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC5D,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,SAAS;YACf,GAAG,CAAC,IAAI,CAAC,YAAY;SACtB,CAAC,CAAC;QACH,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;oBACrC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY;iBAC1B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;QAChB,CAAC;QACD,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;YACjC,MAAM,KAAK,CAAC,sBAAsB,CAAC;gBACjC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY;gBACzB,aAAa;aACd,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAC5B,8BAA8B,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAC3F,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CACjC,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG;QACrD,MAAM,kBAAkB,GAAG,EAAE,CAAC;QAE9B,KAAK,UAAU,4BAA4B,CAAC,GAAG;YAC7C,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC1B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAClE,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;qBAAM,IACL,IAAI,CAAC,MAAM,GAAG,CAAC;oBACf,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,EACxC,CAAC;oBACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBACnE,IACE,CAAC,GAAG,CAAC,iBAAiB,CAAC,gBAAgB;wBACvC,GAAG,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EACzD,CAAC;wBACD,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACpC,MAAM,4BAA4B,CAAC,OAAO,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;QACzD,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;QACrD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,EAAE;YACpE,GAAG,CAAC,IAAI,CAAC,KAAK;YACd,SAAS;YACT,GAAG,CAAC,IAAI,CAAC,YAAY;SACtB,CAAC,CAAC;QACH,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAC3C,6BAA6B,EAC7B,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CACvB,CAAC;QACF,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC/B,KAAK,IAAI,YAAY,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;YAChE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBACpE,YAAY,CAAC,KAAK;gBAClB,SAAS;gBACT,GAAG,CAAC,IAAI,CAAC,YAAY;aACtB,CAAC,CAAC;YACH,IAAI,GAAG;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,KAAK,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;gBAC9B,KAAK,IAAI,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACtC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM,EAAE,CAAC,KAAK,CAAC,6BAA6B,EAAE;oBAC5C,YAAY,CAAC,KAAK;oBAClB,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU;YAC/B,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC;YACH,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9B,IACE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM;oBAC5B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,cAAc,EACrC,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YACpE,CAAC;YACD,MAAM,aAAa,GAAG,MAAA,MAAA,CAAC,IAAI,IAAI,KAAK,CAAC,0CAAE,OAAO,0CAAE,IAAI,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAC5C,CAAC;YACF,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,KAAI,MAAM,EAAE,CAAC;gBACtC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAA,SAAM,GAAE,CAAC;YAC/C,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAClE,KAAK,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;gBAC9B,IACE,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,0CAAE,uBAAuB;oBAC7D,KAAK,EACL,CAAC;oBACD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;iBACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CACxB,CAAC;YACF,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CACrC,mBAAmB,eAAe,YAAY,iBAAiB,GAAG,EAClE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,eAAe,CAAC,CAC/D,CAAC;YACF,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,GAAG;oBACH,OAAO,EACL,GAAG,CAAC,IAAI,KAAK,cAAc;wBACzB,CAAC,CAAC,0BAA0B;wBAC5B,CAAC,CAAC,0BAA0B;iBACjC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvD,IAAI,CAAC;oBACH,MAAM,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE;wBACnE,EAAE,EAAE,CAAC,CAAC,QAAQ;wBACd,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;qBACpB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;YAChB,CAAC;YACD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACvE,MAAM,CACJ,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CACnE,CAAC;oBACA,EAAE,EAAE,CAAC,CAAC,QAAQ;oBACd,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,GAAG,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,CAAC,CAAC,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,GAAG;gBACH,OAAO,EAAE,0BAA0B;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;QACpD,MAAM,KAAK,GAAI,GAAG,CAAC,KAAK,CAAC,KAAgB,CAAC,OAAO,CAC/C,KAAK,EACL,GAAG,CAAC,KAAK,CAAC,YAAsB,CACjC,CAAC;QACF,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,KAAK,GACT,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAmB,CAAC,CAAC,gBAAgB,CAC1D,GAAG,CAAC,KAAK,CAAC,UAAoB,CAC/B,CAAC;YACJ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;wBACpC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,SAAS,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG;QACjD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,EAAE,MAAM,EAAE,KAAK;gBAC1C,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAClE,MAAM,WAAW,GACf,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,0BAA0B,CAAC;gBAE/D,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,IAAI,WAAW,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtD,MAAM,UAAU,GAAG,IAAA,oBAAM,EAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACxD,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;gBACrD,CAAC;gBACD,MAAM,gCAAgC,GAAG,gBAAgB,CAAC,OAAO,CAC/D,GAAG,GAAG,SAAS,EACf,EAAE,CACH,CAAC;gBAEF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;oBACnC,MAAM,IAAI,GACR,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtD,gCAAgC;wBAChC,GAAG;wBACH,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;wBAClC,GAAG;wBACH,SAAS,CAAC;oBACZ,MAAM,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;oBAE9B,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;oBACpC,OAAO;yBACJ,MAAM,CAAC,UAAU,CAAC;yBAClB,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;wBACpC,WAAW,EAAE,IAAI;qBAClB,CAAC;yBACD,IAAI,CAAC,GAAG,EAAE;wBACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BACnB,IAAI,EAAE,SAAS,CAAC,aAAa;gCAC3B,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC;gCAC/B,CAAC,CAAC,IAAI;4BACR,WAAW;4BACX,gBAAgB;yBACjB,CAAC,CAAC;oBACL,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;wBACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;gBACP,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACjC,MAAM,IAAI,GACR,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpD,gCAAgC;wBAChC,GAAG;wBACH,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;wBAClC,GAAG;wBACH,SAAS,CAAC;oBACZ,MAAM,EAAE,GAAG,IAAI,YAAE,CAAC;wBAChB,QAAQ,EAAE,IAAI,kBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACrC,WAAW,EAAE,QAAQ,CAAC,WAAW;wBACjC,eAAe,EAAE,QAAQ,CAAC,eAAe;wBACzC,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,gBAAgB,EAAE,IAAI;qBACvB,CAAC,CAAC;oBACH,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;wBAC7B,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE;4BAC7C,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,GAAG,EAAE,IAAI;4BACT,WAAW,EAAE,WAAW;4BACxB,OAAO,EAAE,GAAG;yBACb,CAAC,CAAC;wBACH,eAAK;6BACF,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;4BAC7D,gBAAgB,EAAE,YAAY;4BAC9B,aAAa,EAAE,YAAY;4BAC3B,OAAO,EAAE;gCACP,cAAc,EAAE,WAAW;6BAC5B;yBACF,CAAC;6BACD,IAAI,CAAC,GAAG,EAAE;4BACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gCACnB,IAAI,EAAE,QAAQ,CAAC,aAAa;oCAC1B,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;oCAC9B,CAAC,CAAC,IAAI;gCACR,WAAW;gCACX,gBAAgB;6BACjB,CAAC,CAAC;wBACL,CAAC,CAAC;6BACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;4BACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC1B,CAAC,CAAC,CAAC;oBACP,CAAC;yBAAM,CAAC;wBACN,EAAE,CAAC,SAAS,CACV;4BACE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BACnD,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,WAAW,EAAE,WAAW;4BACxB,GAAG,EAAE,aAAa;4BAClB,GAAG,EAAE,IAAI;yBACV,EACD,UAAU,GAAG,EAAE,IAAI;4BACjB,IAAI,GAAG;gCAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAC1C,GAAG,CAAC,IAAI,CAAC;gCACP,GAAG,EAAE,WAAW,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE;gCAC1D,IAAI,EAAE,QAAQ,CAAC,aAAa;oCAC1B,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;oCAC9B,CAAC,CAAC,IAAI;gCACR,WAAW;gCACX,gBAAgB;6BACjB,CAAC,CAAC;wBACL,CAAC,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,GAAG;qBACP,MAAM,CAAC,GAAG,CAAC;qBACX,IAAI,CAAC,6DAA6D,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,EAAE,MAAM,EAAE,KAAK;gBAC1C,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACnE,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACvD,CAAC,KAAK,IAAI,EAAE;oBACV,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;oBAC9B,MAAM,IAAI,CAAC,OAAO,CAAC;wBACjB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;wBAC5B,IAAI,EAAE,EAAE;wBACR,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;wBAChC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ;qBACrC,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAChB,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAC5B,MAAM,CAAC,UAAU;wBACf,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtD,GAAG;wBACH,QAAQ,CACX,CAAC;oBACF,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;oBACjB,GAAG,CAAC,IAAI,CAAC;wBACP,IAAI,EAAE,QAAQ;wBACd,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;qBAC3D,CAAC,CAAC;oBACH,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC9C,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC;gBAC/B,SAAS,EACN,MAAM,CAAC,UAAqB,GAAI,MAAM,CAAC,YAAuB;aAClE,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,EAAE,MAAM,EAAE,KAAK;gBAC1C,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;oBACjE,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;iBAC3D,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CACN,oCAAoC,EACpC,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;QAC5B,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CACrC,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAW,CAChD,CAAC;QACF,UAAU,CAAC,oBAAoB,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAmB,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG;YACb,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,CAAC,CAAA,MAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,YAAY,0CAAE,OAAO,CAAA,EAAA,CAAC,0CACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,0CAChB,IAAI,EAAE,KAAI,EAAE,CAAC;SAClB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9C,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,MAAM,cAAc,GAAI,GAAG,CAAC,KAAK,CAAC,KAAa,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAC9B,wGAAwG,EACxG;gBACE,MAAM,EAAE;oBACN,KAAK,EAAE,iCAAiC,cAAc,qBAAqB,cAAc,IAAI;oBAC7F,KAAK,EAAE,GAAG;iBACX;aACF,CACF,CAAC;YACF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO;iBAClC,MAAM,CACL,CAAC,aAAa,EAAE,EAAE,CAChB,aAAa,CAAC,8BAA8B,KAAK,OAAO,CAC3D;iBACA,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBACvB,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrC,WAAW,EAAE,aAAa,CAAC,uBAAuB;gBAClD,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,OAAO,EAAE,GAAG,aAAa,CAAC,uBAAuB,IAAI,EAAE,IAAI,aAAa,CAAC,qBAAqB,IAAI,EAAE,IAAI,aAAa,CAAC,wBAAwB,IAAI,EAAE,EAAE;gBACtJ,IAAI,EAAE,aAAa,CAAC,2BAA2B;gBAC/C,OAAO,EAAE,aAAa,CAAC,uBAAuB;gBAC9C,cAAc,EAAE,aAAa,CAAC,6BAA6B;aAC5D,CAAC,CAAC;iBACF,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,KAAK,UAAU,YAAY,CAAC,MAAM,EAAE,EAAE;;IACpC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CACxC,iEAAiE,EACjE,CAAC,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,QAAQ,MAAI,MAAA,MAAM,CAAC,UAAU,0CAAE,QAAQ,CAAA,CAAC,CACxD,CAAC;IACF,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;gBAC1B,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE,CAAC;oBACjE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;wBACvB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;4BAChD,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBACxC,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBAClB,KAAK,CAAC,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpB,OAAO,CAAC,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AACzB,CAAC;AAED,SAAS,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI;;IAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CACjE,CAAC;IACF,IACE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,KAAI,IAAI;QAC3B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,MAAM;QAC3B,MAAM,CAAC,QAAQ,KAAK,IAAI;QACxB,MAAM,CAAC,QAAQ,KAAK,KAAK,EACzB,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC3B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CACzB,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;iBACrC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;iBACjB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CACtB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,GAAG,CAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,MAAI,MAAA,MAAM,CAAC,SAAS,0CAAE,IAAI,CAAA,CAAC;QAC7D,MAAM,MAAM,GAAG,CAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,MAAM,MAAI,MAAA,MAAM,CAAC,SAAS,0CAAE,MAAM,CAAA,CAAC;QACnE,MAAM,CAAC,OAAO,GAAG,WAAW,IAAI,IAAI,MAAM,GAAG,CAAC;IAChD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ import { TextTransformation } from '@ckeditor/ckeditor5-typing';
26
26
  import { SimpleUploadAdapter } from '@ckeditor/ckeditor5-upload';
27
27
  import { WordCount } from '@ckeditor/ckeditor5-word-count';
28
28
  declare class Editor extends ClassicEditor {
29
- static builtinPlugins: (typeof Alignment | typeof TextTransformation | typeof Autoformat | typeof Bold | typeof Italic | typeof Strikethrough | typeof Underline | typeof BlockQuote | typeof SimpleUploadAdapter | typeof CloudServices | typeof SelectAll | typeof Essentials | typeof FindAndReplace | typeof FontBackgroundColor | typeof FontColor | typeof Paragraph | typeof Heading | typeof Highlight | typeof HorizontalLine | typeof HtmlEmbed | typeof AutoImage | typeof Image | typeof ImageCaption | typeof ImageInsert | typeof ImageResize | typeof ImageStyle | typeof ImageToolbar | typeof ImageUpload | typeof Indent | typeof IndentBlock | typeof AutoLink | typeof Link | typeof LinkImage | typeof List | typeof MediaEmbed | typeof PasteFromOffice | typeof RemoveFormat | typeof SourceEditing | typeof Table | typeof TableToolbar | typeof WordCount)[];
29
+ static builtinPlugins: (typeof Alignment | typeof AutoImage | typeof AutoLink | typeof Autoformat | typeof BlockQuote | typeof Bold | typeof CloudServices | typeof Essentials | typeof FindAndReplace | typeof FontBackgroundColor | typeof FontColor | typeof Heading | typeof Highlight | typeof HorizontalLine | typeof HtmlEmbed | typeof Image | typeof ImageCaption | typeof ImageInsert | typeof ImageResize | typeof ImageStyle | typeof ImageToolbar | typeof ImageUpload | typeof Indent | typeof IndentBlock | typeof Italic | typeof Link | typeof LinkImage | typeof List | typeof MediaEmbed | typeof Paragraph | typeof PasteFromOffice | typeof RemoveFormat | typeof SelectAll | typeof SimpleUploadAdapter | typeof SourceEditing | typeof Strikethrough | typeof Table | typeof TableToolbar | typeof TextTransformation | typeof Underline | typeof WordCount)[];
30
30
  static defaultConfig: {
31
31
  toolbar: {
32
32
  items: string[];