Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

live-set

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

live-set - npm Package Compare versions

Comparing version 0.4.1 to 0.4.2

2

index.js

@@ -383,2 +383,2 @@ 'use strict';

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJMaXZlU2V0IiwiaW5pdCIsIl92YWx1ZXMiLCJfbXV0YWJsZVZhbHVlcyIsIl9hY3RpdmUiLCJfaW5TdWJzY3JpcHRpb25TdGFydCIsIl9lbmRlZCIsIl9lbmRlZFdpdGhFcnJvciIsIl9lcnJvciIsIl9xdWV1ZWRDYWxsIiwiX2NoYW5nZVF1ZXVlIiwiX29ic2VydmVycyIsIl9pbml0IiwiX3NjaGVkdWxlciIsInNjaGVkdWxlciIsImRlZmF1bHRTY2hlZHVsZXIiLCJyZWNvcmQiLCJwdXNoIiwic2NoZWR1bGUiLCJjaGFuZ2VzIiwib2JzZXJ2ZXJzVG9DYWxsIiwiZW5kZWQiLCJzbGljZSIsImZvckVhY2giLCJvYnNlcnZlciIsImlnbm9yZSIsIm9ic2VydmVyTmV4dCIsIm5leHQiLCJjYWxsIiwiY2hhbmdlc1RvRGVsaXZlciIsImxlbmd0aCIsImVycm9yIiwiY29tcGxldGUiLCJFcnJvciIsImxpc3RlbkhhbmRsZXIiLCJ1bnN1YnNjcmliZSIsInB1bGxDaGFuZ2VzIiwibWFrZVNldEltbXV0YWJsZSIsInMiLCJyZWFkIiwib2JzZXJ2ZXJPck9uTmV4dCIsIm9uRXJyb3IiLCJvbkNvbXBsZXRlIiwibGl2ZVNldCIsInN1YnNjcmlwdGlvbiIsImNsb3NlZCIsInN0YXJ0Iiwib2JzZXJ2ZXJSZWNvcmQiLCJpc1N0YXJ0aW5nIiwidW5zdWJzY3JpYmVkSW5TdGFydCIsImluZGV4T2YiLCJpeCIsInNwbGljZSIsIl9kZWFjdGl2YXRlIiwiY2hhbmdlUXVldWVMZW5ndGgiLCJvcmlnaW5hbE5leHQiLCJjb250cm9sbGVyIiwiYWRkIiwidmFsdWVzIiwiaGFzIiwidmFsdWUiLCJfcXVldWVDaGFuZ2UiLCJ0eXBlIiwicmVtb3ZlIiwiZGVsZXRlIiwiZXJyIiwiZW5kIiwiYWN0aXZlIiwic2V0VmFsdWVzRXJyb3IiLCJzZXRWYWx1ZXMiLCJsaXN0ZW5IYW5kbGVyT3JGdW5jdGlvbiIsImxpc3RlbiIsIlR5cGVFcnJvciIsImluaXRpYWxWYWx1ZXMiLCJvcHRpb25zIiwic2V0IiwiX2NvbnRyb2xsZXIiLCJzdWJzY3JpYmUiLCJzaG91bGROb3RIYXBwZW4iLCJscyIsInByb3RvdHlwZSIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImNsZWFyIiwicmVhZE9ubHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBQ0E7Ozs7OztJQWlEcUJBLE87QUFPYzs7QUFjakMsbUJBQVlDLElBQVosRUFBa0M7QUFBQTtBQUFBLFNBZmxDQyxPQWVrQyxHQWZmLElBZWU7QUFBQSxTQWRsQ0MsY0Fja0MsR0FkUixLQWNRO0FBQUEsU0FabENDLE9BWWtDLEdBVDlCLElBUzhCO0FBQUEsU0FSbENDLG9CQVFrQyxHQVJYLEtBUVc7QUFBQSxTQVBsQ0MsTUFPa0MsR0FQaEIsS0FPZ0I7QUFBQSxTQU5sQ0MsZUFNa0MsR0FOUCxLQU1PO0FBQUEsU0FMbENDLE1BS2tDLEdBTHBCLElBS29CO0FBQUEsU0FKbENDLFdBSWtDLEdBSlgsS0FJVztBQUFBLFNBSGxDQyxZQUdrQyxHQUhZLEVBR1o7QUFBQSxTQUZsQ0MsVUFFa0MsR0FGWSxFQUVaOztBQUNoQyxTQUFLQyxLQUFMLEdBQWFYLElBQWI7QUFDQSxTQUFLWSxVQUFMLEdBQWtCWixLQUFLYSxTQUFMLElBQWtCZCxRQUFRZSxnQkFBNUM7QUFDRDs7OztpQ0FpQ1lDLE0sRUFBaUM7QUFBQTs7QUFDNUMsVUFBSUEsTUFBSixFQUFZO0FBQ1YsYUFBS04sWUFBTCxDQUFrQk8sSUFBbEIsQ0FBdUJELE1BQXZCO0FBQ0Q7QUFDRCxVQUFJLENBQUMsS0FBS1AsV0FBVixFQUF1QjtBQUNyQixhQUFLQSxXQUFMLEdBQW1CLElBQW5CO0FBQ0EsYUFBS0ksVUFBTCxDQUFnQkssUUFBaEIsQ0FBeUIsWUFBTTtBQUM3QixnQkFBS1QsV0FBTCxHQUFtQixLQUFuQjtBQUNBLGNBQU1VLFVBQVUsTUFBS1QsWUFBckI7QUFDQSxnQkFBS0EsWUFBTCxHQUFvQixFQUFwQjtBQUNBLGNB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QUFhQSxVQUF2QixFQUFQO0FBQ0Q7Ozs2QkFFa0JFLE0sRUFBZ0JnQixPLEVBQWdEO0FBQ2pGckMsdUJBQWlCcUIsTUFBakI7QUFDQSxVQUFNb0Isa0JBQWtCLFNBQWxCQSxlQUFrQixHQUFNO0FBQzVCLGNBQU0sSUFBSTdDLEtBQUosQ0FBVSxtQkFBVixDQUFOO0FBQ0QsT0FGRDtBQUdBLFVBQU04QyxLQUFLLElBQUkvRSxPQUFKLENBQVk7QUFDckJjLG1CQUFXNEQsVUFBVUEsUUFBUTVELFNBQWxCLEdBQThCLElBRHBCO0FBRXJCeUIsY0FBTXVDLGVBRmU7QUFHckJQLGdCQUFRTztBQUhhLE9BQVosQ0FBWDtBQUtBQyxTQUFHekUsTUFBSCxHQUFZLElBQVo7QUFDQXlFLFNBQUc3RSxPQUFILEdBQWF3RCxNQUFiO0FBQ0FxQixTQUFHNUUsY0FBSCxHQUFvQixLQUFwQjtBQUNBLGFBQU80RSxFQUFQO0FBQ0Q7Ozs7O0FBc1FIO0FBQ0E7OztBQTlUcUIvRSxPLENBQ1plLGdCLEdBQW1CLHlCO2tCQURQZixPO0FBK1RwQkEsT0FBRCxDQUFjZ0YsU0FBZCwrQkFBd0MsWUFBVztBQUNqRCxTQUFPLElBQVA7QUFDRCxDQUZEOztBQUlBLFNBQVMzQyxnQkFBVCxDQUEwQnNDLEdBQTFCLEVBQXlDO0FBQ3ZDLE1BQUlNLFFBQVFDLEdBQVIsQ0FBWUMsUUFBWixLQUF5QixZQUE3QixFQUEyQztBQUN4Q1IsT0FBRCxDQUFVbEIsR0FBVixHQUFpQmtCLEdBQUQsQ0FBVVgsTUFBVixHQUFvQlcsR0FBRCxDQUFVUyxLQUFWLEdBQWtCQyxRQUFyRDtBQUNEO0FBQ0Y7O0FBRUQsU0FBU0EsUUFBVCxHQUFvQjtBQUNsQixRQUFNLElBQUlwRCxLQUFKLENBQVUsOEVBQVYsQ0FBTjtBQUNEIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFNjaGVkdWxlciBmcm9tICcuL1NjaGVkdWxlcic7XG5pbXBvcnQgJCRvYnNlcnZhYmxlIGZyb20gJ3N5bWJvbC1vYnNlcnZhYmxlJztcblxuZXhwb3J0IHR5cGUgTGl2ZVNldENoYW5nZVJlY29yZDxUPiA9XG4gIHt0eXBlOiAnYWRkJywgdmFsdWU6IFR9IHxcbiAge3R5cGU6ICdyZW1vdmUnLCB2YWx1ZTogVH0gfFxuICB7dHlwZTogJ2VuZCd9O1xuXG5leHBvcnQgdHlwZSBMaXZlU2V0Q29udHJvbGxlcjxUPiA9IHtcbiAgY2xvc2VkOiBib29sZWFuO1xuICBhZGQoaXRlbTogVCk6IHZvaWQ7XG4gIHJlbW92ZShpdGVtOiBUKTogdm9pZDtcbiAgZXJyb3IoZXJyOiBhbnkpOiB2b2lkO1xuICBlbmQoKTogdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIExpc3RlbkhhbmRsZXIgPSB7XG4gIHVuc3Vic2NyaWJlKCk6IHZvaWQ7XG4gICtwdWxsQ2hhbmdlcz86ID8oKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgTGl2ZVNldEluaXQ8VD4gPSB7XG4gIHNjaGVkdWxlcj86ID9TY2hlZHVsZXI7XG4gIHJlYWQoKTogU2V0PFQ+O1xuICBsaXN0ZW4oXG4gICAgc2V0VmFsdWVzOiB7ICh2YWx1ZXM6IFNldDxUPik6IHZvaWQgfSxcbiAgICBjb250cm9sbGVyOiBMaXZlU2V0Q29udHJvbGxlcjxUPlxuICApOiA/TGlzdGVuSGFuZGxlcnwoKT0+dm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIExpdmVTZXRTdWJzY3JpYmVyPFQ+ID0gKGNoYW5nZXM6IEFycmF5PExpdmVTZXRDaGFuZ2VSZWNvcmQ8VD4+KSA9PiB2b2lkO1xuXG5leHBvcnQgdHlwZSBMaXZlU2V0U3Vic2NyaXB0aW9uID0ge1xuICBjbG9zZWQ6IGJvb2xlYW47XG4gIHVuc3Vic2NyaWJlKCk6IHZvaWQ7XG4gIHB1bGxDaGFuZ2VzKCk6IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBMaXZlU2V0T2JzZXJ2ZXI8VD4gPSB7XG4gIHN0YXJ0PzogPyhzdWJzY3JpcHRpb246IExpdmVTZXRTdWJzY3JpcHRpb24pID0+IHZvaWQ7XG4gIG5leHQ/OiA/KGNoYW5nZXM6IEFycmF5PExpdmVTZXRDaGFuZ2VSZWNvcmQ8VD4+KSA9PiB2b2lkO1xuICBlcnJvcj86ID8oZXJyOiBhbnkpID0+IHZvaWQ7XG4gIGNvbXBsZXRlPzogPygpID0+IHZvaWQ7XG59O1xuXG50eXBlIExpdmVTZXRPYnNlcnZlclJlY29yZDxUPiA9IHtcbiAgaWdub3JlOiBudW1iZXI7XG4gIG9ic2VydmVyOiBMaXZlU2V0T2JzZXJ2ZXI8VD47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaXZlU2V0PFQ+IHtcbiAgc3RhdGljIGRlZmF1bHRTY2hlZHVsZXIgPSBuZXcgU2NoZWR1bGVyKCk7XG5cbiAgX2luaXQ6IExpdmVTZXRJbml0PFQ+O1xuICBfc2NoZWR1bGVyOiBTY2hlZHVsZXI7XG5cbiAgX3ZhbHVlczogP1NldDxUPiA9IG51bGw7XG4gIF9tdXRhYmxlVmFsdWVzOiBib29sZWFuID0gZmFsc2U7IC8vIFdoZXRoZXIgd2UgY2FuIG11dGF0ZSB0aGUgX3ZhbHVlcyBTZXQuXG5cbiAgX2FjdGl2ZTogP3tcbiAgICBjb250cm9sbGVyOiBMaXZlU2V0Q29udHJvbGxlcjxUPjtcbiAgICBsaXN0ZW5IYW5kbGVyOiBMaXN0ZW5IYW5kbGVyO1xuICB9ID0gbnVsbDtcbiAgX2luU3Vic2NyaXB0aW9uU3RhcnQgPSBmYWxzZTtcbiAgX2VuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIF9lbmRlZFdpdGhFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBfZXJyb3I6IGFueSA9IG51bGw7XG4gIF9xdWV1ZWRDYWxsOiBib29sZWFuID0gZmFsc2U7XG4gIF9jaGFuZ2VRdWV1ZTogQXJyYXk8TGl2ZVNldENoYW5nZVJlY29yZDxUPj4gPSBbXTtcbiAgX29ic2VydmVyczogQXJyYXk8TGl2ZVNldE9ic2VydmVyUmVjb3JkPFQ+PiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGluaXQ6IExpdmVTZXRJbml0PFQ+KSB7XG4gICAgdGhpcy5faW5pdCA9IGluaXQ7XG4gICAgdGhpcy5fc2NoZWR1bGVyID0gaW5pdC5zY2hlZHVsZXIgfHwgTGl2ZVNldC5kZWZhdWx0U2NoZWR1bGVyO1xuICB9XG5cbiAgc3RhdGljIGFjdGl2ZTxUPihpbml0aWFsVmFsdWVzOiA/U2V0PFQ+LCBvcHRpb25zOiA/e3NjaGVkdWxlcj86ID9TY2hlZHVsZXJ9KToge2xpdmVTZXQ6IExpdmVTZXQ8VD4sIGNvbnRyb2xsZXI6IExpdmVTZXRDb250cm9sbGVyPFQ+fSB7XG4gICAgY29uc3Qgc2V0ID0gaW5pdGlhbFZhbHVlcyB8fCBuZXcgU2V0KCk7XG4gICAgbGV0IGNvbnRyb2xsZXI7XG4gICAgY29uc3QgbGl2ZVNldCA9IG5ldyBMaXZlU2V0KHtcbiAgICAgIHNjaGVkdWxlcjogb3B0aW9ucyA/IG9wdGlvbnMuc2NoZWR1bGVyIDogbnVsbCxcbiAgICAgIHJlYWQ6ICgpID0+IHNldCxcbiAgICAgIGxpc3RlbjogKHNldFZhbHVlcywgX2NvbnRyb2xsZXIpID0+IHtcbiAgICAgICAgc2V0VmFsdWVzKHNldCk7XG4gICAgICAgIGNvbnRyb2xsZXIgPSBfY29udHJvbGxlcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBsaXZlU2V0LnN1YnNjcmliZSh7fSk7XG4gICAgcmV0dXJuIHtsaXZlU2V0LCBjb250cm9sbGVyOiAoY29udHJvbGxlcjogYW55KX07XG4gIH1cblxuICBzdGF0aWMgY29uc3RhbnQ8VD4odmFsdWVzOiBTZXQ8VD4sIG9wdGlvbnM6ID97c2NoZWR1bGVyPzogP1NjaGVkdWxlcn0pOiBMaXZlU2V0PFQ+IHtcbiAgICBtYWtlU2V0SW1tdXRhYmxlKHZhbHVlcyk7XG4gICAgY29uc3Qgc2hvdWxkTm90SGFwcGVuID0gKCkgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgbm90IGhhcHBlbicpO1xuICAgIH07XG4gICAgY29uc3QgbHMgPSBuZXcgTGl2ZVNldCh7XG4gICAgICBzY2hlZHVsZXI6IG9wdGlvbnMgPyBvcHRpb25zLnNjaGVkdWxlciA6IG51bGwsXG4gICAgICByZWFkOiBzaG91bGROb3RIYXBwZW4sXG4gICAgICBsaXN0ZW46IHNob3VsZE5vdEhhcHBlblxuICAgIH0pO1xuICAgIGxzLl9lbmRlZCA9IHRydWU7XG4gICAgbHMuX3ZhbHVlcyA9IHZhbHVlcztcbiAgICBscy5fbXV0YWJsZVZhbHVlcyA9IGZhbHNlO1xuICAgIHJldHVybiBscztcbiAgfVxuXG4gIF9xdWV1ZUNoYW5nZShyZWNvcmQ6ID9MaXZlU2V0Q2hhbmdlUmVjb3JkPFQ+KSB7XG4gICAgaWYgKHJlY29yZCkge1xuICAgICAgdGhpcy5fY2hhbmdlUXVldWUucHVzaChyZWNvcmQpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3F1ZXVlZENhbGwpIHtcbiAgICAgIHRoaXMuX3F1ZXVlZENhbGwgPSB0cnVlO1xuICAgICAgdGhpcy5fc2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcXVldWVkQ2FsbCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5fY2hhbmdlUXVldWU7XG4gICAgICAgIHRoaXMuX2NoYW5nZVF1ZXVlID0gW107XG4gICAgICAgIGxldCBvYnNlcnZlcnNUb0NhbGw7XG4gICAgICAgIGNvbnN0IGVuZGVkID0gdGhpcy5fZW5kZWQ7XG4gICAgICAgIGlmIChlbmRlZCkge1xuICAgICAgICAgIG9ic2VydmVyc1RvQ2FsbCA9IHRoaXMuX29ic2VydmVycztcbiAgICAgICAgICB0aGlzLl9vYnNlcnZlcnMgPSBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYnNlcnZlcnNUb0NhbGwgPSB0aGlzLl9vYnNlcnZlcnMuc2xpY2UoKTtcbiAgICAgICAgfVxuICAgICAgICBvYnNlcnZlcnNUb0NhbGwuZm9yRWFjaChyZWNvcmQgPT4ge1xuICAgICAgICAgIGNvbnN0IHtvYnNlcnZlciwgaWdub3JlfSA9IHJlY29yZDtcbiAgICAgICAgICBjb25zdCBvYnNlcnZlck5leHQgPSBvYnNlcnZlci5uZXh0O1xuICAgICAgICAgIGlmIChvYnNlcnZlck5leHQpIHtcbiAgICAgICAgICAgIGlmIChpZ25vcmUgPT09IDApIHtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXJOZXh0LmNhbGwob2JzZXJ2ZXIsIGNoYW5nZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVjb3JkLmlnbm9yZSA9IDA7XG4gICAgICAgICAgICAgIGNvbnN0IGNoYW5nZXNUb0RlbGl2ZXIgPSBjaGFuZ2VzLnNsaWNlKGlnbm9yZSk7XG4gICAgICAgICAgICAgIGlmIChjaGFuZ2VzVG9EZWxpdmVyLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyTmV4dC5jYWxsKG9ic2VydmVyLCBjaGFuZ2VzVG9EZWxpdmVyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZW5kZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9lbmRlZFdpdGhFcnJvcikge1xuICAgICAgICAgICAgICBpZiAob2JzZXJ2ZXIuZXJyb3IpIG9ic2VydmVyLmVycm9yKHRoaXMuX2Vycm9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChvYnNlcnZlci5jb21wbGV0ZSkgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgX2RlYWN0aXZhdGUoKSB7XG4gICAgaWYgKCF0aGlzLl9hY3RpdmUpIHRocm93IG5ldyBFcnJvcignYWxyZWFkeSBpbmFjdGl2ZScpO1xuICAgIGNvbnN0IHtsaXN0ZW5IYW5kbGVyfSA9IHRoaXMuX2FjdGl2ZTtcbiAgICB0aGlzLl9hY3RpdmUgPSBudWxsO1xuICAgIGlmIChsaXN0ZW5IYW5kbGVyKSB7XG4gICAgICBsaXN0ZW5IYW5kbGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgdmFsdWVzKCk6IFNldDxUPiB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlcykge1xuICAgICAgaWYgKHRoaXMuX2FjdGl2ZSAmJiAhdGhpcy5faW5TdWJzY3JpcHRpb25TdGFydCkge1xuICAgICAgICBjb25zdCB7bGlzdGVuSGFuZGxlcn0gPSB0aGlzLl9hY3RpdmU7XG4gICAgICAgIGlmIChsaXN0ZW5IYW5kbGVyLnB1bGxDaGFuZ2VzKSB7XG4gICAgICAgICAgbGlzdGVuSGFuZGxlci5wdWxsQ2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fbXV0YWJsZVZhbHVlcykge1xuICAgICAgICB0aGlzLl9tdXRhYmxlVmFsdWVzID0gZmFsc2U7XG4gICAgICAgIG1ha2VTZXRJbW11dGFibGUodGhpcy5fdmFsdWVzKTtcbiAgICAgIH1cbiAgICAgIC8qOjogaWYgKCF0aGlzLl92YWx1ZXMpIHRocm93IG5ldyBFcnJvcigpOyAqL1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlcztcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuX2FjdGl2ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RyaWVkIHRvIGNhbGwgdmFsdWVzKCkgb24gbGl2ZXNldCBkdXJpbmcgc3Vic2NyaXB0aW9uIGJlZm9yZSBzZXRWYWx1ZXMgd2FzIGNhbGxlZCcpO1xuICAgICAgfVxuICAgICAgY29uc3QgcyA9IHRoaXMuX2luaXQucmVhZCgpO1xuICAgICAgbWFrZVNldEltbXV0YWJsZShzKTtcbiAgICAgIHJldHVybiBzO1xuICAgIH1cbiAgfVxuXG4gIGlzRW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuZGVkO1xuICB9XG5cbiAgZ2V0U2NoZWR1bGVyKCk6IFNjaGVkdWxlciB7XG4gICAgcmV0dXJuIHRoaXMuX3NjaGVkdWxlcjtcbiAgfVxuXG4gIHN1YnNjcmliZShvYnNlcnZlck9yT25OZXh0OiBMaXZlU2V0T2JzZXJ2ZXI8VD4gfCAoY2hhbmdlczogQXJyYXk8TGl2ZVNldENoYW5nZVJlY29yZDxUPj4pID0+IHZvaWQsIG9uRXJyb3I6ID8oZXJyOiBhbnkpID0+IHZvaWQsIG9uQ29tcGxldGU6ID8oKSA9PiB2b2lkKTogTGl2ZVNldFN1YnNjcmlwdGlvbiB7XG4gICAgY29uc3QgbGl2ZVNldCA9IHRoaXM7XG5cbiAgICBsZXQgb2JzZXJ2ZXI7XG4gICAgaWYgKHR5cGVvZiBvYnNlcnZlck9yT25OZXh0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvYnNlcnZlciA9IHtcbiAgICAgICAgbmV4dDogb2JzZXJ2ZXJPck9uTmV4dCxcbiAgICAgICAgZXJyb3I6IG9uRXJyb3IsXG4gICAgICAgIGNvbXBsZXRlOiBvbkNvbXBsZXRlXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBvYnNlcnZlciA9IG9ic2VydmVyT3JPbk5leHQ7XG4gICAgfVxuXG4gICAgKG9ic2VydmVyOiBMaXZlU2V0T2JzZXJ2ZXI8VD4pO1xuXG4gICAgaWYgKHRoaXMuX2VuZGVkKSB7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB7XG4gICAgICAgIGNsb3NlZDogZmFsc2UsXG4gICAgICAgIHVuc3Vic2NyaWJlOiAoKSA9PiB7XG4gICAgICAgICAgc3Vic2NyaXB0aW9uLmNsb3NlZCA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIHB1bGxDaGFuZ2VzOiAoKSA9PiB7fVxuICAgICAgfTtcbiAgICAgIGlmIChvYnNlcnZlci5zdGFydCkge1xuICAgICAgICBvYnNlcnZlci5zdGFydChzdWJzY3JpcHRpb24pO1xuICAgICAgfVxuICAgICAgaWYgKCFzdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICAgIGlmICh0aGlzLl9lbmRlZFdpdGhFcnJvcikge1xuICAgICAgICAgIGlmIChvYnNlcnZlci5lcnJvcikge1xuICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IodGhpcy5fZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAob2JzZXJ2ZXIuY29tcGxldGUpIHtcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzdWJzY3JpcHRpb24uY2xvc2VkID0gdHJ1ZTtcbiAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzZXJ2ZXJSZWNvcmQgPSB7b2JzZXJ2ZXIsIGlnbm9yZTogdGhpcy5fY2hhbmdlUXVldWUubGVuZ3RofTtcblxuICAgIGxldCBpc1N0YXJ0aW5nID0gdHJ1ZTtcbiAgICBsZXQgdW5zdWJzY3JpYmVkSW5TdGFydCA9IGZhbHNlO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHtcbiAgICAgIC8qOjogY2xvc2VkOiBmYWxzZSYmYCAqLyBnZXQgY2xvc2VkKCkge1xuICAgICAgICByZXR1cm4gIWlzU3RhcnRpbmcgJiYgbGl2ZVNldC5fb2JzZXJ2ZXJzLmluZGV4T2Yob2JzZXJ2ZXJSZWNvcmQpIDwgMDtcbiAgICAgIH0vKjo6IGAgKi8sXG4gICAgICB1bnN1YnNjcmliZTogKCkgPT4ge1xuICAgICAgICBpZiAoaXNTdGFydGluZykge1xuICAgICAgICAgIHVuc3Vic2NyaWJlZEluU3RhcnQgPSB0cnVlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpeCA9IHRoaXMuX29ic2VydmVycy5pbmRleE9mKG9ic2VydmVyUmVjb3JkKTtcbiAgICAgICAgaWYgKGl4ID49IDApIHtcbiAgICAgICAgICB0aGlzLl9vYnNlcnZlcnMuc3BsaWNlKGl4LCAxKTtcbiAgICAgICAgICBpZiAoIXRoaXMuX2VuZGVkICYmIHRoaXMuX29ic2VydmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9kZWFjdGl2YXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHVsbENoYW5nZXM6ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZSAmJiB0aGlzLl9hY3RpdmUubGlzdGVuSGFuZGxlciAmJiB0aGlzLl9hY3RpdmUubGlzdGVuSGFuZGxlci5wdWxsQ2hhbmdlcykge1xuICAgICAgICAgIHRoaXMuX2FjdGl2ZS5saXN0ZW5IYW5kbGVyLnB1bGxDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hhbmdlUXVldWVMZW5ndGggPSB0aGlzLl9jaGFuZ2VRdWV1ZS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTmV4dCA9IG9ic2VydmVyLm5leHQ7XG4gICAgICAgIGlmIChjaGFuZ2VRdWV1ZUxlbmd0aCAhPT0gMCAmJiBvcmlnaW5hbE5leHQpIHtcbiAgICAgICAgICBjb25zdCBjaGFuZ2VzVG9EZWxpdmVyID0gdGhpcy5fY2hhbmdlUXVldWUuc2xpY2Uob2JzZXJ2ZXJSZWNvcmQuaWdub3JlKTtcbiAgICAgICAgICBpZiAoY2hhbmdlc1RvRGVsaXZlci5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIG9ic2VydmVyUmVjb3JkLmlnbm9yZSA9IGNoYW5nZVF1ZXVlTGVuZ3RoO1xuICAgICAgICAgICAgb3JpZ2luYWxOZXh0LmNhbGwob2JzZXJ2ZXIsIGNoYW5nZXNUb0RlbGl2ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoIXRoaXMuX2FjdGl2ZSkge1xuICAgICAgY29uc3QgY29udHJvbGxlcjogTGl2ZVNldENvbnRyb2xsZXI8VD4gPSB7XG4gICAgICAgIC8vIEZsb3cgZG9lc24ndCBzdXBwb3J0IGdldHRlcnMgYW5kIHNldHRlcnMgeWV0XG4gICAgICAgIC8qOjogY2xvc2VkOiBmYWxzZSYmYCAqLyBnZXQgY2xvc2VkKCkge1xuICAgICAgICAgIHJldHVybiAhbGl2ZVNldC5fYWN0aXZlIHx8IGxpdmVTZXQuX2FjdGl2ZS5jb250cm9sbGVyICE9PSB0aGlzO1xuICAgICAgICB9Lyo6OiBgICovLFxuICAgICAgICBhZGQ6IHZhbHVlID0+IHtcbiAgICAgICAgICBsZXQgdmFsdWVzID0gdGhpcy5fdmFsdWVzO1xuICAgICAgICAgIGlmICghdmFsdWVzKSB0aHJvdyBuZXcgRXJyb3IoJ3NldFZhbHVlIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBjb250cm9sbGVyIGlzIHVzZWQnKTtcbiAgICAgICAgICBpZiAoIXRoaXMuX2VuZGVkICYmICF2YWx1ZXMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9tdXRhYmxlVmFsdWVzKSB7XG4gICAgICAgICAgICAgIHRoaXMuX3ZhbHVlcyA9IHZhbHVlcyA9IG5ldyBTZXQodmFsdWVzKTtcbiAgICAgICAgICAgICAgdGhpcy5fbXV0YWJsZVZhbHVlcyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YWx1ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX3F1ZXVlQ2hhbmdlKHt0eXBlOiAnYWRkJywgdmFsdWV9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJlbW92ZTogdmFsdWUgPT4ge1xuICAgICAgICAgIGxldCB2YWx1ZXMgPSB0aGlzLl92YWx1ZXM7XG4gICAgICAgICAgaWYgKCF2YWx1ZXMpIHRocm93IG5ldyBFcnJvcignc2V0VmFsdWUgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGNvbnRyb2xsZXIgaXMgdXNlZCcpO1xuICAgICAgICAgIGlmICghdGhpcy5fZW5kZWQgJiYgdmFsdWVzLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fbXV0YWJsZVZhbHVlcykge1xuICAgICAgICAgICAgICB0aGlzLl92YWx1ZXMgPSB2YWx1ZXMgPSBuZXcgU2V0KHZhbHVlcyk7XG4gICAgICAgICAgICAgIHRoaXMuX211dGFibGVWYWx1ZXMgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFsdWVzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl9xdWV1ZUNoYW5nZSh7dHlwZTogJ3JlbW92ZScsIHZhbHVlfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fZW5kZWQpIHJldHVybjtcbiAgICAgICAgICB0aGlzLl9lbmRlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fZW5kZWRXaXRoRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuX2Vycm9yID0gZXJyO1xuICAgICAgICAgIHRoaXMuX3F1ZXVlQ2hhbmdlKCk7XG4gICAgICAgICAgdGhpcy5fZGVhY3RpdmF0ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBlbmQ6ICgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fZW5kZWQpIHJldHVybjtcbiAgICAgICAgICB0aGlzLl9lbmRlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fcXVldWVDaGFuZ2UoKTtcbiAgICAgICAgICB0aGlzLl9kZWFjdGl2YXRlKCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBhY3RpdmUgPSB0aGlzLl9hY3RpdmUgPSB7XG4gICAgICAgIGNvbnRyb2xsZXIsXG4gICAgICAgIGxpc3RlbkhhbmRsZXI6IHtcbiAgICAgICAgICB1bnN1YnNjcmliZTogKCkgPT4ge31cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IHNldFZhbHVlc0Vycm9yID0gKCkgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFZhbHVlcyBtdXN0IGJlIGNhbGxlZCBvbmNlIGR1cmluZyBsaXN0ZW4nKTtcbiAgICAgIH07XG4gICAgICBsZXQgc2V0VmFsdWVzID0gdmFsdWVzID0+IHtcbiAgICAgICAgc2V0VmFsdWVzID0gc2V0VmFsdWVzRXJyb3I7XG4gICAgICAgIG1ha2VTZXRJbW11dGFibGUodmFsdWVzKTtcbiAgICAgICAgdGhpcy5fdmFsdWVzID0gdmFsdWVzO1xuICAgICAgICB0aGlzLl9tdXRhYmxlVmFsdWVzID0gZmFsc2U7XG4gICAgICB9O1xuICAgICAgY29uc3QgbGlzdGVuSGFuZGxlck9yRnVuY3Rpb24gPSB0aGlzLl9pbml0Lmxpc3Rlbih2YWx1ZXMgPT4gc2V0VmFsdWVzKHZhbHVlcyksIGNvbnRyb2xsZXIpO1xuICAgICAgaWYgKCF0aGlzLl92YWx1ZXMpIHtcbiAgICAgICAgc2V0VmFsdWVzRXJyb3IoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgbGlzdGVuSGFuZGxlck9yRnVuY3Rpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgYWN0aXZlLmxpc3RlbkhhbmRsZXIgPSB7XG4gICAgICAgICAgdW5zdWJzY3JpYmU6IGxpc3RlbkhhbmRsZXJPckZ1bmN0aW9uXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKGxpc3RlbkhhbmRsZXJPckZ1bmN0aW9uICE9IG51bGwgJiYgdHlwZW9mIGxpc3RlbkhhbmRsZXJPckZ1bmN0aW9uLnVuc3Vic2NyaWJlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGFjdGl2ZS5saXN0ZW5IYW5kbGVyID0gbGlzdGVuSGFuZGxlck9yRnVuY3Rpb247XG4gICAgICB9IGVsc2UgaWYgKGxpc3RlbkhhbmRsZXJPckZ1bmN0aW9uICE9IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignbGlzdGVuIG11c3QgcmV0dXJuIG9iamVjdCB3aXRoIHVuc3Vic2NyaWJlIG1ldGhvZCwgYSBmdW5jdGlvbiwgb3IgbnVsbCcpO1xuICAgICAgfVxuICAgICAgaWYgKGNvbnRyb2xsZXIuY2xvc2VkKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZSA9IGFjdGl2ZTtcbiAgICAgICAgdGhpcy5fZGVhY3RpdmF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChvYnNlcnZlci5zdGFydCkge1xuICAgICAgdGhpcy5faW5TdWJzY3JpcHRpb25TdGFydCA9IHRydWU7XG4gICAgICBvYnNlcnZlci5zdGFydChzdWJzY3JpcHRpb24pO1xuICAgICAgdGhpcy5faW5TdWJzY3JpcHRpb25TdGFydCA9IGZhbHNlO1xuICAgIH1cbiAgICBpc1N0YXJ0aW5nID0gZmFsc2U7XG5cbiAgICBvYnNlcnZlclJlY29yZC5pZ25vcmUgPSB0aGlzLl9jaGFuZ2VRdWV1ZS5sZW5ndGg7XG4gICAgaWYgKCF1bnN1YnNjcmliZWRJblN0YXJ0KSB7XG4gICAgICB0aGlzLl9vYnNlcnZlcnMucHVzaChvYnNlcnZlclJlY29yZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgfVxufVxuXG4vLyBBc3NpZ24gaGVyZSBiZWNhdXNlIEZsb3cgZG9lc24ndCBzdXBwb3J0IGNvbXB1dGVkIHByb3BlcnR5IGtleXMgb24gY2xhc3Nlczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9mbG93L2lzc3Vlcy8yMjg2XG4oTGl2ZVNldDphbnkpLnByb3RvdHlwZVskJG9ic2VydmFibGVdID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiB0aGlzO1xufTtcblxuZnVuY3Rpb24gbWFrZVNldEltbXV0YWJsZShzZXQ6IFNldDxhbnk+KSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgKHNldDphbnkpLmFkZCA9IChzZXQ6YW55KS5kZWxldGUgPSAoc2V0OmFueSkuY2xlYXIgPSByZWFkT25seTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWFkT25seSgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdEbyBub3QgbW9kaWZ5IFNldCBwYXNzZWQgdG8gb3IgZnJvbSBMaXZlU2V0OiBTZXQgaXMgcmVhZC1vbmx5IGluIGRldmVsb3BtZW50Jyk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJMaXZlU2V0IiwiaW5pdCIsIl92YWx1ZXMiLCJfbXV0YWJsZVZhbHVlcyIsIl9hY3RpdmUiLCJfaW5TdWJzY3JpcHRpb25TdGFydCIsIl9lbmRlZCIsIl9lbmRlZFdpdGhFcnJvciIsIl9lcnJvciIsIl9xdWV1ZWRDYWxsIiwiX2NoYW5nZVF1ZXVlIiwiX29ic2VydmVycyIsIl9pbml0IiwiX3NjaGVkdWxlciIsInNjaGVkdWxlciIsImRlZmF1bHRTY2hlZHVsZXIiLCJyZWNvcmQiLCJwdXNoIiwic2NoZWR1bGUiLCJjaGFuZ2VzIiwib2JzZXJ2ZXJzVG9DYWxsIiwiZW5kZWQiLCJzbGljZSIsImZvckVhY2giLCJvYnNlcnZlciIsImlnbm9yZSIsIm9ic2VydmVyTmV4dCIsIm5leHQiLCJjYWxsIiwiY2hhbmdlc1RvRGVsaXZlciIsImxlbmd0aCIsImVycm9yIiwiY29tcGxldGUiLCJFcnJvciIsImxpc3RlbkhhbmRsZXIiLCJ1bnN1YnNjcmliZSIsInB1bGxDaGFuZ2VzIiwibWFrZVNldEltbXV0YWJsZSIsInMiLCJyZWFkIiwib2JzZXJ2ZXJPck9uTmV4dCIsIm9uRXJyb3IiLCJvbkNvbXBsZXRlIiwibGl2ZVNldCIsInN1YnNjcmlwdGlvbiIsImNsb3NlZCIsInN0YXJ0Iiwib2JzZXJ2ZXJSZWNvcmQiLCJpc1N0YXJ0aW5nIiwidW5zdWJzY3JpYmVkSW5TdGFydCIsImluZGV4T2YiLCJpeCIsInNwbGljZSIsIl9kZWFjdGl2YXRlIiwiY2hhbmdlUXVldWVMZW5ndGgiLCJvcmlnaW5hbE5leHQiLCJjb250cm9sbGVyIiwiYWRkIiwidmFsdWVzIiwiaGFzIiwidmFsdWUiLCJfcXVldWVDaGFuZ2UiLCJ0eXBlIiwicmVtb3ZlIiwiZGVsZXRlIiwiZXJyIiwiZW5kIiwiYWN0aXZlIiwic2V0VmFsdWVzRXJyb3IiLCJzZXRWYWx1ZXMiLCJsaXN0ZW5IYW5kbGVyT3JGdW5jdGlvbiIsImxpc3RlbiIsIlR5cGVFcnJvciIsImluaXRpYWxWYWx1ZXMiLCJvcHRpb25zIiwic2V0IiwiX2NvbnRyb2xsZXIiLCJzdWJzY3JpYmUiLCJzaG91bGROb3RIYXBwZW4iLCJscyIsInByb3RvdHlwZSIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImNsZWFyIiwicmVhZE9ubHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBQ0E7Ozs7OztJQWlEcUJBLE87QUFPYzs7QUFjakMsbUJBQVlDLElBQVosRUFBa0M7QUFBQTtBQUFBLFNBZmxDQyxPQWVrQyxHQWZmLElBZWU7QUFBQSxTQWRsQ0MsY0Fja0MsR0FkUixLQWNRO0FBQUEsU0FabENDLE9BWWtDLEdBVDlCLElBUzhCO0FBQUEsU0FSbENDLG9CQVFrQyxHQVJYLEtBUVc7QUFBQSxTQVBsQ0MsTUFPa0MsR0FQaEIsS0FPZ0I7QUFBQSxTQU5sQ0MsZUFNa0MsR0FOUCxLQU1PO0FBQUEsU0FMbENDLE1BS2tDLEdBTHBCLElBS29CO0FBQUEsU0FKbENDLFdBSWtDLEdBSlgsS0FJVztBQUFBLFNBSGxDQyxZQUdrQyxHQUhZLEVBR1o7QUFBQSxTQUZsQ0MsVUFFa0MsR0FGWSxFQUVaOztBQUNoQyxTQUFLQyxLQUFMLEdBQWFYLElBQWI7QUFDQSxTQUFLWSxVQUFMLEdBQWtCWixLQUFLYSxTQUFMLElBQWtCZCxRQUFRZSxnQkFBNUM7QUFDRDs7OztpQ0FpQ1lDLE0sRUFBaUM7QUFBQTs7QUFDNUMsVUFBSUEsTUFBSixFQUFZO0FBQ1YsYUFBS04sWUFBTCxDQUFrQk8sSUFBbEIsQ0FBdUJELE1BQXZCO0FBQ0Q7QUFDRCxVQUFJLENBQUMsS0FBS1AsV0FBVixFQUF1QjtBQUNyQixhQUFLQSxXQUFMLEdBQW1CLElBQW5CO0FBQ0EsYUFBS0ksVUFBTCxDQUFnQkssUUFBaEIsQ0FBeUIsWUFBTTtBQUM3QixnQkFBS1QsV0FBTCxHQUFtQixLQUFuQjtBQUNBLGNBQU1VLFVBQVUsTUFBS1QsWUFBckI7QUFDQSxnQkFBS0EsWUFBTCxHQUFvQixFQUFwQjtBQUNBLGNB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QUFhQSxVQUF2QixFQUFQO0FBQ0Q7Ozs2QkFFa0JFLE0sRUFBZ0JnQixPLEVBQWdEO0FBQ2pGckMsdUJBQWlCcUIsTUFBakI7QUFDQSxVQUFNb0Isa0JBQWtCLFNBQWxCQSxlQUFrQixHQUFNO0FBQzVCLGNBQU0sSUFBSTdDLEtBQUosQ0FBVSxtQkFBVixDQUFOO0FBQ0QsT0FGRDtBQUdBLFVBQU04QyxLQUFLLElBQUkvRSxPQUFKLENBQVk7QUFDckJjLG1CQUFXNEQsVUFBVUEsUUFBUTVELFNBQWxCLEdBQThCLElBRHBCO0FBRXJCeUIsY0FBTXVDLGVBRmU7QUFHckJQLGdCQUFRTztBQUhhLE9BQVosQ0FBWDtBQUtBQyxTQUFHekUsTUFBSCxHQUFZLElBQVo7QUFDQXlFLFNBQUc3RSxPQUFILEdBQWF3RCxNQUFiO0FBQ0FxQixTQUFHNUUsY0FBSCxHQUFvQixLQUFwQjtBQUNBLGFBQU80RSxFQUFQO0FBQ0Q7Ozs7O0FBc1FIO0FBQ0E7OztBQTlUcUIvRSxPLENBQ1plLGdCLEdBQW1CLHlCO2tCQURQZixPO0FBK1RwQkEsT0FBRCxDQUFjZ0YsU0FBZCwrQkFBd0MsWUFBVztBQUNqRCxTQUFPLElBQVA7QUFDRCxDQUZEOztBQUlBLFNBQVMzQyxnQkFBVCxDQUEwQnNDLEdBQTFCLEVBQXlDO0FBQ3ZDLE1BQUlNLFFBQVFDLEdBQVIsQ0FBWUMsUUFBWixLQUF5QixZQUE3QixFQUEyQztBQUN4Q1IsT0FBRCxDQUFVbEIsR0FBVixHQUFpQmtCLEdBQUQsQ0FBVVgsTUFBVixHQUFvQlcsR0FBRCxDQUFVUyxLQUFWLEdBQWtCQyxRQUFyRDtBQUNEO0FBQ0Y7O0FBRUQsU0FBU0EsUUFBVCxHQUFvQjtBQUNsQixRQUFNLElBQUlwRCxLQUFKLENBQVUsOEVBQVYsQ0FBTjtBQUNEIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFNjaGVkdWxlciBmcm9tICcuL1NjaGVkdWxlcic7XG5pbXBvcnQgJCRvYnNlcnZhYmxlIGZyb20gJ3N5bWJvbC1vYnNlcnZhYmxlJztcblxuZXhwb3J0IHR5cGUgTGl2ZVNldENoYW5nZVJlY29yZDxUPiA9XG4gIHt0eXBlOiAnYWRkJywgdmFsdWU6IFR9IHxcbiAge3R5cGU6ICdyZW1vdmUnLCB2YWx1ZTogVH0gfFxuICB7dHlwZTogJ2VuZCd9O1xuXG5leHBvcnQgdHlwZSBMaXZlU2V0Q29udHJvbGxlcjxUPiA9IHtcbiAgY2xvc2VkOiBib29sZWFuO1xuICBhZGQoaXRlbTogVCk6IHZvaWQ7XG4gIHJlbW92ZShpdGVtOiBUKTogdm9pZDtcbiAgZXJyb3IoZXJyOiBhbnkpOiB2b2lkO1xuICBlbmQoKTogdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIExpc3RlbkhhbmRsZXIgPSB7XG4gIHVuc3Vic2NyaWJlKCk6IHZvaWQ7XG4gICtwdWxsQ2hhbmdlcz86ID8oKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgTGl2ZVNldEluaXQ8VD4gPSB7XG4gIHNjaGVkdWxlcj86ID9TY2hlZHVsZXI7XG4gIHJlYWQoKTogU2V0PFQ+O1xuICBsaXN0ZW4oXG4gICAgc2V0VmFsdWVzOiB7ICh2YWx1ZXM6IFNldDxUPik6IHZvaWQgfSxcbiAgICBjb250cm9sbGVyOiBMaXZlU2V0Q29udHJvbGxlcjxUPlxuICApOiA/TGlzdGVuSGFuZGxlcnwoKT0+dm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIExpdmVTZXRTdWJzY3JpYmVyPFQ+ID0gKGNoYW5nZXM6IEFycmF5PExpdmVTZXRDaGFuZ2VSZWNvcmQ8VD4+KSA9PiB2b2lkO1xuXG5leHBvcnQgdHlwZSBMaXZlU2V0U3Vic2NyaXB0aW9uID0ge1xuICBjbG9zZWQ6IGJvb2xlYW47XG4gIHVuc3Vic2NyaWJlKCk6IHZvaWQ7XG4gIHB1bGxDaGFuZ2VzKCk6IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBMaXZlU2V0T2JzZXJ2ZXI8VD4gPSB7XG4gIHN0YXJ0PzogPyhzdWJzY3JpcHRpb246IExpdmVTZXRTdWJzY3JpcHRpb24pID0+IHZvaWQ7XG4gIG5leHQ/OiA/KGNoYW5nZXM6IEFycmF5PExpdmVTZXRDaGFuZ2VSZWNvcmQ8VD4+KSA9PiB2b2lkO1xuICBlcnJvcj86ID8oZXJyOiBhbnkpID0+IHZvaWQ7XG4gIGNvbXBsZXRlPzogPygpID0+IHZvaWQ7XG59O1xuXG50eXBlIExpdmVTZXRPYnNlcnZlclJlY29yZDxUPiA9IHtcbiAgaWdub3JlOiBudW1iZXI7XG4gIG9ic2VydmVyOiBMaXZlU2V0T2JzZXJ2ZXI8VD47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaXZlU2V0PFQ+IHtcbiAgc3RhdGljIGRlZmF1bHRTY2hlZHVsZXIgPSBuZXcgU2NoZWR1bGVyKCk7XG5cbiAgX2luaXQ6IExpdmVTZXRJbml0PFQ+O1xuICBfc2NoZWR1bGVyOiBTY2hlZHVsZXI7XG5cbiAgX3ZhbHVlczogP1NldDxUPiA9IG51bGw7XG4gIF9tdXRhYmxlVmFsdWVzOiBib29sZWFuID0gZmFsc2U7IC8vIFdoZXRoZXIgd2UgY2FuIG11dGF0ZSB0aGUgX3ZhbHVlcyBTZXQuXG5cbiAgX2FjdGl2ZTogP3tcbiAgICBjb250cm9sbGVyOiBMaXZlU2V0Q29udHJvbGxlcjxUPjtcbiAgICBsaXN0ZW5IYW5kbGVyOiBMaXN0ZW5IYW5kbGVyO1xuICB9ID0gbnVsbDtcbiAgX2luU3Vic2NyaXB0aW9uU3RhcnQgPSBmYWxzZTtcbiAgX2VuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIF9lbmRlZFdpdGhFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBfZXJyb3I6IGFueSA9IG51bGw7XG4gIF9xdWV1ZWRDYWxsOiBib29sZWFuID0gZmFsc2U7XG4gIF9jaGFuZ2VRdWV1ZTogQXJyYXk8TGl2ZVNldENoYW5nZVJlY29yZDxUPj4gPSBbXTtcbiAgX29ic2VydmVyczogQXJyYXk8TGl2ZVNldE9ic2VydmVyUmVjb3JkPFQ+PiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGluaXQ6IExpdmVTZXRJbml0PFQ+KSB7XG4gICAgdGhpcy5faW5pdCA9IGluaXQ7XG4gICAgdGhpcy5fc2NoZWR1bGVyID0gaW5pdC5zY2hlZHVsZXIgfHwgTGl2ZVNldC5kZWZhdWx0U2NoZWR1bGVyO1xuICB9XG5cbiAgc3RhdGljIGFjdGl2ZTxUPihpbml0aWFsVmFsdWVzOiA/U2V0PFQ+LCBvcHRpb25zOiA/e3NjaGVkdWxlcj86ID9TY2hlZHVsZXJ9KToge2xpdmVTZXQ6IExpdmVTZXQ8VD4sIGNvbnRyb2xsZXI6IExpdmVTZXRDb250cm9sbGVyPFQ+fSB7XG4gICAgY29uc3Qgc2V0ID0gaW5pdGlhbFZhbHVlcyB8fCBuZXcgU2V0KCk7XG4gICAgbGV0IGNvbnRyb2xsZXI7XG4gICAgY29uc3QgbGl2ZVNldCA9IG5ldyBMaXZlU2V0KHtcbiAgICAgIHNjaGVkdWxlcjogb3B0aW9ucyA/IG9wdGlvbnMuc2NoZWR1bGVyIDogbnVsbCxcbiAgICAgIHJlYWQ6ICgpID0+IHNldCxcbiAgICAgIGxpc3RlbjogKHNldFZhbHVlcywgX2NvbnRyb2xsZXIpID0+IHtcbiAgICAgICAgc2V0VmFsdWVzKHNldCk7XG4gICAgICAgIGNvbnRyb2xsZXIgPSBfY29udHJvbGxlcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBsaXZlU2V0LnN1YnNjcmliZSh7fSk7XG4gICAgcmV0dXJuIHtsaXZlU2V0LCBjb250cm9sbGVyOiAoY29udHJvbGxlcjogYW55KX07XG4gIH1cblxuICBzdGF0aWMgY29uc3RhbnQ8VD4odmFsdWVzOiBTZXQ8VD4sIG9wdGlvbnM6ID97c2NoZWR1bGVyPzogP1NjaGVkdWxlcn0pOiBMaXZlU2V0PFQ+IHtcbiAgICBtYWtlU2V0SW1tdXRhYmxlKHZhbHVlcyk7XG4gICAgY29uc3Qgc2hvdWxkTm90SGFwcGVuID0gKCkgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgbm90IGhhcHBlbicpO1xuICAgIH07XG4gICAgY29uc3QgbHMgPSBuZXcgTGl2ZVNldCh7XG4gICAgICBzY2hlZHVsZXI6IG9wdGlvbnMgPyBvcHRpb25zLnNjaGVkdWxlciA6IG51bGwsXG4gICAgICByZWFkOiBzaG91bGROb3RIYXBwZW4sXG4gICAgICBsaXN0ZW46IHNob3VsZE5vdEhhcHBlblxuICAgIH0pO1xuICAgIGxzLl9lbmRlZCA9IHRydWU7XG4gICAgbHMuX3ZhbHVlcyA9IHZhbHVlcztcbiAgICBscy5fbXV0YWJsZVZhbHVlcyA9IGZhbHNlO1xuICAgIHJldHVybiBscztcbiAgfVxuXG4gIF9xdWV1ZUNoYW5nZShyZWNvcmQ6ID9MaXZlU2V0Q2hhbmdlUmVjb3JkPFQ+KSB7XG4gICAgaWYgKHJlY29yZCkge1xuICAgICAgdGhpcy5fY2hhbmdlUXVldWUucHVzaChyZWNvcmQpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3F1ZXVlZENhbGwpIHtcbiAgICAgIHRoaXMuX3F1ZXVlZENhbGwgPSB0cnVlO1xuICAgICAgdGhpcy5fc2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcXVldWVkQ2FsbCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5fY2hhbmdlUXVldWU7XG4gICAgICAgIHRoaXMuX2NoYW5nZVF1ZXVlID0gW107XG4gICAgICAgIGxldCBvYnNlcnZlcnNUb0NhbGw7XG4gICAgICAgIGNvbnN0IGVuZGVkID0gdGhpcy5fZW5kZWQ7XG4gICAgICAgIGlmIChlbmRlZCkge1xuICAgICAgICAgIG9ic2VydmVyc1RvQ2FsbCA9IHRoaXMuX29ic2VydmVycztcbiAgICAgICAgICB0aGlzLl9vYnNlcnZlcnMgPSBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYnNlcnZlcnNUb0NhbGwgPSB0aGlzLl9vYnNlcnZlcnMuc2xpY2UoKTtcbiAgICAgICAgfVxuICAgICAgICBvYnNlcnZlcnNUb0NhbGwuZm9yRWFjaChyZWNvcmQgPT4ge1xuICAgICAgICAgIGNvbnN0IHtvYnNlcnZlciwgaWdub3JlfSA9IHJlY29yZDtcbiAgICAgICAgICBjb25zdCBvYnNlcnZlck5leHQgPSBvYnNlcnZlci5uZXh0O1xuICAgICAgICAgIGlmIChvYnNlcnZlck5leHQpIHtcbiAgICAgICAgICAgIGlmIChpZ25vcmUgPT09IDApIHtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXJOZXh0LmNhbGwob2JzZXJ2ZXIsIGNoYW5nZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVjb3JkLmlnbm9yZSA9IDA7XG4gICAgICAgICAgICAgIGNvbnN0IGNoYW5nZXNUb0RlbGl2ZXIgPSBjaGFuZ2VzLnNsaWNlKGlnbm9yZSk7XG4gICAgICAgICAgICAgIGlmIChjaGFuZ2VzVG9EZWxpdmVyLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyTmV4dC5jYWxsKG9ic2VydmVyLCBjaGFuZ2VzVG9EZWxpdmVyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZW5kZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9lbmRlZFdpdGhFcnJvcikge1xuICAgICAgICAgICAgICBpZiAob2JzZXJ2ZXIuZXJyb3IpIG9ic2VydmVyLmVycm9yKHRoaXMuX2Vycm9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChvYnNlcnZlci5jb21wbGV0ZSkgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgX2RlYWN0aXZhdGUoKSB7XG4gICAgaWYgKCF0aGlzLl9hY3RpdmUpIHRocm93IG5ldyBFcnJvcignYWxyZWFkeSBpbmFjdGl2ZScpO1xuICAgIGNvbnN0IHtsaXN0ZW5IYW5kbGVyfSA9IHRoaXMuX2FjdGl2ZTtcbiAgICB0aGlzLl9hY3RpdmUgPSBudWxsO1xuICAgIGlmIChsaXN0ZW5IYW5kbGVyKSB7XG4gICAgICBsaXN0ZW5IYW5kbGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgdmFsdWVzKCk6IFNldDxUPiB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlcykge1xuICAgICAgaWYgKHRoaXMuX2FjdGl2ZSAmJiAhdGhpcy5faW5TdWJzY3JpcHRpb25TdGFydCkge1xuICAgICAgICBjb25zdCB7bGlzdGVuSGFuZGxlcn0gPSB0aGlzLl9hY3RpdmU7XG4gICAgICAgIGlmIChsaXN0ZW5IYW5kbGVyLnB1bGxDaGFuZ2VzKSB7XG4gICAgICAgICAgbGlzdGVuSGFuZGxlci5wdWxsQ2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fbXV0YWJsZVZhbHVlcykge1xuICAgICAgICB0aGlzLl9tdXRhYmxlVmFsdWVzID0gZmFsc2U7XG4gICAgICAgIG1ha2VTZXRJbW11dGFibGUodGhpcy5fdmFsdWVzKTtcbiAgICAgIH1cbiAgICAgIC8qOjogaWYgKCF0aGlzLl92YWx1ZXMpIHRocm93IG5ldyBFcnJvcigpOyAqL1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlcztcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuX2FjdGl2ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RyaWVkIHRvIGNhbGwgdmFsdWVzKCkgb24gbGl2ZXNldCBkdXJpbmcgc3Vic2NyaXB0aW9uIGJlZm9yZSBzZXRWYWx1ZXMgd2FzIGNhbGxlZCcpO1xuICAgICAgfVxuICAgICAgY29uc3QgcyA9IHRoaXMuX2luaXQucmVhZCgpO1xuICAgICAgbWFrZVNldEltbXV0YWJsZShzKTtcbiAgICAgIHJldHVybiBzO1xuICAgIH1cbiAgfVxuXG4gIGlzRW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuZGVkO1xuICB9XG5cbiAgZ2V0U2NoZWR1bGVyKCk6IFNjaGVkdWxlciB7XG4gICAgcmV0dXJuIHRoaXMuX3NjaGVkdWxlcjtcbiAgfVxuXG4gIHN1YnNjcmliZShvYnNlcnZlck9yT25OZXh0OiBMaXZlU2V0T2JzZXJ2ZXI8VD4gfCAoY2hhbmdlczogQXJyYXk8TGl2ZVNldENoYW5nZVJlY29yZDxUPj4pID0+IHZvaWQsIG9uRXJyb3I6ID8oZXJyOiBhbnkpID0+IHZvaWQsIG9uQ29tcGxldGU6ID8oKSA9PiB2b2lkKTogTGl2ZVNldFN1YnNjcmlwdGlvbiB7XG4gICAgY29uc3QgbGl2ZVNldCA9IHRoaXM7XG5cbiAgICBsZXQgb2JzZXJ2ZXI7XG4gICAgaWYgKHR5cGVvZiBvYnNlcnZlck9yT25OZXh0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvYnNlcnZlciA9IHtcbiAgICAgICAgbmV4dDogb2JzZXJ2ZXJPck9uTmV4dCxcbiAgICAgICAgZXJyb3I6IG9uRXJyb3IsXG4gICAgICAgIGNvbXBsZXRlOiBvbkNvbXBsZXRlXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBvYnNlcnZlciA9IG9ic2VydmVyT3JPbk5leHQ7XG4gICAgfVxuXG4gICAgKG9ic2VydmVyOiBMaXZlU2V0T2JzZXJ2ZXI8VD4pO1xuXG4gICAgaWYgKHRoaXMuX2VuZGVkKSB7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB7XG4gICAgICAgIGNsb3NlZDogZmFsc2UsXG4gICAgICAgIHVuc3Vic2NyaWJlOiAoKSA9PiB7XG4gICAgICAgICAgc3Vic2NyaXB0aW9uLmNsb3NlZCA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIHB1bGxDaGFuZ2VzOiAoKSA9PiB7fVxuICAgICAgfTtcbiAgICAgIGlmIChvYnNlcnZlci5zdGFydCkge1xuICAgICAgICBvYnNlcnZlci5zdGFydChzdWJzY3JpcHRpb24pO1xuICAgICAgfVxuICAgICAgaWYgKCFzdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICAgIGlmICh0aGlzLl9lbmRlZFdpdGhFcnJvcikge1xuICAgICAgICAgIGlmIChvYnNlcnZlci5lcnJvcikge1xuICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IodGhpcy5fZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAob2JzZXJ2ZXIuY29tcGxldGUpIHtcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzdWJzY3JpcHRpb24uY2xvc2VkID0gdHJ1ZTtcbiAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzZXJ2ZXJSZWNvcmQgPSB7b2JzZXJ2ZXIsIGlnbm9yZTogdGhpcy5fY2hhbmdlUXVldWUubGVuZ3RofTtcblxuICAgIGxldCBpc1N0YXJ0aW5nID0gdHJ1ZTtcbiAgICBsZXQgdW5zdWJzY3JpYmVkSW5TdGFydCA9IGZhbHNlO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHtcbiAgICAgIC8qOjogY2xvc2VkOiBmYWxzZSYmYCAqLyBnZXQgY2xvc2VkKCkge1xuICAgICAgICByZXR1cm4gIWlzU3RhcnRpbmcgJiYgbGl2ZVNldC5fb2JzZXJ2ZXJzLmluZGV4T2Yob2JzZXJ2ZXJSZWNvcmQpIDwgMDtcbiAgICAgIH0vKjo6IGAgKi8sXG4gICAgICB1bnN1YnNjcmliZTogKCkgPT4ge1xuICAgICAgICBpZiAoaXNTdGFydGluZykge1xuICAgICAgICAgIHVuc3Vic2NyaWJlZEluU3RhcnQgPSB0cnVlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpeCA9IHRoaXMuX29ic2VydmVycy5pbmRleE9mKG9ic2VydmVyUmVjb3JkKTtcbiAgICAgICAgaWYgKGl4ID49IDApIHtcbiAgICAgICAgICB0aGlzLl9vYnNlcnZlcnMuc3BsaWNlKGl4LCAxKTtcbiAgICAgICAgICBpZiAoIXRoaXMuX2VuZGVkICYmIHRoaXMuX29ic2VydmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9kZWFjdGl2YXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHVsbENoYW5nZXM6ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZSAmJiB0aGlzLl9hY3RpdmUubGlzdGVuSGFuZGxlciAmJiB0aGlzLl9hY3RpdmUubGlzdGVuSGFuZGxlci5wdWxsQ2hhbmdlcykge1xuICAgICAgICAgIHRoaXMuX2FjdGl2ZS5saXN0ZW5IYW5kbGVyLnB1bGxDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hhbmdlUXVldWVMZW5ndGggPSB0aGlzLl9jaGFuZ2VRdWV1ZS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTmV4dCA9IG9ic2VydmVyLm5leHQ7XG4gICAgICAgIGlmIChjaGFuZ2VRdWV1ZUxlbmd0aCAhPT0gMCAmJiBvcmlnaW5hbE5leHQpIHtcbiAgICAgICAgICBjb25zdCBjaGFuZ2VzVG9EZWxpdmVyID0gdGhpcy5fY2hhbmdlUXVldWUuc2xpY2Uob2JzZXJ2ZXJSZWNvcmQuaWdub3JlKTtcbiAgICAgICAgICBpZiAoY2hhbmdlc1RvRGVsaXZlci5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIG9ic2VydmVyUmVjb3JkLmlnbm9yZSA9IGNoYW5nZVF1ZXVlTGVuZ3RoO1xuICAgICAgICAgICAgb3JpZ2luYWxOZXh0LmNhbGwob2JzZXJ2ZXIsIGNoYW5nZXNUb0RlbGl2ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoIXRoaXMuX2FjdGl2ZSkge1xuICAgICAgY29uc3QgY29udHJvbGxlcjogTGl2ZVNldENvbnRyb2xsZXI8VD4gPSB7XG4gICAgICAgIC8vIEZsb3cgZG9lc24ndCBzdXBwb3J0IGdldHRlcnMgYW5kIHNldHRlcnMgeWV0XG4gICAgICAgIC8qOjogY2xvc2VkOiBmYWxzZSYmYCAqLyBnZXQgY2xvc2VkKCkge1xuICAgICAgICAgIHJldHVybiAhbGl2ZVNldC5fYWN0aXZlIHx8IGxpdmVTZXQuX2FjdGl2ZS5jb250cm9sbGVyICE9PSB0aGlzO1xuICAgICAgICB9Lyo6OiBgICovLFxuICAgICAgICBhZGQ6IHZhbHVlID0+IHtcbiAgICAgICAgICBsZXQgdmFsdWVzID0gdGhpcy5fdmFsdWVzO1xuICAgICAgICAgIGlmICghdmFsdWVzKSB0aHJvdyBuZXcgRXJyb3IoJ3NldFZhbHVlIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBjb250cm9sbGVyIGlzIHVzZWQnKTtcbiAgICAgICAgICBpZiAoIXRoaXMuX2VuZGVkICYmICF2YWx1ZXMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9tdXRhYmxlVmFsdWVzKSB7XG4gICAgICAgICAgICAgIHRoaXMuX3ZhbHVlcyA9IHZhbHVlcyA9IG5ldyBTZXQodmFsdWVzKTtcbiAgICAgICAgICAgICAgdGhpcy5fbXV0YWJsZVZhbHVlcyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YWx1ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX3F1ZXVlQ2hhbmdlKHt0eXBlOiAnYWRkJywgdmFsdWV9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJlbW92ZTogdmFsdWUgPT4ge1xuICAgICAgICAgIGxldCB2YWx1ZXMgPSB0aGlzLl92YWx1ZXM7XG4gICAgICAgICAgaWYgKCF2YWx1ZXMpIHRocm93IG5ldyBFcnJvcignc2V0VmFsdWUgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGNvbnRyb2xsZXIgaXMgdXNlZCcpO1xuICAgICAgICAgIGlmICghdGhpcy5fZW5kZWQgJiYgdmFsdWVzLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fbXV0YWJsZVZhbHVlcykge1xuICAgICAgICAgICAgICB0aGlzLl92YWx1ZXMgPSB2YWx1ZXMgPSBuZXcgU2V0KHZhbHVlcyk7XG4gICAgICAgICAgICAgIHRoaXMuX211dGFibGVWYWx1ZXMgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFsdWVzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl9xdWV1ZUNoYW5nZSh7dHlwZTogJ3JlbW92ZScsIHZhbHVlfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fZW5kZWQpIHJldHVybjtcbiAgICAgICAgICB0aGlzLl9lbmRlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fZW5kZWRXaXRoRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuX2Vycm9yID0gZXJyO1xuICAgICAgICAgIHRoaXMuX3F1ZXVlQ2hhbmdlKCk7XG4gICAgICAgICAgdGhpcy5fZGVhY3RpdmF0ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBlbmQ6ICgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fZW5kZWQpIHJldHVybjtcbiAgICAgICAgICB0aGlzLl9lbmRlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fcXVldWVDaGFuZ2UoKTtcbiAgICAgICAgICB0aGlzLl9kZWFjdGl2YXRlKCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBhY3RpdmUgPSB0aGlzLl9hY3RpdmUgPSB7XG4gICAgICAgIGNvbnRyb2xsZXIsXG4gICAgICAgIGxpc3RlbkhhbmRsZXI6IHtcbiAgICAgICAgICB1bnN1YnNjcmliZTogKCkgPT4ge31cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IHNldFZhbHVlc0Vycm9yOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzZXRWYWx1ZXMgbXVzdCBiZSBjYWxsZWQgb25jZSBkdXJpbmcgbGlzdGVuJyk7XG4gICAgICB9O1xuICAgICAgbGV0IHNldFZhbHVlcyA9IHZhbHVlcyA9PiB7XG4gICAgICAgIHNldFZhbHVlcyA9IHNldFZhbHVlc0Vycm9yO1xuICAgICAgICBtYWtlU2V0SW1tdXRhYmxlKHZhbHVlcyk7XG4gICAgICAgIHRoaXMuX3ZhbHVlcyA9IHZhbHVlcztcbiAgICAgICAgdGhpcy5fbXV0YWJsZVZhbHVlcyA9IGZhbHNlO1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGxpc3RlbkhhbmRsZXJPckZ1bmN0aW9uID0gdGhpcy5faW5pdC5saXN0ZW4odmFsdWVzID0+IHNldFZhbHVlcyh2YWx1ZXMpLCBjb250cm9sbGVyKTtcbiAgICAgIGlmICghdGhpcy5fdmFsdWVzKSB7XG4gICAgICAgIHNldFZhbHVlc0Vycm9yKCk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIGxpc3RlbkhhbmRsZXJPckZ1bmN0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGFjdGl2ZS5saXN0ZW5IYW5kbGVyID0ge1xuICAgICAgICAgIHVuc3Vic2NyaWJlOiBsaXN0ZW5IYW5kbGVyT3JGdW5jdGlvblxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChsaXN0ZW5IYW5kbGVyT3JGdW5jdGlvbiAhPSBudWxsICYmIHR5cGVvZiBsaXN0ZW5IYW5kbGVyT3JGdW5jdGlvbi51bnN1YnNjcmliZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBhY3RpdmUubGlzdGVuSGFuZGxlciA9IGxpc3RlbkhhbmRsZXJPckZ1bmN0aW9uO1xuICAgICAgfSBlbHNlIGlmIChsaXN0ZW5IYW5kbGVyT3JGdW5jdGlvbiAhPSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2xpc3RlbiBtdXN0IHJldHVybiBvYmplY3Qgd2l0aCB1bnN1YnNjcmliZSBtZXRob2QsIGEgZnVuY3Rpb24sIG9yIG51bGwnKTtcbiAgICAgIH1cbiAgICAgIGlmIChjb250cm9sbGVyLmNsb3NlZCkge1xuICAgICAgICB0aGlzLl9hY3RpdmUgPSBhY3RpdmU7XG4gICAgICAgIHRoaXMuX2RlYWN0aXZhdGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob2JzZXJ2ZXIuc3RhcnQpIHtcbiAgICAgIHRoaXMuX2luU3Vic2NyaXB0aW9uU3RhcnQgPSB0cnVlO1xuICAgICAgb2JzZXJ2ZXIuc3RhcnQoc3Vic2NyaXB0aW9uKTtcbiAgICAgIHRoaXMuX2luU3Vic2NyaXB0aW9uU3RhcnQgPSBmYWxzZTtcbiAgICB9XG4gICAgaXNTdGFydGluZyA9IGZhbHNlO1xuXG4gICAgb2JzZXJ2ZXJSZWNvcmQuaWdub3JlID0gdGhpcy5fY2hhbmdlUXVldWUubGVuZ3RoO1xuICAgIGlmICghdW5zdWJzY3JpYmVkSW5TdGFydCkge1xuICAgICAgdGhpcy5fb2JzZXJ2ZXJzLnB1c2gob2JzZXJ2ZXJSZWNvcmQpO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gIH1cbn1cblxuLy8gQXNzaWduIGhlcmUgYmVjYXVzZSBGbG93IGRvZXNuJ3Qgc3VwcG9ydCBjb21wdXRlZCBwcm9wZXJ0eSBrZXlzIG9uIGNsYXNzZXM6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMvMjI4NlxuKExpdmVTZXQ6YW55KS5wcm90b3R5cGVbJCRvYnNlcnZhYmxlXSA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gdGhpcztcbn07XG5cbmZ1bmN0aW9uIG1ha2VTZXRJbW11dGFibGUoc2V0OiBTZXQ8YW55Pikge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIChzZXQ6YW55KS5hZGQgPSAoc2V0OmFueSkuZGVsZXRlID0gKHNldDphbnkpLmNsZWFyID0gcmVhZE9ubHk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVhZE9ubHkoKSB7XG4gIHRocm93IG5ldyBFcnJvcignRG8gbm90IG1vZGlmeSBTZXQgcGFzc2VkIHRvIG9yIGZyb20gTGl2ZVNldDogU2V0IGlzIHJlYWQtb25seSBpbiBkZXZlbG9wbWVudCcpO1xufVxuIl19
{
"name": "live-set",
"version": "0.4.1",
"version": "0.4.2",
"description": "Class representing a changing and transformable collection of items.",

@@ -21,2 +21,10 @@ "main": "index.js",

"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/StreakYC/live-set.git"
},
"bugs": {
"url": "https://github.com/StreakYC/live-set/issues"
},
"homepage": "https://github.com/StreakYC/live-set#readme",
"browserify": {

@@ -32,3 +40,3 @@ "transform": [

"symbol-observable": "^1.0.4",
"zen-observable": "^0.4.0"
"zen-observable": "^0.5.2"
},

@@ -38,3 +46,3 @@ "devDependencies": {

"babel-eslint": "^7.1.1",
"babel-jest": "^18.0.0",
"babel-jest": "^20.0.3",
"babel-plugin-add-module-exports": "^0.2.1",

@@ -45,7 +53,7 @@ "babel-plugin-transform-flow-strip-types": "^6.22.0",

"babel-preset-stage-2": "^6.22.0",
"eslint": "^3.15.0",
"eslint": "^4.1.1",
"eslint-plugin-flowtype": "^2.30.0",
"flow-bin": "^0.40.0",
"flow-bin": "^0.49.1",
"flow-copy-source": "^1.1.0",
"jest": "^18.1.0",
"jest": "^20.0.4",
"pdelay": "^1.0.0",

@@ -52,0 +60,0 @@ "transducers.js": "^0.3.2"

@@ -173,2 +173,2 @@ 'use strict';

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy90cmFuc2R1Y2UuanMiXSwibmFtZXMiOlsidHJhbnNkdWNlIiwiYXJyYXlYZiIsInJlcyIsImlucHV0IiwicHVzaCIsImxpdmVTZXQiLCJ0cmFuc2R1Y2VyIiwic3RlcCIsInhmb3JtIiwiaW5wdXRWYWx1ZSIsImFkZHNDb21wbGV0ZSIsIm91dHB1dFZhbHVlcyIsInJldCIsInZhbHVlc0FuZENvbnRleHQiLCJpbnB1dFRvT3V0cHV0VmFsdWVzIiwidmFsdWVzIiwidmFsdWUiLCJfYWRkc0NvbXBsZXRlIiwic2V0IiwiaSIsImxlbiIsImxlbmd0aCIsImFkZCIsImZvckVhY2giLCJzY2hlZHVsZXIiLCJnZXRTY2hlZHVsZXIiLCJyZWFkIiwibGlzdGVuIiwic2V0VmFsdWVzIiwiY29udHJvbGxlciIsInN1YiIsInN1YnNjcmliZSIsInN0YXJ0IiwibmV4dCIsImNoYW5nZXMiLCJjaGFuZ2UiLCJ0eXBlIiwiZW5kVmFsdWUiLCJsaXN0IiwiZ2V0IiwiRXJyb3IiLCJyZW1vdmUiLCJ0cmFuc2Zvcm1lZFZhbHVlIiwiZGVsZXRlIiwiZXJyb3IiLCJlcnIiLCJjb21wbGV0ZSIsImVuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQWlCd0JBLFM7O0FBZnhCOzs7Ozs7QUFFQSxJQUFNQyxVQUFVO0FBQ2QscUJBRGMsNEJBQ1E7QUFDcEIsV0FBTyxFQUFQO0FBQ0QsR0FIYTtBQUlkLHFCQUpjLDBCQUlNQyxHQUpOLEVBSVdDLEtBSlgsRUFJa0I7QUFDOUJELFFBQUlFLElBQUosQ0FBU0QsS0FBVDtBQUNBLFdBQU9ELEdBQVA7QUFDRCxHQVBhO0FBUWQsdUJBUmMsNEJBUVFDLEtBUlIsRUFRZTtBQUMzQixXQUFPQSxLQUFQO0FBQ0Q7QUFWYSxDQUFoQjs7QUFhZSxTQUFTSCxTQUFULENBQW1CSyxPQUFuQixFQUEwQ0MsVUFBMUMsRUFBOEU7QUFDM0YsV0FBU0MsSUFBVCxDQUFjQyxLQUFkLEVBQTZCQyxVQUE3QixFQUdFO0FBQ0EsUUFBSUMs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cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IExpdmVTZXQgZnJvbSAnLic7XG5cbmNvbnN0IGFycmF5WGYgPSB7XG4gICdAQHRyYW5zZHVjZXIvaW5pdCcoKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9LFxuICAnQEB0cmFuc2R1Y2VyL3N0ZXAnKHJlcywgaW5wdXQpIHtcbiAgICByZXMucHVzaChpbnB1dCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfSxcbiAgJ0BAdHJhbnNkdWNlci9yZXN1bHQnKGlucHV0KSB7XG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2R1Y2UobGl2ZVNldDogTGl2ZVNldDxhbnk+LCB0cmFuc2R1Y2VyOiBGdW5jdGlvbik6IExpdmVTZXQ8YW55PiB7XG4gIGZ1bmN0aW9uIHN0ZXAoeGZvcm06IE9iamVjdCwgaW5wdXRWYWx1ZTogYW55KToge1xuICAgIG91dHB1dFZhbHVlczogQXJyYXk8YW55PjtcbiAgICBhZGRzQ29tcGxldGU6IGJvb2xlYW47XG4gIH0ge1xuICAgIGxldCBhZGRzQ29tcGxldGUgPSBmYWxzZTtcbiAgICBsZXQgb3V0cHV0VmFsdWVzO1xuICAgIGNvbnN0IHJldCA9IHhmb3JtWydAQHRyYW5zZHVjZXIvc3RlcCddKFtdLCBpbnB1dFZhbHVlKTtcbiAgICBpZiAocmV0ICYmIHJldFsnQEB0cmFuc2R1Y2VyL3JlZHVjZWQnXSkge1xuICAgICAgb3V0cHV0VmFsdWVzID0gcmV0WydAQHRyYW5zZHVjZXIvdmFsdWUnXTtcbiAgICAgIGFkZHNDb21wbGV0ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dHB1dFZhbHVlcyA9IHJldDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIG91dHB1dFZhbHVlcyxcbiAgICAgIGFkZHNDb21wbGV0ZVxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiB2YWx1ZXNBbmRDb250ZXh0KCk6IHtcbiAgICB2YWx1ZXM6IFNldDxhbnk+O1xuICAgIGlucHV0VG9PdXRwdXRWYWx1ZXM6IE1hcDxhbnksIEFycmF5PGFueT4+O1xuICAgIHhmb3JtOiBPYmplY3Q7XG4gICAgYWRkc0NvbXBsZXRlOiBib29sZWFuO1xuICB9IHtcbiAgICBjb25zdCBpbnB1dFRvT3V0cHV0VmFsdWVzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IHhmb3JtID0gdHJhbnNkdWNlcihhcnJheVhmKTtcbiAgICBsZXQgYWRkc0NvbXBsZXRlID0gZmFsc2U7XG4gICAgY29uc3QgdmFsdWVzID0gbmV3IFNldCh4Zm9ybVsnQEB0cmFuc2R1Y2VyL2luaXQnXSgpKTtcbiAgICBmb3IgKGxldCB2YWx1ZSBvZiBsaXZlU2V0LnZhbHVlcygpKSB7XG4gICAgICBjb25zdCB7b3V0cHV0VmFsdWVzLCBhZGRzQ29tcGxldGU6IF9hZGRzQ29tcGxldGV9ID0gc3RlcCh4Zm9ybSwgdmFsdWUpO1xuICAgICAgaW5wdXRUb091dHB1dFZhbHVlcy5zZXQodmFsdWUsIG91dHB1dFZhbHVlcyk7XG4gICAgICBmb3IgKGxldCBpPTAsbGVuPW91dHB1dFZhbHVlcy5sZW5ndGg7IGk8bGVuOyBpKyspIHtcbiAgICAgICAgdmFsdWVzLmFkZChvdXRwdXRWYWx1ZXNbaV0pO1xuICAgICAgfVxuICAgICAgaWYgKF9hZGRzQ29tcGxldGUpIHtcbiAgICAgICAgYWRkc0NvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgeGZvcm1bJ0BAdHJhbnNkdWNlci9yZXN1bHQnXShbXSkuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgdmFsdWVzLmFkZCh2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlcyxcbiAgICAgIGlucHV0VG9PdXRwdXRWYWx1ZXMsXG4gICAgICB4Zm9ybSxcbiAgICAgIGFkZHNDb21wbGV0ZVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbmV3IExpdmVTZXQoe1xuICAgIHNjaGVkdWxlcjogbGl2ZVNldC5nZXRTY2hlZHVsZXIoKSxcbiAgICByZWFkOiAoKSA9PiB2YWx1ZXNBbmRDb250ZXh0KCkudmFsdWVzLFxuICAgIGxpc3RlbihzZXRWYWx1ZXMsIGNvbnRyb2xsZXIpIHtcbiAgICAgIGxldCBpbnB1dFRvT3V0cHV0VmFsdWVzLCB4Zm9ybSwgYWRkc0NvbXBsZXRlO1xuICAgICAgY29uc3Qgc3ViID0gbGl2ZVNldC5zdWJzY3JpYmUoe1xuICAgICAgICBzdGFydCgpIHtcbiAgICAgICAgICBjb25zdCByZXQgPSB2YWx1ZXNBbmRDb250ZXh0KCk7XG4gICAgICAgICAgc2V0VmFsdWVzKHJldC52YWx1ZXMpO1xuICAgICAgICAgIGlucHV0VG9PdXRwdXRWYWx1ZXMgPSByZXQuaW5wdXRUb091dHB1dFZhbHVlcztcbiAgICAgICAgICB4Zm9ybSA9IHJldC54Zm9ybTtcbiAgICAgICAgICBhZGRzQ29tcGxldGUgPSByZXQuYWRkc0NvbXBsZXRlO1xuICAgICAgICB9LFxuICAgICAgICBuZXh0KGNoYW5nZXMpIHtcbiAgICAgICAgICBmb3IgKGxldCBpPTAsbGVuPWNoYW5nZXMubGVuZ3RoOyBpPGxlbjsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBjaGFuZ2UgPSBjaGFuZ2VzW2ldO1xuICAgICAgICAgICAgaWYgKGNoYW5nZS50eXBlID09PSAnYWRkJykge1xuICAgICAgICAgICAgICBpZiAoIWFkZHNDb21wbGV0ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHt2YWx1ZX0gPSBjaGFuZ2U7XG4gICAgICAgICAgICAgICAgY29uc3Qge291dHB1dFZhbHVlcywgYWRkc0NvbXBsZXRlOiBfYWRkc0NvbXBsZXRlfSA9IHN0ZXAoeGZvcm0sIHZhbHVlKTtcbiAgICAgICAgICAgICAgICBpbnB1dFRvT3V0cHV0VmFsdWVzLnNldCh2YWx1ZSwgb3V0cHV0VmFsdWVzKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpPTAsbGVuPW91dHB1dFZhbHVlcy5sZW5ndGg7IGk8bGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuYWRkKG91dHB1dFZhbHVlc1tpXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChfYWRkc0NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgICBhZGRzQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgeGZvcm1bJ0BAdHJhbnNkdWNlci9yZXN1bHQnXShbXSkuZm9yRWFjaChlbmRWYWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuYWRkKGVuZFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2UudHlwZSA9PT0gJ3JlbW92ZScpIHtcbiAgICAgICAgICAgICAgY29uc3Qge3ZhbHVlfSA9IGNoYW5nZTtcbiAgICAgICAgICAgICAgY29uc3QgbGlzdCA9IGlucHV0VG9PdXRwdXRWYWx1ZXMuZ2V0KHZhbHVlKTtcbiAgICAgICAgICAgICAgaWYgKCFsaXN0KSB0aHJvdyBuZXcgRXJyb3IoJ3ZhbHVlIGhhZCBub3QgYmVlbiBhZGRlZCcpO1xuICAgICAgICAgICAgICBsaXN0LmZvckVhY2godHJhbnNmb3JtZWRWYWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgY29udHJvbGxlci5yZW1vdmUodHJhbnNmb3JtZWRWYWx1ZSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBpbnB1dFRvT3V0cHV0VmFsdWVzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcihlcnIpIHtcbiAgICAgICAgICBjb250cm9sbGVyLmVycm9yKGVycik7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBsZXRlKCkge1xuICAgICAgICAgIGNvbnRyb2xsZXIuZW5kKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gc3ViO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy90cmFuc2R1Y2UuanMiXSwibmFtZXMiOlsidHJhbnNkdWNlIiwiYXJyYXlYZiIsInJlcyIsImlucHV0IiwicHVzaCIsImxpdmVTZXQiLCJ0cmFuc2R1Y2VyIiwic3RlcCIsInhmb3JtIiwiaW5wdXRWYWx1ZSIsImFkZHNDb21wbGV0ZSIsIm91dHB1dFZhbHVlcyIsInJldCIsInZhbHVlc0FuZENvbnRleHQiLCJpbnB1dFRvT3V0cHV0VmFsdWVzIiwidmFsdWVzIiwidmFsdWUiLCJfYWRkc0NvbXBsZXRlIiwic2V0IiwiaSIsImxlbiIsImxlbmd0aCIsImFkZCIsImZvckVhY2giLCJzY2hlZHVsZXIiLCJnZXRTY2hlZHVsZXIiLCJyZWFkIiwibGlzdGVuIiwic2V0VmFsdWVzIiwiY29udHJvbGxlciIsInN1YiIsInN1YnNjcmliZSIsInN0YXJ0IiwibmV4dCIsImNoYW5nZXMiLCJjaGFuZ2UiLCJ0eXBlIiwiZW5kVmFsdWUiLCJsaXN0IiwiZ2V0IiwiRXJyb3IiLCJyZW1vdmUiLCJ0cmFuc2Zvcm1lZFZhbHVlIiwiZGVsZXRlIiwiZXJyb3IiLCJlcnIiLCJjb21wbGV0ZSIsImVuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQWlCd0JBLFM7O0FBZnhCOzs7Ozs7QUFFQSxJQUFNQyxVQUFVO0FBQ2QscUJBRGMsNEJBQ1E7QUFDcEIsV0FBTyxFQUFQO0FBQ0QsR0FIYTtBQUlkLHFCQUpjLDBCQUlNQyxHQUpOLEVBSVdDLEtBSlgsRUFJa0I7QUFDOUJELFFBQUlFLElBQUosQ0FBU0QsS0FBVDtBQUNBLFdBQU9ELEdBQVA7QUFDRCxHQVBhO0FBUWQsdUJBUmMsNEJBUVFDLEtBUlIsRUFRZTtBQUMzQixXQUFPQSxLQUFQO0FBQ0Q7QUFWYSxDQUFoQjs7QUFhZSxTQUFTSCxTQUFULENBQW1CSyxPQUFuQixFQUEwQ0MsVUFBMUMsRUFBOEU7QUFDM0YsV0FBU0MsSUFBVCxDQUFjQyxLQUFkLEVBQTZCQyxVQUE3QixFQUdFO0FBQ0EsUUFBSUMs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Iiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IExpdmVTZXQgZnJvbSAnLic7XG5cbmNvbnN0IGFycmF5WGYgPSB7XG4gICdAQHRyYW5zZHVjZXIvaW5pdCcoKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9LFxuICAnQEB0cmFuc2R1Y2VyL3N0ZXAnKHJlcywgaW5wdXQpIHtcbiAgICByZXMucHVzaChpbnB1dCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfSxcbiAgJ0BAdHJhbnNkdWNlci9yZXN1bHQnKGlucHV0KSB7XG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2R1Y2UobGl2ZVNldDogTGl2ZVNldDxhbnk+LCB0cmFuc2R1Y2VyOiBGdW5jdGlvbik6IExpdmVTZXQ8YW55PiB7XG4gIGZ1bmN0aW9uIHN0ZXAoeGZvcm06IE9iamVjdCwgaW5wdXRWYWx1ZTogYW55KToge1xuICAgIG91dHB1dFZhbHVlczogQXJyYXk8YW55PjtcbiAgICBhZGRzQ29tcGxldGU6IGJvb2xlYW47XG4gIH0ge1xuICAgIGxldCBhZGRzQ29tcGxldGUgPSBmYWxzZTtcbiAgICBsZXQgb3V0cHV0VmFsdWVzO1xuICAgIGNvbnN0IHJldCA9IHhmb3JtWydAQHRyYW5zZHVjZXIvc3RlcCddKFtdLCBpbnB1dFZhbHVlKTtcbiAgICBpZiAocmV0ICYmIHJldFsnQEB0cmFuc2R1Y2VyL3JlZHVjZWQnXSkge1xuICAgICAgb3V0cHV0VmFsdWVzID0gcmV0WydAQHRyYW5zZHVjZXIvdmFsdWUnXTtcbiAgICAgIGFkZHNDb21wbGV0ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dHB1dFZhbHVlcyA9IHJldDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIG91dHB1dFZhbHVlcyxcbiAgICAgIGFkZHNDb21wbGV0ZVxuICAgIH07XG4gIH1cblxuICB0eXBlIFZhbHVlc0FuZENvbnRleHQgPSB7XG4gICAgdmFsdWVzOiBTZXQ8YW55PjtcbiAgICBpbnB1dFRvT3V0cHV0VmFsdWVzOiBNYXA8YW55LCBBcnJheTxhbnk+PjtcbiAgICB4Zm9ybTogT2JqZWN0O1xuICAgIGFkZHNDb21wbGV0ZTogYm9vbGVhbjtcbiAgfTtcblxuICBmdW5jdGlvbiB2YWx1ZXNBbmRDb250ZXh0KCk6IFZhbHVlc0FuZENvbnRleHQge1xuICAgIGNvbnN0IGlucHV0VG9PdXRwdXRWYWx1ZXMgPSBuZXcgTWFwKCk7XG4gICAgY29uc3QgeGZvcm0gPSB0cmFuc2R1Y2VyKGFycmF5WGYpO1xuICAgIGxldCBhZGRzQ29tcGxldGUgPSBmYWxzZTtcbiAgICBjb25zdCB2YWx1ZXMgPSBuZXcgU2V0KHhmb3JtWydAQHRyYW5zZHVjZXIvaW5pdCddKCkpO1xuICAgIGZvciAobGV0IHZhbHVlIG9mIGxpdmVTZXQudmFsdWVzKCkpIHtcbiAgICAgIGNvbnN0IHtvdXRwdXRWYWx1ZXMsIGFkZHNDb21wbGV0ZTogX2FkZHNDb21wbGV0ZX0gPSBzdGVwKHhmb3JtLCB2YWx1ZSk7XG4gICAgICBpbnB1dFRvT3V0cHV0VmFsdWVzLnNldCh2YWx1ZSwgb3V0cHV0VmFsdWVzKTtcbiAgICAgIGZvciAobGV0IGk9MCxsZW49b3V0cHV0VmFsdWVzLmxlbmd0aDsgaTxsZW47IGkrKykge1xuICAgICAgICB2YWx1ZXMuYWRkKG91dHB1dFZhbHVlc1tpXSk7XG4gICAgICB9XG4gICAgICBpZiAoX2FkZHNDb21wbGV0ZSkge1xuICAgICAgICBhZGRzQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICB4Zm9ybVsnQEB0cmFuc2R1Y2VyL3Jlc3VsdCddKFtdKS5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICB2YWx1ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWVzLFxuICAgICAgaW5wdXRUb091dHB1dFZhbHVlcyxcbiAgICAgIHhmb3JtLFxuICAgICAgYWRkc0NvbXBsZXRlXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBuZXcgTGl2ZVNldCh7XG4gICAgc2NoZWR1bGVyOiBsaXZlU2V0LmdldFNjaGVkdWxlcigpLFxuICAgIHJlYWQ6ICgpID0+IHZhbHVlc0FuZENvbnRleHQoKS52YWx1ZXMsXG4gICAgbGlzdGVuKHNldFZhbHVlcywgY29udHJvbGxlcikge1xuICAgICAgbGV0IGlucHV0VG9PdXRwdXRWYWx1ZXMsIHhmb3JtLCBhZGRzQ29tcGxldGU7XG4gICAgICBjb25zdCBzdWIgPSBsaXZlU2V0LnN1YnNjcmliZSh7XG4gICAgICAgIHN0YXJ0KCkge1xuICAgICAgICAgIGNvbnN0IHJldCA9IHZhbHVlc0FuZENvbnRleHQoKTtcbiAgICAgICAgICBzZXRWYWx1ZXMocmV0LnZhbHVlcyk7XG4gICAgICAgICAgaW5wdXRUb091dHB1dFZhbHVlcyA9IHJldC5pbnB1dFRvT3V0cHV0VmFsdWVzO1xuICAgICAgICAgIHhmb3JtID0gcmV0Lnhmb3JtO1xuICAgICAgICAgIGFkZHNDb21wbGV0ZSA9IHJldC5hZGRzQ29tcGxldGU7XG4gICAgICAgIH0sXG4gICAgICAgIG5leHQoY2hhbmdlcykge1xuICAgICAgICAgIGZvciAobGV0IGk9MCxsZW49Y2hhbmdlcy5sZW5ndGg7IGk8bGVuOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZSA9IGNoYW5nZXNbaV07XG4gICAgICAgICAgICBpZiAoY2hhbmdlLnR5cGUgPT09ICdhZGQnKSB7XG4gICAgICAgICAgICAgIGlmICghYWRkc0NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qge3ZhbHVlfSA9IGNoYW5nZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7b3V0cHV0VmFsdWVzLCBhZGRzQ29tcGxldGU6IF9hZGRzQ29tcGxldGV9ID0gc3RlcCh4Zm9ybSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgIGlucHV0VG9PdXRwdXRWYWx1ZXMuc2V0KHZhbHVlLCBvdXRwdXRWYWx1ZXMpO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGk9MCxsZW49b3V0cHV0VmFsdWVzLmxlbmd0aDsgaTxsZW47IGkrKykge1xuICAgICAgICAgICAgICAgICAgY29udHJvbGxlci5hZGQob3V0cHV0VmFsdWVzW2ldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKF9hZGRzQ29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICAgIGFkZHNDb21wbGV0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICB4Zm9ybVsnQEB0cmFuc2R1Y2VyL3Jlc3VsdCddKFtdKS5mb3JFYWNoKGVuZFZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbGxlci5hZGQoZW5kVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZS50eXBlID09PSAncmVtb3ZlJykge1xuICAgICAgICAgICAgICBjb25zdCB7dmFsdWV9ID0gY2hhbmdlO1xuICAgICAgICAgICAgICBjb25zdCBsaXN0ID0gaW5wdXRUb091dHB1dFZhbHVlcy5nZXQodmFsdWUpO1xuICAgICAgICAgICAgICBpZiAoIWxpc3QpIHRocm93IG5ldyBFcnJvcigndmFsdWUgaGFkIG5vdCBiZWVuIGFkZGVkJyk7XG4gICAgICAgICAgICAgIGxpc3QuZm9yRWFjaCh0cmFuc2Zvcm1lZFZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyLnJlbW92ZSh0cmFuc2Zvcm1lZFZhbHVlKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGlucHV0VG9PdXRwdXRWYWx1ZXMuZGVsZXRlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yKGVycikge1xuICAgICAgICAgIGNvbnRyb2xsZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29tcGxldGUoKSB7XG4gICAgICAgICAgY29udHJvbGxlci5lbmQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBzdWI7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc