@magic-xpa/gui 4.800.0-dev480.94 → 4.801.0-dev000.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.
Files changed (141) hide show
  1. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  2. package/{esm2015/magic-xpa-gui.js → esm2020/magic-xpa-gui.mjs} +0 -0
  3. package/esm2020/src/Commands.mjs +186 -0
  4. package/esm2020/src/Events.mjs +420 -0
  5. package/esm2020/src/EventsProcessor.mjs +67 -0
  6. package/esm2020/src/FocusManager.mjs +34 -0
  7. package/{esm2015/src/GuiConstants.js → esm2020/src/GuiConstants.mjs} +0 -0
  8. package/{esm2015/src/GuiEnums.js → esm2020/src/GuiEnums.mjs} +126 -127
  9. package/{esm2015/src/GuiEnvironment.js → esm2020/src/GuiEnvironment.mjs} +0 -0
  10. package/{esm2015/src/IFlowMonitorQueue.js → esm2020/src/IFlowMonitorQueue.mjs} +2 -1
  11. package/esm2020/src/Manager.mjs +192 -0
  12. package/{esm2015/src/UIBridge.js → esm2020/src/UIBridge.mjs} +0 -0
  13. package/{esm2015/src/env/IEnvironment.js → esm2020/src/env/IEnvironment.mjs} +2 -1
  14. package/{esm2015/src/gui/ControlBase.js → esm2020/src/gui/ControlBase.mjs} +0 -0
  15. package/{esm2015/src/gui/GuiMgControl.js → esm2020/src/gui/GuiMgControl.mjs} +0 -0
  16. package/{esm2015/src/gui/GuiMgForm.js → esm2020/src/gui/GuiMgForm.mjs} +0 -0
  17. package/{esm2015/src/gui/KeyboardItem.js → esm2020/src/gui/KeyboardItem.mjs} +0 -0
  18. package/{esm2015/src/gui/LastFocusedVal.js → esm2020/src/gui/LastFocusedVal.mjs} +0 -0
  19. package/{esm2015/src/gui/MgValue.js → esm2020/src/gui/MgValue.mjs} +0 -0
  20. package/{esm2015/src/gui/PropParentInterface.js → esm2020/src/gui/PropParentInterface.mjs} +1 -0
  21. package/{esm2015/src/gui/low/DialogHandler.js → esm2020/src/gui/low/DialogHandler.mjs} +0 -0
  22. package/{esm2015/src/gui/low/GuiCommand.js → esm2020/src/gui/low/GuiCommand.mjs} +0 -0
  23. package/{esm2015/src/gui/low/GuiCommandQueue.js → esm2020/src/gui/low/GuiCommandQueue.mjs} +0 -0
  24. package/esm2020/src/gui/low/GuiInteractive.mjs +545 -0
  25. package/esm2020/src/gui/low/Style.mjs +47 -0
  26. package/esm2020/src/management/RuntimeContextBase.mjs +52 -0
  27. package/{esm2015/src/management/data/BlobType.js → esm2020/src/management/data/BlobType.mjs} +0 -0
  28. package/esm2020/src/management/data/DcValues.mjs +214 -0
  29. package/esm2020/src/management/data/DcValuesBuilderBase.mjs +97 -0
  30. package/{esm2015/src/management/data/FieldDef.js → esm2020/src/management/data/FieldDef.mjs} +0 -0
  31. package/{esm2015/src/management/data/FieldsTable.js → esm2020/src/management/data/FieldsTable.mjs} +0 -0
  32. package/esm2020/src/management/data/GuiDataViewBase.mjs +90 -0
  33. package/esm2020/src/management/data/GuiFieldBase.mjs +82 -0
  34. package/{esm2015/src/management/data/IRecord.js → esm2020/src/management/data/IRecord.mjs} +1 -0
  35. package/{esm2015/src/management/data/IReferencedObject.js → esm2020/src/management/data/IReferencedObject.mjs} +1 -0
  36. package/{esm2015/src/management/data/NUM_TYPE.js → esm2020/src/management/data/NUM_TYPE.mjs} +0 -0
  37. package/esm2020/src/management/data/ObjectReferenceBase.mjs +48 -0
  38. package/{esm2015/src/management/data/ObjectReferencesCollection.js → esm2020/src/management/data/ObjectReferencesCollection.mjs} +0 -0
  39. package/esm2020/src/management/data/RecordUtils.mjs +361 -0
  40. package/{esm2015/src/management/data/VectorType.js → esm2020/src/management/data/VectorType.mjs} +0 -0
  41. package/{esm2015/src/management/data/VectorTypeBase.js → esm2020/src/management/data/VectorTypeBase.mjs} +0 -0
  42. package/{esm2015/src/management/events/IActionManager.js → esm2020/src/management/events/IActionManager.mjs} +1 -0
  43. package/esm2020/src/management/events/IGuiEventsManager.mjs +2 -0
  44. package/{esm2015/src/management/exp/ExpressionInterface.js → esm2020/src/management/exp/ExpressionInterface.mjs} +2 -1
  45. package/esm2020/src/management/exp/GuiExpressionEvaluator.mjs +333 -0
  46. package/{esm2015/src/management/gui/ControlTable.js → esm2020/src/management/gui/ControlTable.mjs} +0 -0
  47. package/esm2020/src/management/gui/DisplayConvertor.mjs +1706 -0
  48. package/esm2020/src/management/gui/FieldValidator.mjs +1507 -0
  49. package/esm2020/src/management/gui/GuiControlPropertyAdapter.mjs +22 -0
  50. package/{esm2015/src/management/gui/GuiFormPropertyAdapter.js → esm2020/src/management/gui/GuiFormPropertyAdapter.mjs} +0 -0
  51. package/{esm2015/src/management/gui/HebrewDate.js → esm2020/src/management/gui/HebrewDate.mjs} +0 -0
  52. package/{esm2015/src/management/gui/Helps.js → esm2020/src/management/gui/Helps.mjs} +0 -0
  53. package/esm2020/src/management/gui/MgControlBase.mjs +1873 -0
  54. package/esm2020/src/management/gui/MgFormBase.mjs +748 -0
  55. package/esm2020/src/management/gui/PIC.mjs +1178 -0
  56. package/esm2020/src/management/gui/PropDefaults.mjs +230 -0
  57. package/{esm2015/src/management/gui/PropInterface.js → esm2020/src/management/gui/PropInterface.mjs} +2 -4
  58. package/esm2020/src/management/gui/PropTable.mjs +221 -0
  59. package/esm2020/src/management/gui/Property.mjs +1382 -0
  60. package/{esm2015/src/management/gui/ValidationDetails.js → esm2020/src/management/gui/ValidationDetails.mjs} +0 -0
  61. package/{esm2015/src/management/gui/ValidationDetailsBase.js → esm2020/src/management/gui/ValidationDetailsBase.mjs} +0 -0
  62. package/{esm2015/src/management/gui/WrongFormatException.js → esm2020/src/management/gui/WrongFormatException.mjs} +0 -0
  63. package/{esm2015/src/management/tasks/GuiDataCollection.js → esm2020/src/management/tasks/GuiDataCollection.mjs} +0 -0
  64. package/esm2020/src/management/tasks/GuiTaskBase.mjs +502 -0
  65. package/{esm2015/src/management/tasks/IMGDataTable.js → esm2020/src/management/tasks/IMGDataTable.mjs} +1 -0
  66. package/{esm2015/src/management/tasks/ITask.js → esm2020/src/management/tasks/ITask.mjs} +1 -0
  67. package/esm2020/src/management/tasks/MgTimer.mjs +21 -0
  68. package/esm2020/src/management/tasks/TaskDefinitionId.mjs +54 -0
  69. package/esm2020/src/management/tasks/TaskDefinitionIdTableSaxHandler.mjs +41 -0
  70. package/{esm2015/src/util/AuthenticationDialogHandler.js → esm2020/src/util/AuthenticationDialogHandler.mjs} +0 -0
  71. package/{esm2015/src/util/MemoryUtil.js → esm2020/src/util/MemoryUtil.mjs} +0 -0
  72. package/{esm2015/src/util/ObjectReference.js → esm2020/src/util/ObjectReference.mjs} +0 -0
  73. package/esm2020/src/util/ProcessLauncher.mjs +32 -0
  74. package/esm2020/src/util/UsernamePasswordCredentials.mjs +52 -0
  75. package/fesm2015/{magic-xpa-gui.js → magic-xpa-gui.mjs} +305 -365
  76. package/fesm2015/magic-xpa-gui.mjs.map +1 -0
  77. package/fesm2020/magic-xpa-gui.mjs +17805 -0
  78. package/fesm2020/magic-xpa-gui.mjs.map +1 -0
  79. package/package.json +27 -14
  80. package/src/Commands.d.ts +1 -0
  81. package/src/Events.d.ts +2 -2
  82. package/src/EventsProcessor.d.ts +1 -1
  83. package/src/GuiEnums.d.ts +125 -126
  84. package/src/IFlowMonitorQueue.d.ts +1 -1
  85. package/src/Manager.d.ts +2 -3
  86. package/src/env/IEnvironment.d.ts +1 -0
  87. package/src/gui/low/GuiInteractive.d.ts +3 -1
  88. package/src/gui/low/Style.d.ts +0 -3
  89. package/src/management/RuntimeContextBase.d.ts +2 -0
  90. package/src/management/data/DcValues.d.ts +1 -1
  91. package/src/management/data/DcValuesBuilderBase.d.ts +1 -1
  92. package/src/management/data/RecordUtils.d.ts +0 -3
  93. package/src/management/events/IGuiEventsManager.d.ts +5 -5
  94. package/src/management/exp/ExpressionInterface.d.ts +1 -0
  95. package/src/management/exp/GuiExpressionEvaluator.d.ts +2 -2
  96. package/src/management/gui/DisplayConvertor.d.ts +6 -6
  97. package/src/management/gui/GuiControlPropertyAdapter.d.ts +6 -6
  98. package/src/management/gui/MgControlBase.d.ts +4 -5
  99. package/src/management/gui/MgFormBase.d.ts +1 -1
  100. package/src/management/gui/PropInterface.d.ts +2 -4
  101. package/src/management/gui/PropTable.d.ts +1 -1
  102. package/src/management/gui/Property.d.ts +3 -3
  103. package/src/management/tasks/GuiTaskBase.d.ts +3 -8
  104. package/src/management/tasks/TaskDefinitionId.d.ts +1 -0
  105. package/src/util/ProcessLauncher.d.ts +1 -3
  106. package/bundles/magic-xpa-gui.umd.js +0 -19459
  107. package/bundles/magic-xpa-gui.umd.js.map +0 -1
  108. package/bundles/magic-xpa-gui.umd.min.js +0 -16
  109. package/bundles/magic-xpa-gui.umd.min.js.map +0 -1
  110. package/esm2015/src/Commands.js +0 -185
  111. package/esm2015/src/Events.js +0 -420
  112. package/esm2015/src/EventsProcessor.js +0 -68
  113. package/esm2015/src/FocusManager.js +0 -41
  114. package/esm2015/src/Manager.js +0 -197
  115. package/esm2015/src/gui/low/GuiInteractive.js +0 -539
  116. package/esm2015/src/gui/low/Style.js +0 -50
  117. package/esm2015/src/management/RuntimeContextBase.js +0 -50
  118. package/esm2015/src/management/data/DcValues.js +0 -214
  119. package/esm2015/src/management/data/DcValuesBuilderBase.js +0 -97
  120. package/esm2015/src/management/data/GuiDataViewBase.js +0 -90
  121. package/esm2015/src/management/data/GuiFieldBase.js +0 -85
  122. package/esm2015/src/management/data/ObjectReferenceBase.js +0 -48
  123. package/esm2015/src/management/data/RecordUtils.js +0 -447
  124. package/esm2015/src/management/events/IGuiEventsManager.js +0 -1
  125. package/esm2015/src/management/exp/GuiExpressionEvaluator.js +0 -333
  126. package/esm2015/src/management/gui/DisplayConvertor.js +0 -1706
  127. package/esm2015/src/management/gui/FieldValidator.js +0 -1507
  128. package/esm2015/src/management/gui/GuiControlPropertyAdapter.js +0 -4
  129. package/esm2015/src/management/gui/MgControlBase.js +0 -1979
  130. package/esm2015/src/management/gui/MgFormBase.js +0 -763
  131. package/esm2015/src/management/gui/PIC.js +0 -1176
  132. package/esm2015/src/management/gui/PropDefaults.js +0 -232
  133. package/esm2015/src/management/gui/PropTable.js +0 -224
  134. package/esm2015/src/management/gui/Property.js +0 -1409
  135. package/esm2015/src/management/tasks/GuiTaskBase.js +0 -533
  136. package/esm2015/src/management/tasks/MgTimer.js +0 -21
  137. package/esm2015/src/management/tasks/TaskDefinitionId.js +0 -47
  138. package/esm2015/src/management/tasks/TaskDefinitionIdTableSaxHandler.js +0 -41
  139. package/esm2015/src/util/ProcessLauncher.js +0 -32
  140. package/esm2015/src/util/UsernamePasswordCredentials.js +0 -52
  141. package/fesm2015/magic-xpa-gui.js.map +0 -1
