@magic-xpa/engine 4.900.0-dev491.7 → 4.901.0-ang15-dev491.310

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 (52) hide show
  1. package/esm2020/src/ClientManager.mjs +56 -15
  2. package/esm2020/src/CurrentClientVersion.mjs +2 -2
  3. package/esm2020/src/bridge/MagicBridge.mjs +3 -3
  4. package/esm2020/src/commands/ClientToServer/DataviewCommand.mjs +6 -6
  5. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +4 -4
  6. package/esm2020/src/commands/ClientToServer/EventCommand.mjs +8 -8
  7. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +4 -4
  8. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +5 -5
  9. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +7 -7
  10. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +6 -6
  11. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +8 -8
  12. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +7 -7
  13. package/esm2020/src/data/DataView.mjs +34 -34
  14. package/esm2020/src/data/DataviewManager.mjs +7 -7
  15. package/esm2020/src/data/Field.mjs +3 -2
  16. package/esm2020/src/data/Record.mjs +10 -10
  17. package/esm2020/src/data/TaskTransactionManager.mjs +4 -4
  18. package/esm2020/src/data/XMLBasedDcValuesBuilder.mjs +5 -5
  19. package/esm2020/src/env/Environment.mjs +7 -7
  20. package/esm2020/src/env/LanguageData.mjs +10 -5
  21. package/esm2020/src/event/EventsManager.mjs +2 -2
  22. package/esm2020/src/event/RunTimeEvent.mjs +16 -16
  23. package/esm2020/src/exp/ExpressionEvaluator.mjs +2 -2
  24. package/esm2020/src/gui/FormsTable.mjs +8 -8
  25. package/esm2020/src/gui/MgControl.mjs +12 -11
  26. package/esm2020/src/gui/MgForm.mjs +4 -22
  27. package/esm2020/src/http/HttpManager.mjs +8 -8
  28. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +22 -22
  29. package/esm2020/src/rt/DataviewHeaderBase.mjs +16 -16
  30. package/esm2020/src/rt/Operation.mjs +3 -3
  31. package/esm2020/src/rt/RecomputeTable.mjs +12 -4
  32. package/esm2020/src/rt/RemoteDataviewHeader.mjs +10 -7
  33. package/esm2020/src/security/UserDetails.mjs +12 -12
  34. package/esm2020/src/tasks/MGData.mjs +4 -4
  35. package/esm2020/src/tasks/RCTimer.mjs +10 -10
  36. package/esm2020/src/tasks/RemoteTaskService.mjs +3 -3
  37. package/esm2020/src/tasks/Task.mjs +56 -48
  38. package/esm2020/src/util/PrmMap.mjs +5 -5
  39. package/esm2020/src/util/ReturnResult.mjs +7 -7
  40. package/esm2020/src/util/Scrambler.mjs +3 -2
  41. package/esm2020/src/util/cookie.service.mjs +2 -2
  42. package/fesm2015/magic-xpa-engine.mjs +375 -325
  43. package/fesm2015/magic-xpa-engine.mjs.map +1 -1
  44. package/fesm2020/magic-xpa-engine.mjs +368 -318
  45. package/fesm2020/magic-xpa-engine.mjs.map +1 -1
  46. package/package.json +6 -6
  47. package/src/ClientManager.d.ts +2 -1
  48. package/src/bridge/MagicBridge.d.ts +1 -1
  49. package/src/gui/MgForm.d.ts +1 -3
  50. package/src/tasks/RemoteTaskService.d.ts +1 -1
  51. package/src/tasks/Task.d.ts +1 -1
  52. package/magic-xpa-engine.d.ts +0 -2
@@ -3,10 +3,6 @@ import { Logger, XMLConstants, XmlParser } from '@magic-xpa/utils';
3
3
  import { ConstInterface } from '../ConstInterface';
4
4
  import { ParamParseResult } from "./ParamParseResult";
