@opensumi/ide-editor 2.26.0 → 2.26.1-next-1690192713.0
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/browser/doc-model/editor-document-model.d.ts +1 -0
- package/lib/browser/doc-model/editor-document-model.d.ts.map +1 -1
- package/lib/browser/doc-model/editor-document-model.js +55 -51
- package/lib/browser/doc-model/editor-document-model.js.map +1 -1
- package/package.json +13 -13
- package/src/browser/doc-model/editor-document-model.ts +57 -51
|
@@ -37,6 +37,7 @@ export declare class EditorDocumentModel extends Disposable implements IEditorDo
|
|
|
37
37
|
private reporter;
|
|
38
38
|
preferences: PreferenceService;
|
|
39
39
|
private readonly hashCalculateService;
|
|
40
|
+
private saveQueue;
|
|
40
41
|
private monacoModel;
|
|
41
42
|
_encoding: string;
|
|
42
43
|
readonly readonly: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-document-model.d.ts","sourceRoot":"","sources":["../../../src/browser/doc-model/editor-document-model.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,UAAU,EAGV,SAAS,EACT,OAAO,EACP,MAAM,EAKN,iBAAiB,
|
|
1
|
+
{"version":3,"file":"editor-document-model.d.ts","sourceRoot":"","sources":["../../../src/browser/doc-model/editor-document-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ let EditorDocumentModel = EditorDocumentModel_1 = class EditorDocumentModel exte
|
|
|
24
24
|
constructor(uri, content, options = {}) {
|
|
25
25
|
super();
|
|
26
26
|
this.uri = uri;
|
|
27
|
+
this.saveQueue = new ide_core_browser_1.Throttler();
|
|
27
28
|
this._encoding = 'utf8';
|
|
28
29
|
this.readonly = false;
|
|
29
30
|
this.savable = false;
|
|
@@ -204,60 +205,63 @@ let EditorDocumentModel = EditorDocumentModel_1 = class EditorDocumentModel exte
|
|
|
204
205
|
return this.monacoModel;
|
|
205
206
|
}
|
|
206
207
|
async save(force = false, reason = common_1.SaveReason.Manual) {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
if (!this.dirty) {
|
|
218
|
-
return false;
|
|
219
|
-
}
|
|
220
|
-
const versionId = this.monacoModel.getVersionId();
|
|
221
|
-
const lastSavingTask = this.savingTasks[this.savingTasks.length - 1];
|
|
222
|
-
if (lastSavingTask && lastSavingTask.versionId === versionId) {
|
|
223
|
-
lastSavingTask.cancel();
|
|
224
|
-
const task = this.savingTasks.pop();
|
|
225
|
-
task === null || task === void 0 ? void 0 : task.dispose();
|
|
226
|
-
}
|
|
227
|
-
const task = new save_task_1.SaveTask(this.uri, versionId, this.monacoModel.getAlternativeVersionId(), this.getText(), force);
|
|
228
|
-
this.savingTasks.push(task);
|
|
229
|
-
if (this.savingTasks.length > 0) {
|
|
230
|
-
this.initSave();
|
|
231
|
-
}
|
|
232
|
-
const res = await task.finished;
|
|
233
|
-
if (res.state === ide_core_browser_1.SaveTaskResponseState.SUCCESS) {
|
|
234
|
-
this.monacoModel.pushStackElement();
|
|
235
|
-
return true;
|
|
236
|
-
}
|
|
237
|
-
else if (res.state === ide_core_browser_1.SaveTaskResponseState.ERROR) {
|
|
238
|
-
if (res.errorMessage !== "cancel" /* SaveTaskErrorCause.CANCEL */) {
|
|
239
|
-
this.logger.error(res.errorMessage);
|
|
240
|
-
this.messageService.error((0, ide_core_browser_1.localize)('doc.saveError.failed') + '\n' + res.errorMessage);
|
|
208
|
+
const doSave = async (force = false, reason = common_1.SaveReason.Manual) => {
|
|
209
|
+
await this.formatOnSave(reason);
|
|
210
|
+
// 发送willSave并等待完成
|
|
211
|
+
await this.eventBus.fireAndAwait(new types_3.EditorDocumentModelWillSaveEvent({
|
|
212
|
+
uri: this.uri,
|
|
213
|
+
reason,
|
|
214
|
+
language: this.languageId,
|
|
215
|
+
}));
|
|
216
|
+
if (!this.editorPreferences['editor.askIfDiff']) {
|
|
217
|
+
force = true;
|
|
241
218
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
const
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
.
|
|
249
|
-
.
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
219
|
+
if (!this.dirty) {
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
const versionId = this.monacoModel.getVersionId();
|
|
223
|
+
const lastSavingTask = this.savingTasks[this.savingTasks.length - 1];
|
|
224
|
+
if (lastSavingTask && lastSavingTask.versionId === versionId) {
|
|
225
|
+
lastSavingTask.cancel();
|
|
226
|
+
const task = this.savingTasks.pop();
|
|
227
|
+
task === null || task === void 0 ? void 0 : task.dispose();
|
|
228
|
+
}
|
|
229
|
+
const task = new save_task_1.SaveTask(this.uri, versionId, this.monacoModel.getAlternativeVersionId(), this.getText(), force);
|
|
230
|
+
this.savingTasks.push(task);
|
|
231
|
+
if (this.savingTasks.length > 0) {
|
|
232
|
+
this.initSave();
|
|
233
|
+
}
|
|
234
|
+
const res = await task.finished;
|
|
235
|
+
if (res.state === ide_core_browser_1.SaveTaskResponseState.SUCCESS) {
|
|
236
|
+
this.monacoModel.pushStackElement();
|
|
237
|
+
return true;
|
|
238
|
+
}
|
|
239
|
+
else if (res.state === ide_core_browser_1.SaveTaskResponseState.ERROR) {
|
|
240
|
+
if (res.errorMessage !== "cancel" /* SaveTaskErrorCause.CANCEL */) {
|
|
241
|
+
this.logger.error(res.errorMessage);
|
|
242
|
+
this.messageService.error((0, ide_core_browser_1.localize)('doc.saveError.failed') + '\n' + res.errorMessage);
|
|
255
243
|
}
|
|
256
|
-
|
|
257
|
-
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
else if (res.state === ide_core_browser_1.SaveTaskResponseState.DIFF) {
|
|
247
|
+
const diffAndSave = (0, ide_core_browser_1.localize)('doc.saveError.diffAndSave');
|
|
248
|
+
const overwrite = (0, ide_core_browser_1.localize)('doc.saveError.overwrite');
|
|
249
|
+
this.messageService
|
|
250
|
+
.error((0, ide_core_browser_1.formatLocalize)('doc.saveError.diff', this.uri.toString()), [diffAndSave, overwrite])
|
|
251
|
+
.then((res) => {
|
|
252
|
+
if (res === diffAndSave) {
|
|
253
|
+
this.compareAndSave();
|
|
254
|
+
}
|
|
255
|
+
else if (res === overwrite) {
|
|
256
|
+
doSave(true);
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
this.logger.error('The file cannot be saved, the version is inconsistent with the disk');
|
|
260
|
+
return false;
|
|
261
|
+
}
|
|
258
262
|
return false;
|
|
259
|
-
}
|
|
260
|
-
return
|
|
263
|
+
};
|
|
264
|
+
return this.saveQueue.queue(doSave);
|
|
261
265
|
}
|
|
262
266
|
async compareAndSave() {
|
|
263
267
|
const originalUri = ide_core_browser_1.URI.from({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-document-model.js","sourceRoot":"","sources":["../../../src/browser/doc-model/editor-document-model.ts"],"names":[],"mappings":";;;;;AAAA,uEAAuC;AAEvC,qCAAqD;AACrD,iEAiBoC;AACpC,gGAAoG;AACpG,4EAAuF;AACvF,6EAAuG;AACvG,uDAAwD;AACxD,wGAG8E;AAC9E,wFAAqF;AACrF,mFAIiE;AACjE,iGAAqG;AAErG,yCAOsB;AAEtB,6CAAiE;AACjE,oCAA0D;AAE1D,mEAA8D;AAC9D,2CAAwE;AACxE,mCAUiB;AAoBV,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,6BAAU;IAuEjD,YAA4B,GAAQ,EAAE,OAAe,EAAE,UAAkD,EAAE;QACzG,KAAK,EAAE,CAAC;QADkB,QAAG,GAAH,GAAG,CAAK;QAjC7B,cAAS,GAAG,MAAM,CAAC;QAEV,aAAQ,GAAY,KAAK,CAAC;QAE1B,YAAO,GAAY,KAAK,CAAC;QAEzB,gBAAW,GAAY,KAAK,CAAC;QAE7B,kBAAa,GAAY,KAAK,CAAC;QAE/B,qBAAgB,GAAY,KAAK,CAAC;QAE1C,sBAAiB,GAAW,IAAI,CAAC,SAAS,CAAC;QAE3C,sBAAiB,GAAG,CAAC,CAAC;QAEtB,iBAAY,GAAG,EAAE,CAAC;QAIlB,gBAAW,GAAe,EAAE,CAAC;QAE7B,iBAAY,GAAmB,EAAE,CAAC;QAMlC,kBAAa,GAAG,IAAI,CAAC;QAEZ,yBAAoB,GAAG,IAAI,0BAAO,EAAQ,CAAC;QACnD,wBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAK7D,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,uCAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACnD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAE7C,IAAI,CAAC,WAAW,GAAG,mBAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,gBAAS,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,iBAAiB,GAAG,IAAA,kCAA2B,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7G,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACvB,IAAI,OAAO,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;SACxB;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;QACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAC1D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAE3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAE3C,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,IAAI,6CAAqC,CAAC;gBACxC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,UAAU,EAAE,CAAC,CAAC,WAAW;aAC1B,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAAO;QACnB,MAAM,YAAY,mBAChB,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACtD,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAC3D,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,IAClE,OAAO,CACX,CAAC;QACF,IAAI,YAAY,CAAC,iBAAiB,EAAE;YAClC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;SACrF;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;SAC9C;IACH,CAAC;IAEO,QAAQ,CAAC,WAAuB;QACtC,IAAI,CAAC,UAAU,CACb,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;oBACrB,aAAa,EAAE,IAAI,CAAC,kBAAkB;oBACtC,WAAW,EAAE,CAAC,CAAC,SAAS;oBACxB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,SAAS,CAAC;YACtC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC1C,OAAO;SACR;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,iBAAiB,EAAE;YACrB,IAAI,IAAA,6BAAU,EAAC,iBAAiB,CAAC,EAAE;gBACjC,iBAAiB;qBACd,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;oBACd,IAAI,KAAK,EAAE;wBACT,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;qBACxB;gBACH,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,2CAAmB,CAAC,gBAAgB,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrF,CAAC,CAAC,CAAC;aACN;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,iBAA8B,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAEO,UAAU,CAAC,KAAgB;QACjC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAAmB,CAAC,6BAA6B,CAAC,CAAC;YACrE,OAAO;SACR;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,QAAQ,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAAmB,CAAC,iCAAiC,CAAC,CAAC;YACzE,OAAO;SACR;QAED,IAAI,IAAA,0BAAiB,EAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC1C;aAAM;YACL,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,YAAY,EAAE;gBACxC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC1C,KAAK,EAAE,IAAA,uBAAc,EAAC,MAAM,CAAC;oBAC7B,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;iBAChB,CAAC,CAAC,CAAC;gBACJ,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aACzC;SACF;IACH,CAAC;IAED,qBAAqB,CAAC,OAAO;QAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,WAAmB,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YAC/B,gBAAgB,GAAG,IAAI,CAAC;SACzB;QACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,gBAAgB,EAAE;YACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,IAAI,6CAAqC,CAAC;gBACxC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,SAAS;aACzB,CAAC,CACH,CAAC;YACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;SAClC;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,GAAG,CAAC,GAAG;QACT,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,sBAAW,CAAC,CAAC,CAAC,yBAAiB,CAAC,EAAE,CAAC,CAAC,CAAE,yBAAiB,CAAC,IAAY,CAAC,CAAC;QACjG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,IAAI,6CAAqC,CAAC;gBACxC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG;aACJ,CAAC,CACH,CAAC;SACH;IACH,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAS,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE;YACjC,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC;IAC/E,CAAC;IAED,IAAI,UAAU,CAAC,UAAU;QACvB,mBAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,IAAI,6CAAqC,CAAC;YACxC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU;SACX,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,SAAqB,mBAAU,CAAC,MAAM;QAC9D,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChC,kBAAkB;QAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC9B,IAAI,wCAAgC,CAAC;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,UAAU;SAC1B,CAAC,CACH,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE;YAC/C,KAAK,GAAG,IAAI,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO,KAAK,CAAC;SACd;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,cAAc,IAAI,cAAc,CAAC,SAAS,KAAK,SAAS,EAAE;YAC5D,cAAc,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACpC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE,CAAC;SACjB;QACD,MAAM,IAAI,GAAG,IAAI,oBAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;QAClH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;QAChC,IAAI,GAAG,CAAC,KAAK,KAAK,wCAAqB,CAAC,OAAO,EAAE;YAC/C,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,GAAG,CAAC,KAAK,KAAK,wCAAqB,CAAC,KAAK,EAAE;YACpD,IAAI,GAAG,CAAC,YAAY,6CAA8B,EAAE;gBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAA,2BAAQ,EAAC,sBAAsB,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;aACvF;YACD,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,GAAG,CAAC,KAAK,KAAK,wCAAqB,CAAC,IAAI,EAAE;YACnD,MAAM,WAAW,GAAG,IAAA,2BAAQ,EAAC,2BAA2B,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,IAAA,2BAAQ,EAAC,yBAAyB,CAAC,CAAC;YACtD,IAAI,CAAC,cAAc;iBAChB,KAAK,CAAC,IAAA,iCAAc,EAAC,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;iBAC1F,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,IAAI,GAAG,KAAK,WAAW,EAAE;oBACvB,IAAI,CAAC,cAAc,EAAE,CAAC;iBACvB;qBAAM,IAAI,GAAG,KAAK,SAAS,EAAE;oBAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACjB;YACH,CAAC,CAAC,CAAC;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACzF,OAAO,KAAK,CAAC;SACd;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,MAAM,WAAW,GAAG,sBAAG,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,2BAAmB;YAC3B,KAAK,EAAE,sBAAG,CAAC,cAAc,CAAC;gBACxB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;aAC5B,CAAC;SACH,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC3C,WAAW,EACX,IAAI,CAAC,GAAG,EACR,IAAA,iCAAc,EAAC,6BAA6B,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAClE,CAAC;QACF,IAAI,GAAG,KAAK,qBAAa,CAAC,MAAM,EAAE;YAChC,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;aAAM,IAAI,GAAG,KAAK,qBAAa,CAAC,MAAM,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5G,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;gBAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAE/C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,qCAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;aAC3D;iBAAM;gBACL,aAAa;gBACb,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;aACvC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,UAAU,CAAC,SAAiB;QAC1B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACtF,IAAI,CAAC,IAAA,oCAAiB,EAAC,OAAO,CAAC,EAAE;gBAC/B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aACrC;SACF;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC;SACrE;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAmB;QAC9B,IAAI,SAAS,EAAE;YACb,oCAAoC;YACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC;SACrE;aAAM;YACL,aAAa;YACb,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACnD;IACH,CAAC;IAED,OAAO,CAAC,KAAc;QACpB,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAChD;aAAM;YACL,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;SACpC;IACH,CAAC;IAED,aAAa,CAAC,OAAe,EAAE,GAAS,EAAE,UAAU,GAAG,KAAK;QAC1D,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;SAChB;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,0BAAa,CAAC,CAAC,CAAC,wBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAgB,CAAC,EAAE,CAAC;QACvF,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,4BAAgB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACzE,oCAAoC;QACpC,MAAM,mBAAmB,GAAG,qBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC5F,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAEvE,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;QACD,UAAU,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,aAAa,CAAC,KAAiB,EAAE,UAAuB;QACpE,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,mBAAmB,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAEtG,IAAI,cAAc,KAAK,mBAAmB,IAAI,YAAY,KAAK,cAAc,EAAE;YAC7E,gBAAgB;YAChB,OAAO,EAAE,CAAC;SACX;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CACrC,KAAK,EACL,cAAc,GAAG,YAAY,EAC7B,YAAY,EACZ,UAAU,EACV,mBAAmB,GAAG,YAAY,EAClC,YAAY,CACb,CAAC;QAEF,IAAI,QAAe,CAAC;QACpB,IAAI,QAAe,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,QAAQ,GAAG,IAAI,aAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAChF,QAAQ,GAAG,IAAI,aAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,mBAAmB,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SACtF;aAAM,IAAI,YAAY,GAAG,CAAC,EAAE;YAC3B,QAAQ,GAAG,IAAI,aAAK,CAClB,YAAY,EACZ,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACpC,cAAc,EACd,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CACvC,CAAC;YACF,QAAQ,GAAG,IAAI,aAAK,CAClB,YAAY,EACZ,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,EAC1C,mBAAmB,EACnB,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAClD,CAAC;SACH;aAAM;YACL,QAAQ,GAAG,IAAI,aAAK,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;YACnF,QAAQ,GAAG,IAAI,aAAK,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC;SACpG;QAED,OAAO,CAAC,6BAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,2BAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACtH,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,CAAa,EACb,IAAY,EACZ,MAAc,EACd,CAAc,EACd,IAAY,EACZ,MAAc;QAEd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnG,MAAM,EAAE,CAAC;SACV;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,CAAa,EACb,IAAY,EACZ,MAAc,EACd,CAAc,EACd,IAAY,EACZ,MAAc;QAEd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjH,MAAM,EAAE,CAAC;SACV;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,WAAW,CAAC,OAAe;QAC7B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/E;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,qBAAqB;QACvB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,IAAI,CAAC,sBAAsB,GAAG,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAU,CAAC,UAAU,CAAC,CAAC;YAC9C,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;gBACpD,IAAI,MAAM,CAAC,cAAc,KAAK,sBAAsB,EAAE;oBACpD,IAAI,CAAC,sBAAsB,GAAG,IAAA,kBAAQ,EAAC,GAAG,EAAE;wBAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAU,CAAC,UAAU,CAAC,CAAC;oBAC9C,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,CAAC;iBAC5D;YACH,CAAC,CAAC,CACH,CAAC;SACH;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/E;QACD,OAAO,IAAI,CAAC,eAAgB,CAAC;IAC/B,CAAC;IAEO,iBAAiB,CAAC,UAA+C,EAAE,EAAE,SAAkB,EAAE,SAAkB;QACjH,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,YAAY,EAAE;YACrG,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;QACD,YAAY;QACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,IAAI,8CAAsC,CAAC;YACzC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO;YACP,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS;YACT,SAAS;YACT,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;SAC3C,CAAC,CACH,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE;YACxC,gCAAgC;YAChC,IAAI,KAAK;gBACP,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;YACD,IAAI,QAAQ;gBACV,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAClC,CAAC;YACD,IAAI,OAAO;gBACT,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,YAAY;gBACd,uCAAuC;gBACvC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,MAAkB;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAEnE,mDAAmD;QACnD,IAAI,YAAY,IAAI,MAAM,KAAK,mBAAU,CAAC,UAAU,EAAE;YACpD,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,IAAI,IAAI,CAAC;YACzF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,8BAAW,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI;gBACF,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;wBACxB,UAAU,CAAC,GAAG,EAAE;4BACd,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAA,iCAAc,EAAC,4CAA4C,EAAE,mBAAmB,CAAC,CAAC,CAAC;4BACzG,GAAG,CAAC,IAAI,GAAG,0BAA0B,CAAC;4BACtC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACd,CAAC,EAAE,mBAAmB,CAAC,CAAC;oBAC1B,CAAC,CAAC;oBACF,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,8BAA8B,CAAC;iBACnE,CAAC,CAAC;aACJ;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,GAAG,CAAC,IAAI,KAAK,0BAA0B,EAAE;oBAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,8BAAW,CAAC,4BAA4B,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACpF;gBACD,uFAAuF;gBACvF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,2CAAmB,CAAC,YAAY,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;aAC/E;oBAAS;gBACR,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClC;SACF;IACH,CAAC;CACF,CAAA;AApmBC;IAAC,IAAA,cAAS,EAAC,2CAAmC,CAAC;;4DACM;AAErD;IAAC,IAAA,cAAS,EAAC,mCAA2B,CAAC;;oDACE;AAEzC;IAAC,IAAA,cAAS,EAAC,uBAAe,CAAC;;2DACK;AAEhC;IAAC,IAAA,cAAS,EAAC,oCAA2B,CAAC;;0DACI;AAI3C;IAAC,IAAA,cAAS,EAAC,6BAAe,CAAC;;2DACK;AAEhC;IAAC,IAAA,cAAS,EAAC,4BAAS,CAAC;;qDACD;AAEpB;IAAC,IAAA,cAAS,EAAC,0BAAO,CAAC;;mDACH;AAEhB;IAAC,IAAA,cAAS,EAAC,iCAAc,CAAC;;2DACa;AAEvC;IAAC,IAAA,cAAS,EAAC,mCAAgB,CAAC;;qDACO;AAEnC;IAAC,IAAA,cAAS,EAAC,oCAAiB,CAAC;;wDACE;AAE/B;IAAC,IAAA,cAAS,EAAC,sCAAqB,CAAC;;iEAC4B;AAlClD,mBAAmB;IAD/B,IAAA,eAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;6CAwEI,sBAAG;GAvEzB,mBAAmB,CAqmB/B;AArmBY,kDAAmB"}
|
|
1
|
+
{"version":3,"file":"editor-document-model.js","sourceRoot":"","sources":["../../../src/browser/doc-model/editor-document-model.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-editor",
|
|
3
|
-
"version": "2.26.0",
|
|
3
|
+
"version": "2.26.1-next-1690192713.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -17,21 +17,21 @@
|
|
|
17
17
|
"url": "git@github.com:opensumi/core.git"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@opensumi/ide-core-common": "2.26.0",
|
|
21
|
-
"@opensumi/ide-core-node": "2.26.0",
|
|
22
|
-
"@opensumi/ide-file-service": "2.26.0",
|
|
23
|
-
"@opensumi/ide-monaco": "2.26.0",
|
|
24
|
-
"@opensumi/ide-utils": "2.26.0",
|
|
20
|
+
"@opensumi/ide-core-common": "2.26.1-next-1690192713.0",
|
|
21
|
+
"@opensumi/ide-core-node": "2.26.1-next-1690192713.0",
|
|
22
|
+
"@opensumi/ide-file-service": "2.26.1-next-1690192713.0",
|
|
23
|
+
"@opensumi/ide-monaco": "2.26.1-next-1690192713.0",
|
|
24
|
+
"@opensumi/ide-utils": "2.26.1-next-1690192713.0",
|
|
25
25
|
"vscode-oniguruma": "1.5.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@opensumi/ide-components": "2.26.0",
|
|
29
|
-
"@opensumi/ide-core-browser": "2.26.0",
|
|
28
|
+
"@opensumi/ide-components": "2.26.1-next-1690192713.0",
|
|
29
|
+
"@opensumi/ide-core-browser": "2.26.1-next-1690192713.0",
|
|
30
30
|
"@opensumi/ide-dev-tool": "1.3.1",
|
|
31
|
-
"@opensumi/ide-overlay": "2.26.0",
|
|
32
|
-
"@opensumi/ide-quick-open": "2.26.0",
|
|
33
|
-
"@opensumi/ide-theme": "2.26.0",
|
|
34
|
-
"@opensumi/ide-workspace": "2.26.0"
|
|
31
|
+
"@opensumi/ide-overlay": "2.26.1-next-1690192713.0",
|
|
32
|
+
"@opensumi/ide-quick-open": "2.26.1-next-1690192713.0",
|
|
33
|
+
"@opensumi/ide-theme": "2.26.1-next-1690192713.0",
|
|
34
|
+
"@opensumi/ide-workspace": "2.26.1-next-1690192713.0"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "4451cfb5efb1d198c7a6e5e9e1792ad114e80ba1"
|
|
37
37
|
}
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
REPORT_NAME,
|
|
18
18
|
SaveTaskErrorCause,
|
|
19
19
|
SaveTaskResponseState,
|
|
20
|
+
Throttler,
|
|
20
21
|
URI,
|
|
21
22
|
} from '@opensumi/ide-core-browser';
|
|
22
23
|
import { IHashCalculateService } from '@opensumi/ide-core-common/lib/hash-calculate/hash-calculate';
|
|
@@ -115,6 +116,8 @@ export class EditorDocumentModel extends Disposable implements IEditorDocumentMo
|
|
|
115
116
|
@Autowired(IHashCalculateService)
|
|
116
117
|
private readonly hashCalculateService: IHashCalculateService;
|
|
117
118
|
|
|
119
|
+
private saveQueue = new Throttler();
|
|
120
|
+
|
|
118
121
|
private monacoModel: ITextModel;
|
|
119
122
|
|
|
120
123
|
public _encoding = 'utf8';
|
|
@@ -356,59 +359,62 @@ export class EditorDocumentModel extends Disposable implements IEditorDocumentMo
|
|
|
356
359
|
}
|
|
357
360
|
|
|
358
361
|
async save(force = false, reason: SaveReason = SaveReason.Manual): Promise<boolean> {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
lastSavingTask.
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
this.
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
if (res.
|
|
392
|
-
|
|
393
|
-
|
|
362
|
+
const doSave = async (force = false, reason: SaveReason = SaveReason.Manual) => {
|
|
363
|
+
await this.formatOnSave(reason);
|
|
364
|
+
// 发送willSave并等待完成
|
|
365
|
+
await this.eventBus.fireAndAwait(
|
|
366
|
+
new EditorDocumentModelWillSaveEvent({
|
|
367
|
+
uri: this.uri,
|
|
368
|
+
reason,
|
|
369
|
+
language: this.languageId,
|
|
370
|
+
}),
|
|
371
|
+
);
|
|
372
|
+
if (!this.editorPreferences['editor.askIfDiff']) {
|
|
373
|
+
force = true;
|
|
374
|
+
}
|
|
375
|
+
if (!this.dirty) {
|
|
376
|
+
return false;
|
|
377
|
+
}
|
|
378
|
+
const versionId = this.monacoModel.getVersionId();
|
|
379
|
+
const lastSavingTask = this.savingTasks[this.savingTasks.length - 1];
|
|
380
|
+
if (lastSavingTask && lastSavingTask.versionId === versionId) {
|
|
381
|
+
lastSavingTask.cancel();
|
|
382
|
+
const task = this.savingTasks.pop();
|
|
383
|
+
task?.dispose();
|
|
384
|
+
}
|
|
385
|
+
const task = new SaveTask(this.uri, versionId, this.monacoModel.getAlternativeVersionId(), this.getText(), force);
|
|
386
|
+
this.savingTasks.push(task);
|
|
387
|
+
if (this.savingTasks.length > 0) {
|
|
388
|
+
this.initSave();
|
|
389
|
+
}
|
|
390
|
+
const res = await task.finished;
|
|
391
|
+
if (res.state === SaveTaskResponseState.SUCCESS) {
|
|
392
|
+
this.monacoModel.pushStackElement();
|
|
393
|
+
return true;
|
|
394
|
+
} else if (res.state === SaveTaskResponseState.ERROR) {
|
|
395
|
+
if (res.errorMessage !== SaveTaskErrorCause.CANCEL) {
|
|
396
|
+
this.logger.error(res.errorMessage);
|
|
397
|
+
this.messageService.error(localize('doc.saveError.failed') + '\n' + res.errorMessage);
|
|
398
|
+
}
|
|
399
|
+
return false;
|
|
400
|
+
} else if (res.state === SaveTaskResponseState.DIFF) {
|
|
401
|
+
const diffAndSave = localize('doc.saveError.diffAndSave');
|
|
402
|
+
const overwrite = localize('doc.saveError.overwrite');
|
|
403
|
+
this.messageService
|
|
404
|
+
.error(formatLocalize('doc.saveError.diff', this.uri.toString()), [diffAndSave, overwrite])
|
|
405
|
+
.then((res) => {
|
|
406
|
+
if (res === diffAndSave) {
|
|
407
|
+
this.compareAndSave();
|
|
408
|
+
} else if (res === overwrite) {
|
|
409
|
+
doSave(true);
|
|
410
|
+
}
|
|
411
|
+
});
|
|
412
|
+
this.logger.error('The file cannot be saved, the version is inconsistent with the disk');
|
|
413
|
+
return false;
|
|
394
414
|
}
|
|
395
415
|
return false;
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
const overwrite = localize('doc.saveError.overwrite');
|
|
399
|
-
this.messageService
|
|
400
|
-
.error(formatLocalize('doc.saveError.diff', this.uri.toString()), [diffAndSave, overwrite])
|
|
401
|
-
.then((res) => {
|
|
402
|
-
if (res === diffAndSave) {
|
|
403
|
-
this.compareAndSave();
|
|
404
|
-
} else if (res === overwrite) {
|
|
405
|
-
this.save(true);
|
|
406
|
-
}
|
|
407
|
-
});
|
|
408
|
-
this.logger.error('The file cannot be saved, the version is inconsistent with the disk');
|
|
409
|
-
return false;
|
|
410
|
-
}
|
|
411
|
-
return false;
|
|
416
|
+
};
|
|
417
|
+
return this.saveQueue.queue(doSave);
|
|
412
418
|
}
|
|
413
419
|
|
|
414
420
|
private async compareAndSave() {
|