@@ -1,85 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { FieldDef } from "./FieldDef";
3
- import { List, NString } from "@magic-xpa/mscorelib";
4
- import { GuiConstants } from "../../GuiConstants";
5
- export class GuiFieldBase extends FieldDef {
6
- constructor(id) {
7
- super(id);
8
- this.ControlToFocus = null;
9
- this._controls = null;
10
- this._dataview = null;
11
- }
12
- getTask() {
13
- return this._dataview.getTask();
14
- }
15
- updateDisplayWithValue(displayValue, isNull) {
16
- return __awaiter(this, void 0, void 0, function* () {
17
- let ctrl = null;
18
- let ctrlValue = null;
19
- let defaultValue = GuiConstants.DEFAULT_VALUE_INT.toString();
20
- if (this._controls !== null) {
21
- let firstControlValue = null;
22
- let foundControlValue = false;
23
- let savedControlToFocus = this.ControlToFocus;
24
- for (let i = 0; i < this._controls.length; i = i + 1) {
25
- ctrl = this._controls.get_Item(i);
26
- if (!ctrl.getForm().inRefreshDisplay()) {
27
- ctrl.resetPrevVal();
28
- yield ctrl.SetAndRefreshDisplayValue(displayValue, isNull);
29
- if (!ctrl.isRadio())
30
- if (ctrlValue === null || ctrl.Value !== null && !(ctrl.Value === defaultValue) && ctrl === savedControlToFocus)
31
- ctrlValue = ctrl;
32
- else {
33
- if (firstControlValue === null)
34
- firstControlValue = ctrl;
35
- if (ctrl.Value !== null && !(ctrl.Value === defaultValue)) {
36
- if (!foundControlValue) {
37
- firstControlValue = ctrl;
38
- foundControlValue = true;
39
- }
40
- if (ctrl === savedControlToFocus)
41
- ctrlValue = ctrl;
42
- else if (ctrlValue === null)
43
- ctrlValue = firstControlValue;
44
- }
45
- }
46
- }
47
- }
48
- if (ctrlValue !== null) {
49
- this.ControlToFocus = ctrlValue;
50
- if (this._controls.length > 1) {
51
- ctrlValue.resetPrevVal();
52
- yield ctrlValue.SetAndRefreshDisplayValue(displayValue, isNull);
53
- }
54
- }
55
- }
56
- });
57
- }
58
- SetControl(ctrl) {
59
- if (this._controls === null)
60
- this._controls = new List();
61
- if (!this._controls.Contains(ctrl)) {
62
- this._controls.push(ctrl);
63
- if (this._controls.length === 1)
64
- this.ControlToFocus = ctrl;
65
- }
66
- }
67
- RemoveControl(ctrl) {
68
- this._controls.Remove(ctrl);
69
- }
70
- GetRadioCtrls() {
71
- let list = new List();
72
- if (this._controls !== null) {
73
- for (let i = 0; i < this._controls.length; i = i + 1) {
74
- let ctrl = this._controls[i];
75
- if (ctrl.isRadio())
76
- list.push(ctrl);
77
- }
78
- }
79
- return list;
80
- }
81
- toString() {
82
- return NString.Format("(Field {0}-{1}) in task {2}", this._id, this._varName, this.getTask());
83
- }
84
- }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpRmllbGRCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy9tYW5hZ2VtZW50L2RhdGEvR3VpRmllbGRCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBSXBDLE9BQU8sRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE1BQU0sT0FBZ0IsWUFBYSxTQUFRLFFBQVE7SUFTakQsWUFBWSxFQUFVO1FBQ3BCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQVRaLG1CQUFjLEdBQWtCLElBQUksQ0FBQztRQUMzQixjQUFTLEdBQXdCLElBQUksQ0FBQztRQUN0QyxjQUFTLEdBQW9CLElBQUksQ0FBQztJQVE1QyxDQUFDO0lBS0QsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBS0ssc0JBQXNCLENBQUMsWUFBb0IsRUFBRSxNQUFlOztZQUNoRSxJQUFJLElBQUksR0FBa0IsSUFBSSxDQUFDO1lBQy9CLElBQUksU0FBUyxHQUFrQixJQUFJLENBQUM7WUFDcEMsSUFBSSxZQUFZLEdBQVcsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRXJFLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUU7Z0JBQzNCLElBQUksaUJBQWlCLEdBQWtCLElBQUksQ0FBQztnQkFDNUMsSUFBSSxpQkFBaUIsR0FBWSxLQUFLLENBQUM7Z0JBQ3ZDLElBQUksbUJBQW1CLEdBQWtCLElBQUksQ0FBQyxjQUFjLENBQUM7Z0JBQzdELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENB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LENBQUM7YUFDbkI7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmllbGREZWZ9IGZyb20gXCIuL0ZpZWxkRGVmXCI7XHJcbmltcG9ydCB7R3VpRGF0YVZpZXdCYXNlfSBmcm9tIFwiLi9HdWlEYXRhVmlld0Jhc2VcIjtcclxuaW1wb3J0IHtNZ0NvbnRyb2xCYXNlfSBmcm9tIFwiLi4vZ3VpL01nQ29udHJvbEJhc2VcIjtcclxuaW1wb3J0IHtJVGFza30gZnJvbSBcIi4uL3Rhc2tzL0lUYXNrXCI7XHJcbmltcG9ydCB7TGlzdCwgTlN0cmluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7R3VpQ29uc3RhbnRzfSBmcm9tIFwiLi4vLi4vR3VpQ29uc3RhbnRzXCI7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR3VpRmllbGRCYXNlIGV4dGVuZHMgRmllbGREZWYge1xyXG4gIENvbnRyb2xUb0ZvY3VzOiBNZ0NvbnRyb2xCYXNlID0gbnVsbDtcclxuICBwcm90ZWN0ZWQgX2NvbnRyb2xzOiBMaXN0PE1nQ29udHJvbEJhc2U+ID0gbnVsbDtcclxuICBwcm90ZWN0ZWQgX2RhdGF2aWV3OiBHdWlEYXRhVmlld0Jhc2UgPSBudWxsOyAvLyByZWZlcmVuY2UgdG8gdGhlIGRhdGF2aWV3IGluIG9yZGVyIHRvIGFjY2VzcyByZWNvcmQgZGF0YSAodXBkYXRpbmcsIGV0Yy4uLilcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDVE9SXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpZFwiPiBpZHggaW4gRmllbGRzVGFibGUgPC9wYXJhbT5cclxuICBjb25zdHJ1Y3RvcihpZDogbnVtYmVyKSB7XHJcbiAgICBzdXBlcihpZCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGdldCB0aGUgdGFzayB3aGljaCB0aGUgZmllbGQgYmVsb25ncyB0b1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZ2V0VGFzaygpOiBJVGFzayB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YXZpZXcuZ2V0VGFzaygpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHVwZGF0ZSB0aGUgZGlzcGxheVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgYXN5bmMgdXBkYXRlRGlzcGxheVdpdGhWYWx1ZShkaXNwbGF5VmFsdWU6IHN0cmluZywgaXNOdWxsOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgY3RybDogTWdDb250cm9sQmFzZSA9IG51bGw7XHJcbiAgICBsZXQgY3RybFZhbHVlOiBNZ0NvbnRyb2xCYXNlID0gbnVsbDtcclxuICAgIGxldCBkZWZhdWx0VmFsdWU6IHN0cmluZyA9IEd1aUNvbnN0YW50cy5ERUZBVUxUX1ZBTFVFX0lOVC50b1N0cmluZygpO1xyXG5cclxuICAgIGlmICh0aGlzLl9jb250cm9scyAhPT0gbnVsbCkge1xyXG4gICAgICBsZXQgZmlyc3RDb250cm9sVmFsdWU6IE1nQ29udHJvbEJhc2UgPSBudWxsO1xyXG4gICAgICBsZXQgZm91bmRDb250cm9sVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgbGV0IHNhdmVkQ29udHJvbFRvRm9jdXM6IE1nQ29udHJvbEJhc2UgPSB0aGlzLkNvbnRyb2xUb0ZvY3VzO1xyXG4gICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgdGhpcy5fY29udHJvbHMubGVuZ3RoOyBpID0gaSArIDEpIHtcclxuICAgICAgICBjdHJsID0gdGhpcy5fY29udHJvbHMuZ2V0X0l0ZW0oaSk7XHJcblxyXG4gICAgICAgIGlmICghY3RybC5nZXRGb3JtKCkuaW5SZWZyZXNoRGlzcGxheSgpKSB7XHJcbiAgICAgICAgICBjdHJsLnJlc2V0UHJldlZhbCgpOyAvLyBmb3JjZSB1cGRhdGUgb2YgdGhlIGRpc3BsYXlcclxuICAgICAgICAgIGF3YWl0IGN0cmwuU2V0QW5kUmVmcmVzaERpc3BsYXlWYWx1ZShkaXNwbGF5VmFsdWUsIGlzTnVsbCk7XHJcblxyXG4gICAgICAgICAgLy8gRXZlbiBpZiB0aGUgY29udHJvbCB0aGF0IGNvbnRhaW5zIHRoZSBjb3JyZWN0IHZhbHVlIGlzIGZvdW5kIHdlIGRvbid0IGJyZWFrIHRoZSBsb29wIGJlY2F1c2U6XHJcbiAgICAgICAgICAvLyAoMSkgd2UgbmVlZCB0byByZWZyZXNoIGFsbCB0aGUgY29udHJvbHNcclxuICAgICAgICAgIC8vICgyKSB0aGUgbGFzdCBjb250cm9sIHRoYXQgd2FzIGZvY3VzIHdpdGggdGhlIGNvcnJlY3QgdmFsdWUgaXMgdGhlIG9uZSB0aGF0IHNob3VsZCBiZSBjaGVja2VkXHJcbiAgICAgICAgICBpZiAoIWN0cmwuaXNSYWRpbygpKVxyXG4gICAgICAgICAgICBpZiAoY3RybFZhbHVlID09PSBudWxsIHx8IGN0cmwuVmFsdWUgIT09IG51bGwgJiYgIShjdHJsLlZhbHVlID09PSBkZWZhdWx0VmFsdWUpICYmIGN0cmwgPT09IHNhdmVkQ29udHJvbFRvRm9jdXMpXHJcbiAgICAgICAgICAgICAgY3RybFZhbHVlID0gY3RybDtcclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBGaXhlZCBidWcjOjc4MDM1OSwgZm9yIHJhZGlvIGNvbnRyb2wgc2VsZWN0IHRoZSBjb3JyZWN0IGNvbnRyb2xcclxuICAgICAgICAgICAgLy8gaWYgbm90IGZvdW5kIGFueSBjdHJsdmFsdWUodGhlIGNvbnRyb2wgdGhhdCB3YXMgaW4gZm9jdXNlKVxyXG4gICAgICAgICAgICAvLyBzZWxlY3QgdGhlIGZpcnN0IGNvbnRyb2wgd2l0aCB0aGUgY29ycmVjdCB2YWx1ZSBpZiBub3QgZXhpc3Qgc2VsZWN0IHRoZSBmaXJzdCBjb250cm9sLlxyXG5cclxuICAgICAgICAgICAgLy8gYS4gc2F2ZSB0aGUgZmlyc3QgY29udHJvbCAod2l0aCBvciB3aXRob3V0IHRoZSBjb3JyZWN0IHZhbHVlKVxyXG4gICAgICAgICAgICBpZiAoZmlyc3RDb250cm9sVmFsdWUgPT09IG51bGwpXHJcbiAgICAgICAgICAgICAgZmlyc3RDb250cm9sVmFsdWUgPSBjdHJsO1xyXG4gICAgICAgICAgICBpZiAoY3RybC5WYWx1ZSAhPT0gbnVsbCAmJiAhKGN0cmwuVmFsdWUgPT09IGRlZmF1bHRWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAvLyBiLiBzYXZlIHRoZSBmaXJzdCBjb250cm9sIHdpdGggdGhlIGNvcnJlY3QgdmFsdWVcclxuICAgICAgICAgICAgICBpZiAoIWZvdW5kQ29udHJvbFZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICBmaXJzdENvbnRyb2xWYWx1ZSA9IGN0cmw7XHJcbiAgICAgICAgICAgICAgICBmb3VuZENvbnRyb2xWYWx1ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIC8vIGMuc2F2ZSB0aGUgY29udHJvbCB0aGF0IGJlbG9uZyB0byB0aGUgZm9jdXMgY29udHJvbFxyXG4gICAgICAgICAgICAgIGlmIChjdHJsID09PSBzYXZlZENvbnRyb2xUb0ZvY3VzKVxyXG4gICAgICAgICAgICAgICAgY3RybFZhbHVlID0gY3RybDtcclxuICAgICAgICAgICAgICBlbHNlIGlmIChjdHJsVmFsdWUgPT09IG51bGwpXHJcbiAgICAgICAgICAgICAgICBjdHJsVmFsdWUgPSBmaXJzdENvbnRyb2xWYWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gaWYgdGhlcmUgd2FzIGEgY29udHJvbCB0aGF0IGhhZCB0aGUgY29ycmVjdCB2YWx1ZSBhbmQgdGhpcyBmaWVsZCBpcyBsaW5rZWQgdG8gbW9yZSB0aGFuIG9uZVxyXG4gICAgICAvLyBjb250cm9sIHRoZW4gaXQgbWVhbnMgdGhhdCB0aGUgY29udHJvbCB0aGF0IGNvbnRhaW5lZCB0aGUgY29ycmVjdCB2YWx1ZSBtaWdodCBoYXZlIGJlZW4gcmVzZXQgYnlcclxuICAgICAgLy8gb25lIG9mIGl0cyBzaWJsaW5ncyBzbyB0aGVyZSBpcyBhIG5lZWQgdG8gcmVmcmVzaCBpdHMgdmFsdWUgYWdhaW4uXHJcbiAgICAgIGlmIChjdHJsVmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAvLyBzYXZlIHRoZSBjb250cm9sIHRoYXQgYmVsb25nIHRvIHRoZSB2YWx1ZSBvbiB0aGUgZmllbGQuXHJcbiAgICAgICAgdGhpcy5Db250cm9sVG9Gb2N1cyA9IGN0cmxWYWx1ZTtcclxuICAgICAgICBpZiAodGhpcy5fY29udHJvbHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgY3RybFZhbHVlLnJlc2V0UHJldlZhbCgpOyAvLyBmb3JjZSB1cGRhdGUgb2YgdGhlIGRpc3BsYXlcclxuICAgICAgICAgIGF3YWl0IGN0cmxWYWx1ZS5TZXRBbmRSZWZyZXNoRGlzcGxheVZhbHVlKGRpc3BsYXlWYWx1ZSwgaXNOdWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gc2V0IGEgcmVmZXJlbmNlIHRvIGEgY29udHJvbCBhdHRhY2hlZCB0byB0aGlzIGZpZWxkXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImN0cmxcIj50aGUgY29udHJvbCB3aGljaCBpcyBhdHRhY2hlZCB0byB0aGlzIGZpZWxkPC9wYXJhbT5cclxuICBTZXRDb250cm9sKGN0cmw6IE1nQ29udHJvbEJhc2UpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9jb250cm9scyA9PT0gbnVsbClcclxuICAgICAgdGhpcy5fY29udHJvbHMgPSBuZXcgTGlzdDxNZ0NvbnRyb2xCYXNlPigpO1xyXG4gICAgaWYgKCF0aGlzLl9jb250cm9scy5Db250YWlucyhjdHJsKSkge1xyXG4gICAgICB0aGlzLl9jb250cm9scy5wdXNoKGN0cmwpO1xyXG5cclxuICAgICAgLy8gc2F2ZSB0aGUgZmlyc3QgY3RybFxyXG4gICAgICBpZiAodGhpcy5fY29udHJvbHMubGVuZ3RoID09PSAxKVxyXG4gICAgICAgIHRoaXMuQ29udHJvbFRvRm9jdXMgPSBjdHJsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyByZW1vdmVzIGEgcmVmZXJlbmNlIHRvIGEgY29udHJvbCBhdHRhY2hlZCB0byB0aGlzIGZpZWxkXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImN0cmxcIj50aGUgY29udHJvbCB3aGljaCBpcyBhdHRhY2hlZCB0byB0aGlzIGZpZWxkPC9wYXJhbT5cclxuICBSZW1vdmVDb250cm9sKGN0cmw6IE1nQ29udHJvbEJhc2UpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NvbnRyb2xzLlJlbW92ZShjdHJsKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gUmV0dXJucyB0aGUgbGlzdCBvZiByYWRpbyBjb250cm9scyB3aGljaCBhcmUgYXR0YWNoZWQgdG8gdGhlIHNhbWUgZmllbGQgYW5kIHJlc2lkZXMgb24gdGhlIHNhbWUgdGFzay5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIEdldFJhZGlvQ3RybHMoKTogTGlzdDxNZ0NvbnRyb2xCYXNlPiB7XHJcbiAgICBsZXQgbGlzdDogTGlzdDxNZ0NvbnRyb2xCYXNlPiA9IG5ldyBMaXN0PE1nQ29udHJvbEJhc2U+KCk7XHJcblxyXG4gICAgaWYgKHRoaXMuX2NvbnRyb2xzICE9PSBudWxsKSB7XHJcbiAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCB0aGlzLl9jb250cm9scy5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG4gICAgICAgIGxldCBjdHJsOiBNZ0NvbnRyb2xCYXNlID0gdGhpcy5fY29udHJvbHNbaV07XHJcblxyXG4gICAgICAgIGlmIChjdHJsLmlzUmFkaW8oKSlcclxuICAgICAgICAgIGxpc3QucHVzaChjdHJsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGxpc3Q7XHJcbiAgfVxyXG5cclxuICB0b1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE5TdHJpbmcuRm9ybWF0KFwiKEZpZWxkIHswfS17MX0pIGluIHRhc2sgezJ9XCIsIHRoaXMuX2lkLCB0aGlzLl92YXJOYW1lLCB0aGlzLmdldFRhc2soKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { Debug, StackTrace } from "@magic-xpa/mscorelib";
2
- import { Logger, Logger_LogLevels } from "@magic-xpa/utils";
3
- export class ObjectReferenceBase {
4
- constructor(referent) {
5
- this.Referent = null;
6
- this.isDisposed = false;
7
- this.id = 0;
8
- this._instantiationTrace = null;
9
- this.id = (ObjectReferenceBase.LastId = ObjectReferenceBase.LastId + 1);
10
- this.isDisposed = false;
11
- this.Referent = referent;
12
- if (Logger.Instance.LogLevel >= Logger_LogLevels.Development) {
13
- Logger.Instance.WriteDevToLog("Creating " + this.toString());
14
- this._instantiationTrace = new StackTrace();
15
- }
16
- referent.AddReference();
17
- }
18
- Dispose(isDisposing) {
19
- if (arguments.length === 0) {
20
- this.Dispose_0();
21
- return;
22
- }
23
- this.Dispose_1(isDisposing);
24
- }
25
- Dispose_0() {
26
- Logger.Instance.WriteDevToLog("Disposing " + this);
27
- this.Dispose(true);
28
- }
29
- Dispose_1(isDisposing) {
30
- if (!this.isDisposed) {
31
- if (!this.Referent.HasReferences) {
32
- if (Logger.Instance.LogLevel >= Logger_LogLevels.Development) {
33
- Logger.Instance.WriteSupportToLog("Referent does not have any more references: " + this.Referent, false);
34
- Logger.Instance.WriteStackTrace(this._instantiationTrace, 15, "Instantiation trace:");
35
- }
36
- Debug.Assert(false, "Referent does not have any more references. See DEV level log.");
37
- }
38
- else
39
- this.Referent.RemoveReference();
40
- }
41
- this.isDisposed = true;
42
- }
43
- toString() {
44
- return "{Reference " + this.id + " to: " + this.Referent + "}";
45
- }
46
- }
47
- ObjectReferenceBase.LastId = 0;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2JqZWN0UmVmZXJlbmNlQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvbWFuYWdlbWVudC9kYXRhL09iamVjdFJlZmVyZW5jZUJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFMUQsTUFBTSxPQUFnQixtQkFBbUI7SUFRdkMsWUFBWSxRQUEyQjtRQU5oQyxhQUFRLEdBQXNCLElBQUksQ0FBQztRQUNsQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLE9BQUUsR0FBVyxDQUFDLENBQUM7UUFFdkIsd0JBQW1CLEdBQWUsSUFBSSxDQUFDO1FBR3JDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksZ0JBQWdCLENBQUMsV0FBVyxFQUFFO1lBQzVELE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztTQUM3QztRQUNELFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBVUQsT0FBTyxDQUFDLFdBQXFCO1FBQzNCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFJbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRU8sU0FBUyxDQUFDLFdBQW9CO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRTtnQkFDaEMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUU7b0JBQzVELE1BQU0sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsOENBQThDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDekcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO2lCQUN2RjtnQkFDRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxnRUFBZ0UsQ0FBQyxDQUFDO2FBQ3ZGOztnQkFFQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUlELFFBQVE7UUFDTixPQUFPLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUNqRSxDQUFDOztBQTdEYywwQkFBTSxHQUFXLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVidWcsIFN0YWNrVHJhY2V9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0lSZWZlcmVuY2VkT2JqZWN0fSBmcm9tIFwiLi9JUmVmZXJlbmNlZE9iamVjdFwiO1xyXG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyX0xvZ0xldmVsc30gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPYmplY3RSZWZlcmVuY2VCYXNlIHtcclxuICBwcml2YXRlIHN0YXRpYyBMYXN0SWQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIFJlZmVyZW50OiBJUmVmZXJlbmNlZE9iamVjdCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBpc0Rpc3Bvc2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBpZDogbnVtYmVyID0gMDtcclxuXHJcbiAgX2luc3RhbnRpYXRpb25UcmFjZTogU3RhY2tUcmFjZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlZmVyZW50OiBJUmVmZXJlbmNlZE9iamVjdCkge1xyXG4gICAgdGhpcy5pZCA9IChPYmplY3RSZWZlcmVuY2VCYXNlLkxhc3RJZCA9IE9iamVjdFJlZmVyZW5jZUJhc2UuTGFzdElkICsgMSk7XHJcbiAgICB0aGlzLmlzRGlzcG9zZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuUmVmZXJlbnQgPSByZWZlcmVudDtcclxuICAgIGlmIChMb2dnZXIuSW5zdGFuY2UuTG9nTGV2ZWwgPj0gTG9nZ2VyX0xvZ0xldmVscy5EZXZlbG9wbWVudCkge1xyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVEZXZUb0xvZyhcIkNyZWF0aW5nIFwiICsgdGhpcy50b1N0cmluZygpKTtcclxuICAgICAgdGhpcy5faW5zdGFudGlhdGlvblRyYWNlID0gbmV3IFN0YWNrVHJhY2UoKTtcclxuICAgIH1cclxuICAgIHJlZmVyZW50LkFkZFJlZmVyZW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gVE9ETyA6IEltcGxlbWVudCBkZXN0cnVjdG9yXHJcbi8vIH5PYmplY3RSZWZlcmVuY2VCYXNlKCkge1xyXG4vLyAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlRGV2VG9Mb2coXCJGaW5hbGl6aW5nIFwiICsgdGhpcyk7XHJcbi8vICAgICB0aGlzLkRpc3Bvc2UoZmFsc2UpO1xyXG4vLyAgIH1cclxuXHJcbiAgRGlzcG9zZSgpOiB2b2lkO1xyXG4gIERpc3Bvc2UoaXNEaXNwb3Npbmc6IGJvb2xlYW4pOiB2b2lkO1xyXG4gIERpc3Bvc2UoaXNEaXNwb3Npbmc/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLkRpc3Bvc2VfMCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLkRpc3Bvc2VfMShpc0Rpc3Bvc2luZyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIERpc3Bvc2VfMCgpOiB2b2lkIHtcclxuICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZURldlRvTG9nKFwiRGlzcG9zaW5nIFwiICsgdGhpcyk7XHJcblxyXG4gICAgLy8gVE9ET1xyXG4gICAgLy8gR0MuU3VwcHJlc3NGaW5hbGl6ZSh0aGlzKTtcclxuICAgIHRoaXMuRGlzcG9zZSh0cnVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgRGlzcG9zZV8xKGlzRGlzcG9zaW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNEaXNwb3NlZCkge1xyXG4gICAgICBpZiAoIXRoaXMuUmVmZXJlbnQuSGFzUmVmZXJlbmNlcykge1xyXG4gICAgICAgIGlmIChMb2dnZXIuSW5zdGFuY2UuTG9nTGV2ZWwgPj0gTG9nZ2VyX0xvZ0xldmVscy5EZXZlbG9wbWVudCkge1xyXG4gICAgICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlU3VwcG9ydFRvTG9nKFwiUmVmZXJlbnQgZG9lcyBub3QgaGF2ZSBhbnkgbW9yZSByZWZlcmVuY2VzOiBcIiArIHRoaXMuUmVmZXJlbnQsIGZhbHNlKTtcclxuICAgICAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZVN0YWNrVHJhY2UodGhpcy5faW5zdGFudGlhdGlvblRyYWNlLCAxNSwgXCJJbnN0YW50aWF0aW9uIHRyYWNlOlwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgRGVidWcuQXNzZXJ0KGZhbHNlLCBcIlJlZmVyZW50IGRvZXMgbm90IGhhdmUgYW55IG1vcmUgcmVmZXJlbmNlcy4gU2VlIERFViBsZXZlbCBsb2cuXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLlJlZmVyZW50LlJlbW92ZVJlZmVyZW5jZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0Rpc3Bvc2VkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGFic3RyYWN0IENsb25lKCk6IE9iamVjdFJlZmVyZW5jZUJhc2U7XHJcblxyXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gXCJ7UmVmZXJlbmNlIFwiICsgdGhpcy5pZCArIFwiIHRvOiBcIiArIHRoaXMuUmVmZXJlbnQgKyBcIn1cIjtcclxuICB9XHJcbn1cclxuIl19