5
5
  export class PrmMap {
6
- constructor() {
7
- this.values = null;
8
- this.values = new Dictionary();
9
- }
10
6
  getvalue(s) {
11
7
  if (this.values.ContainsKey(s))
12
8
  return this.values.get_Item(s);
@@ -19,6 +15,10 @@ export class PrmMap {
19
15
  remove(s) {
20
16
  this.values.Remove(s);
21
17
  }
18
+ constructor() {
19
+ this.values = null;
20
+ this.values = new Dictionary();
21
+ }
22
22
  }
23
23
  export class MirrorPrmMap extends PrmMap {
24
24
  constructor(type) {
@@ -148,4 +148,4 @@ export class MirrorPrmMap extends PrmMap {
148
148
  }
149
149
  }
150
150
  }
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJtTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL1BybU1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFLcEQsTUFBTSxPQUFPLE1BQU07SUE2QmpCO1FBNUJBLFdBQU0sR0FBdUIsSUFBSSxDQUFDO1FBNkI5QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksVUFBVSxFQUFVLENBQUM7SUFDM0MsQ0FBQztJQXZCUyxRQUFRLENBQUMsQ0FBUztRQUMxQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUUvQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBSUQsUUFBUSxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBSUQsTUFBTSxDQUFDLENBQVM7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0NBT0Y7QUFLRCxNQUFNLE9BQU8sWUFBd0MsU0FBUSxNQUFjO0lBWXpFLFlBQVksSUFBc0I7UUFDaEMsS0FBSyxFQUFFLENBQUM7UUFWQSxZQUFPLEdBQWlCLElB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QUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5LCBMaXN0LCBTdHJpbmdCdWlsZGVyIH0gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xyXG5pbXBvcnQgeyBMb2dnZXIsIFhNTENvbnN0YW50cywgWG1sUGFyc2VyIH0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7IENvbnN0SW50ZXJmYWNlIH0gZnJvbSAnLi4vQ29uc3RJbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJTWlycm9yWE1MIH0gZnJvbSAnLi9JTWlycm9yWE1MJztcclxuaW1wb3J0IHtQYXJhbVBhcnNlUmVzdWx0fSBmcm9tIFwiLi9QYXJhbVBhcnNlUmVzdWx0XCI7XHJcblxyXG5cclxuLy8vIDxzdW1tYXJ5PiBUaGlzIGNsYXNzIG1hbmFnZXMgYSBkaWN0aW9uYXJ5IG9mIHZhcmlhYmxlcy4gdGhlbiBuYW1lIG9mIHRoZSB2YXJpYWJsZSBpcyB0aGUga2V5XHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBQcm1NYXA8VFZhbHVlIGV4dGVuZHMgSU1pcnJvclhNTD57XHJcbiAgdmFsdWVzOiBEaWN0aW9uYXJ5PFRWYWx1ZT4gPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IGdldCB0aGUgdmFsdWVcclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInNcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJvdGVjdGVkIGdldHZhbHVlKHM6IHN0cmluZyk6IFRWYWx1ZSB7XHJcbiAgICBpZiAodGhpcy52YWx1ZXMuQ29udGFpbnNLZXkocykpXHJcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlcy5nZXRfSXRlbShzKTtcclxuICAgIGVsc2VcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHNldFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc2V0VmFsdWUoczogc3RyaW5nLCB2OiBUVmFsdWUpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWVzLnNldF9JdGVtKHMsIHYpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiByZW1vdmUgYW4gZW50cnlcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHJlbW92ZShzOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWVzLlJlbW92ZShzKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gQ1RPUlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgIHRoaXMudmFsdWVzID0gbmV3IERpY3Rpb25hcnk8VFZhbHVlPigpO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIDxzdW1tYXJ5PiBUaGlzIGNsYXNzIG1hbmFnZXMgdGhlIG1pcnJvcmluZy4gSXQgaG9sZHMgYSBsaXN0IG9mIGNoYW5nZWQgdmFsdWVzIHRoYXQgbmVlZCB0byBiZVxyXG4vLy8gbWlycm9yZWQsIGFuZCBtYW5hZ2VzIHRoZSB3cml0aW5nIG9mIHRob3NlIHZhbHVlcyB0byBhbiBYTUwgYnVmZmVyXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBNaXJyb3JQcm1NYXA8VFZhbHVlIGV4dGVuZHMgSU1pcnJvclhNTD4gZXh0ZW5kcyBQcm1NYXA8VFZhbHVlPiB7XHJcblxyXG4gIC8vIExpc3Qgb2YgY2hhbmdlZCB2YXJpYWJsZXNcclxuICBwcm90ZWN0ZWQgY2hhbmdlczogTGlzdDxzdHJpbmc+ID0gbnVsbDtcclxuXHJcbiAgLy8gVHlwZSBvZiB2YXJpYWJsZXMgaW4gdGhlIHRhYmxlIC0gdXNlIGFzIGFuIGlkIGluIHRoZSBYTUwgYnVmZmVyXHJcbiAgcHJvdGVjdGVkICBtaXJyb3JlZElEOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIHR5cGUgO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKHR5cGU6IG5ldyAoKSA9PiBUVmFsdWUpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5jaGFuZ2VzID0gbmV3IExpc3Q8c3RyaW5nPigpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGUgbmV3IGluc3RhbmNlIG9mIHNwZWNpZmllZCB0eXBlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIG5ldygpOiBUVmFsdWUge1xyXG4gICAgcmV0dXJuIG5ldyB0aGlzLnR5cGUoKTtcclxuICB9XHJcblxyXG5cclxuICBzZXRWYWx1ZShzOiBzdHJpbmcsIHY6IFRWYWx1ZSwgYWRkVG9DaGFuZ2VzPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpXHJcbiAgICAgIHRoaXMuc2V0VmFsdWVfMChzLCB2LCBhZGRUb0NoYW5nZXMpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldFZhbHVlXzEocywgdik7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHNldFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZV8wKHM6IHN0cmluZywgdjogVFZhbHVlLCBhZGRUb0NoYW5nZXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChhZGRUb0NoYW5nZXMgJiYgIXRoaXMuY2hhbmdlcy5Db250YWlucyhzKSlcclxuICAgICAgdGhpcy5jaGFuZ2VzLnB1c2gocyk7XHJcbiAgICBzdXBlci5zZXRWYWx1ZShzLCB2KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gc2V0XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIHNldFZhbHVlXzEoczogc3RyaW5nLCB2OiBUVmFsdWUpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jaGFuZ2VzLkNvbnRhaW5zKHMpKVxyXG4gICAgICB0aGlzLmNoYW5nZXMucHVzaChzKTtcclxuICAgIHN1cGVyLnNldFZhbHVlKHMsIHYpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiByZW1vdmVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHJlbW92ZShzOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jaGFuZ2VzLkNvbnRhaW5zKHMpKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlcy5wdXNoKHMpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIucmVtb3ZlKHMpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyB3cml0ZSB0byBhbiBYTUwgYnVmZjogd3JpdGUgdGhlIElEIGFuZCBjYWxsIGVhY2ggdmFyaWFibGUgdG8gd3JpdGUgaXRzZWxmXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBtaXJyb3JBbGxUb1hNTCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHhtbDogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG5cclxuICAgIGlmICh0aGlzLnZhbHVlcyAhPSBudWxsKSB7XHJcblxyXG4gICAgICAvLyB3cml0ZSB0aGUgaWRcclxuICAgICAgeG1sLkFwcGVuZChcIjxcIiArIHRoaXMubWlycm9yZWRJRCArIFwiPlwiKTtcclxuXHJcbiAgICAgIC8vIGxvb3Agb24gYWxsIHZhcmlhYmxlc1xyXG4gICAgICBmb3IgKGxldCBrZXkgb2YgdGhpcy52YWx1ZXMuS2V5cykge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5DaGVja0lmU3lzdGVtUmVzZXJ2ZWRQYXJhbShrZXkpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgeG1sLkFwcGVuZChcIjxcIiArIENvbnN0SW50ZXJmYWNlLk1HX1RBR19QQVJBTSArIFwiIFwiICtcclxuICAgICAgICAgIFhNTENvbnN0YW50cy5NR19BVFRSX05BTUUgKyBcIj1cXFwiXCIgKyBYbWxQYXJzZXIuZXNjYXBlKGtleSkgKyBcIlxcXCIgXCIpO1xyXG5cclxuICAgICAgICAvLyBjYWxsIHRoZSB2YXJpYWJsZSB0byB3cml0ZSBpdCdzIG93biBkYXRhXHJcbiAgICAgICAgICB4bWwuQXBwZW5kKHRoaXMudmFsdWVzLmdldF9JdGVtKGtleSkubWlycm9yVG9YTUwoKSk7XHJcblxyXG4gICAgICAgIHhtbC5BcHBlbmQoWE1MQ29uc3RhbnRzLlRBR19URVJNKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgeG1sLkFwcGVuZChcIjwvXCIgKyB0aGlzLm1pcnJvcmVkSUQgKyBcIj5cIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4geG1sLlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIElmIHN5c3RlbSByZXNlcnZlZCBwYXJhbSwgdGhlbiBkbyBub3Qgc2VyaWFsaXplIGZvciByZS1pbml0aWFsaXplIHNlc3Npb25cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIENoZWNrSWZTeXN0ZW1SZXNlcnZlZFBhcmFtKGtleTogYW55KTogYm9vbGVhblxyXG4gIHtcclxuICAgIGlmIChrZXkgPT0gXCJVVEY4VFJBTlNcIiB8fCBrZXkgPT09IFwiUkVNT1RFX0hPU1RcIiB8fCBrZXkgPT09IFwiUkVNT1RFX0FERFJcIiB8fFxyXG4gICAgICBrZXkgPT09IFwiQ1RYXCIgfHwga2V5ID09PSBcIk1HQVJHMFwiIHx8IGtleSA9PT0gXCJEQVRBXCIgfHwga2V5ID09PSBcIk1HQ1VSUkVOVFJFUVVFU1RJRFwiIHx8XHJcbiAgICAgIGtleSA9PT0gXCJIVFRQX01HWFBBUklBR0xPQkFMVU5JUVVFU0VTU0lPTklEXCIgfHwga2V5ID09PSBcIk1HX1BPU1RfQk9EWVwiKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIGVsc2VcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyB3cml0ZSB0byBhbiBYTUwgYnVmZjogd3JpdGUgdGhlIElEIGFuZCBjYWxsIGVhY2ggY2hhbmdlZCB2YXJpYWJsZSB0byB3cml0ZSBpdHNlbGZcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIG1pcnJvclRvWE1MKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgeG1sOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jaGFuZ2VzLmxlbmd0aCA+IDApIHtcclxuXHJcbiAgICAgIC8vIHdyaXRlIHRoZSBpZFxyXG4gICAgICB4bWwuQXBwZW5kKFwiPFwiICsgdGhpcy5taXJyb3JlZElEICsgXCI+XCIpO1xyXG5cclxuICAgICAgLy8gbG9vcCBvbiBhbGwgY2hhbmdlZCB2YXJpYWJsZXNcclxuXHJcblxyXG4gICAgICB0aGlzLmNoYW5nZXMuZm9yRWFjaChjaGFuZ2UgPT4ge1xyXG5cclxuICAgICAgICB4bWwuQXBwZW5kKFwiPFwiICsgQ29uc3RJbnRlcmZhY2UuTUdfVEFHX1BBUkFNICsgXCIgXCIgK1xyXG4gICAgICAgICAgWE1MQ29uc3RhbnRzLk1HX0FUVFJfTkFNRSArIFwiPVxcXCJcIiArIFhtbFBhcnNlci5lc2NhcGUoY2hhbmdlKSArIFwiXFxcIiBcIik7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlcy5Db250YWluc0tleShjaGFuZ2UpKVxyXG4gICAgICAgIC8vIGNhbGwgdGhlIHZhcmlhYmxlIHRvIHdyaXRlIGl0J3Mgb3duIGRhdGFcclxuICAgICAgICAgIHhtbC5BcHBlbmQodGhpcy52YWx1ZXMuZ2V0X0l0ZW0oY2hhbmdlKS5taXJyb3JUb1hNTCgpKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB4bWwuQXBwZW5kKFwicmVtb3ZlZD1cXFwiWVxcXCJcIik7XHJcbiAgICAgICAgeG1sLkFwcGVuZChcIj5cIik7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgeG1sLkFwcGVuZChcIjwvXCIgKyB0aGlzLm1pcnJvcmVkSUQgKyBcIj5cIik7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZXMuQ2xlYXIoKTtcclxuICAgIHJldHVybiB4bWwuVG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gcGFyc2UgdGhlIFhNTCBhbmQgZmlsbCB0aGUgZGF0YVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZmlsbERhdGEocGFyc2VyOiBYbWxQYXJzZXIpOiB2b2lkIHtcclxuICAgIHdoaWxlICh0aGlzLm1pcnJvckZyb21YTUwocGFyc2VyLmdldE5leHRUYWcoKSwgcGFyc2VyKSkge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgUmVzdG9yZUdsb2JhbFBhcmFtcyAoeG1sOiBzdHJpbmcgKVxyXG4gIHtcclxuICAgIGxldCBwYXJzZXI6IFhtbFBhcnNlciA9IG5ldyBYbWxQYXJzZXIoeG1sKTtcclxuICAgIHdoaWxlICh0aGlzLm1pcnJvckZyb21YTUwocGFyc2VyLmdldE5leHRUYWcoKSwgcGFyc2VyKSkge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBmaWxsIGZyb20gWE1MXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJmb3VuZFRhZ05hbWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInhtbFBhcnNlclwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBtaXJyb3JGcm9tWE1MKGZvdW5kVGFnTmFtZTogc3RyaW5nLCB4bWxQYXJzZXI6IFhtbFBhcnNlcik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGZvdW5kVGFnTmFtZSA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGlmIChmb3VuZFRhZ05hbWUgPT09IHRoaXMubWlycm9yZWRJRCkge1xyXG4gICAgICB4bWxQYXJzZXIuc2V0Q3VyckluZGV4MkVuZE9mVGFnKCk7XHJcbiAgICAgIHRoaXMuZmlsbERhdGFFbnRyeSh4bWxQYXJzZXIpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGZvdW5kVGFnTmFtZSA9PT0gKFwiL1wiICsgdGhpcy5taXJyb3JlZElEKSkge1xyXG4gICAgICAvLyBBZnRlciB1cGRhdGluZyBmcm9tIHRoZSBzZXJ2ZXIsIGNsZWFyIHRoZSBjaGFuZ2VzIGxpc3Qgc28gdGhleSB3b24ndCBiZSBzZW50IGFnYWluXHJcbiAgICAgIHRoaXMuY2hhbmdlcy5DbGVhcigpO1xyXG4gICAgICB4bWxQYXJzZXIuc2V0Q3VyckluZGV4MkVuZE9mVGFnKCk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2coXCJUaGVyZSBpcyBubyBzdWNoIHRhZyBpbiBNaXJyb3JQcm1NYXAubWlycm9yRnJvbVhNTCgpOiBcIiArIGZvdW5kVGFnTmFtZSk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHBhcnNlIGFuZCBmaWxsIHRoZSBwYXJhbXMsIHVudGlsIHRoZSBzZWN0aW9uIGVuZHNcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGZpbGxEYXRhRW50cnkoeG1sUGFyc2VyOiBYbWxQYXJzZXIpOiB2b2lkIHtcclxuICAgIGxldCBuZXh0VGFnOiBzdHJpbmcgPSB4bWxQYXJzZXIuZ2V0TmV4dFRhZygpO1xyXG5cclxuICAgIHdoaWxlIChuZXh0VGFnID09PSBDb25zdEludGVyZmFjZS5NR19UQUdfUEFSQU0pIHtcclxuICAgICAgbGV0IG5hbWVTdGFydDogbnVtYmVyID0geG1sUGFyc2VyLmdldFhNTGRhdGEoKS5pbmRleE9mKFhNTENvbnN0YW50cy5NR19BVFRSX05BTUUgKyBcIj1cXFwiXCIsIHhtbFBhcnNlci5nZXRDdXJySW5kZXgoKSkgK1xyXG4gICAgICAgIFhNTENvbnN0YW50cy5NR19BVFRSX05BTUUubGVuZ3RoICsgMjtcclxuXHJcbiAgICAgIHhtbFBhcnNlci5zZXRDdXJySW5kZXgobmFtZVN0YXJ0KTtcclxuICAgICAgbGV0IG5hbWVFbmQ6IG51bWJlciA9IHhtbFBhcnNlci5nZXRYTUxkYXRhKCkuaW5kZXhPZihcIlxcXCJcIiwgbmFtZVN0YXJ0KTtcclxuXHJcbiAgICAgIC8vIGdldCB0aGUgdmFyaWFibGVzIGRhdGFcclxuICAgICAgbGV0IG5hbWU6IHN0cmluZyA9IHhtbFBhcnNlci5nZXRYTUxzdWJzdHJpbmcobmFtZUVuZCkudHJpbSgpO1xyXG4gICAgICB4bWxQYXJzZXIuc2V0Q3VyckluZGV4KG5hbWVFbmQpO1xyXG5cclxuICAgICAgLy8gY3JlYXRlIGFuZCBpbml0IHRoZSBuZXcgdmFsdWVcclxuICAgICAgbGV0IG5ld1ZhbDogVFZhbHVlID0gdGhpcy5uZXcoKTtcclxuXHJcbiAgICAgIHN3aXRjaCAobmV3VmFsLmluaXQobmFtZSwgeG1sUGFyc2VyKSkge1xyXG4gICAgICAgIGNhc2UgUGFyYW1QYXJzZVJlc3VsdC5PSzpcclxuICAgICAgICAgIHRoaXMudmFsdWVzLnNldF9JdGVtKG5hbWUsIG5ld1ZhbCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFBhcmFtUGFyc2VSZXN1bHQuVE9VUFBFUjpcclxuICAgICAgICAgIHRoaXMudmFsdWVzLnNldF9JdGVtKG5hbWUudG9VcHBlckNhc2UoKSwgbmV3VmFsKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgUGFyYW1QYXJzZVJlc3VsdC5ERUxFVEU6XHJcbiAgICAgICAgICB0aGlzLnZhbHVlcy5SZW1vdmUobmFtZSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gbW92ZSB0byBuZXh0IHRhZ1xyXG4gICAgICB4bWxQYXJzZXIuc2V0Q3VyckluZGV4MkVuZE9mVGFnKCk7XHJcbiAgICAgIG5leHRUYWcgPSB4bWxQYXJzZXIuZ2V0TmV4dFRhZygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJtTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL1BybU1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFLcEQsTUFBTSxPQUFPLE1BQU07SUFRUCxRQUFRLENBQUMsQ0FBUztRQUMxQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUUvQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBSUQsUUFBUSxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBSUQsTUFBTSxDQUFDLENBQVM7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBSUQ7UUE1QkEsV0FBTSxHQUF1QixJQUFJLENBQUM7UUE2QjlCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQVUsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFLRCxNQUFNLE9BQU8sWUFBd0MsU0FBUSxNQUFjO0lBWXpFLFlBQVksSUFBc0I7UUFDaEMsS0FBSyxFQUFFLENBQUM7UUFWQSxZQUFPLEdBQWlCLElBQUks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O0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5LCBMaXN0LCBTdHJpbmdCdWlsZGVyIH0gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xyXG5pbXBvcnQgeyBMb2dnZXIsIFhNTENvbnN0YW50cywgWG1sUGFyc2VyIH0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7IENvbnN0SW50ZXJmYWNlIH0gZnJvbSAnLi4vQ29uc3RJbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJTWlycm9yWE1MIH0gZnJvbSAnLi9JTWlycm9yWE1MJztcclxuaW1wb3J0IHtQYXJhbVBhcnNlUmVzdWx0fSBmcm9tIFwiLi9QYXJhbVBhcnNlUmVzdWx0XCI7XHJcblxyXG5cclxuLy8vIDxzdW1tYXJ5PiBUaGlzIGNsYXNzIG1hbmFnZXMgYSBkaWN0aW9uYXJ5IG9mIHZhcmlhYmxlcy4gdGhlbiBuYW1lIG9mIHRoZSB2YXJpYWJsZSBpcyB0aGUga2V5XHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBQcm1NYXA8VFZhbHVlIGV4dGVuZHMgSU1pcnJvclhNTD57XHJcbiAgdmFsdWVzOiBEaWN0aW9uYXJ5PFRWYWx1ZT4gPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IGdldCB0aGUgdmFsdWVcclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInNcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJvdGVjdGVkIGdldHZhbHVlKHM6IHN0cmluZyk6IFRWYWx1ZSB7XHJcbiAgICBpZiAodGhpcy52YWx1ZXMuQ29udGFpbnNLZXkocykpXHJcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlcy5nZXRfSXRlbShzKTtcclxuICAgIGVsc2VcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHNldFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc2V0VmFsdWUoczogc3RyaW5nLCB2OiBUVmFsdWUpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWVzLnNldF9JdGVtKHMsIHYpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiByZW1vdmUgYW4gZW50cnlcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHJlbW92ZShzOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWVzLlJlbW92ZShzKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gQ1RPUlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgIHRoaXMudmFsdWVzID0gbmV3IERpY3Rpb25hcnk8VFZhbHVlPigpO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIDxzdW1tYXJ5PiBUaGlzIGNsYXNzIG1hbmFnZXMgdGhlIG1pcnJvcmluZy4gSXQgaG9sZHMgYSBsaXN0IG9mIGNoYW5nZWQgdmFsdWVzIHRoYXQgbmVlZCB0byBiZVxyXG4vLy8gbWlycm9yZWQsIGFuZCBtYW5hZ2VzIHRoZSB3cml0aW5nIG9mIHRob3NlIHZhbHVlcyB0byBhbiBYTUwgYnVmZmVyXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBNaXJyb3JQcm1NYXA8VFZhbHVlIGV4dGVuZHMgSU1pcnJvclhNTD4gZXh0ZW5kcyBQcm1NYXA8VFZhbHVlPiB7XHJcblxyXG4gIC8vIExpc3Qgb2YgY2hhbmdlZCB2YXJpYWJsZXNcclxuICBwcm90ZWN0ZWQgY2hhbmdlczogTGlzdDxzdHJpbmc+ID0gbnVsbDtcclxuXHJcbiAgLy8gVHlwZSBvZiB2YXJpYWJsZXMgaW4gdGhlIHRhYmxlIC0gdXNlIGFzIGFuIGlkIGluIHRoZSBYTUwgYnVmZmVyXHJcbiAgcHJvdGVjdGVkICBtaXJyb3JlZElEOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIHR5cGUgO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKHR5cGU6IG5ldyAoKSA9PiBUVmFsdWUpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5jaGFuZ2VzID0gbmV3IExpc3Q8c3RyaW5nPigpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGUgbmV3IGluc3RhbmNlIG9mIHNwZWNpZmllZCB0eXBlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIG5ldygpOiBUVmFsdWUge1xyXG4gICAgcmV0dXJuIG5ldyB0aGlzLnR5cGUoKTtcclxuICB9XHJcblxyXG5cclxuICBzZXRWYWx1ZShzOiBzdHJpbmcsIHY6IFRWYWx1ZSwgYWRkVG9DaGFuZ2VzPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpXHJcbiAgICAgIHRoaXMuc2V0VmFsdWVfMChzLCB2LCBhZGRUb0NoYW5nZXMpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldFZhbHVlXzEocywgdik7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHNldFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZV8wKHM6IHN0cmluZywgdjogVFZhbHVlLCBhZGRUb0NoYW5nZXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChhZGRUb0NoYW5nZXMgJiYgIXRoaXMuY2hhbmdlcy5Db250YWlucyhzKSlcclxuICAgICAgdGhpcy5jaGFuZ2VzLnB1c2gocyk7XHJcbiAgICBzdXBlci5zZXRWYWx1ZShzLCB2KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gc2V0XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIHNldFZhbHVlXzEoczogc3RyaW5nLCB2OiBUVmFsdWUpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jaGFuZ2VzLkNvbnRhaW5zKHMpKVxyXG4gICAgICB0aGlzLmNoYW5nZXMucHVzaChzKTtcclxuICAgIHN1cGVyLnNldFZhbHVlKHMsIHYpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiByZW1vdmVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHJlbW92ZShzOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jaGFuZ2VzLkNvbnRhaW5zKHMpKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlcy5wdXNoKHMpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIucmVtb3ZlKHMpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyB3cml0ZSB0byBhbiBYTUwgYnVmZjogd3JpdGUgdGhlIElEIGFuZCBjYWxsIGVhY2ggdmFyaWFibGUgdG8gd3JpdGUgaXRzZWxmXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBtaXJyb3JBbGxUb1hNTCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHhtbDogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG5cclxuICAgIGlmICh0aGlzLnZhbHVlcyAhPSBudWxsKSB7XHJcblxyXG4gICAgICAvLyB3cml0ZSB0aGUgaWRcclxuICAgICAgeG1sLkFwcGVuZChcIjxcIiArIHRoaXMubWlycm9yZWRJRCArIFwiPlwiKTtcclxuXHJcbiAgICAgIC8vIGxvb3Agb24gYWxsIHZhcmlhYmxlc1xyXG4gICAgICBmb3IgKGxldCBrZXkgb2YgdGhpcy52YWx1ZXMuS2V5cykge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5DaGVja0lmU3lzdGVtUmVzZXJ2ZWRQYXJhbShrZXkpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgeG1sLkFwcGVuZChcIjxcIiArIENvbnN0SW50ZXJmYWNlLk1HX1RBR19QQVJBTSArIFwiIFwiICtcclxuICAgICAgICAgIFhNTENvbnN0YW50cy5NR19BVFRSX05BTUUgKyBcIj1cXFwiXCIgKyBYbWxQYXJzZXIuZXNjYXBlKGtleSkgKyBcIlxcXCIgXCIpO1xyXG5cclxuICAgICAgICAvLyBjYWxsIHRoZSB2YXJpYWJsZSB0byB3cml0ZSBpdCdzIG93biBkYXRhXHJcbiAgICAgICAgICB4bWwuQXBwZW5kKHRoaXMudmFsdWVzLmdldF9JdGVtKGtleSkubWlycm9yVG9YTUwoKSk7XHJcblxyXG4gICAgICAgIHhtbC5BcHBlbmQoWE1MQ29uc3RhbnRzLlRBR19URVJNKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgeG1sLkFwcGVuZChcIjwvXCIgKyB0aGlzLm1pcnJvcmVkSUQgKyBcIj5cIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4geG1sLlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIElmIHN5c3RlbSByZXNlcnZlZCBwYXJhbSwgdGhlbiBkbyBub3Qgc2VyaWFsaXplIGZvciByZS1pbml0aWFsaXplIHNlc3Npb25cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIENoZWNrSWZTeXN0ZW1SZXNlcnZlZFBhcmFtKGtleTogYW55KTogYm9vbGVhblxyXG4gIHtcclxuICAgIGlmIChrZXkgPT0gXCJVVEY4VFJBTlNcIiB8fCBrZXkgPT09IFwiUkVNT1RFX0hPU1RcIiB8fCBrZXkgPT09IFwiUkVNT1RFX0FERFJcIiB8fFxyXG4gICAgICBrZXkgPT09IFwiQ1RYXCIgfHwga2V5ID09PSBcIk1HQVJHMFwiIHx8IGtleSA9PT0gXCJEQVRBXCIgfHwga2V5ID09PSBcIk1HQ1VSUkVOVFJFUVVFU1RJRFwiIHx8XHJcbiAgICAgIGtleSA9PT0gXCJIVFRQX01HWFBBUklBR0xPQkFMVU5JUVVFU0VTU0lPTklEXCIgfHwga2V5ID09PSBcIk1HX1BPU1RfQk9EWVwiKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIGVsc2VcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyB3cml0ZSB0byBhbiBYTUwgYnVmZjogd3JpdGUgdGhlIElEIGFuZCBjYWxsIGVhY2ggY2hhbmdlZCB2YXJpYWJsZSB0byB3cml0ZSBpdHNlbGZcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIG1pcnJvclRvWE1MKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgeG1sOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jaGFuZ2VzLmxlbmd0aCA+IDApIHtcclxuXHJcbiAgICAgIC8vIHdyaXRlIHRoZSBpZFxyXG4gICAgICB4bWwuQXBwZW5kKFwiPFwiICsgdGhpcy5taXJyb3JlZElEICsgXCI+XCIpO1xyXG5cclxuICAgICAgLy8gbG9vcCBvbiBhbGwgY2hhbmdlZCB2YXJpYWJsZXNcclxuXHJcblxyXG4gICAgICB0aGlzLmNoYW5nZXMuZm9yRWFjaChjaGFuZ2UgPT4ge1xyXG5cclxuICAgICAgICB4bWwuQXBwZW5kKFwiPFwiICsgQ29uc3RJbnRlcmZhY2UuTUdfVEFHX1BBUkFNICsgXCIgXCIgK1xyXG4gICAgICAgICAgWE1MQ29uc3RhbnRzLk1HX0FUVFJfTkFNRSArIFwiPVxcXCJcIiArIFhtbFBhcnNlci5lc2NhcGUoY2hhbmdlKSArIFwiXFxcIiBcIik7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlcy5Db250YWluc0tleShjaGFuZ2UpKVxyXG4gICAgICAgIC8vIGNhbGwgdGhlIHZhcmlhYmxlIHRvIHdyaXRlIGl0J3Mgb3duIGRhdGFcclxuICAgICAgICAgIHhtbC5BcHBlbmQodGhpcy52YWx1ZXMuZ2V0X0l0ZW0oY2hhbmdlKS5taXJyb3JUb1hNTCgpKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB4bWwuQXBwZW5kKFwicmVtb3ZlZD1cXFwiWVxcXCJcIik7XHJcbiAgICAgICAgeG1sLkFwcGVuZChcIj5cIik7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgeG1sLkFwcGVuZChcIjwvXCIgKyB0aGlzLm1pcnJvcmVkSUQgKyBcIj5cIik7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZXMuQ2xlYXIoKTtcclxuICAgIHJldHVybiB4bWwuVG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gcGFyc2UgdGhlIFhNTCBhbmQgZmlsbCB0aGUgZGF0YVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZmlsbERhdGEocGFyc2VyOiBYbWxQYXJzZXIpOiB2b2lkIHtcclxuICAgIHdoaWxlICh0aGlzLm1pcnJvckZyb21YTUwocGFyc2VyLmdldE5leHRUYWcoKSwgcGFyc2VyKSkge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgUmVzdG9yZUdsb2JhbFBhcmFtcyAoeG1sOiBzdHJpbmcgKVxyXG4gIHtcclxuICAgIGxldCBwYXJzZXI6IFhtbFBhcnNlciA9IG5ldyBYbWxQYXJzZXIoeG1sKTtcclxuICAgIHdoaWxlICh0aGlzLm1pcnJvckZyb21YTUwocGFyc2VyLmdldE5leHRUYWcoKSwgcGFyc2VyKSkge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBmaWxsIGZyb20gWE1MXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJmb3VuZFRhZ05hbWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInhtbFBhcnNlclwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBtaXJyb3JGcm9tWE1MKGZvdW5kVGFnTmFtZTogc3RyaW5nLCB4bWxQYXJzZXI6IFhtbFBhcnNlcik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGZvdW5kVGFnTmFtZSA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGlmIChmb3VuZFRhZ05hbWUgPT09IHRoaXMubWlycm9yZWRJRCkge1xyXG4gICAgICB4bWxQYXJzZXIuc2V0Q3VyckluZGV4MkVuZE9mVGFnKCk7XHJcbiAgICAgIHRoaXMuZmlsbERhdGFFbnRyeSh4bWxQYXJzZXIpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGZvdW5kVGFnTmFtZSA9PT0gKFwiL1wiICsgdGhpcy5taXJyb3JlZElEKSkge1xyXG4gICAgICAvLyBBZnRlciB1cGRhdGluZyBmcm9tIHRoZSBzZXJ2ZXIsIGNsZWFyIHRoZSBjaGFuZ2VzIGxpc3Qgc28gdGhleSB3b24ndCBiZSBzZW50IGFnYWluXHJcbiAgICAgIHRoaXMuY2hhbmdlcy5DbGVhcigpO1xyXG4gICAgICB4bWxQYXJzZXIuc2V0Q3VyckluZGV4MkVuZE9mVGFnKCk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2coXCJUaGVyZSBpcyBubyBzdWNoIHRhZyBpbiBNaXJyb3JQcm1NYXAubWlycm9yRnJvbVhNTCgpOiBcIiArIGZvdW5kVGFnTmFtZSk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHBhcnNlIGFuZCBmaWxsIHRoZSBwYXJhbXMsIHVudGlsIHRoZSBzZWN0aW9uIGVuZHNcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGZpbGxEYXRhRW50cnkoeG1sUGFyc2VyOiBYbWxQYXJzZXIpOiB2b2lkIHtcclxuICAgIGxldCBuZXh0VGFnOiBzdHJpbmcgPSB4bWxQYXJzZXIuZ2V0TmV4dFRhZygpO1xyXG5cclxuICAgIHdoaWxlIChuZXh0VGFnID09PSBDb25zdEludGVyZmFjZS5NR19UQUdfUEFSQU0pIHtcclxuICAgICAgbGV0IG5hbWVTdGFydDogbnVtYmVyID0geG1sUGFyc2VyLmdldFhNTGRhdGEoKS5pbmRleE9mKFhNTENvbnN0YW50cy5NR19BVFRSX05BTUUgKyBcIj1cXFwiXCIsIHhtbFBhcnNlci5nZXRDdXJySW5kZXgoKSkgK1xyXG4gICAgICAgIFhNTENvbnN0YW50cy5NR19BVFRSX05BTUUubGVuZ3RoICsgMjtcclxuXHJcbiAgICAgIHhtbFBhcnNlci5zZXRDdXJySW5kZXgobmFtZVN0YXJ0KTtcclxuICAgICAgbGV0IG5hbWVFbmQ6IG51bWJlciA9IHhtbFBhcnNlci5nZXRYTUxkYXRhKCkuaW5kZXhPZihcIlxcXCJcIiwgbmFtZVN0YXJ0KTtcclxuXHJcbiAgICAgIC8vIGdldCB0aGUgdmFyaWFibGVzIGRhdGFcclxuICAgICAgbGV0IG5hbWU6IHN0cmluZyA9IHhtbFBhcnNlci5nZXRYTUxzdWJzdHJpbmcobmFtZUVuZCkudHJpbSgpO1xyXG4gICAgICB4bWxQYXJzZXIuc2V0Q3VyckluZGV4KG5hbWVFbmQpO1xyXG5cclxuICAgICAgLy8gY3JlYXRlIGFuZCBpbml0IHRoZSBuZXcgdmFsdWVcclxuICAgICAgbGV0IG5ld1ZhbDogVFZhbHVlID0gdGhpcy5uZXcoKTtcclxuXHJcbiAgICAgIHN3aXRjaCAobmV3VmFsLmluaXQobmFtZSwgeG1sUGFyc2VyKSkge1xyXG4gICAgICAgIGNhc2UgUGFyYW1QYXJzZVJlc3VsdC5PSzpcclxuICAgICAgICAgIHRoaXMudmFsdWVzLnNldF9JdGVtKG5hbWUsIG5ld1ZhbCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFBhcmFtUGFyc2VSZXN1bHQuVE9VUFBFUjpcclxuICAgICAgICAgIHRoaXMudmFsdWVzLnNldF9JdGVtKG5hbWUudG9VcHBlckNhc2UoKSwgbmV3VmFsKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgUGFyYW1QYXJzZVJlc3VsdC5ERUxFVEU6XHJcbiAgICAgICAgICB0aGlzLnZhbHVlcy5SZW1vdmUobmFtZSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gbW92ZSB0byBuZXh0IHRhZ1xyXG4gICAgICB4bWxQYXJzZXIuc2V0Q3VyckluZGV4MkVuZE9mVGFnKCk7XHJcbiAgICAgIG5leHRUYWcgPSB4bWxQYXJzZXIuZ2V0TmV4dFRhZygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,6 +1,12 @@
1
1
  import { ReturnResultBase } from './ReturnResultBase';
2
2
  import { LanguageData } from '../env/LanguageData';
3
3
  export class ReturnResult extends ReturnResultBase {
4
+ get Success() {
5
+ return this.success;
6
+ }
7
+ get ErrorDescription() {
8
+ return this.errorDescription;
9
+ }
4
10
  constructor(errorDescriptionCodeOrErrorDescriptionOrInnerResult, innerResult) {
5
11
  super();
6
12
  this.errorDescription = null;
@@ -15,12 +21,6 @@ export class ReturnResult extends ReturnResultBase {
15
21
  else
16
22
  this.constructor_03(errorDescriptionCodeOrErrorDescriptionOrInnerResult);
17
23
  }
18
- get Success() {
19
- return this.success;
20
- }
21
- get ErrorDescription() {
22
- return this.errorDescription;
23
- }
24
24
  constructor_00(errorDescriptionCode) {
25
25
  this.success = false;
26
26
  this.ErrorId = errorDescriptionCode;
@@ -43,4 +43,4 @@ export class ReturnResult extends ReturnResultBase {
43
43
  }
44
44
  }
45
45
  ReturnResult.SuccessfulResult = new ReturnResult();
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmV0dXJuUmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL1JldHVyblJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFLakQsTUFBTSxPQUFPLFlBQWEsU0FBUSxnQkFBZ0I7SUFtQmhELFlBQVksbURBQXlELEVBQUUsV0FBOEI7UUFDbkcsS0FBSyxFQUFFLENBQUM7UUFuQkYscUJBQWdCLEdBQVcsSUFBSSxDQUFDO1FBQ2hDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFXakMsWUFBTyxHQUFXLElBQUksQ0FBQztRQVFyQixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsbURBQW1ELEtBQUssSUFBSSxJQUFJLG1EQUFtRCxDQUFDLFdBQVcsS0FBSyxNQUFNLENBQUM7WUFDeEssSUFBSSxDQUFDLGNBQWMsQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO2FBQ3RFLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUNuQixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7O1lBRXpFLElBQUksQ0FBQyxjQUFjLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBeEJELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQXVCTyxjQUFjLENBQUMsb0JBQTRCO1FBQ2pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsb0JBQW9CLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUtPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUtPLGNBQWMsQ0FBQyxnQkFBd0I7UUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFNTyxjQUFjLENBQUMsV0FBNkI7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7SUFDdkQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7QUFoRU0sNkJBQWdCLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JldHVyblJlc3VsdEJhc2V9IGZyb20gJy4vUmV0dXJuUmVzdWx0QmFzZSc7XHJcbmltcG9ydCB7TGFuZ3VhZ2VEYXRhfSBmcm9tICcuLi9lbnYvTGFuZ3VhZ2VEYXRhJztcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIGNsYXNzIHRvIGJlIHVzZWQgZm9yIHRoZSByZXN1bHQgb2Ygb3BlcmF0aW9ucyAtIGZhaWx1cmUgaW5kaWNhdG9yIGFuZCBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBwcm9ibGVtXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBSZXR1cm5SZXN1bHQgZXh0ZW5kcyBSZXR1cm5SZXN1bHRCYXNlIHtcclxuICBwcml2YXRlIGVycm9yRGVzY3JpcHRpb246IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzdWNjZXNzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc3RhdGljIFN1Y2Nlc3NmdWxSZXN1bHQ6IFJldHVyblJlc3VsdCA9IG5ldyBSZXR1cm5SZXN1bHQoKTtcclxuXHJcbiAgZ2V0IFN1Y2Nlc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdWNjZXNzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IEVycm9yRGVzY3JpcHRpb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVycm9yRGVzY3JpcHRpb247XHJcbiAgfVxyXG5cclxuICBFcnJvcklkOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpO1xyXG4gIGNvbnN0cnVjdG9yKGVycm9yRGVzY3JpcHRpb25Db2RlOiBzdHJpbmcpO1xyXG4gIGNvbnN0cnVjdG9yKGlubmVyUmVzdWx0OiBSZXR1cm5SZXN1bHRCYXNlKTtcclxuICBjb25zdHJ1Y3RvcihlcnJvckRlc2NyaXB0aW9uOiBzdHJpbmcsIGlubmVyUmVzdWx0OiBSZXR1cm5SZXN1bHRCYXNlKTtcclxuICBjb25zdHJ1Y3RvcihlcnJvckRlc2NyaXB0aW9uQ29kZU9yRXJyb3JEZXNjcmlwdGlvbk9ySW5uZXJSZXN1bHQ/OiBhbnksIGlubmVyUmVzdWx0PzogUmV0dXJuUmVzdWx0QmFzZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIChlcnJvckRlc2NyaXB0aW9uQ29kZU9yRXJyb3JEZXNjcmlwdGlvbk9ySW5uZXJSZXN1bHQgPT09IG51bGwgfHwgZXJyb3JEZXNjcmlwdGlvbkNvZGVPckVycm9yRGVzY3JpcHRpb25PcklubmVyUmVzdWx0LmNvbnN0cnVjdG9yID09PSBTdHJpbmcpKVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAwKGVycm9yRGVzY3JpcHRpb25Db2RlT3JFcnJvckRlc2NyaXB0aW9uT3JJbm5lclJlc3VsdCk7XHJcbiAgICBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAxKCk7XHJcbiAgICBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAyKGVycm9yRGVzY3JpcHRpb25Db2RlT3JFcnJvckRlc2NyaXB0aW9uT3JJbm5lclJlc3VsdCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuY29uc3RydWN0b3JfMDMoZXJyb3JEZXNjcmlwdGlvbkNvZGVPckVycm9yRGVzY3JpcHRpb25PcklubmVyUmVzdWx0KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ1RPUlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8wMChlcnJvckRlc2NyaXB0aW9uQ29kZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTtcclxuICAgIHRoaXMuRXJyb3JJZCA9IGVycm9yRGVzY3JpcHRpb25Db2RlO1xyXG4gICAgdGhpcy5lcnJvckRlc2NyaXB0aW9uID0gTGFuZ3VhZ2VEYXRhLkluc3RhbmNlLmdldENvbnN0TWVzc2FnZShlcnJvckRlc2NyaXB0aW9uQ29kZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMDEoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgdGhpcy5FcnJvcklkID0gXCJcIjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ1RPUiB3aXRoIGlubmVyIHJlc3VsdCBhbmQgZGVzY3JpcHRpb25cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMDIoZXJyb3JEZXNjcmlwdGlvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTtcclxuICAgIHRoaXMuZXJyb3JEZXNjcmlwdGlvbiA9IGVycm9yRGVzY3JpcHRpb247XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1IgLSB1c2UgdGhlIGlubmVyIGNvbW1hbmQncyBzdWNjZXNzIGFkIGRlc2NyaXB0aW9uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpbm5lclJlc3VsdFwiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8wMyhpbm5lclJlc3VsdDogUmV0dXJuUmVzdWx0QmFzZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWNjZXNzID0gaW5uZXJSZXN1bHQuU3VjY2VzcztcclxuICAgIHRoaXMuZXJyb3JEZXNjcmlwdGlvbiA9IGlubmVyUmVzdWx0LkVycm9yRGVzY3JpcHRpb247XHJcbiAgfVxyXG5cclxuICBHZXRFcnJvcklkKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5FcnJvcklkO1xyXG4gIH1cclxufVxyXG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmV0dXJuUmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL1JldHVyblJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFLakQsTUFBTSxPQUFPLFlBQWEsU0FBUSxnQkFBZ0I7SUFLaEQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBUUQsWUFBWSxtREFBeUQsRUFBRSxXQUE4QjtRQUNuRyxLQUFLLEVBQUUsQ0FBQztRQW5CRixxQkFBZ0IsR0FBVyxJQUFJLENBQUM7UUFDaEMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQVdqQyxZQUFPLEdBQVcsSUFBSSxDQUFDO1FBUXJCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxtREFBbUQsS0FBSyxJQUFJLElBQUksbURBQW1ELENBQUMsV0FBVyxLQUFLLE1BQU0sQ0FBQztZQUN4SyxJQUFJLENBQUMsY0FBYyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7YUFDdEUsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ25CLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsbURBQW1ELENBQUMsQ0FBQzs7WUFFekUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFLTyxjQUFjLENBQUMsb0JBQTRCO1FBQ2pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsb0JBQW9CLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUtPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUtPLGNBQWMsQ0FBQyxnQkFBd0I7UUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFNTyxjQUFjLENBQUMsV0FBNkI7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7SUFDdkQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7QUFoRU0sNkJBQWdCLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JldHVyblJlc3VsdEJhc2V9IGZyb20gJy4vUmV0dXJuUmVzdWx0QmFzZSc7XHJcbmltcG9ydCB7TGFuZ3VhZ2VEYXRhfSBmcm9tICcuLi9lbnYvTGFuZ3VhZ2VEYXRhJztcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIGNsYXNzIHRvIGJlIHVzZWQgZm9yIHRoZSByZXN1bHQgb2Ygb3BlcmF0aW9ucyAtIGZhaWx1cmUgaW5kaWNhdG9yIGFuZCBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBwcm9ibGVtXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBSZXR1cm5SZXN1bHQgZXh0ZW5kcyBSZXR1cm5SZXN1bHRCYXNlIHtcclxuICBwcml2YXRlIGVycm9yRGVzY3JpcHRpb246IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzdWNjZXNzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc3RhdGljIFN1Y2Nlc3NmdWxSZXN1bHQ6IFJldHVyblJlc3VsdCA9IG5ldyBSZXR1cm5SZXN1bHQoKTtcclxuXHJcbiAgZ2V0IFN1Y2Nlc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdWNjZXNzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IEVycm9yRGVzY3JpcHRpb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVycm9yRGVzY3JpcHRpb247XHJcbiAgfVxyXG5cclxuICBFcnJvcklkOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpO1xyXG4gIGNvbnN0cnVjdG9yKGVycm9yRGVzY3JpcHRpb25Db2RlOiBzdHJpbmcpO1xyXG4gIGNvbnN0cnVjdG9yKGlubmVyUmVzdWx0OiBSZXR1cm5SZXN1bHRCYXNlKTtcclxuICBjb25zdHJ1Y3RvcihlcnJvckRlc2NyaXB0aW9uOiBzdHJpbmcsIGlubmVyUmVzdWx0OiBSZXR1cm5SZXN1bHRCYXNlKTtcclxuICBjb25zdHJ1Y3RvcihlcnJvckRlc2NyaXB0aW9uQ29kZU9yRXJyb3JEZXNjcmlwdGlvbk9ySW5uZXJSZXN1bHQ/OiBhbnksIGlubmVyUmVzdWx0PzogUmV0dXJuUmVzdWx0QmFzZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIChlcnJvckRlc2NyaXB0aW9uQ29kZU9yRXJyb3JEZXNjcmlwdGlvbk9ySW5uZXJSZXN1bHQgPT09IG51bGwgfHwgZXJyb3JEZXNjcmlwdGlvbkNvZGVPckVycm9yRGVzY3JpcHRpb25PcklubmVyUmVzdWx0LmNvbnN0cnVjdG9yID09PSBTdHJpbmcpKVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAwKGVycm9yRGVzY3JpcHRpb25Db2RlT3JFcnJvckRlc2NyaXB0aW9uT3JJbm5lclJlc3VsdCk7XHJcbiAgICBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAxKCk7XHJcbiAgICBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAyKGVycm9yRGVzY3JpcHRpb25Db2RlT3JFcnJvckRlc2NyaXB0aW9uT3JJbm5lclJlc3VsdCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuY29uc3RydWN0b3JfMDMoZXJyb3JEZXNjcmlwdGlvbkNvZGVPckVycm9yRGVzY3JpcHRpb25PcklubmVyUmVzdWx0KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ1RPUlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8wMChlcnJvckRlc2NyaXB0aW9uQ29kZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTtcclxuICAgIHRoaXMuRXJyb3JJZCA9IGVycm9yRGVzY3JpcHRpb25Db2RlO1xyXG4gICAgdGhpcy5lcnJvckRlc2NyaXB0aW9uID0gTGFuZ3VhZ2VEYXRhLkluc3RhbmNlLmdldENvbnN0TWVzc2FnZShlcnJvckRlc2NyaXB0aW9uQ29kZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMDEoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgdGhpcy5FcnJvcklkID0gXCJcIjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ1RPUiB3aXRoIGlubmVyIHJlc3VsdCBhbmQgZGVzY3JpcHRpb25cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMDIoZXJyb3JEZXNjcmlwdGlvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTtcclxuICAgIHRoaXMuZXJyb3JEZXNjcmlwdGlvbiA9IGVycm9yRGVzY3JpcHRpb247XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1IgLSB1c2UgdGhlIGlubmVyIGNvbW1hbmQncyBzdWNjZXNzIGFkIGRlc2NyaXB0aW9uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpbm5lclJlc3VsdFwiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8wMyhpbm5lclJlc3VsdDogUmV0dXJuUmVzdWx0QmFzZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWNjZXNzID0gaW5uZXJSZXN1bHQuU3VjY2VzcztcclxuICAgIHRoaXMuZXJyb3JEZXNjcmlwdGlvbiA9IGlubmVyUmVzdWx0LkVycm9yRGVzY3JpcHRpb247XHJcbiAgfVxyXG5cclxuICBHZXRFcnJvcklkKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5FcnJvcklkO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -38,9 +38,10 @@ export class Scrambler {
38
38
  if (high > (sqrt / 2))
39
39
  high = Math.floor(sqrt / 2);
40
40
  delta = (Math.random() * (high - low)) + low;
41
+ delta = Math.floor(delta);
41
42
  if (delta === Scrambler.XML_ILLEGAL_RANDOM)
42
43
  delta++;
43
- return Math.floor(delta);
44
+ return delta;
44
45
  }
45
46
  static UnScramble(inVal, beginOffSet, endOffSet) {
46
47
  if (!Scrambler.ScramblingEnabled) {
@@ -85,4 +86,4 @@ Scrambler.ScramblingEnabled = true;
85
86
  Scrambler.XML_MIN_RANDOM = -48;
86
87
  Scrambler.XML_MAX_RANDOM = 47;
87
88
  Scrambler.XML_ILLEGAL_RANDOM = -21;
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyYW1ibGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL1NjcmFtYmxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRSxNQUFNLE9BQU8sU0FBUztJQVNwQixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFDekIsT0FBTyxLQUFLLENBQUM7UUFFZixJQUFJLElBQUksR0FBVyxDQUFDLENBQUM7UUFDckIsSUFBSSxPQUFlLENBQUM7UUFDcEIsSUFBSSxNQUFNLEdBQVcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNsQyxJQUFJLE1BQU0sR0FBVyxTQUFTLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksR0FBRyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUN6RCxJQUFJLE1BQU0sR0FBa0IsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRzFELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVoRCxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLElBQUksR0FBRyxDQUFDLENBQUM7WUFFVCxPQUFPLElBQUksR0FBRyxNQUFNLEVBQUU7Z0JBQ3BCLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7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O1lBQ3JFLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQixTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDckMsUUFBUSxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUM7WUFFeEIsS0FBSyxDQUFDLEdBQUcsT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMzQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUNYLE9BQU8sR0FBRyxDQUFDLENBQUM7Z0JBRVosT0FBTyxNQUFNLEdBQUcsTUFBTSxJQUFJLE9BQU8sR0FBRyxNQUFNLEVBQUU7b0JBQzFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDO29CQUN4QyxNQUFNLElBQUksU0FBUyxDQUFDO29CQUNwQixJQUFJLE9BQU8sSUFBSSxRQUFRO3dCQUNyQixNQUFNLEVBQUUsQ0FBQztvQkFDWCxPQUFPLEVBQUUsQ0FBQztvQkFDVixPQUFPLEVBQUUsQ0FBQztpQkFDWDthQUNGO1lBRUQsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQzs7QUFsSU0sMkJBQWlCLEdBQVksSUFBSSxDQUFDO0FBQzFCLHdCQUFjLEdBQVcsQ0FBQyxFQUFFLENBQUM7QUFDN0Isd0JBQWMsR0FBVyxFQUFFLENBQUM7QUFDNUIsNEJBQWtCLEdBQVcsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05DaGFyLCBOU3RyaW5nLCBTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTY3JhbWJsZXIge1xyXG4gIHN0YXRpYyBTY3JhbWJsaW5nRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7IC8vIERpc2FibGUgc2NyYW1ibGluZ1xyXG4gIHByaXZhdGUgc3RhdGljIFhNTF9NSU5fUkFORE9NOiBudW1iZXIgPSAtNDg7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgWE1MX01BWF9SQU5ET006IG51bWJlciA9IDQ3O1xyXG4gIHByaXZhdGUgc3RhdGljIFhNTF9JTExFR0FMX1JBTkRPTTogbnVtYmVyID0gLTIxO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+c2NyYW1ibGUgc3RyaW5nPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImluVmFsXCI+c3RyaW5nIHRvIHNjcmFtYmxlPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHNjcmFtYmxlZCBzdHJpbmc8L3JldHVybnM+XHJcbiAgc3RhdGljIFNjcmFtYmxlKGluVmFsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLlNjcmFtYmxpbmdFbmFibGVkKVxyXG4gICAgICByZXR1cm4gaW5WYWw7XHJcblxyXG4gICAgbGV0IGN1cnI6IG51bWJlciA9IDA7XHJcbiAgICBsZXQgY3VyckNocjogc3RyaW5nO1xyXG4gICAgbGV0IGxlbmd0aDogbnVtYmVyID0gaW5WYWwubGVuZ3RoO1xyXG4gICAgbGV0IHJhbmRvbTogbnVtYmVyID0gU2NyYW1ibGVyLlJhbmRvbVNjcmFtYmxlKGxlbmd0aCk7XHJcbiAgICBsZXQga2V5OiBudW1iZXIgPSBNYXRoLmZsb29yKE1hdGguc3FydChsZW5ndGgpKSArIHJhbmRvbTtcclxuICAgIGxldCBvdXRWYWw6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcihsZW5ndGggKyAxKTtcclxuXHJcbiAgICAvLyBUaGUgZmlyc3QgY2hhciBpbiB0aGUgc2NyYW1ibGVkIHN0cmluZyBpcyBhIHJhbmRvbSBtb2RpZmllciB0byB0aGUgZGVmYXVsdCBrZXlcclxuICAgIG91dFZhbC5BcHBlbmQoU3RyaW5nLmZyb21DaGFyQ29kZShyYW5kb20gKyA4MSkpO1xyXG5cclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBrZXk7IGkrKykge1xyXG4gICAgICBjdXJyID0gaTtcclxuXHJcbiAgICAgIHdoaWxlIChjdXJyIDwgbGVuZ3RoKSB7XHJcbiAgICAgICAgY3VyckNociA9IGluVmFsW2N1cnJdO1xyXG4gICAgICAgIG91dFZhbC5BcHBlbmQoY3VyckNocik7XHJcbiAgICAgICAgY3VyciArPSBrZXk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUaGUgbGFzdCBjaGFyIGluIHRoZSBzY3JhbWJsZWQgc3RyaW5nIGlzIGEgcGFkZGluZyByZWFkYWJsZSBjaGFyLlxyXG4gICAgb3V0VmFsLkFwcGVuZCgnXycpLyonXycqLztcclxuICAgIHJldHVybiBvdXRWYWwuVG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5kZWxldGUgZmlyc3QgY2hhcmFjdGVyIG9mIHNjcmFtYmxlZCB0ZXh0IGFuZCBtYWtlcyBsZWZ0IHRyaW0gdG8gdGhlIHN0cmluZzwvc3VtbWFyeT5cclxuICBwcml2YXRlIHN0YXRpYyBMb2NhdGVTY3JhbWJsZShpblZhbDogc3RyaW5nLCBmcm9tOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgbGV0IGk6IG51bWJlciA9IGZyb207XHJcbiAgICB3aGlsZSAoaSA8IGluVmFsLmxlbmd0aCAmJiBOQ2hhci5Jc1doaXRlU3BhY2UoaW5WYWwuY2hhckF0KGkpKSkge1xyXG4gICAgICBpID0gaSArIDE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaSArIDE7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IENob29zZSBhIHJhbmRvbSBtb2RpZmllciB0byB0aGUga2V5IG9uIHdoaWNoIHdlIGJhc2UgdGhlIHNjcmFtYmxpbmcgcHJvY2Vzcy5cclxuICAvLy8gVGhlIHJhbmRvbSBmYWN0b3IgY2Fubm90IGJlIGp1c3QgYW55IG51bWJlciB3ZSBjaG9vc2UuIFNpbmNlIHRoZSBzY3JhbWJsZSBrZXlcclxuICAvLy8gZGV0ZXJtaW5lcyB0aGUgYW1vdW50IG9mICdqdW1wcycgd2UgcGVyZm9ybSBvbiB0aGUgdGV4dCB0byBiZSBzY3JhbWJsZWQsIHRoZW5cclxuICAvLy8gdGhlIHJhbmRvbSBudW1iZXIgd2UgYWRkIHRvIGl0IG11c3Qgbm90IGJlIHRvbyBiaWcsIG5vciB0b28gc21hbGwuIEFzIGEgcnVsZSxcclxuICAvLy8gdGhlIHJhbmRvbSBtb2RpZmllciBjYW4gcmFuZ2UgZnJvbSBTUVJUKGxlbikvMicgdG8gJy1TUVJUKGxlbikvMicsIGFuZCBzaW5jZSB3ZVxyXG4gIC8vLyBwYXNzIHRoZSBzZWxlY3RlZCBudW1iZXIgYXMgYSBjaGFyYWN0ZXIgd2l0aGluIHRoZSBYTUwsIHRoZSB3aG9sZSByYW5nZSBjYW5ub3RcclxuICAvLy8gZXhjZWVkIHRoZSBudW1iZXIgb2YgdGhlIHByaW50YWJsZSBjaGFyYWN0ZXJzICg5NSksIHRodXMgdGhlIHJhbmdlIGlzIGxpbWl0ZWRcclxuICAvLy8gYmV0d2VlbiAoLTQ4KSB0byAoNDcpLCBzbyB3ZSBjYXAgdGhlIGFsbG93ZWQgcmFuZ2UgYWNjb3JkaW5nIHRvIHRoZXNlIGxpbWl0cy5cclxuICAvLy8gTGFzdCwgdGhlIHZhbHVlIFhNTF9JTExFR0FMX1JBTkRPTSwgc2luY2UgaXQgd2lsbCByZXN1bHQgaW4gYWRkaW5nIHRoZSBjaGFyICc8J1xyXG4gIC8vLyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBYTUwuIFRoaXMgd2lsbCBtYWtlIHRoZSBjbGllbnQgY29uZnVzZWQsIHNpbmNlIGl0IHdpbGxcclxuICAvLy8gdGhpbmsgdGhlIFhNTCBpcyBub3Qgc2NyYW1ibGVkLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibGVuXCI+b2Ygb3V0Z29pbmcgU3RyaW5nPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHJhbmRvbSBtb2RpZmllcjwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBSYW5kb21TY3JhbWJsZShsZW46IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBsZXQgZGVsdGE6IG51bWJlcjtcclxuICAgIGxldCBzcXJ0OiBudW1iZXIgPSBNYXRoLnNxcnQobGVuKTtcclxuICAgIGxldCBsb3c6IG51bWJlciA9IFNjcmFtYmxlci5YTUxfTUlOX1JBTkRPTTtcclxuICAgIGxldCBoaWdoOiBudW1iZXIgPSBTY3JhbWJsZXIuWE1MX01BWF9SQU5ET007XHJcblxyXG4gICAgaWYgKGxvdyA8ICgoKC0xKSAqIHNxcnQpIC8gMikpXHJcbiAgICAgIGxvdyA9IE1hdGguZmxvb3IoKCgtMSkgKiBzcXJ0KSAvIDIpO1xyXG5cclxuICAgIGlmIChoaWdoID4gKHNxcnQgLyAyKSlcclxuICAgICAgaGlnaCA9IE1hdGguZmxvb3Ioc3FydCAvIDIpO1xyXG5cclxuICAgIGRlbHRhID0gKE1hdGgucmFuZG9tKCkgKiAoaGlnaCAtIGxvdykpICsgbG93O1xyXG4gICAgaWYgKGRlbHRhID09PSBTY3JhbWJsZXIuWE1MX0lMTEVHQUxfUkFORE9NKVxyXG4gICAgICBkZWx0YSsrO1xyXG5cclxuICAgIHJldHVybiBNYXRoLmZsb29yKGRlbHRhKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5tYWtlIHVuc2NyYW1ibGluZyB0byBzdHJpbmcgaW5zaWRlIHVwcGVyIGFuZCBkb3duIGJvcmRlcjwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpblZhbFwiPnNjcmFtYmxlZCBzdHJpbmcgdG8gYnVpbGQgdW5zY3JhbWJsZWQgc3RyaW5nIGZyb20gaXQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImJlZ2luT2ZmU2V0XCI+b2Zmc2V0IHdoZXJlIHRoZSBzY3JhbWJsZWQgc3RyaW5nIGJlZ2luczwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZW5kT2ZmU2V0XCI+b2Zmc2V0IG9mIHRoZSBsYXN0IGNoYXIgaW4gdGhlIHNjcmFtYmxlZCBzdHJpbmcuPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHVuc2NyYW1ibGVkIHN0cmluZzwvcmV0dXJucz5cclxuICBzdGF0aWMgVW5TY3JhbWJsZShpblZhbDogc3RyaW5nLCBiZWdpbk9mZlNldDogbnVtYmVyLCBlbmRPZmZTZXQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAoIVNjcmFtYmxlci5TY3JhbWJsaW5nRW5hYmxlZCkge1xyXG4gICAgICBsZXQgb3V0VmFsOiBzdHJpbmcgPSBpblZhbC5zdWJzdHIoYmVnaW5PZmZTZXQsIGVuZE9mZlNldCAtIGJlZ2luT2ZmU2V0ICsgMSk7XHJcbiAgICAgIHJldHVybiBvdXRWYWw7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IGN1cnJPdXQ6IG51bWJlciwgY3VyckluOiBudW1iZXIsIGk6IG51bWJlcjtcclxuICAgICAgbGV0IGxlbmd0aDogbnVtYmVyO1xyXG4gICAgICBsZXQga2V5OiBudW1iZXI7XHJcbiAgICAgIGxldCBvdXRWYWw6IHN0cmluZ1tdO1xyXG4gICAgICBsZXQgY3VyckJsazogbnVtYmVyO1xyXG4gICAgICBsZXQgYmxvY2tTaXplOiBudW1iZXI7XHJcbiAgICAgIGxldCByZW1pbmRlcjogbnVtYmVyO1xyXG4gICAgICBsZXQgc3RhcnQ6IG51bWJlcjtcclxuICAgICAgbGV0IHJhbmRvbUNocjogc3RyaW5nO1xyXG5cclxuICAgICAgLy8gaWdub3JlIHRoZSBsYXN0IGNoYXIgaW4gdGhlIGlucHV0LCBpdCdzIGp1c3QgYSBwYWRkaW5nIGNoYXJhY3Rlci5cclxuICAgICAgZW5kT2ZmU2V0ID0gZW5kT2ZmU2V0IC0gMTtcclxuXHJcbiAgICAgIC8vIHNraXAgb3ZlciB0aGUgZmlyc3QgY2hhciBpbiB0aGUgaW5wdXQsIGl0IG9ubHkgY29udGFpbnMgYSByYW5kb20gbW9kaWZpZXIgdG8gdGhlIGtleS5cclxuICAgICAgLy8gaXQgaXMgbm90IHBhcnQgb2YgdGhlIGRhdGEuXHJcbiAgICAgIHN0YXJ0ID0gdGhpcy5Mb2NhdGVTY3JhbWJsZShpblZhbCwgYmVnaW5PZmZTZXQpO1xyXG4gICAgICByYW5kb21DaHIgPSBpblZhbFtzdGFydCAtIDFdO1xyXG5cclxuICAgICAgbGVuZ3RoID0gZW5kT2ZmU2V0IC0gc3RhcnQgKyAxO1xyXG4gICAgICBrZXkgPSAocmFuZG9tQ2hyLmNoYXJDb2RlQXQoMCkgLSA4MSkgKyBNYXRoLmZsb29yKE1hdGguc3FydChsZW5ndGgpKTtcclxuICAgICAgb3V0VmFsID0gbmV3IEFycmF5KGxlbmd0aCk7XHJcbiAgICAgIGJsb2NrU2l6ZSA9IE1hdGguZmxvb3IobGVuZ3RoIC8ga2V5KTtcclxuICAgICAgcmVtaW5kZXIgPSBsZW5ndGggJSBrZXk7XHJcblxyXG4gICAgICBmb3IgKGkgPSBjdXJyT3V0ID0gMDsgY3Vyck91dCA8IGxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgY3VyckluID0gaTtcclxuICAgICAgICBjdXJyQmxrID0gMTtcclxuXHJcbiAgICAgICAgd2hpbGUgKGN1cnJJbiA8IGxlbmd0aCAmJiBjdXJyT3V0IDwgbGVuZ3RoKSB7XHJcbiAgICAgICAgICBvdXRWYWxbY3Vyck91dF0gPSBpblZhbFtjdXJySW4gKyBzdGFydF07XHJcbiAgICAgICAgICBjdXJySW4gKz0gYmxvY2tTaXplO1xyXG4gICAgICAgICAgaWYgKGN1cnJCbGsgPD0gcmVtaW5kZXIpXHJcbiAgICAgICAgICAgIGN1cnJJbisrO1xyXG4gICAgICAgICAgY3Vyck91dCsrO1xyXG4gICAgICAgICAgY3VyckJsaysrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIE5TdHJpbmcuRnJvbUNoYXJzKG91dFZhbCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyYW1ibGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL1NjcmFtYmxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRSxNQUFNLE9BQU8sU0FBUztJQVNwQixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFDekIsT0FBTyxLQUFLLENBQUM7UUFFZixJQUFJLElBQUksR0FBVyxDQUFDLENBQUM7UUFDckIsSUFBSSxPQUFlLENBQUM7UUFDcEIsSUFBSSxNQUFNLEdBQVcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNsQyxJQUFJLE1BQU0sR0FBVyxTQUFTLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksR0FBRyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUN6RCxJQUFJLE1BQU0sR0FBa0IsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRzFELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVoRCxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLElBQUksR0FBRyxDQUFDLENBQUM7WUFFVCxPQUFPLElBQUksR0FBRyxNQUFNLEVBQUU7Z0JBQ3BCLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7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LENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNyRSxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0IsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLFFBQVEsR0FBRyxNQUFNLEdBQUcsR0FBRyxDQUFDO1lBRXhCLEtBQUssQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0MsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDWCxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUVaLE9BQU8sTUFBTSxHQUFHLE1BQU0sSUFBSSxPQUFPLEdBQUcsTUFBTSxFQUFFO29CQUMxQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQztvQkFDeEMsTUFBTSxJQUFJLFNBQVMsQ0FBQztvQkFDcEIsSUFBSSxPQUFPLElBQUksUUFBUTt3QkFDckIsTUFBTSxFQUFFLENBQUM7b0JBQ1gsT0FBTyxFQUFFLENBQUM7b0JBQ1YsT0FBTyxFQUFFLENBQUM7aUJBQ1g7YUFDRjtZQUVELE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7O0FBbklNLDJCQUFpQixHQUFZLElBQUksQ0FBQztBQUMxQix3QkFBYyxHQUFXLENBQUMsRUFBRSxDQUFDO0FBQzdCLHdCQUFjLEdBQVcsRUFBRSxDQUFDO0FBQzVCLDRCQUFrQixHQUFXLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOQ2hhciwgTlN0cmluZywgU3RyaW5nQnVpbGRlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU2NyYW1ibGVyIHtcclxuICBzdGF0aWMgU2NyYW1ibGluZ0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlOyAvLyBEaXNhYmxlIHNjcmFtYmxpbmdcclxuICBwcml2YXRlIHN0YXRpYyBYTUxfTUlOX1JBTkRPTTogbnVtYmVyID0gLTQ4O1xyXG4gIHByaXZhdGUgc3RhdGljIFhNTF9NQVhfUkFORE9NOiBudW1iZXIgPSA0NztcclxuICBwcml2YXRlIHN0YXRpYyBYTUxfSUxMRUdBTF9SQU5ET006IG51bWJlciA9IC0yMTtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnNjcmFtYmxlIHN0cmluZzwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpblZhbFwiPnN0cmluZyB0byBzY3JhbWJsZTwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiBzY3JhbWJsZWQgc3RyaW5nPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBTY3JhbWJsZShpblZhbDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5TY3JhbWJsaW5nRW5hYmxlZClcclxuICAgICAgcmV0dXJuIGluVmFsO1xyXG5cclxuICAgIGxldCBjdXJyOiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IGN1cnJDaHI6IHN0cmluZztcclxuICAgIGxldCBsZW5ndGg6IG51bWJlciA9IGluVmFsLmxlbmd0aDtcclxuICAgIGxldCByYW5kb206IG51bWJlciA9IFNjcmFtYmxlci5SYW5kb21TY3JhbWJsZShsZW5ndGgpO1xyXG4gICAgbGV0IGtleTogbnVtYmVyID0gTWF0aC5mbG9vcihNYXRoLnNxcnQobGVuZ3RoKSkgKyByYW5kb207XHJcbiAgICBsZXQgb3V0VmFsOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIobGVuZ3RoICsgMSk7XHJcblxyXG4gICAgLy8gVGhlIGZpcnN0IGNoYXIgaW4gdGhlIHNjcmFtYmxlZCBzdHJpbmcgaXMgYSByYW5kb20gbW9kaWZpZXIgdG8gdGhlIGRlZmF1bHQga2V5XHJcbiAgICBvdXRWYWwuQXBwZW5kKFN0cmluZy5mcm9tQ2hhckNvZGUocmFuZG9tICsgODEpKTtcclxuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwga2V5OyBpKyspIHtcclxuICAgICAgY3VyciA9IGk7XHJcblxyXG4gICAgICB3aGlsZSAoY3VyciA8IGxlbmd0aCkge1xyXG4gICAgICAgIGN1cnJDaHIgPSBpblZhbFtjdXJyXTtcclxuICAgICAgICBvdXRWYWwuQXBwZW5kKGN1cnJDaHIpO1xyXG4gICAgICAgIGN1cnIgKz0ga2V5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhlIGxhc3QgY2hhciBpbiB0aGUgc2NyYW1ibGVkIHN0cmluZyBpcyBhIHBhZGRpbmcgcmVhZGFibGUgY2hhci5cclxuICAgIG91dFZhbC5BcHBlbmQoJ18nKS8qJ18nKi87XHJcbiAgICByZXR1cm4gb3V0VmFsLlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+ZGVsZXRlIGZpcnN0IGNoYXJhY3RlciBvZiBzY3JhbWJsZWQgdGV4dCBhbmQgbWFrZXMgbGVmdCB0cmltIHRvIHRoZSBzdHJpbmc8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgTG9jYXRlU2NyYW1ibGUoaW5WYWw6IHN0cmluZywgZnJvbTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGxldCBpOiBudW1iZXIgPSBmcm9tO1xyXG4gICAgd2hpbGUgKGkgPCBpblZhbC5sZW5ndGggJiYgTkNoYXIuSXNXaGl0ZVNwYWNlKGluVmFsLmNoYXJBdChpKSkpIHtcclxuICAgICAgaSA9IGkgKyAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGkgKyAxO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBDaG9vc2UgYSByYW5kb20gbW9kaWZpZXIgdG8gdGhlIGtleSBvbiB3aGljaCB3ZSBiYXNlIHRoZSBzY3JhbWJsaW5nIHByb2Nlc3MuXHJcbiAgLy8vIFRoZSByYW5kb20gZmFjdG9yIGNhbm5vdCBiZSBqdXN0IGFueSBudW1iZXIgd2UgY2hvb3NlLiBTaW5jZSB0aGUgc2NyYW1ibGUga2V5XHJcbiAgLy8vIGRldGVybWluZXMgdGhlIGFtb3VudCBvZiAnanVtcHMnIHdlIHBlcmZvcm0gb24gdGhlIHRleHQgdG8gYmUgc2NyYW1ibGVkLCB0aGVuXHJcbiAgLy8vIHRoZSByYW5kb20gbnVtYmVyIHdlIGFkZCB0byBpdCBtdXN0IG5vdCBiZSB0b28gYmlnLCBub3IgdG9vIHNtYWxsLiBBcyBhIHJ1bGUsXHJcbiAgLy8vIHRoZSByYW5kb20gbW9kaWZpZXIgY2FuIHJhbmdlIGZyb20gU1FSVChsZW4pLzInIHRvICctU1FSVChsZW4pLzInLCBhbmQgc2luY2Ugd2VcclxuICAvLy8gcGFzcyB0aGUgc2VsZWN0ZWQgbnVtYmVyIGFzIGEgY2hhcmFjdGVyIHdpdGhpbiB0aGUgWE1MLCB0aGUgd2hvbGUgcmFuZ2UgY2Fubm90XHJcbiAgLy8vIGV4Y2VlZCB0aGUgbnVtYmVyIG9mIHRoZSBwcmludGFibGUgY2hhcmFjdGVycyAoOTUpLCB0aHVzIHRoZSByYW5nZSBpcyBsaW1pdGVkXHJcbiAgLy8vIGJldHdlZW4gKC00OCkgdG8gKDQ3KSwgc28gd2UgY2FwIHRoZSBhbGxvd2VkIHJhbmdlIGFjY29yZGluZyB0byB0aGVzZSBsaW1pdHMuXHJcbiAgLy8vIExhc3QsIHRoZSB2YWx1ZSBYTUxfSUxMRUdBTF9SQU5ET00sIHNpbmNlIGl0IHdpbGwgcmVzdWx0IGluIGFkZGluZyB0aGUgY2hhciAnPCdcclxuICAvLy8gdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgWE1MLiBUaGlzIHdpbGwgbWFrZSB0aGUgY2xpZW50IGNvbmZ1c2VkLCBzaW5jZSBpdCB3aWxsXHJcbiAgLy8vIHRoaW5rIHRoZSBYTUwgaXMgbm90IHNjcmFtYmxlZC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImxlblwiPm9mIG91dGdvaW5nIFN0cmluZzwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiByYW5kb20gbW9kaWZpZXI8L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgUmFuZG9tU2NyYW1ibGUobGVuOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgbGV0IGRlbHRhOiBudW1iZXI7XHJcbiAgICBsZXQgc3FydDogbnVtYmVyID0gTWF0aC5zcXJ0KGxlbik7XHJcbiAgICBsZXQgbG93OiBudW1iZXIgPSBTY3JhbWJsZXIuWE1MX01JTl9SQU5ET007XHJcbiAgICBsZXQgaGlnaDogbnVtYmVyID0gU2NyYW1ibGVyLlhNTF9NQVhfUkFORE9NO1xyXG5cclxuICAgIGlmIChsb3cgPCAoKCgtMSkgKiBzcXJ0KSAvIDIpKVxyXG4gICAgICBsb3cgPSBNYXRoLmZsb29yKCgoLTEpICogc3FydCkgLyAyKTtcclxuXHJcbiAgICBpZiAoaGlnaCA+IChzcXJ0IC8gMikpXHJcbiAgICAgIGhpZ2ggPSBNYXRoLmZsb29yKHNxcnQgLyAyKTtcclxuXHJcbiAgICBkZWx0YSA9IChNYXRoLnJhbmRvbSgpICogKGhpZ2ggLSBsb3cpKSArIGxvdztcclxuICAgIGRlbHRhID0gTWF0aC5mbG9vcihkZWx0YSk7XHJcbiAgICBpZiAoZGVsdGEgPT09IFNjcmFtYmxlci5YTUxfSUxMRUdBTF9SQU5ET00pXHJcbiAgICAgIGRlbHRhKys7XHJcblxyXG4gICAgcmV0dXJuIGRlbHRhO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5Pm1ha2UgdW5zY3JhbWJsaW5nIHRvIHN0cmluZyBpbnNpZGUgdXBwZXIgYW5kIGRvd24gYm9yZGVyPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImluVmFsXCI+c2NyYW1ibGVkIHN0cmluZyB0byBidWlsZCB1bnNjcmFtYmxlZCBzdHJpbmcgZnJvbSBpdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiYmVnaW5PZmZTZXRcIj5vZmZzZXQgd2hlcmUgdGhlIHNjcmFtYmxlZCBzdHJpbmcgYmVnaW5zPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJlbmRPZmZTZXRcIj5vZmZzZXQgb2YgdGhlIGxhc3QgY2hhciBpbiB0aGUgc2NyYW1ibGVkIHN0cmluZy48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdW5zY3JhbWJsZWQgc3RyaW5nPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBVblNjcmFtYmxlKGluVmFsOiBzdHJpbmcsIGJlZ2luT2ZmU2V0OiBudW1iZXIsIGVuZE9mZlNldDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmICghU2NyYW1ibGVyLlNjcmFtYmxpbmdFbmFibGVkKSB7XHJcbiAgICAgIGxldCBvdXRWYWw6IHN0cmluZyA9IGluVmFsLnN1YnN0cihiZWdpbk9mZlNldCwgZW5kT2ZmU2V0IC0gYmVnaW5PZmZTZXQgKyAxKTtcclxuICAgICAgcmV0dXJuIG91dFZhbDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBsZXQgY3Vyck91dDogbnVtYmVyLCBjdXJySW46IG51bWJlciwgaTogbnVtYmVyO1xyXG4gICAgICBsZXQgbGVuZ3RoOiBudW1iZXI7XHJcbiAgICAgIGxldCBrZXk6IG51bWJlcjtcclxuICAgICAgbGV0IG91dFZhbDogc3RyaW5nW107XHJcbiAgICAgIGxldCBjdXJyQmxrOiBudW1iZXI7XHJcbiAgICAgIGxldCBibG9ja1NpemU6IG51bWJlcjtcclxuICAgICAgbGV0IHJlbWluZGVyOiBudW1iZXI7XHJcbiAgICAgIGxldCBzdGFydDogbnVtYmVyO1xyXG4gICAgICBsZXQgcmFuZG9tQ2hyOiBzdHJpbmc7XHJcblxyXG4gICAgICAvLyBpZ25vcmUgdGhlIGxhc3QgY2hhciBpbiB0aGUgaW5wdXQsIGl0J3MganVzdCBhIHBhZGRpbmcgY2hhcmFjdGVyLlxyXG4gICAgICBlbmRPZmZTZXQgPSBlbmRPZmZTZXQgLSAxO1xyXG5cclxuICAgICAgLy8gc2tpcCBvdmVyIHRoZSBmaXJzdCBjaGFyIGluIHRoZSBpbnB1dCwgaXQgb25seSBjb250YWlucyBhIHJhbmRvbSBtb2RpZmllciB0byB0aGUga2V5LlxyXG4gICAgICAvLyBpdCBpcyBub3QgcGFydCBvZiB0aGUgZGF0YS5cclxuICAgICAgc3RhcnQgPSB0aGlzLkxvY2F0ZVNjcmFtYmxlKGluVmFsLCBiZWdpbk9mZlNldCk7XHJcbiAgICAgIHJhbmRvbUNociA9IGluVmFsW3N0YXJ0IC0gMV07XHJcblxyXG4gICAgICBsZW5ndGggPSBlbmRPZmZTZXQgLSBzdGFydCArIDE7XHJcbiAgICAgIGtleSA9IChyYW5kb21DaHIuY2hhckNvZGVBdCgwKSAtIDgxKSArIE1hdGguZmxvb3IoTWF0aC5zcXJ0KGxlbmd0aCkpO1xyXG4gICAgICBvdXRWYWwgPSBuZXcgQXJyYXkobGVuZ3RoKTtcclxuICAgICAgYmxvY2tTaXplID0gTWF0aC5mbG9vcihsZW5ndGggLyBrZXkpO1xyXG4gICAgICByZW1pbmRlciA9IGxlbmd0aCAlIGtleTtcclxuXHJcbiAgICAgIGZvciAoaSA9IGN1cnJPdXQgPSAwOyBjdXJyT3V0IDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjdXJySW4gPSBpO1xyXG4gICAgICAgIGN1cnJCbGsgPSAxO1xyXG5cclxuICAgICAgICB3aGlsZSAoY3VyckluIDwgbGVuZ3RoICYmIGN1cnJPdXQgPCBsZW5ndGgpIHtcclxuICAgICAgICAgIG91dFZhbFtjdXJyT3V0XSA9IGluVmFsW2N1cnJJbiArIHN0YXJ0XTtcclxuICAgICAgICAgIGN1cnJJbiArPSBibG9ja1NpemU7XHJcbiAgICAgICAgICBpZiAoY3VyckJsayA8PSByZW1pbmRlcilcclxuICAgICAgICAgICAgY3VyckluKys7XHJcbiAgICAgICAgICBjdXJyT3V0Kys7XHJcbiAgICAgICAgICBjdXJyQmxrKys7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gTlN0cmluZy5Gcm9tQ2hhcnMob3V0VmFsKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -81,7 +81,7 @@ export class CookieService {
81
81
  var cookie = cookies[i];
82
82
  var eqPos = cookie.indexOf('=');
83
83
  var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
84
- if (cookieName === decodeURI(name)) {
84
+ if (cookieName === NString.TrimStart(decodeURI(name))) {
85
85
  document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';
86
86
  return true;
87
87
  }
@@ -89,4 +89,4 @@ export class CookieService {
89
89
  return false;
90
90
  }
91
91
  }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3V0aWwvY29va2llLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxhQUFhO0lBRWpCLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBa0I7UUFFekMsSUFBSSxVQUFVLElBQUksR0FBRztZQUNuQixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFFekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsT0FBdUIsRUFBRSxJQUFLLEVBQUUsTUFBUSxFQUFFLE1BQU8sRUFBRSxRQUFTO1FBQy9HLElBQUksWUFBWSxHQUFXLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3pILElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7Z0JBQy9CLE1BQU0sV0FBVyxHQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUU1QyxZQUFZLElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUM7YUFDOUQ7aUJBQ0ksSUFBRyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxFQUNyQztnQkFDRSxNQUFNLFdBQVcsR0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFNUMsWUFBWSxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLEdBQUcs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YSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzdFLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7U0FDRjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVTtRQUM1QixJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV6QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxJQUFJLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDekQsSUFBSSxVQUFVLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNsQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyx5Q0FBeUMsQ0FBQztnQkFDbkUsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOU3RyaW5nIH0gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xuXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZSB7XG5cbiAgcHVibGljIHN0YXRpYyBnZXRDb29raWVzKGNvb2tpZU5hbWU6IHN0cmluZykge1xuXG4gICAgaWYgKGNvb2tpZU5hbWUgPT0gJyonKVxuICAgICAgcmV0dXJuIGRvY3VtZW50LmNvb2tpZTtcblxuICAgIHJldHVybiB0aGlzLmdldENvb2tpZShjb29raWVOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2V0Q29va2llKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZXhwaXJlcz86IG51bWJlciB8IERhdGUsIHBhdGg/LCBkb21haW4gPywgc2VjdXJlPywgc2FtZVNpdGU/KTogYm9vbGVhbiB7XG4gICAgbGV0IGNvb2tpZVN0cmluZzogc3RyaW5nID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KENvb2tpZVNlcnZpY2UuZW5jb2RlX2Nvb2tpZSh2YWx1ZSkpICsgJzsnO1xuICAgIGlmIChleHBpcmVzKSB7XG4gICAgICBpZiAodHlwZW9mIGV4cGlyZXMgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGNvbnN0IGRhdGVFeHBpcmVzOiBEYXRlID0gbmV3IERhdGUoZXhwaXJlcyk7XG5cbiAgICAgICAgY29va2llU3RyaW5nICs9ICdleHBpcmVzPScgKyBkYXRlRXhwaXJlcy50b1VUQ1N0cmluZygpICsgJzsnO1xuICAgICAgfVxuICAgICAgZWxzZSBpZigodHlwZW9mIGV4cGlyZXMgPT09ICdzdHJpbmcnKSlcbiAgICAgIHtcbiAgICAgICAgY29uc3QgZGF0ZUV4cGlyZXM6IERhdGUgPSBuZXcgRGF0ZShleHBpcmVzKTtcblxuICAgICAgICBjb29raWVTdHJpbmcgKz0gJ2V4cGlyZXM9JyArIGRhdGVFeHBpcmVzLnRvVVRDU3RyaW5nKCkgKyAnOyc7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgY29va2llU3RyaW5nICs9ICdleHBpcmVzPScgKyBleHBpcmVzLnRvVVRDU3RyaW5nKCkgKyAnOyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhdGgpIHtcbiAgICAgIGNvb2tpZVN0cmluZyArPSAncGF0aD0nICsgcGF0aCArICc7JztcbiAgICB9XG5cbiAgICBpZiAoZG9tYWluKSB7XG4gICAgICBjb29raWVTdHJpbmcgKz0gJ2RvbWFpbj0nICsgZG9tYWluICsgJzsnO1xuICAgIH1cblxuICAgIGlmIChzZWN1cmUgPT09IGZhbHNlICYmIHNhbWVTaXRlID09PSAnTm9uZScpIHtcbiAgICAgIHNlY3VyZSA9IHRydWU7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBjb29raWUgJHtuYW1lfSB3YXMgZm9yY2VkIHdpdGggc2VjdXJlIGZsYWcgYmVjYXVzZSBzYW1lU2l0ZT1Ob25lLmBcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChzZWN1cmUpIHtcbiAgICAgIGNvb2tpZVN0cmluZyArPSAnc2VjdXJlOyc7XG4gICAgfVxuXG4gICAgaWYgKCFzYW1lU2l0ZSkge1xuICAgICAgc2FtZVNpdGUgPSAnTGF4JztcbiAgICB9XG5cbiAgICBjb29raWVTdHJpbmcgKz0gJ3NhbWVTaXRlPScgKyBzYW1lU2l0ZSArICc7JztcblxuICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZVN0cmluZztcblxuICAgIHJldHVybiB0aGlzLmdldENvb2tpZShuYW1lKTtcbiAgfVxuXG4gIHN0YXRpYyBlbmNvZGVfY29va2llKGNvb2tpZV92YWx1ZSkge1xuXG4gICAgY29va2llX3ZhbHVlID0gY29va2llX3ZhbHVlLnRyaW0oKTtcbiAgICAvL1RoaXMgdmFyaWFibGUgaG9sZHMgdGhlIGVuY29kZWQgY29va2llIGNoYXJhY3RlcnNcbiAgICB2YXIgY29kZWRfc3RyaW5nID0gJyc7XG5cbiAgICAvLyBSdW4gdGhyb3VnaCBlYWNoIGNoYXJhY3RlciBpbiB0aGUgY29va2llIHZhbHVlXG4gICAgZm9yICh2YXIgY291bnRlciA9IDA7IGNvdW50ZXIgPCBjb29raWVfdmFsdWUubGVuZ3RoOyBjb3VudGVyKyspIHtcblxuICAgICAgLy8gQWRkIHRoZSBjaGFyYWN0ZXIncyBudW1lcmljIGNvZGUgdG8gdGhlIHN0cmluZ1xuICAgICAgY29kZWRfc3RyaW5nICs9IGNvb2tpZV92YWx1ZS5jaGFyQ29kZUF0KGNvdW50ZXIpO1xuXG4gICAgICAvLyBTZXBhcmF0ZSBlYWNoIGNvZGUgd2l0aCBhIHBsdXMgc2lnbiAoKylcbiAgICAgIGlmIChjb3VudGVyIDwgY29va2llX3ZhbHVlLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgY29kZWRfc3RyaW5nICs9ICcrJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvZGVkX3N0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBkZWNvZGVfY29va2llKGNvZGVkX3N0cmluZykge1xuICAgIC8vIFRoaXMgdmFyaWFibGUgaG9sZHMgdGhlIGRlY29kZWQgY29va2llIHZhbHVlXG4gICAgdmFyIGNvb2tpZV92YWx1ZSA9ICcnO1xuXG4gICAgLy8gVXNlICsgdG8gc3BsaXQgdGhlIGNvZGVkIHN0cmluZyBpbnRvIGFuIGFycmF5XG4gICAgdmFyIGNvZGVfYXJyYXkgPSBjb2RlZF9zdHJpbmcuc3BsaXQoJysnKTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYXJyYXlcbiAgICBmb3IgKHZhciBjb3VudGVyID0gMDsgY291bnRlciA8IGNvZGVfYXJyYXkubGVuZ3RoOyBjb3VudGVyKyspIHtcblxuICAgICAgLy8gQ29udmVydCB0aGUgY29kZSBpbnRvIGEgY2hhcmFjdGVyIGFuZFxuICAgICAgLy8gYWRkIGl0IHRvIHRoZSBjb29raWUgdmFsdWUgc3RyaW5nXG4gICAgICBjb29raWVfdmFsdWUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlX2FycmF5W2NvdW50ZXJdKTtcbiAgICB9XG4gICAgLy8gcmV0dXJuIGNvZGVkX3N0cmluZztcblxuICAgIHJldHVybiBjb29raWVfdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29va2llKGNvb2tpZU5hbWUpOiBhbnkge1xuICAgIGxldCBuYW1lID0gTlN0cmluZy5UcmltU3RhcnQoY29va2llTmFtZSArICc9Jyk7XG4gICAgbGV0IGRlY29kZWRDb29raWUgPSBkZWNvZGVVUklDb21wb25lbnQoZG9jdW1lbnQuY29va2llKTtcbiAgICBsZXQgY2EgPSBkZWNvZGVkQ29va2llLnNwbGl0KCc7Jyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYS5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGMgPSBjYVtpXTtcbiAgICAgIHdoaWxlIChjLmNoYXJBdCgwKSA9PSAnICcpIHtcbiAgICAgICAgYyA9IGMuc3Vic3RyaW5nKDEpO1xuICAgICAgfVxuICAgICAgaWYgKGMuaW5kZXhPZihuYW1lKSA+PSAwKSB7XG4gICAgICAgIGxldCBkZWNvZGUgPSBDb29raWVTZXJ2aWNlLmRlY29kZV9jb29raWUoYy5zdWJzdHJpbmcobmFtZS5sZW5ndGgsIGMubGVuZ3RoKSk7XG4gICAgICAgIHJldHVybiBkZWNvZGU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHN0YXRpYyBkZWxldGVDb29raWUoY29va2llTmFtZSk6IGJvb2xlYW4ge1xuICAgIHZhciBjb29raWVzID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7Jyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvb2tpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBjb29raWUgPSBjb29raWVzW2ldO1xuICAgICAgdmFyIGVxUG9zID0gY29va2llLmluZGV4T2YoJz0nKTtcbiAgICAgIHZhciBuYW1lID0gZXFQb3MgPiAtMSA/IGNvb2tpZS5zdWJzdHIoMCwgZXFQb3MpIDogY29va2llO1xuICAgICAgaWYgKGNvb2tpZU5hbWUgPT09IGRlY29kZVVSSShuYW1lKSkge1xuICAgICAgICBkb2N1bWVudC5jb29raWUgPSBuYW1lICsgJz07ZXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCc7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3V0aWwvY29va2llLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxhQUFhO0lBRWpCLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBa0I7UUFFekMsSUFBSSxVQUFVLElBQUksR0FBRztZQUNuQixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFFekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsT0FBdUIsRUFBRSxJQUFLLEVBQUUsTUFBUSxFQUFFLE1BQU8sRUFBRSxRQUFTO1FBQy9HLElBQUksWUFBWSxHQUFXLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3pILElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7Z0JBQy9CLE1BQU0sV0FBVyxHQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUU1QyxZQUFZLElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUM7YUFDOUQ7aUJBQ0ksSUFBRyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxFQUNyQztnQkFDRSxNQUFNLFdBQVcsR0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFNUMsWUFBWSxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLEdBQUcs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YSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzdFLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7U0FDRjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVTtRQUM1QixJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV6QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxJQUFJLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDekQsSUFBSSxVQUFVLEtBQUssT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDckQsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcseUNBQXlDLENBQUM7Z0JBQ25FLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTlN0cmluZyB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcblxuZXhwb3J0IGNsYXNzIENvb2tpZVNlcnZpY2Uge1xuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0Q29va2llcyhjb29raWVOYW1lOiBzdHJpbmcpIHtcblxuICAgIGlmIChjb29raWVOYW1lID09ICcqJylcbiAgICAgIHJldHVybiBkb2N1bWVudC5jb29raWU7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDb29raWUoY29va2llTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGV4cGlyZXM/OiBudW1iZXIgfCBEYXRlLCBwYXRoPywgZG9tYWluID8sIHNlY3VyZT8sIHNhbWVTaXRlPyk6IGJvb2xlYW4ge1xuICAgIGxldCBjb29raWVTdHJpbmc6IHN0cmluZyA9IGVuY29kZVVSSUNvbXBvbmVudChuYW1lKSArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudChDb29raWVTZXJ2aWNlLmVuY29kZV9jb29raWUodmFsdWUpKSArICc7JztcbiAgICBpZiAoZXhwaXJlcykge1xuICAgICAgaWYgKHR5cGVvZiBleHBpcmVzID09PSAnbnVtYmVyJykge1xuICAgICAgICBjb25zdCBkYXRlRXhwaXJlczogRGF0ZSA9IG5ldyBEYXRlKGV4cGlyZXMpO1xuXG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgZGF0ZUV4cGlyZXMudG9VVENTdHJpbmcoKSArICc7JztcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYoKHR5cGVvZiBleHBpcmVzID09PSAnc3RyaW5nJykpXG4gICAgICB7XG4gICAgICAgIGNvbnN0IGRhdGVFeHBpcmVzOiBEYXRlID0gbmV3IERhdGUoZXhwaXJlcyk7XG5cbiAgICAgICAgY29va2llU3RyaW5nICs9ICdleHBpcmVzPScgKyBkYXRlRXhwaXJlcy50b1VUQ1N0cmluZygpICsgJzsnO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgZXhwaXJlcy50b1VUQ1N0cmluZygpICsgJzsnO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXRoKSB7XG4gICAgICBjb29raWVTdHJpbmcgKz0gJ3BhdGg9JyArIHBhdGggKyAnOyc7XG4gICAgfVxuXG4gICAgaWYgKGRvbWFpbikge1xuICAgICAgY29va2llU3RyaW5nICs9ICdkb21haW49JyArIGRvbWFpbiArICc7JztcbiAgICB9XG5cbiAgICBpZiAoc2VjdXJlID09PSBmYWxzZSAmJiBzYW1lU2l0ZSA9PT0gJ05vbmUnKSB7XG4gICAgICBzZWN1cmUgPSB0cnVlO1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgY29va2llICR7bmFtZX0gd2FzIGZvcmNlZCB3aXRoIHNlY3VyZSBmbGFnIGJlY2F1c2Ugc2FtZVNpdGU9Tm9uZS5gXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoc2VjdXJlKSB7XG4gICAgICBjb29raWVTdHJpbmcgKz0gJ3NlY3VyZTsnO1xuICAgIH1cblxuICAgIGlmICghc2FtZVNpdGUpIHtcbiAgICAgIHNhbWVTaXRlID0gJ0xheCc7XG4gICAgfVxuXG4gICAgY29va2llU3RyaW5nICs9ICdzYW1lU2l0ZT0nICsgc2FtZVNpdGUgKyAnOyc7XG5cbiAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWVTdHJpbmc7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDb29raWUobmFtZSk7XG4gIH1cblxuICBzdGF0aWMgZW5jb2RlX2Nvb2tpZShjb29raWVfdmFsdWUpIHtcblxuICAgIGNvb2tpZV92YWx1ZSA9IGNvb2tpZV92YWx1ZS50cmltKCk7XG4gICAgLy9UaGlzIHZhcmlhYmxlIGhvbGRzIHRoZSBlbmNvZGVkIGNvb2tpZSBjaGFyYWN0ZXJzXG4gICAgdmFyIGNvZGVkX3N0cmluZyA9ICcnO1xuXG4gICAgLy8gUnVuIHRocm91Z2ggZWFjaCBjaGFyYWN0ZXIgaW4gdGhlIGNvb2tpZSB2YWx1ZVxuICAgIGZvciAodmFyIGNvdW50ZXIgPSAwOyBjb3VudGVyIDwgY29va2llX3ZhbHVlLmxlbmd0aDsgY291bnRlcisrKSB7XG5cbiAgICAgIC8vIEFkZCB0aGUgY2hhcmFjdGVyJ3MgbnVtZXJpYyBjb2RlIHRvIHRoZSBzdHJpbmdcbiAgICAgIGNvZGVkX3N0cmluZyArPSBjb29raWVfdmFsdWUuY2hhckNvZGVBdChjb3VudGVyKTtcblxuICAgICAgLy8gU2VwYXJhdGUgZWFjaCBjb2RlIHdpdGggYSBwbHVzIHNpZ24gKCspXG4gICAgICBpZiAoY291bnRlciA8IGNvb2tpZV92YWx1ZS5sZW5ndGggLSAxKSB7XG4gICAgICAgIGNvZGVkX3N0cmluZyArPSAnKyc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb2RlZF9zdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZGVjb2RlX2Nvb2tpZShjb2RlZF9zdHJpbmcpIHtcbiAgICAvLyBUaGlzIHZhcmlhYmxlIGhvbGRzIHRoZSBkZWNvZGVkIGNvb2tpZSB2YWx1ZVxuICAgIHZhciBjb29raWVfdmFsdWUgPSAnJztcblxuICAgIC8vIFVzZSArIHRvIHNwbGl0IHRoZSBjb2RlZCBzdHJpbmcgaW50byBhbiBhcnJheVxuICAgIHZhciBjb2RlX2FycmF5ID0gY29kZWRfc3RyaW5nLnNwbGl0KCcrJyk7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggdGhlIGFycmF5XG4gICAgZm9yICh2YXIgY291bnRlciA9IDA7IGNvdW50ZXIgPCBjb2RlX2FycmF5Lmxlbmd0aDsgY291bnRlcisrKSB7XG5cbiAgICAgIC8vIENvbnZlcnQgdGhlIGNvZGUgaW50byBhIGNoYXJhY3RlciBhbmRcbiAgICAgIC8vIGFkZCBpdCB0byB0aGUgY29va2llIHZhbHVlIHN0cmluZ1xuICAgICAgY29va2llX3ZhbHVlICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoY29kZV9hcnJheVtjb3VudGVyXSk7XG4gICAgfVxuICAgIC8vIHJldHVybiBjb2RlZF9zdHJpbmc7XG5cbiAgICByZXR1cm4gY29va2llX3ZhbHVlO1xuICB9XG5cbiAgc3RhdGljIGdldENvb2tpZShjb29raWVOYW1lKTogYW55IHtcbiAgICBsZXQgbmFtZSA9IE5TdHJpbmcuVHJpbVN0YXJ0KGNvb2tpZU5hbWUgKyAnPScpO1xuICAgIGxldCBkZWNvZGVkQ29va2llID0gZGVjb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50LmNvb2tpZSk7XG4gICAgbGV0IGNhID0gZGVjb2RlZENvb2tpZS5zcGxpdCgnOycpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2EubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBjID0gY2FbaV07XG4gICAgICB3aGlsZSAoYy5jaGFyQXQoMCkgPT0gJyAnKSB7XG4gICAgICAgIGMgPSBjLnN1YnN0cmluZygxKTtcbiAgICAgIH1cbiAgICAgIGlmIChjLmluZGV4T2YobmFtZSkgPj0gMCkge1xuICAgICAgICBsZXQgZGVjb2RlID0gQ29va2llU2VydmljZS5kZWNvZGVfY29va2llKGMuc3Vic3RyaW5nKG5hbWUubGVuZ3RoLCBjLmxlbmd0aCkpO1xuICAgICAgICByZXR1cm4gZGVjb2RlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBzdGF0aWMgZGVsZXRlQ29va2llKGNvb2tpZU5hbWUpOiBib29sZWFuIHtcbiAgICB2YXIgY29va2llcyA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb29raWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY29va2llID0gY29va2llc1tpXTtcbiAgICAgIHZhciBlcVBvcyA9IGNvb2tpZS5pbmRleE9mKCc9Jyk7XG4gICAgICB2YXIgbmFtZSA9IGVxUG9zID4gLTEgPyBjb29raWUuc3Vic3RyKDAsIGVxUG9zKSA6IGNvb2tpZTtcbiAgICAgIGlmIChjb29raWVOYW1lID09PSBOU3RyaW5nLlRyaW1TdGFydChkZWNvZGVVUkkobmFtZSkpKSB7XG4gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IG5hbWUgKyAnPTtleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UJztcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG59XG4iXX0=