Socket
Socket
Sign inDemoInstall

@glimmer/manager

Package Overview
Dependencies
Maintainers
12
Versions
73
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@glimmer/manager - npm Package Compare versions

Comparing version 0.77.2 to 0.77.3

7

dist/commonjs/es2017/lib/public/modifier.js

@@ -100,3 +100,4 @@ "use strict";

} = delegate.capabilities;
let args = useArgsProxy ? (0, _argsProxy.argsProxyFor)(capturedArgs, 'modifier') : reifyArgs(capturedArgs);
let argsProxy = (0, _argsProxy.argsProxyFor)(capturedArgs, 'modifier');
let args = useArgsProxy ? argsProxy : reifyArgs(capturedArgs);
let instance;

@@ -156,3 +157,3 @@ let factoryOrDefinition = definition;

(0, _destroyable.registerDestructor)(state, () => delegate.destroyModifier(instance, state.args));
(0, _destroyable.registerDestructor)(state, () => delegate.destroyModifier(instance, argsProxy));
return state;

@@ -230,2 +231,2 @@ }

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFVQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFPQTs7QUFDQTs7QUFHTSxTQUFBLG9CQUFBLENBQUEsVUFBQSxFQUVKLGdCQUFBLEdBRkksRUFBQSxFQUV3RDtBQUU1RCxNQUFJLGNBQVMsVUFBVSxLQUFuQixNQUFBLElBQWtDLFVBQVUsS0FBaEQsTUFBQSxFQUE2RDtBQUMzRCxVQUFNLElBQUEsS0FBQSxDQUFOLGtEQUFNLENBQU47QUFDRDs7QUFFRCxTQUFPLHFDQUFrQjtBQUN2QixJQUFBLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FEdEIsbUJBQ0ssQ0FETDtBQUV2QixJQUFBLFlBQVksRUFBRSxVQUFVLEtBQVYsTUFBQSxHQUFBLEtBQUEsR0FGUyxJQUFBO0FBSXZCO0FBQ0E7QUFDQSxJQUFBLG1CQUFtQixFQUFFLFVBQVUsS0FBSztBQU5iLEdBQWxCLENBQVA7QUFRRDtBQWVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCTSxNQUFBLHFCQUFBLENBQTRCO0FBSWhDLEVBQUEsV0FBQSxDQUFBLE9BQUEsRUFBaUY7QUFBN0QsU0FBQSxPQUFBLEdBQUEsT0FBQTtBQUZaLFNBQUEseUJBQUEsR0FBNEIsSUFBNUIsT0FBNEIsRUFBNUI7QUFFNkU7O0FBRTdFLEVBQUEsY0FBYyxDQUFBLEtBQUEsRUFBUztBQUM3QixRQUFJO0FBQUUsTUFBQTtBQUFGLFFBQUosSUFBQTtBQUNBLFFBQUksUUFBUSxHQUFHLHlCQUF5QixDQUF6QixHQUFBLENBQWYsS0FBZSxDQUFmOztBQUVBLFFBQUksUUFBUSxLQUFaLFNBQUEsRUFBNEI7QUFDMUIsVUFBSTtBQUFFLFFBQUE7QUFBRixVQUFKLElBQUE7QUFDQSxNQUFBLFFBQVEsR0FBRyxPQUFPLENBQWxCLEtBQWtCLENBQWxCOztBQUVBLFVBQUksY0FBUyxDQUFDLGdDQUFBLEdBQUEsQ0FBdUIsUUFBUSxDQUE3QyxZQUFjLENBQWQsRUFBNkQ7QUFDM0Q7QUFDQSxjQUFNLElBQUEsS0FBQSxDQUNKLHNOQUFzTixJQUFJLENBQUosU0FBQSxDQUNwTixRQUFRLENBRDRNLFlBQUEsQ0FFck4sYUFBYSxRQUhoQixJQUFNLENBQU47QUFLRDs7QUFFRCxNQUFBLHlCQUF5QixDQUF6QixHQUFBLENBQUEsS0FBQSxFQUFBLFFBQUE7QUFDRDs7QUFFRCxXQUFBLFFBQUE7QUFDRDs7QUFFRCxFQUFBLE1BQU0sQ0FBQSxLQUFBLEVBQUEsT0FBQSxFQUFBLFVBQUEsRUFBQSxZQUFBLEVBQXNGO0FBQzFGLFFBQUksUUFBUSxHQUFHLEtBQUEsY0FBQSxDQUFmLEtBQWUsQ0FBZjtBQUVBLFFBQUk7QUFBQSxNQUFBLFlBQUE7QUFBZ0IsTUFBQTtBQUFoQixRQUF3QyxRQUFRLENBQXBELFlBQUE7QUFFQSxRQUFJLElBQUksR0FBRyxZQUFZLEdBQUcsNkJBQVksWUFBWixFQUFILFVBQUcsQ0FBSCxHQUE0QyxTQUFTLENBQTVFLFlBQTRFLENBQTVFO0FBRUEsUUFBQSxRQUFBO0FBRUEsUUFBSSxtQkFBbUIsR0FBdkIsVUFBQTs7QUFFQSxRQUFBLG1CQUFBLEVBQXlCO0FBQ3ZCO0FBQ0E7QUFDQSxNQUFBLG1CQUFtQixHQUFHO0FBQ3BCLFFBQUEsTUFBTSxDQUFBLElBQUEsRUFBOEI7QUFDbEMsY0FBSSxNQUFNLEdBQUcsa0JBQU0sRUFBTixFQUFiLElBQWEsQ0FBYjtBQUNBLCtCQUFRLE1BQVIsRUFBQSxLQUFBO0FBRUEsaUJBQVEsVUFBc0IsQ0FBdEIsTUFBQSxDQUFSLElBQVEsQ0FBUjtBQUxrQixTQUFBOztBQVFwQixRQUFBLEtBQUssRUFBRTtBQVJhLE9BQXRCO0FBVUQ7O0FBRUQsUUFBSSxjQUFTLHVEQUFiLFNBQUEsRUFBb0U7QUFDbEUsOERBQXdDLE1BQUs7QUFDM0MsUUFBQSxRQUFRLEdBQUcsUUFBUSxDQUFSLGNBQUEsQ0FBQSxtQkFBQSxFQUFYLElBQVcsQ0FBWDtBQURGLE9BQUE7QUFERixLQUFBLE1BSU87QUFDTCxNQUFBLFFBQVEsR0FBRyxRQUFRLENBQVIsY0FBQSxDQUFBLG1CQUFBLEVBQVgsSUFBVyxDQUFYO0FBQ0Q7O0FBRUQsUUFBSSxHQUFHLEdBQVAsb0NBQUE7QUFDQSxRQUFBLEtBQUE7O0FBRUEsUUFBQSxZQUFBLEVBQWtCO0FBQ2hCLE1BQUEsS0FBSyxHQUFHO0FBQUEsUUFBQSxHQUFBO0FBQUEsUUFBQSxPQUFBO0FBQUEsUUFBQSxRQUFBO0FBQUEsUUFBQSxJQUFBO0FBS04sUUFBQSxRQUFRLEVBQUU7QUFMSixPQUFSO0FBREYsS0FBQSxNQVFPO0FBQ0wsTUFBQSxLQUFLLEdBQUc7QUFBQSxRQUFBLEdBQUE7QUFBQSxRQUFBLE9BQUE7QUFHTixRQUFBLFFBQVEsRUFIRixRQUFBO0FBQUEsUUFBQSxRQUFBOztBQUtOLFlBQUEsSUFBQSxHQUFRO0FBQ04saUJBQU8sU0FBUyxDQUFoQixZQUFnQixDQUFoQjtBQUNEOztBQVBLLE9BQVI7QUFTRDs7QUFFRCxRQUFBLFVBQUEsRUFBVztBQUNULE1BQUEsS0FBSyxDQUFMLFNBQUEsR0FBa0IsT0FBQSxVQUFBLEtBQUEsVUFBQSxHQUFtQyxVQUFVLENBQTdDLElBQUEsR0FBcUQsVUFBVSxDQUFqRixRQUF1RSxFQUF2RTtBQUNEOztBQUVELHlDQUFrQixLQUFsQixFQUEwQixNQUFNLFFBQVEsQ0FBUixlQUFBLENBQUEsUUFBQSxFQUFtQyxLQUFLLENBQXhFLElBQWdDLENBQWhDO0FBRUEsV0FBQSxLQUFBO0FBQ0Q7O0FBRUQsRUFBQSxZQUFZLENBQUM7QUFBRSxJQUFBO0FBQUYsR0FBRCxFQUFxRDtBQUMvRCxXQUFBLFNBQUE7QUFDRDs7QUFFRCxFQUFBLE1BQU0sQ0FBQztBQUFFLElBQUE7QUFBRixHQUFELEVBQStDO0FBQ25ELFdBQUEsR0FBQTtBQUNEOztBQUVELEVBQUEsT0FBTyxDQUFDO0FBQUEsSUFBQSxPQUFBO0FBQUEsSUFBQSxJQUFBO0FBQUEsSUFBQSxRQUFBO0FBQTJCLElBQUE7QUFBM0IsR0FBRCxFQUE2RTtBQUNsRixRQUFJO0FBQUUsTUFBQTtBQUFGLFFBQUosUUFBQTs7QUFFQSxRQUFJLFlBQVksQ0FBWixtQkFBQSxLQUFKLElBQUEsRUFBK0M7QUFDN0MsOEJBQVEsTUFBTSxRQUFRLENBQVIsZUFBQSxDQUFBLFFBQUEsRUFBQSxPQUFBLEVBQWQsSUFBYyxDQUFkO0FBREYsS0FBQSxNQUVPO0FBQ0wsTUFBQSxRQUFRLENBQVIsZUFBQSxDQUFBLFFBQUEsRUFBQSxPQUFBLEVBQUEsSUFBQTtBQUNEO0FBQ0Y7O0FBRUQsRUFBQSxNQUFNLENBQUM7QUFBQSxJQUFBLElBQUE7QUFBQSxJQUFBLFFBQUE7QUFBa0IsSUFBQTtBQUFsQixHQUFELEVBQW9FO0FBQ3hFLFFBQUk7QUFBRSxNQUFBO0FBQUYsUUFBSixRQUFBOztBQUVBLFFBQUksWUFBWSxDQUFaLG1CQUFBLEtBQUosSUFBQSxFQUErQztBQUM3Qyw4QkFBUSxNQUFNLFFBQVEsQ0FBUixjQUFBLENBQUEsUUFBQSxFQUFkLElBQWMsQ0FBZDtBQURGLEtBQUEsTUFFTztBQUNMLE1BQUEsUUFBUSxDQUFSLGNBQUEsQ0FBQSxRQUFBLEVBQUEsSUFBQTtBQUNEO0FBQ0Y7O0FBRUQsRUFBQSxjQUFjLENBQUEsS0FBQSxFQUE2QztBQUN6RCxXQUFBLEtBQUE7QUFDRDs7QUE3SCtCOzs7O0FBZ0k1QixTQUFBLFNBQUEsQ0FBb0I7QUFBQSxFQUFBLEtBQUE7QUFFeEIsRUFBQTtBQUZ3QixDQUFwQixFQUdjO0FBQ2xCLE1BQUksWUFBWSxHQUFoQixpQkFBQTs7QUFFQSxPQUFLLElBQUwsR0FBQSxJQUFBLEtBQUEsRUFBdUI7QUFDckIsSUFBQSxZQUFZLENBQVosR0FBWSxDQUFaLEdBQW9CLDRCQUFZLEtBQUssQ0FBckMsR0FBcUMsQ0FBakIsQ0FBcEI7QUFDRDs7QUFFRCxNQUFJLGlCQUFpQixHQUFHLFVBQVUsQ0FBVixHQUFBLENBQXhCLHNCQUF3QixDQUF4QjtBQUVBLFNBQU87QUFDTCxJQUFBLEtBQUssRUFEQSxZQUFBO0FBRUwsSUFBQSxVQUFVLEVBQUU7QUFGUCxHQUFQO0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBBcmd1bWVudHMsXG4gIENhcHR1cmVkQXJndW1lbnRzLFxuICBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcixcbiAgTW9kaWZpZXJDYXBhYmlsaXRpZXMsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnMsXG4gIE1vZGlmaWVyTWFuYWdlcixcbiAgT3duZXIsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJEZXN0cnVjdG9yIH0gZnJvbSAnQGdsaW1tZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgc2V0T3duZXIgfSBmcm9tICdAZ2xpbW1lci9vd25lcic7XG5pbXBvcnQgeyB2YWx1ZUZvclJlZiB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBhc3NpZ24sIGNhc3RUb0Jyb3dzZXIsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7XG4gIGNyZWF0ZVVwZGF0YWJsZVRhZyxcbiAgZGVwcmVjYXRlTXV0YXRpb25zSW5UcmFja2luZ1RyYW5zYWN0aW9uLFxuICB1bnRyYWNrLFxuICBVcGRhdGFibGVUYWcsXG59IGZyb20gJ0BnbGltbWVyL3ZhbGlkYXRvcic7XG5pbXBvcnQgeyBTaW1wbGVFbGVtZW50IH0gZnJvbSAnQHNpbXBsZS1kb20vaW50ZXJmYWNlJztcbmltcG9ydCB7IGJ1aWxkQ2FwYWJpbGl0aWVzLCBGUk9NX0NBUEFCSUxJVElFUyB9IGZyb20gJy4uL3V0aWwvY2FwYWJpbGl0aWVzJztcbmltcG9ydCB7IGFyZ3NQcm94eUZvciB9IGZyb20gJy4uL3V0aWwvYXJncy1wcm94eSc7XG5pbXBvcnQgeyBNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4nO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kaWZpZXJDYXBhYmlsaXRpZXM8VmVyc2lvbiBleHRlbmRzIGtleW9mIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnM+KFxuICBtYW5hZ2VyQVBJOiBWZXJzaW9uLFxuICBvcHRpb25hbEZlYXR1cmVzOiBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zW1ZlcnNpb25dID0ge31cbik6IE1vZGlmaWVyQ2FwYWJpbGl0aWVzIHtcbiAgaWYgKERFQlVHICYmIG1hbmFnZXJBUEkgIT09ICczLjEzJyAmJiBtYW5hZ2VyQVBJICE9PSAnMy4yMicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbW9kaWZpZXIgbWFuYWdlciBjb21wYXRpYmlsaXR5IHNwZWNpZmllZCcpO1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkQ2FwYWJpbGl0aWVzKHtcbiAgICBkaXNhYmxlQXV0b1RyYWNraW5nOiBCb29sZWFuKG9wdGlvbmFsRmVhdHVyZXMuZGlzYWJsZUF1dG9UcmFja2luZyksXG4gICAgdXNlQXJnc1Byb3h5OiBtYW5hZ2VyQVBJID09PSAnMy4xMycgPyBmYWxzZSA6IHRydWUsXG5cbiAgICAvLyBUaGlzIGNhcGFiaWxpdHkgaXMgdXNlZCBpbiBFbWJlciwgZXhjbHVzaXZlbHkgaW4gcmVzb2x1dGlvbiBtb2RlLiBTZWUgdGhlXG4gICAgLy8gRW1iZXIgZ2xpbW1lciByZXNvbHZlciBmb3IgZGV0YWlscy5cbiAgICBwYXNzRmFjdG9yeVRvQ3JlYXRlOiBtYW5hZ2VyQVBJID09PSAnMy4xMycsXG4gIH0pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4ge1xuICB0YWc6IFVwZGF0YWJsZVRhZztcbiAgZWxlbWVudDogU2ltcGxlRWxlbWVudDtcbiAgbW9kaWZpZXI6IE1vZGlmaWVySW5zdGFuY2U7XG4gIGRlbGVnYXRlOiBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT47XG4gIGFyZ3M6IEFyZ3VtZW50cztcbiAgZGVidWdOYW1lPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRmFjdG9yeSB7XG4gIGNyZWF0ZShwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogb2JqZWN0O1xufVxuXG4vKipcbiAgVGhlIEN1c3RvbU1vZGlmaWVyTWFuYWdlciBhbGxvd3MgYWRkb25zIHRvIHByb3ZpZGUgY3VzdG9tIG1vZGlmaWVyXG4gIGltcGxlbWVudGF0aW9ucyB0aGF0IGludGVncmF0ZSBzZWFtbGVzc2x5IGludG8gRW1iZXIuIFRoaXMgaXMgYWNjb21wbGlzaGVkXG4gIHRocm91Z2ggYSBkZWxlZ2F0ZSwgcmVnaXN0ZXJlZCB3aXRoIHRoZSBjdXN0b20gbW9kaWZpZXIgbWFuYWdlciwgd2hpY2hcbiAgaW1wbGVtZW50cyBhIHNldCBvZiBob29rcyB0aGF0IGRldGVybWluZSBtb2RpZmllciBiZWhhdmlvci5cbiAgVG8gY3JlYXRlIGEgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIGluc3RhbnRpYXRlIGEgbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlclxuICBjbGFzcyBhbmQgcGFzcyB0aGUgZGVsZWdhdGUgYXMgdGhlIGZpcnN0IGFyZ3VtZW50OlxuXG4gIGBgYGpzXG4gIGxldCBtYW5hZ2VyID0gbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlcih7XG4gICAgLy8gLi4uZGVsZWdhdGUgaW1wbGVtZW50YXRpb24uLi5cbiAgfSk7XG4gIGBgYFxuXG4gICMjIERlbGVnYXRlIEhvb2tzXG5cbiAgVGhyb3VnaG91dCB0aGUgbGlmZWN5Y2xlIG9mIGEgbW9kaWZpZXIsIHRoZSBtb2RpZmllciBtYW5hZ2VyIHdpbGwgaW52b2tlXG4gIGRlbGVnYXRlIGhvb2tzIHRoYXQgYXJlIHJlc3BvbnNpYmxlIGZvciBzdXJmYWNpbmcgdGhvc2UgbGlmZWN5Y2xlIGNoYW5nZXMgdG9cbiAgdGhlIGVuZCBkZXZlbG9wZXIuXG4gICogYGNyZWF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIGEgbmV3IGluc3RhbmNlIG9mIGEgbW9kaWZpZXIgc2hvdWxkIGJlIGNyZWF0ZWRcbiAgKiBgaW5zdGFsbE1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBpbnN0YWxsZWQgb24gdGhlIGVsZW1lbnRcbiAgKiBgdXBkYXRlTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBtb2RpZmllciBjaGFuZ2VcbiAgKiBgZGVzdHJveU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBhYm91dCB0byBiZSBkZXN0cm95ZWRcbiovXG5leHBvcnQgY2xhc3MgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyPE8gZXh0ZW5kcyBPd25lciwgTW9kaWZpZXJJbnN0YW5jZT5cbiAgaW1wbGVtZW50cyBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcjxDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+PiB7XG4gIHByaXZhdGUgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyA9IG5ldyBXZWFrTWFwPE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3Rvcnk6IE1hbmFnZXJGYWN0b3J5PE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4pIHt9XG5cbiAgcHJpdmF0ZSBnZXREZWxlZ2F0ZUZvcihvd25lcjogTykge1xuICAgIGxldCB7IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgfSA9IHRoaXM7XG4gICAgbGV0IGRlbGVnYXRlID0gY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5nZXQob3duZXIpO1xuXG4gICAgaWYgKGRlbGVnYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB7IGZhY3RvcnkgfSA9IHRoaXM7XG4gICAgICBkZWxlZ2F0ZSA9IGZhY3Rvcnkob3duZXIpO1xuXG4gICAgICBpZiAoREVCVUcgJiYgIUZST01fQ0FQQUJJTElUSUVTIS5oYXMoZGVsZWdhdGUuY2FwYWJpbGl0aWVzKSkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIG1ha2Ugc2Vuc2UgaW4gYm90aCBFbWJlciBhbmQgR2xpbW1lciBodHRwczovL2dpdGh1Yi5jb20vZ2xpbW1lcmpzL2dsaW1tZXItdm0vaXNzdWVzLzEyMDBcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDdXN0b20gbW9kaWZpZXIgbWFuYWdlcnMgbXVzdCBoYXZlIGEgXFxgY2FwYWJpbGl0aWVzXFxgIHByb3BlcnR5IHRoYXQgaXMgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBcXGBjYXBhYmlsaXRpZXMoJzMuMTMnIHwgJzMuMjInKVxcYCAoaW1wb3J0ZWQgdmlhIFxcYGltcG9ydCB7IGNhcGFiaWxpdGllcyB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XFxgKS4gUmVjZWl2ZWQ6IFxcYCR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXNcbiAgICAgICAgICApfVxcYCBmb3I6IFxcYCR7ZGVsZWdhdGV9XFxgYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLnNldChvd25lciwgZGVsZWdhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWxlZ2F0ZTtcbiAgfVxuXG4gIGNyZWF0ZShvd25lcjogTywgZWxlbWVudDogU2ltcGxlRWxlbWVudCwgZGVmaW5pdGlvbjogb2JqZWN0LCBjYXB0dXJlZEFyZ3M6IENhcHR1cmVkQXJndW1lbnRzKSB7XG4gICAgbGV0IGRlbGVnYXRlID0gdGhpcy5nZXREZWxlZ2F0ZUZvcihvd25lcik7XG5cbiAgICBsZXQgeyB1c2VBcmdzUHJveHksIHBhc3NGYWN0b3J5VG9DcmVhdGUgfSA9IGRlbGVnYXRlLmNhcGFiaWxpdGllcztcblxuICAgIGxldCBhcmdzID0gdXNlQXJnc1Byb3h5ID8gYXJnc1Byb3h5Rm9yKGNhcHR1cmVkQXJncywgJ21vZGlmaWVyJykgOiByZWlmeUFyZ3MoY2FwdHVyZWRBcmdzKTtcblxuICAgIGxldCBpbnN0YW5jZTogTW9kaWZpZXJJbnN0YW5jZTtcblxuICAgIGxldCBmYWN0b3J5T3JEZWZpbml0aW9uID0gZGVmaW5pdGlvbjtcblxuICAgIGlmIChwYXNzRmFjdG9yeVRvQ3JlYXRlKSB7XG4gICAgICAvLyBNYWtlIGEgZmFrZSBmYWN0b3J5LiBXaGlsZSBub3QgcGVyZmVjdCwgdGhpcyBzaG91bGQgZ2VuZXJhbGx5IHByZXZlbnRcbiAgICAgIC8vIGJyZWFrYWdlIGluIHVzZXJzIG9mIG9sZGVyIG1vZGlmaWVyIGNhcGFiaWxpdGllcy5cbiAgICAgIGZhY3RvcnlPckRlZmluaXRpb24gPSB7XG4gICAgICAgIGNyZWF0ZShhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgICAgICAgIGxldCBwYXJhbXMgPSBhc3NpZ24oe30sIGFyZ3MpO1xuICAgICAgICAgIHNldE93bmVyKHBhcmFtcywgb3duZXIpO1xuXG4gICAgICAgICAgcmV0dXJuIChkZWZpbml0aW9uIGFzIEZhY3RvcnkpLmNyZWF0ZShhcmdzKTtcbiAgICAgICAgfSxcblxuICAgICAgICBjbGFzczogZGVmaW5pdGlvbixcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKERFQlVHICYmIGRlcHJlY2F0ZU11dGF0aW9uc0luVHJhY2tpbmdUcmFuc2FjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZXByZWNhdGVNdXRhdGlvbnNJblRyYWNraW5nVHJhbnNhY3Rpb24oKCkgPT4ge1xuICAgICAgICBpbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZU1vZGlmaWVyKGZhY3RvcnlPckRlZmluaXRpb24sIGFyZ3MpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluc3RhbmNlID0gZGVsZWdhdGUuY3JlYXRlTW9kaWZpZXIoZmFjdG9yeU9yRGVmaW5pdGlvbiwgYXJncyk7XG4gICAgfVxuXG4gICAgbGV0IHRhZyA9IGNyZWF0ZVVwZGF0YWJsZVRhZygpO1xuICAgIGxldCBzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPjtcblxuICAgIGlmICh1c2VBcmdzUHJveHkpIHtcbiAgICAgIHN0YXRlID0ge1xuICAgICAgICB0YWcsXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIGRlbGVnYXRlLFxuICAgICAgICBhcmdzLFxuICAgICAgICBtb2RpZmllcjogaW5zdGFuY2UhLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUgPSB7XG4gICAgICAgIHRhZyxcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgbW9kaWZpZXI6IGluc3RhbmNlISxcbiAgICAgICAgZGVsZWdhdGUsXG4gICAgICAgIGdldCBhcmdzKCkge1xuICAgICAgICAgIHJldHVybiByZWlmeUFyZ3MoY2FwdHVyZWRBcmdzKTtcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKERFQlVHKSB7XG4gICAgICBzdGF0ZS5kZWJ1Z05hbWUgPSB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGRlZmluaXRpb24ubmFtZSA6IGRlZmluaXRpb24udG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckRlc3RydWN0b3Ioc3RhdGUsICgpID0+IGRlbGVnYXRlLmRlc3Ryb3lNb2RpZmllcihpbnN0YW5jZSwgc3RhdGUuYXJncykpO1xuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgZ2V0RGVidWdOYW1lKHsgZGVidWdOYW1lIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gZGVidWdOYW1lITtcbiAgfVxuXG4gIGdldFRhZyh7IHRhZyB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIHRhZztcbiAgfVxuXG4gIGluc3RhbGwoeyBlbGVtZW50LCBhcmdzLCBtb2RpZmllciwgZGVsZWdhdGUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIGxldCB7IGNhcGFiaWxpdGllcyB9ID0gZGVsZWdhdGU7XG5cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRpc2FibGVBdXRvVHJhY2tpbmcgPT09IHRydWUpIHtcbiAgICAgIHVudHJhY2soKCkgPT4gZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZSh7IGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGVzdHJveWFibGUoc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlaWZ5QXJncyh7XG4gIG5hbWVkLFxuICBwb3NpdGlvbmFsLFxufTogQ2FwdHVyZWRBcmd1bWVudHMpOiB7IG5hbWVkOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgcG9zaXRpb25hbDogdW5rbm93bltdIH0ge1xuICBsZXQgcmVpZmllZE5hbWVkID0gZGljdCgpO1xuXG4gIGZvciAobGV0IGtleSBpbiBuYW1lZCkge1xuICAgIHJlaWZpZWROYW1lZFtrZXldID0gdmFsdWVGb3JSZWYobmFtZWRba2V5XSk7XG4gIH1cblxuICBsZXQgcmVpZmllZFBvc2l0aW9uYWwgPSBwb3NpdGlvbmFsLm1hcCh2YWx1ZUZvclJlZik7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lZDogcmVpZmllZE5hbWVkLFxuICAgIHBvc2l0aW9uYWw6IHJlaWZpZWRQb3NpdGlvbmFsLFxuICB9O1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFVQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFPQTs7QUFDQTs7QUFHTSxTQUFBLG9CQUFBLENBQUEsVUFBQSxFQUVKLGdCQUFBLEdBRkksRUFBQSxFQUV3RDtBQUU1RCxNQUFJLGNBQVMsVUFBVSxLQUFuQixNQUFBLElBQWtDLFVBQVUsS0FBaEQsTUFBQSxFQUE2RDtBQUMzRCxVQUFNLElBQUEsS0FBQSxDQUFOLGtEQUFNLENBQU47QUFDRDs7QUFFRCxTQUFPLHFDQUFrQjtBQUN2QixJQUFBLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FEdEIsbUJBQ0ssQ0FETDtBQUV2QixJQUFBLFlBQVksRUFBRSxVQUFVLEtBQVYsTUFBQSxHQUFBLEtBQUEsR0FGUyxJQUFBO0FBSXZCO0FBQ0E7QUFDQSxJQUFBLG1CQUFtQixFQUFFLFVBQVUsS0FBSztBQU5iLEdBQWxCLENBQVA7QUFRRDtBQWVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCTSxNQUFBLHFCQUFBLENBQTRCO0FBSWhDLEVBQUEsV0FBQSxDQUFBLE9BQUEsRUFBaUY7QUFBN0QsU0FBQSxPQUFBLEdBQUEsT0FBQTtBQUZaLFNBQUEseUJBQUEsR0FBNEIsSUFBNUIsT0FBNEIsRUFBNUI7QUFFNkU7O0FBRTdFLEVBQUEsY0FBYyxDQUFBLEtBQUEsRUFBUztBQUM3QixRQUFJO0FBQUUsTUFBQTtBQUFGLFFBQUosSUFBQTtBQUNBLFFBQUksUUFBUSxHQUFHLHlCQUF5QixDQUF6QixHQUFBLENBQWYsS0FBZSxDQUFmOztBQUVBLFFBQUksUUFBUSxLQUFaLFNBQUEsRUFBNEI7QUFDMUIsVUFBSTtBQUFFLFFBQUE7QUFBRixVQUFKLElBQUE7QUFDQSxNQUFBLFFBQVEsR0FBRyxPQUFPLENBQWxCLEtBQWtCLENBQWxCOztBQUVBLFVBQUksY0FBUyxDQUFDLGdDQUFBLEdBQUEsQ0FBdUIsUUFBUSxDQUE3QyxZQUFjLENBQWQsRUFBNkQ7QUFDM0Q7QUFDQSxjQUFNLElBQUEsS0FBQSxDQUNKLHNOQUFzTixJQUFJLENBQUosU0FBQSxDQUNwTixRQUFRLENBRDRNLFlBQUEsQ0FFck4sYUFBYSxRQUhoQixJQUFNLENBQU47QUFLRDs7QUFFRCxNQUFBLHlCQUF5QixDQUF6QixHQUFBLENBQUEsS0FBQSxFQUFBLFFBQUE7QUFDRDs7QUFFRCxXQUFBLFFBQUE7QUFDRDs7QUFFRCxFQUFBLE1BQU0sQ0FBQSxLQUFBLEVBQUEsT0FBQSxFQUFBLFVBQUEsRUFBQSxZQUFBLEVBQXNGO0FBQzFGLFFBQUksUUFBUSxHQUFHLEtBQUEsY0FBQSxDQUFmLEtBQWUsQ0FBZjtBQUVBLFFBQUk7QUFBQSxNQUFBLFlBQUE7QUFBZ0IsTUFBQTtBQUFoQixRQUF3QyxRQUFRLENBQXBELFlBQUE7QUFFQSxRQUFJLFNBQVMsR0FBRyw2QkFBWSxZQUFaLEVBQWhCLFVBQWdCLENBQWhCO0FBQ0EsUUFBSSxJQUFJLEdBQUcsWUFBWSxHQUFBLFNBQUEsR0FBZSxTQUFTLENBQS9DLFlBQStDLENBQS9DO0FBRUEsUUFBQSxRQUFBO0FBRUEsUUFBSSxtQkFBbUIsR0FBdkIsVUFBQTs7QUFFQSxRQUFBLG1CQUFBLEVBQXlCO0FBQ3ZCO0FBQ0E7QUFDQSxNQUFBLG1CQUFtQixHQUFHO0FBQ3BCLFFBQUEsTUFBTSxDQUFBLElBQUEsRUFBOEI7QUFDbEMsY0FBSSxNQUFNLEdBQUcsa0JBQU0sRUFBTixFQUFiLElBQWEsQ0FBYjtBQUNBLCtCQUFRLE1BQVIsRUFBQSxLQUFBO0FBRUEsaUJBQVEsVUFBc0IsQ0FBdEIsTUFBQSxDQUFSLElBQVEsQ0FBUjtBQUxrQixTQUFBOztBQVFwQixRQUFBLEtBQUssRUFBRTtBQVJhLE9BQXRCO0FBVUQ7O0FBRUQsUUFBSSxjQUFTLHVEQUFiLFNBQUEsRUFBb0U7QUFDbEUsOERBQXdDLE1BQUs7QUFDM0MsUUFBQSxRQUFRLEdBQUcsUUFBUSxDQUFSLGNBQUEsQ0FBQSxtQkFBQSxFQUFYLElBQVcsQ0FBWDtBQURGLE9BQUE7QUFERixLQUFBLE1BSU87QUFDTCxNQUFBLFFBQVEsR0FBRyxRQUFRLENBQVIsY0FBQSxDQUFBLG1CQUFBLEVBQVgsSUFBVyxDQUFYO0FBQ0Q7O0FBRUQsUUFBSSxHQUFHLEdBQVAsb0NBQUE7QUFDQSxRQUFBLEtBQUE7O0FBRUEsUUFBQSxZQUFBLEVBQWtCO0FBQ2hCLE1BQUEsS0FBSyxHQUFHO0FBQUEsUUFBQSxHQUFBO0FBQUEsUUFBQSxPQUFBO0FBQUEsUUFBQSxRQUFBO0FBQUEsUUFBQSxJQUFBO0FBS04sUUFBQSxRQUFRLEVBQUU7QUFMSixPQUFSO0FBREYsS0FBQSxNQVFPO0FBQ0wsTUFBQSxLQUFLLEdBQUc7QUFBQSxRQUFBLEdBQUE7QUFBQSxRQUFBLE9BQUE7QUFHTixRQUFBLFFBQVEsRUFIRixRQUFBO0FBQUEsUUFBQSxRQUFBOztBQUtOLFlBQUEsSUFBQSxHQUFRO0FBQ04saUJBQU8sU0FBUyxDQUFoQixZQUFnQixDQUFoQjtBQUNEOztBQVBLLE9BQVI7QUFTRDs7QUFFRCxRQUFBLFVBQUEsRUFBVztBQUNULE1BQUEsS0FBSyxDQUFMLFNBQUEsR0FBa0IsT0FBQSxVQUFBLEtBQUEsVUFBQSxHQUFtQyxVQUFVLENBQTdDLElBQUEsR0FBcUQsVUFBVSxDQUFqRixRQUF1RSxFQUF2RTtBQUNEOztBQUVELHlDQUFrQixLQUFsQixFQUEwQixNQUFNLFFBQVEsQ0FBUixlQUFBLENBQUEsUUFBQSxFQUFoQyxTQUFnQyxDQUFoQztBQUVBLFdBQUEsS0FBQTtBQUNEOztBQUVELEVBQUEsWUFBWSxDQUFDO0FBQUUsSUFBQTtBQUFGLEdBQUQsRUFBcUQ7QUFDL0QsV0FBQSxTQUFBO0FBQ0Q7O0FBRUQsRUFBQSxNQUFNLENBQUM7QUFBRSxJQUFBO0FBQUYsR0FBRCxFQUErQztBQUNuRCxXQUFBLEdBQUE7QUFDRDs7QUFFRCxFQUFBLE9BQU8sQ0FBQztBQUFBLElBQUEsT0FBQTtBQUFBLElBQUEsSUFBQTtBQUFBLElBQUEsUUFBQTtBQUEyQixJQUFBO0FBQTNCLEdBQUQsRUFBNkU7QUFDbEYsUUFBSTtBQUFFLE1BQUE7QUFBRixRQUFKLFFBQUE7O0FBRUEsUUFBSSxZQUFZLENBQVosbUJBQUEsS0FBSixJQUFBLEVBQStDO0FBQzdDLDhCQUFRLE1BQU0sUUFBUSxDQUFSLGVBQUEsQ0FBQSxRQUFBLEVBQUEsT0FBQSxFQUFkLElBQWMsQ0FBZDtBQURGLEtBQUEsTUFFTztBQUNMLE1BQUEsUUFBUSxDQUFSLGVBQUEsQ0FBQSxRQUFBLEVBQUEsT0FBQSxFQUFBLElBQUE7QUFDRDtBQUNGOztBQUVELEVBQUEsTUFBTSxDQUFDO0FBQUEsSUFBQSxJQUFBO0FBQUEsSUFBQSxRQUFBO0FBQWtCLElBQUE7QUFBbEIsR0FBRCxFQUFvRTtBQUN4RSxRQUFJO0FBQUUsTUFBQTtBQUFGLFFBQUosUUFBQTs7QUFFQSxRQUFJLFlBQVksQ0FBWixtQkFBQSxLQUFKLElBQUEsRUFBK0M7QUFDN0MsOEJBQVEsTUFBTSxRQUFRLENBQVIsY0FBQSxDQUFBLFFBQUEsRUFBZCxJQUFjLENBQWQ7QUFERixLQUFBLE1BRU87QUFDTCxNQUFBLFFBQVEsQ0FBUixjQUFBLENBQUEsUUFBQSxFQUFBLElBQUE7QUFDRDtBQUNGOztBQUVELEVBQUEsY0FBYyxDQUFBLEtBQUEsRUFBNkM7QUFDekQsV0FBQSxLQUFBO0FBQ0Q7O0FBOUgrQjs7OztBQWlJNUIsU0FBQSxTQUFBLENBQW9CO0FBQUEsRUFBQSxLQUFBO0FBRXhCLEVBQUE7QUFGd0IsQ0FBcEIsRUFHYztBQUNsQixNQUFJLFlBQVksR0FBaEIsaUJBQUE7O0FBRUEsT0FBSyxJQUFMLEdBQUEsSUFBQSxLQUFBLEVBQXVCO0FBQ3JCLElBQUEsWUFBWSxDQUFaLEdBQVksQ0FBWixHQUFvQiw0QkFBWSxLQUFLLENBQXJDLEdBQXFDLENBQWpCLENBQXBCO0FBQ0Q7O0FBRUQsTUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQVYsR0FBQSxDQUF4QixzQkFBd0IsQ0FBeEI7QUFFQSxTQUFPO0FBQ0wsSUFBQSxLQUFLLEVBREEsWUFBQTtBQUVMLElBQUEsVUFBVSxFQUFFO0FBRlAsR0FBUDtBQUlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVCVUcgfSBmcm9tICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHtcbiAgQXJndW1lbnRzLFxuICBDYXB0dXJlZEFyZ3VtZW50cyxcbiAgSW50ZXJuYWxNb2RpZmllck1hbmFnZXIsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzLFxuICBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zLFxuICBNb2RpZmllck1hbmFnZXIsXG4gIE93bmVyLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVzdHJ1Y3RvciB9IGZyb20gJ0BnbGltbWVyL2Rlc3Ryb3lhYmxlJztcbmltcG9ydCB7IHNldE93bmVyIH0gZnJvbSAnQGdsaW1tZXIvb3duZXInO1xuaW1wb3J0IHsgdmFsdWVGb3JSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgYXNzaWduLCBjYXN0VG9Ccm93c2VyLCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQge1xuICBjcmVhdGVVcGRhdGFibGVUYWcsXG4gIGRlcHJlY2F0ZU11dGF0aW9uc0luVHJhY2tpbmdUcmFuc2FjdGlvbixcbiAgdW50cmFjayxcbiAgVXBkYXRhYmxlVGFnLFxufSBmcm9tICdAZ2xpbW1lci92YWxpZGF0b3InO1xuaW1wb3J0IHsgU2ltcGxlRWxlbWVudCB9IGZyb20gJ0BzaW1wbGUtZG9tL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBidWlsZENhcGFiaWxpdGllcywgRlJPTV9DQVBBQklMSVRJRVMgfSBmcm9tICcuLi91dGlsL2NhcGFiaWxpdGllcyc7XG5pbXBvcnQgeyBhcmdzUHJveHlGb3IgfSBmcm9tICcuLi91dGlsL2FyZ3MtcHJveHknO1xuaW1wb3J0IHsgTWFuYWdlckZhY3RvcnkgfSBmcm9tICcuJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGlmaWVyQ2FwYWJpbGl0aWVzPFZlcnNpb24gZXh0ZW5kcyBrZXlvZiBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zPihcbiAgbWFuYWdlckFQSTogVmVyc2lvbixcbiAgb3B0aW9uYWxGZWF0dXJlczogTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9uc1tWZXJzaW9uXSA9IHt9XG4pOiBNb2RpZmllckNhcGFiaWxpdGllcyB7XG4gIGlmIChERUJVRyAmJiBtYW5hZ2VyQVBJICE9PSAnMy4xMycgJiYgbWFuYWdlckFQSSAhPT0gJzMuMjInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1vZGlmaWVyIG1hbmFnZXIgY29tcGF0aWJpbGl0eSBzcGVjaWZpZWQnKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZENhcGFiaWxpdGllcyh7XG4gICAgZGlzYWJsZUF1dG9UcmFja2luZzogQm9vbGVhbihvcHRpb25hbEZlYXR1cmVzLmRpc2FibGVBdXRvVHJhY2tpbmcpLFxuICAgIHVzZUFyZ3NQcm94eTogbWFuYWdlckFQSSA9PT0gJzMuMTMnID8gZmFsc2UgOiB0cnVlLFxuXG4gICAgLy8gVGhpcyBjYXBhYmlsaXR5IGlzIHVzZWQgaW4gRW1iZXIsIGV4Y2x1c2l2ZWx5IGluIHJlc29sdXRpb24gbW9kZS4gU2VlIHRoZVxuICAgIC8vIEVtYmVyIGdsaW1tZXIgcmVzb2x2ZXIgZm9yIGRldGFpbHMuXG4gICAgcGFzc0ZhY3RvcnlUb0NyZWF0ZTogbWFuYWdlckFQSSA9PT0gJzMuMTMnLFxuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+IHtcbiAgdGFnOiBVcGRhdGFibGVUYWc7XG4gIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQ7XG4gIG1vZGlmaWVyOiBNb2RpZmllckluc3RhbmNlO1xuICBkZWxlZ2F0ZTogTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+O1xuICBhcmdzOiBBcmd1bWVudHM7XG4gIGRlYnVnTmFtZT86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEZhY3Rvcnkge1xuICBjcmVhdGUocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IG9iamVjdDtcbn1cblxuLyoqXG4gIFRoZSBDdXN0b21Nb2RpZmllck1hbmFnZXIgYWxsb3dzIGFkZG9ucyB0byBwcm92aWRlIGN1c3RvbSBtb2RpZmllclxuICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBpbnRlZ3JhdGUgc2VhbWxlc3NseSBpbnRvIEVtYmVyLiBUaGlzIGlzIGFjY29tcGxpc2hlZFxuICB0aHJvdWdoIGEgZGVsZWdhdGUsIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIHdoaWNoXG4gIGltcGxlbWVudHMgYSBzZXQgb2YgaG9va3MgdGhhdCBkZXRlcm1pbmUgbW9kaWZpZXIgYmVoYXZpb3IuXG4gIFRvIGNyZWF0ZSBhIGN1c3RvbSBtb2RpZmllciBtYW5hZ2VyLCBpbnN0YW50aWF0ZSBhIG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXJcbiAgY2xhc3MgYW5kIHBhc3MgdGhlIGRlbGVnYXRlIGFzIHRoZSBmaXJzdCBhcmd1bWVudDpcblxuICBgYGBqc1xuICBsZXQgbWFuYWdlciA9IG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXIoe1xuICAgIC8vIC4uLmRlbGVnYXRlIGltcGxlbWVudGF0aW9uLi4uXG4gIH0pO1xuICBgYGBcblxuICAjIyBEZWxlZ2F0ZSBIb29rc1xuXG4gIFRocm91Z2hvdXQgdGhlIGxpZmVjeWNsZSBvZiBhIG1vZGlmaWVyLCB0aGUgbW9kaWZpZXIgbWFuYWdlciB3aWxsIGludm9rZVxuICBkZWxlZ2F0ZSBob29rcyB0aGF0IGFyZSByZXNwb25zaWJsZSBmb3Igc3VyZmFjaW5nIHRob3NlIGxpZmVjeWNsZSBjaGFuZ2VzIHRvXG4gIHRoZSBlbmQgZGV2ZWxvcGVyLlxuICAqIGBjcmVhdGVNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiBhIG5ldyBpbnN0YW5jZSBvZiBhIG1vZGlmaWVyIHNob3VsZCBiZSBjcmVhdGVkXG4gICogYGluc3RhbGxNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgaW5zdGFsbGVkIG9uIHRoZSBlbGVtZW50XG4gICogYHVwZGF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIGEgbW9kaWZpZXIgY2hhbmdlXG4gICogYGRlc3Ryb3lNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkXG4qL1xuZXhwb3J0IGNsYXNzIEN1c3RvbU1vZGlmaWVyTWFuYWdlcjxPIGV4dGVuZHMgT3duZXIsIE1vZGlmaWVySW5zdGFuY2U+XG4gIGltcGxlbWVudHMgSW50ZXJuYWxNb2RpZmllck1hbmFnZXI8Q3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPj4ge1xuICBwcml2YXRlIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgPSBuZXcgV2Vha01hcDxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBNYW5hZ2VyRmFjdG9yeTxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KSB7fVxuXG4gIHByaXZhdGUgZ2V0RGVsZWdhdGVGb3Iob3duZXI6IE8pIHtcbiAgICBsZXQgeyBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzIH0gPSB0aGlzO1xuICAgIGxldCBkZWxlZ2F0ZSA9IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuZ2V0KG93bmVyKTtcblxuICAgIGlmIChkZWxlZ2F0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgeyBmYWN0b3J5IH0gPSB0aGlzO1xuICAgICAgZGVsZWdhdGUgPSBmYWN0b3J5KG93bmVyKTtcblxuICAgICAgaWYgKERFQlVHICYmICFGUk9NX0NBUEFCSUxJVElFUyEuaGFzKGRlbGVnYXRlLmNhcGFiaWxpdGllcykpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBlcnJvciBtZXNzYWdlIHNob3VsZCBtYWtlIHNlbnNlIGluIGJvdGggRW1iZXIgYW5kIEdsaW1tZXIgaHR0cHM6Ly9naXRodWIuY29tL2dsaW1tZXJqcy9nbGltbWVyLXZtL2lzc3Vlcy8xMjAwXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ3VzdG9tIG1vZGlmaWVyIG1hbmFnZXJzIG11c3QgaGF2ZSBhIFxcYGNhcGFiaWxpdGllc1xcYCBwcm9wZXJ0eSB0aGF0IGlzIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgXFxgY2FwYWJpbGl0aWVzKCczLjEzJyB8ICczLjIyJylcXGAgKGltcG9ydGVkIHZpYSBcXGBpbXBvcnQgeyBjYXBhYmlsaXRpZXMgfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xcYCkuIFJlY2VpdmVkOiBcXGAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVsZWdhdGUuY2FwYWJpbGl0aWVzXG4gICAgICAgICAgKX1cXGAgZm9yOiBcXGAke2RlbGVnYXRlfVxcYGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5zZXQob3duZXIsIGRlbGVnYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVsZWdhdGU7XG4gIH1cblxuICBjcmVhdGUob3duZXI6IE8sIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQsIGRlZmluaXRpb246IG9iamVjdCwgY2FwdHVyZWRBcmdzOiBDYXB0dXJlZEFyZ3VtZW50cykge1xuICAgIGxldCBkZWxlZ2F0ZSA9IHRoaXMuZ2V0RGVsZWdhdGVGb3Iob3duZXIpO1xuXG4gICAgbGV0IHsgdXNlQXJnc1Byb3h5LCBwYXNzRmFjdG9yeVRvQ3JlYXRlIH0gPSBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXM7XG5cbiAgICBsZXQgYXJnc1Byb3h5ID0gYXJnc1Byb3h5Rm9yKGNhcHR1cmVkQXJncywgJ21vZGlmaWVyJyk7XG4gICAgbGV0IGFyZ3MgPSB1c2VBcmdzUHJveHkgPyBhcmdzUHJveHkgOiByZWlmeUFyZ3MoY2FwdHVyZWRBcmdzKTtcblxuICAgIGxldCBpbnN0YW5jZTogTW9kaWZpZXJJbnN0YW5jZTtcblxuICAgIGxldCBmYWN0b3J5T3JEZWZpbml0aW9uID0gZGVmaW5pdGlvbjtcblxuICAgIGlmIChwYXNzRmFjdG9yeVRvQ3JlYXRlKSB7XG4gICAgICAvLyBNYWtlIGEgZmFrZSBmYWN0b3J5LiBXaGlsZSBub3QgcGVyZmVjdCwgdGhpcyBzaG91bGQgZ2VuZXJhbGx5IHByZXZlbnRcbiAgICAgIC8vIGJyZWFrYWdlIGluIHVzZXJzIG9mIG9sZGVyIG1vZGlmaWVyIGNhcGFiaWxpdGllcy5cbiAgICAgIGZhY3RvcnlPckRlZmluaXRpb24gPSB7XG4gICAgICAgIGNyZWF0ZShhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgICAgICAgIGxldCBwYXJhbXMgPSBhc3NpZ24oe30sIGFyZ3MpO1xuICAgICAgICAgIHNldE93bmVyKHBhcmFtcywgb3duZXIpO1xuXG4gICAgICAgICAgcmV0dXJuIChkZWZpbml0aW9uIGFzIEZhY3RvcnkpLmNyZWF0ZShhcmdzKTtcbiAgICAgICAgfSxcblxuICAgICAgICBjbGFzczogZGVmaW5pdGlvbixcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKERFQlVHICYmIGRlcHJlY2F0ZU11dGF0aW9uc0luVHJhY2tpbmdUcmFuc2FjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZXByZWNhdGVNdXRhdGlvbnNJblRyYWNraW5nVHJhbnNhY3Rpb24oKCkgPT4ge1xuICAgICAgICBpbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZU1vZGlmaWVyKGZhY3RvcnlPckRlZmluaXRpb24sIGFyZ3MpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluc3RhbmNlID0gZGVsZWdhdGUuY3JlYXRlTW9kaWZpZXIoZmFjdG9yeU9yRGVmaW5pdGlvbiwgYXJncyk7XG4gICAgfVxuXG4gICAgbGV0IHRhZyA9IGNyZWF0ZVVwZGF0YWJsZVRhZygpO1xuICAgIGxldCBzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPjtcblxuICAgIGlmICh1c2VBcmdzUHJveHkpIHtcbiAgICAgIHN0YXRlID0ge1xuICAgICAgICB0YWcsXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIGRlbGVnYXRlLFxuICAgICAgICBhcmdzLFxuICAgICAgICBtb2RpZmllcjogaW5zdGFuY2UhLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUgPSB7XG4gICAgICAgIHRhZyxcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgbW9kaWZpZXI6IGluc3RhbmNlISxcbiAgICAgICAgZGVsZWdhdGUsXG4gICAgICAgIGdldCBhcmdzKCkge1xuICAgICAgICAgIHJldHVybiByZWlmeUFyZ3MoY2FwdHVyZWRBcmdzKTtcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKERFQlVHKSB7XG4gICAgICBzdGF0ZS5kZWJ1Z05hbWUgPSB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGRlZmluaXRpb24ubmFtZSA6IGRlZmluaXRpb24udG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckRlc3RydWN0b3Ioc3RhdGUsICgpID0+IGRlbGVnYXRlLmRlc3Ryb3lNb2RpZmllcihpbnN0YW5jZSwgYXJnc1Byb3h5KSk7XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBnZXREZWJ1Z05hbWUoeyBkZWJ1Z05hbWUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBkZWJ1Z05hbWUhO1xuICB9XG5cbiAgZ2V0VGFnKHsgdGFnIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gdGFnO1xuICB9XG5cbiAgaW5zdGFsbCh7IGVsZW1lbnQsIGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKHsgYXJncywgbW9kaWZpZXIsIGRlbGVnYXRlIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICBsZXQgeyBjYXBhYmlsaXRpZXMgfSA9IGRlbGVnYXRlO1xuXG4gICAgaWYgKGNhcGFiaWxpdGllcy5kaXNhYmxlQXV0b1RyYWNraW5nID09PSB0cnVlKSB7XG4gICAgICB1bnRyYWNrKCgpID0+IGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICBnZXREZXN0cm95YWJsZShzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVpZnlBcmdzKHtcbiAgbmFtZWQsXG4gIHBvc2l0aW9uYWwsXG59OiBDYXB0dXJlZEFyZ3VtZW50cyk6IHsgbmFtZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+OyBwb3NpdGlvbmFsOiB1bmtub3duW10gfSB7XG4gIGxldCByZWlmaWVkTmFtZWQgPSBkaWN0KCk7XG5cbiAgZm9yIChsZXQga2V5IGluIG5hbWVkKSB7XG4gICAgcmVpZmllZE5hbWVkW2tleV0gPSB2YWx1ZUZvclJlZihuYW1lZFtrZXldKTtcbiAgfVxuXG4gIGxldCByZWlmaWVkUG9zaXRpb25hbCA9IHBvc2l0aW9uYWwubWFwKHZhbHVlRm9yUmVmKTtcblxuICByZXR1cm4ge1xuICAgIG5hbWVkOiByZWlmaWVkTmFtZWQsXG4gICAgcG9zaXRpb25hbDogcmVpZmllZFBvc2l0aW9uYWwsXG4gIH07XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

@@ -101,3 +101,4 @@ "use strict";

passFactoryToCreate = _delegate$capabilitie.passFactoryToCreate;
var args = useArgsProxy ? (0, _argsProxy.argsProxyFor)(capturedArgs, 'modifier') : reifyArgs(capturedArgs);
var argsProxy = (0, _argsProxy.argsProxyFor)(capturedArgs, 'modifier');
var args = useArgsProxy ? argsProxy : reifyArgs(capturedArgs);
var instance;

@@ -157,3 +158,3 @@ var factoryOrDefinition = definition;

(0, _destroyable.registerDestructor)(state, function () {
return delegate.destroyModifier(instance, state.args);
return delegate.destroyModifier(instance, argsProxy);
});

@@ -228,2 +229,2 @@ return state;

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFVQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFPQTs7QUFDQTs7QUFHTSxTQUFBLG9CQUFBLENBQUEsVUFBQSxFQUFBLGdCQUFBLEVBRXdEO0FBQUEsTUFBNUQsZ0JBQTRELEtBQUEsS0FBQSxDQUFBLEVBQUE7QUFBNUQsSUFBQSxnQkFBNEQsR0FGeEQsRUFFSjtBQUE0RDs7QUFFNUQsTUFBSSxjQUFTLFVBQVUsS0FBbkIsTUFBQSxJQUFrQyxVQUFVLEtBQWhELE1BQUEsRUFBNkQ7QUFDM0QsVUFBTSxJQUFBLEtBQUEsQ0FBTixrREFBTSxDQUFOO0FBQ0Q7O0FBRUQsU0FBTyxxQ0FBa0I7QUFDdkIsSUFBQSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBRHRCLG1CQUNLLENBREw7QUFFdkIsSUFBQSxZQUFZLEVBQUUsVUFBVSxLQUFWLE1BQUEsR0FBQSxLQUFBLEdBRlMsSUFBQTtBQUl2QjtBQUNBO0FBQ0EsSUFBQSxtQkFBbUIsRUFBRSxVQUFVLEtBQUs7QUFOYixHQUFsQixDQUFQO0FBUUQ7QUFlRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsSUFBTSxxQkFBTixHQUFBLGFBQUEsWUFBQTtBQUlFLFdBQUEscUJBQUEsQ0FBQSxPQUFBLEVBQWlGO0FBQTdELFNBQUEsT0FBQSxHQUFBLE9BQUE7QUFGWixTQUFBLHlCQUFBLEdBQTRCLElBQTVCLE9BQTRCLEVBQTVCO0FBRTZFOztBQUp2RixNQUFBLE1BQUEsR0FBQSxxQkFBQSxDQUFBLFNBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsY0FBQSxHQU1VLFNBQUEsY0FBQSxDQUFBLEtBQUEsRUFBdUI7QUFBQSxRQUN2Qix5QkFEdUIsR0FBQSxLQUFBLHlCQUFBO0FBRTdCLFFBQUksUUFBUSxHQUFH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ICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHtcbiAgQXJndW1lbnRzLFxuICBDYXB0dXJlZEFyZ3VtZW50cyxcbiAgSW50ZXJuYWxNb2RpZmllck1hbmFnZXIsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzLFxuICBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zLFxuICBNb2RpZmllck1hbmFnZXIsXG4gIE93bmVyLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVzdHJ1Y3RvciB9IGZyb20gJ0BnbGltbWVyL2Rlc3Ryb3lhYmxlJztcbmltcG9ydCB7IHNldE93bmVyIH0gZnJvbSAnQGdsaW1tZXIvb3duZXInO1xuaW1wb3J0IHsgdmFsdWVGb3JSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgYXNzaWduLCBjYXN0VG9Ccm93c2VyLCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQge1xuICBjcmVhdGVVcGRhdGFibGVUYWcsXG4gIGRlcHJlY2F0ZU11dGF0aW9uc0luVHJhY2tpbmdUcmFuc2FjdGlvbixcbiAgdW50cmFjayxcbiAgVXBkYXRhYmxlVGFnLFxufSBmcm9tICdAZ2xpbW1lci92YWxpZGF0b3InO1xuaW1wb3J0IHsgU2ltcGxlRWxlbWVudCB9IGZyb20gJ0BzaW1wbGUtZG9tL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBidWlsZENhcGFiaWxpdGllcywgRlJPTV9DQVBBQklMSVRJRVMgfSBmcm9tICcuLi91dGlsL2NhcGFiaWxpdGllcyc7XG5pbXBvcnQgeyBhcmdzUHJveHlGb3IgfSBmcm9tICcuLi91dGlsL2FyZ3MtcHJveHknO1xuaW1wb3J0IHsgTWFuYWdlckZhY3RvcnkgfSBmcm9tICcuJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGlmaWVyQ2FwYWJpbGl0aWVzPFZlcnNpb24gZXh0ZW5kcyBrZXlvZiBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zPihcbiAgbWFuYWdlckFQSTogVmVyc2lvbixcbiAgb3B0aW9uYWxGZWF0dXJlczogTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9uc1tWZXJzaW9uXSA9IHt9XG4pOiBNb2RpZmllckNhcGFiaWxpdGllcyB7XG4gIGlmIChERUJVRyAmJiBtYW5hZ2VyQVBJICE9PSAnMy4xMycgJiYgbWFuYWdlckFQSSAhPT0gJzMuMjInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1vZGlmaWVyIG1hbmFnZXIgY29tcGF0aWJpbGl0eSBzcGVjaWZpZWQnKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZENhcGFiaWxpdGllcyh7XG4gICAgZGlzYWJsZUF1dG9UcmFja2luZzogQm9vbGVhbihvcHRpb25hbEZlYXR1cmVzLmRpc2FibGVBdXRvVHJhY2tpbmcpLFxuICAgIHVzZUFyZ3NQcm94eTogbWFuYWdlckFQSSA9PT0gJzMuMTMnID8gZmFsc2UgOiB0cnVlLFxuXG4gICAgLy8gVGhpcyBjYXBhYmlsaXR5IGlzIHVzZWQgaW4gRW1iZXIsIGV4Y2x1c2l2ZWx5IGluIHJlc29sdXRpb24gbW9kZS4gU2VlIHRoZVxuICAgIC8vIEVtYmVyIGdsaW1tZXIgcmVzb2x2ZXIgZm9yIGRldGFpbHMuXG4gICAgcGFzc0ZhY3RvcnlUb0NyZWF0ZTogbWFuYWdlckFQSSA9PT0gJzMuMTMnLFxuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+IHtcbiAgdGFnOiBVcGRhdGFibGVUYWc7XG4gIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQ7XG4gIG1vZGlmaWVyOiBNb2RpZmllckluc3RhbmNlO1xuICBkZWxlZ2F0ZTogTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+O1xuICBhcmdzOiBBcmd1bWVudHM7XG4gIGRlYnVnTmFtZT86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEZhY3Rvcnkge1xuICBjcmVhdGUocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IG9iamVjdDtcbn1cblxuLyoqXG4gIFRoZSBDdXN0b21Nb2RpZmllck1hbmFnZXIgYWxsb3dzIGFkZG9ucyB0byBwcm92aWRlIGN1c3RvbSBtb2RpZmllclxuICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBpbnRlZ3JhdGUgc2VhbWxlc3NseSBpbnRvIEVtYmVyLiBUaGlzIGlzIGFjY29tcGxpc2hlZFxuICB0aHJvdWdoIGEgZGVsZWdhdGUsIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIHdoaWNoXG4gIGltcGxlbWVudHMgYSBzZXQgb2YgaG9va3MgdGhhdCBkZXRlcm1pbmUgbW9kaWZpZXIgYmVoYXZpb3IuXG4gIFRvIGNyZWF0ZSBhIGN1c3RvbSBtb2RpZmllciBtYW5hZ2VyLCBpbnN0YW50aWF0ZSBhIG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXJcbiAgY2xhc3MgYW5kIHBhc3MgdGhlIGRlbGVnYXRlIGFzIHRoZSBmaXJzdCBhcmd1bWVudDpcblxuICBgYGBqc1xuICBsZXQgbWFuYWdlciA9IG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXIoe1xuICAgIC8vIC4uLmRlbGVnYXRlIGltcGxlbWVudGF0aW9uLi4uXG4gIH0pO1xuICBgYGBcblxuICAjIyBEZWxlZ2F0ZSBIb29rc1xuXG4gIFRocm91Z2hvdXQgdGhlIGxpZmVjeWNsZSBvZiBhIG1vZGlmaWVyLCB0aGUgbW9kaWZpZXIgbWFuYWdlciB3aWxsIGludm9rZVxuICBkZWxlZ2F0ZSBob29rcyB0aGF0IGFyZSByZXNwb25zaWJsZSBmb3Igc3VyZmFjaW5nIHRob3NlIGxpZmVjeWNsZSBjaGFuZ2VzIHRvXG4gIHRoZSBlbmQgZGV2ZWxvcGVyLlxuICAqIGBjcmVhdGVNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiBhIG5ldyBpbnN0YW5jZSBvZiBhIG1vZGlmaWVyIHNob3VsZCBiZSBjcmVhdGVkXG4gICogYGluc3RhbGxNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgaW5zdGFsbGVkIG9uIHRoZSBlbGVtZW50XG4gICogYHVwZGF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIGEgbW9kaWZpZXIgY2hhbmdlXG4gICogYGRlc3Ryb3lNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkXG4qL1xuZXhwb3J0IGNsYXNzIEN1c3RvbU1vZGlmaWVyTWFuYWdlcjxPIGV4dGVuZHMgT3duZXIsIE1vZGlmaWVySW5zdGFuY2U+XG4gIGltcGxlbWVudHMgSW50ZXJuYWxNb2RpZmllck1hbmFnZXI8Q3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPj4ge1xuICBwcml2YXRlIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgPSBuZXcgV2Vha01hcDxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBNYW5hZ2VyRmFjdG9yeTxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KSB7fVxuXG4gIHByaXZhdGUgZ2V0RGVsZWdhdGVGb3Iob3duZXI6IE8pIHtcbiAgICBsZXQgeyBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzIH0gPSB0aGlzO1xuICAgIGxldCBkZWxlZ2F0ZSA9IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuZ2V0KG93bmVyKTtcblxuICAgIGlmIChkZWxlZ2F0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgeyBmYWN0b3J5IH0gPSB0aGlzO1xuICAgICAgZGVsZWdhdGUgPSBmYWN0b3J5KG93bmVyKTtcblxuICAgICAgaWYgKERFQlVHICYmICFGUk9NX0NBUEFCSUxJVElFUyEuaGFzKGRlbGVnYXRlLmNhcGFiaWxpdGllcykpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBlcnJvciBtZXNzYWdlIHNob3VsZCBtYWtlIHNlbnNlIGluIGJvdGggRW1iZXIgYW5kIEdsaW1tZXIgaHR0cHM6Ly9naXRodWIuY29tL2dsaW1tZXJqcy9nbGltbWVyLXZtL2lzc3Vlcy8xMjAwXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ3VzdG9tIG1vZGlmaWVyIG1hbmFnZXJzIG11c3QgaGF2ZSBhIFxcYGNhcGFiaWxpdGllc1xcYCBwcm9wZXJ0eSB0aGF0IGlzIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgXFxgY2FwYWJpbGl0aWVzKCczLjEzJyB8ICczLjIyJylcXGAgKGltcG9ydGVkIHZpYSBcXGBpbXBvcnQgeyBjYXBhYmlsaXRpZXMgfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xcYCkuIFJlY2VpdmVkOiBcXGAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVsZWdhdGUuY2FwYWJpbGl0aWVzXG4gICAgICAgICAgKX1cXGAgZm9yOiBcXGAke2RlbGVnYXRlfVxcYGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5zZXQob3duZXIsIGRlbGVnYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVsZWdhdGU7XG4gIH1cblxuICBjcmVhdGUob3duZXI6IE8sIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQsIGRlZmluaXRpb246IG9iamVjdCwgY2FwdHVyZWRBcmdzOiBDYXB0dXJlZEFyZ3VtZW50cykge1xuICAgIGxldCBkZWxlZ2F0ZSA9IHRoaXMuZ2V0RGVsZWdhdGVGb3Iob3duZXIpO1xuXG4gICAgbGV0IHsgdXNlQXJnc1Byb3h5LCBwYXNzRmFjdG9yeVRvQ3JlYXRlIH0gPSBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXM7XG5cbiAgICBsZXQgYXJncyA9IHVzZUFyZ3NQcm94eSA/IGFyZ3NQcm94eUZvcihjYXB0dXJlZEFyZ3MsICdtb2RpZmllcicpIDogcmVpZnlBcmdzKGNhcHR1cmVkQXJncyk7XG5cbiAgICBsZXQgaW5zdGFuY2U6IE1vZGlmaWVySW5zdGFuY2U7XG5cbiAgICBsZXQgZmFjdG9yeU9yRGVmaW5pdGlvbiA9IGRlZmluaXRpb247XG5cbiAgICBpZiAocGFzc0ZhY3RvcnlUb0NyZWF0ZSkge1xuICAgICAgLy8gTWFrZSBhIGZha2UgZmFjdG9yeS4gV2hpbGUgbm90IHBlcmZlY3QsIHRoaXMgc2hvdWxkIGdlbmVyYWxseSBwcmV2ZW50XG4gICAgICAvLyBicmVha2FnZSBpbiB1c2VycyBvZiBvbGRlciBtb2RpZmllciBjYXBhYmlsaXRpZXMuXG4gICAgICBmYWN0b3J5T3JEZWZpbml0aW9uID0ge1xuICAgICAgICBjcmVhdGUoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICAgICAgICBsZXQgcGFyYW1zID0gYXNzaWduKHt9LCBhcmdzKTtcbiAgICAgICAgICBzZXRPd25lcihwYXJhbXMsIG93bmVyKTtcblxuICAgICAgICAgIHJldHVybiAoZGVmaW5pdGlvbiBhcyBGYWN0b3J5KS5jcmVhdGUoYXJncyk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgY2xhc3M6IGRlZmluaXRpb24sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChERUJVRyAmJiBkZXByZWNhdGVNdXRhdGlvbnNJblRyYWNraW5nVHJhbnNhY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVwcmVjYXRlTXV0YXRpb25zSW5UcmFja2luZ1RyYW5zYWN0aW9uKCgpID0+IHtcbiAgICAgICAgaW5zdGFuY2UgPSBkZWxlZ2F0ZS5jcmVhdGVNb2RpZmllcihmYWN0b3J5T3JEZWZpbml0aW9uLCBhcmdzKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZU1vZGlmaWVyKGZhY3RvcnlPckRlZmluaXRpb24sIGFyZ3MpO1xuICAgIH1cblxuICAgIGxldCB0YWcgPSBjcmVhdGVVcGRhdGFibGVUYWcoKTtcbiAgICBsZXQgc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT47XG5cbiAgICBpZiAodXNlQXJnc1Byb3h5KSB7XG4gICAgICBzdGF0ZSA9IHtcbiAgICAgICAgdGFnLFxuICAgICAgICBlbGVtZW50LFxuICAgICAgICBkZWxlZ2F0ZSxcbiAgICAgICAgYXJncyxcbiAgICAgICAgbW9kaWZpZXI6IGluc3RhbmNlISxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlID0ge1xuICAgICAgICB0YWcsXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIG1vZGlmaWVyOiBpbnN0YW5jZSEsXG4gICAgICAgIGRlbGVnYXRlLFxuICAgICAgICBnZXQgYXJncygpIHtcbiAgICAgICAgICByZXR1cm4gcmVpZnlBcmdzKGNhcHR1cmVkQXJncyk7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChERUJVRykge1xuICAgICAgc3RhdGUuZGVidWdOYW1lID0gdHlwZW9mIGRlZmluaXRpb24gPT09ICdmdW5jdGlvbicgPyBkZWZpbml0aW9uLm5hbWUgOiBkZWZpbml0aW9uLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJEZXN0cnVjdG9yKHN0YXRlLCAoKSA9PiBkZWxlZ2F0ZS5kZXN0cm95TW9kaWZpZXIoaW5zdGFuY2UsIHN0YXRlLmFyZ3MpKTtcblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIGdldERlYnVnTmFtZSh7IGRlYnVnTmFtZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIGRlYnVnTmFtZSE7XG4gIH1cblxuICBnZXRUYWcoeyB0YWcgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiB0YWc7XG4gIH1cblxuICBpbnN0YWxsKHsgZWxlbWVudCwgYXJncywgbW9kaWZpZXIsIGRlbGVnYXRlIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICBsZXQgeyBjYXBhYmlsaXRpZXMgfSA9IGRlbGVnYXRlO1xuXG4gICAgaWYgKGNhcGFiaWxpdGllcy5kaXNhYmxlQXV0b1RyYWNraW5nID09PSB0cnVlKSB7XG4gICAgICB1bnRyYWNrKCgpID0+IGRlbGVnYXRlLmluc3RhbGxNb2RpZmllcihtb2RpZmllciwgY2FzdFRvQnJvd3NlcihlbGVtZW50LCAnRUxFTUVOVCcpLCBhcmdzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGVnYXRlLmluc3RhbGxNb2RpZmllcihtb2RpZmllciwgY2FzdFRvQnJvd3NlcihlbGVtZW50LCAnRUxFTUVOVCcpLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGUoeyBhcmdzLCBtb2RpZmllciwgZGVsZWdhdGUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIGxldCB7IGNhcGFiaWxpdGllcyB9ID0gZGVsZWdhdGU7XG5cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRpc2FibGVBdXRvVHJhY2tpbmcgPT09IHRydWUpIHtcbiAgICAgIHVudHJhY2soKCkgPT4gZGVsZWdhdGUudXBkYXRlTW9kaWZpZXIobW9kaWZpZXIsIGFyZ3MpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZWdhdGUudXBkYXRlTW9kaWZpZXIobW9kaWZpZXIsIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIGdldERlc3Ryb3lhYmxlKHN0YXRlOiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWlmeUFyZ3Moe1xuICBuYW1lZCxcbiAgcG9zaXRpb25hbCxcbn06IENhcHR1cmVkQXJndW1lbnRzKTogeyBuYW1lZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj47IHBvc2l0aW9uYWw6IHVua25vd25bXSB9IHtcbiAgbGV0IHJlaWZpZWROYW1lZCA9IGRpY3QoKTtcblxuICBmb3IgKGxldCBrZXkgaW4gbmFtZWQpIHtcbiAgICByZWlmaWVkTmFtZWRba2V5XSA9IHZhbHVlRm9yUmVmKG5hbWVkW2tleV0pO1xuICB9XG5cbiAgbGV0IHJlaWZpZWRQb3NpdGlvbmFsID0gcG9zaXRpb25hbC5tYXAodmFsdWVGb3JSZWYpO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZWQ6IHJlaWZpZWROYW1lZCxcbiAgICBwb3NpdGlvbmFsOiByZWlmaWVkUG9zaXRpb25hbCxcbiAgfTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFVQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFPQTs7QUFDQTs7QUFHTSxTQUFBLG9CQUFBLENBQUEsVUFBQSxFQUFBLGdCQUFBLEVBRXdEO0FBQUEsTUFBNUQsZ0JBQTRELEtBQUEsS0FBQSxDQUFBLEVBQUE7QUFBNUQsSUFBQSxnQkFBNEQsR0FGeEQsRUFFSjtBQUE0RDs7QUFFNUQsTUFBSSxjQUFTLFVBQVUsS0FBbkIsTUFBQSxJQUFrQyxVQUFVLEtBQWhELE1BQUEsRUFBNkQ7QUFDM0QsVUFBTSxJQUFBLEtBQUEsQ0FBTixrREFBTSxDQUFOO0FBQ0Q7O0FBRUQsU0FBTyxxQ0FBa0I7QUFDdkIsSUFBQSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBRHRCLG1CQUNLLENBREw7QUFFdkIsSUFBQSxZQUFZLEVBQUUsVUFBVSxLQUFWLE1BQUEsR0FBQSxLQUFBLEdBRlMsSUFBQTtBQUl2QjtBQUNBO0FBQ0EsSUFBQSxtQkFBbUIsRUFBRSxVQUFVLEtBQUs7QUFOYixHQUFsQixDQUFQO0FBUUQ7QUFlRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsSUFBTSxxQkFBTixHQUFBLGFBQUEsWUFBQTtBQUlFLFdBQUEscUJBQUEsQ0FBQSxPQUFBLEVBQWlGO0FBQTdELFNBQUEsT0FBQSxHQUFBLE9BQUE7QUFGWixTQUFBLHlCQUFBLEdBQTRCLElBQTVCLE9BQTRCLEVBQTVCO0FBRTZFOztBQUp2RixNQUFBLE1BQUEsR0FBQSxxQkFBQSxDQUFBLFNBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsY0FBQSxHQU1VLFNBQUEsY0FBQSxDQUFBLEtBQUEsRUFBdUI7QUFBQSxRQUN2Qix5QkFEdUIsR0FBQSxLQUFBLHlCQUFBO0FBRTdCLFFBQUksUUFBUSxHQUFH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dCB7IERFQlVHIH0gZnJvbSAnQGdsaW1tZXIvZW52JztcbmltcG9ydCB7XG4gIEFyZ3VtZW50cyxcbiAgQ2FwdHVyZWRBcmd1bWVudHMsXG4gIEludGVybmFsTW9kaWZpZXJNYW5hZ2VyLFxuICBNb2RpZmllckNhcGFiaWxpdGllcyxcbiAgTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9ucyxcbiAgTW9kaWZpZXJNYW5hZ2VyLFxuICBPd25lcixcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyByZWdpc3RlckRlc3RydWN0b3IgfSBmcm9tICdAZ2xpbW1lci9kZXN0cm95YWJsZSc7XG5pbXBvcnQgeyBzZXRPd25lciB9IGZyb20gJ0BnbGltbWVyL293bmVyJztcbmltcG9ydCB7IHZhbHVlRm9yUmVmIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IGFzc2lnbiwgY2FzdFRvQnJvd3NlciwgZGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHtcbiAgY3JlYXRlVXBkYXRhYmxlVGFnLFxuICBkZXByZWNhdGVNdXRhdGlvbnNJblRyYWNraW5nVHJhbnNhY3Rpb24sXG4gIHVudHJhY2ssXG4gIFVwZGF0YWJsZVRhZyxcbn0gZnJvbSAnQGdsaW1tZXIvdmFsaWRhdG9yJztcbmltcG9ydCB7IFNpbXBsZUVsZW1lbnQgfSBmcm9tICdAc2ltcGxlLWRvbS9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYnVpbGRDYXBhYmlsaXRpZXMsIEZST01fQ0FQQUJJTElUSUVTIH0gZnJvbSAnLi4vdXRpbC9jYXBhYmlsaXRpZXMnO1xuaW1wb3J0IHsgYXJnc1Byb3h5Rm9yIH0gZnJvbSAnLi4vdXRpbC9hcmdzLXByb3h5JztcbmltcG9ydCB7IE1hbmFnZXJGYWN0b3J5IH0gZnJvbSAnLic7XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2RpZmllckNhcGFiaWxpdGllczxWZXJzaW9uIGV4dGVuZHMga2V5b2YgTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9ucz4oXG4gIG1hbmFnZXJBUEk6IFZlcnNpb24sXG4gIG9wdGlvbmFsRmVhdHVyZXM6IE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnNbVmVyc2lvbl0gPSB7fVxuKTogTW9kaWZpZXJDYXBhYmlsaXRpZXMge1xuICBpZiAoREVCVUcgJiYgbWFuYWdlckFQSSAhPT0gJzMuMTMnICYmIG1hbmFnZXJBUEkgIT09ICczLjIyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtb2RpZmllciBtYW5hZ2VyIGNvbXBhdGliaWxpdHkgc3BlY2lmaWVkJyk7XG4gIH1cblxuICByZXR1cm4gYnVpbGRDYXBhYmlsaXRpZXMoe1xuICAgIGRpc2FibGVBdXRvVHJhY2tpbmc6IEJvb2xlYW4ob3B0aW9uYWxGZWF0dXJlcy5kaXNhYmxlQXV0b1RyYWNraW5nKSxcbiAgICB1c2VBcmdzUHJveHk6IG1hbmFnZXJBUEkgPT09ICczLjEzJyA/IGZhbHNlIDogdHJ1ZSxcblxuICAgIC8vIFRoaXMgY2FwYWJpbGl0eSBpcyB1c2VkIGluIEVtYmVyLCBleGNsdXNpdmVseSBpbiByZXNvbHV0aW9uIG1vZGUuIFNlZSB0aGVcbiAgICAvLyBFbWJlciBnbGltbWVyIHJlc29sdmVyIGZvciBkZXRhaWxzLlxuICAgIHBhc3NGYWN0b3J5VG9DcmVhdGU6IG1hbmFnZXJBUEkgPT09ICczLjEzJyxcbiAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPiB7XG4gIHRhZzogVXBkYXRhYmxlVGFnO1xuICBlbGVtZW50OiBTaW1wbGVFbGVtZW50O1xuICBtb2RpZmllcjogTW9kaWZpZXJJbnN0YW5jZTtcbiAgZGVsZWdhdGU6IE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPjtcbiAgYXJnczogQXJndW1lbnRzO1xuICBkZWJ1Z05hbWU/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBGYWN0b3J5IHtcbiAgY3JlYXRlKHBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBvYmplY3Q7XG59XG5cbi8qKlxuICBUaGUgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyIGFsbG93cyBhZGRvbnMgdG8gcHJvdmlkZSBjdXN0b20gbW9kaWZpZXJcbiAgaW1wbGVtZW50YXRpb25zIHRoYXQgaW50ZWdyYXRlIHNlYW1sZXNzbHkgaW50byBFbWJlci4gVGhpcyBpcyBhY2NvbXBsaXNoZWRcbiAgdGhyb3VnaCBhIGRlbGVnYXRlLCByZWdpc3RlcmVkIHdpdGggdGhlIGN1c3RvbSBtb2RpZmllciBtYW5hZ2VyLCB3aGljaFxuICBpbXBsZW1lbnRzIGEgc2V0IG9mIGhvb2tzIHRoYXQgZGV0ZXJtaW5lIG1vZGlmaWVyIGJlaGF2aW9yLlxuICBUbyBjcmVhdGUgYSBjdXN0b20gbW9kaWZpZXIgbWFuYWdlciwgaW5zdGFudGlhdGUgYSBuZXcgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyXG4gIGNsYXNzIGFuZCBwYXNzIHRoZSBkZWxlZ2F0ZSBhcyB0aGUgZmlyc3QgYXJndW1lbnQ6XG5cbiAgYGBganNcbiAgbGV0IG1hbmFnZXIgPSBuZXcgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyKHtcbiAgICAvLyAuLi5kZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4uLlxuICB9KTtcbiAgYGBgXG5cbiAgIyMgRGVsZWdhdGUgSG9va3NcblxuICBUaHJvdWdob3V0IHRoZSBsaWZlY3ljbGUgb2YgYSBtb2RpZmllciwgdGhlIG1vZGlmaWVyIG1hbmFnZXIgd2lsbCBpbnZva2VcbiAgZGVsZWdhdGUgaG9va3MgdGhhdCBhcmUgcmVzcG9uc2libGUgZm9yIHN1cmZhY2luZyB0aG9zZSBsaWZlY3ljbGUgY2hhbmdlcyB0b1xuICB0aGUgZW5kIGRldmVsb3Blci5cbiAgKiBgY3JlYXRlTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gYSBuZXcgaW5zdGFuY2Ugb2YgYSBtb2RpZmllciBzaG91bGQgYmUgY3JlYXRlZFxuICAqIGBpbnN0YWxsTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIG1vZGlmaWVyIGlzIGluc3RhbGxlZCBvbiB0aGUgZWxlbWVudFxuICAqIGB1cGRhdGVNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgYXJndW1lbnRzIHBhc3NlZCB0byBhIG1vZGlmaWVyIGNoYW5nZVxuICAqIGBkZXN0cm95TW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIG1vZGlmaWVyIGlzIGFib3V0IHRvIGJlIGRlc3Ryb3llZFxuKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21Nb2RpZmllck1hbmFnZXI8TyBleHRlbmRzIE93bmVyLCBNb2RpZmllckluc3RhbmNlPlxuICBpbXBsZW1lbnRzIEludGVybmFsTW9kaWZpZXJNYW5hZ2VyPEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4+IHtcbiAgcHJpdmF0ZSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzID0gbmV3IFdlYWtNYXA8TywgTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogTWFuYWdlckZhY3Rvcnk8TywgTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+Pikge31cblxuICBwcml2YXRlIGdldERlbGVnYXRlRm9yKG93bmVyOiBPKSB7XG4gICAgbGV0IHsgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyB9ID0gdGhpcztcbiAgICBsZXQgZGVsZWdhdGUgPSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLmdldChvd25lcik7XG5cbiAgICBpZiAoZGVsZWdhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHsgZmFjdG9yeSB9ID0gdGhpcztcbiAgICAgIGRlbGVnYXRlID0gZmFjdG9yeShvd25lcik7XG5cbiAgICAgIGlmIChERUJVRyAmJiAhRlJPTV9DQVBBQklMSVRJRVMhLmhhcyhkZWxlZ2F0ZS5jYXBhYmlsaXRpZXMpKSB7XG4gICAgICAgIC8vIFRPRE86IFRoaXMgZXJyb3IgbWVzc2FnZSBzaG91bGQgbWFrZSBzZW5zZSBpbiBib3RoIEVtYmVyIGFuZCBHbGltbWVyIGh0dHBzOi8vZ2l0aHViLmNvbS9nbGltbWVyanMvZ2xpbW1lci12bS9pc3N1ZXMvMTIwMFxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEN1c3RvbSBtb2RpZmllciBtYW5hZ2VycyBtdXN0IGhhdmUgYSBcXGBjYXBhYmlsaXRpZXNcXGAgcHJvcGVydHkgdGhhdCBpcyB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhlIFxcYGNhcGFiaWxpdGllcygnMy4xMycgfCAnMy4yMicpXFxgIChpbXBvcnRlZCB2aWEgXFxgaW1wb3J0IHsgY2FwYWJpbGl0aWVzIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcXGApLiBSZWNlaXZlZDogXFxgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIGRlbGVnYXRlLmNhcGFiaWxpdGllc1xuICAgICAgICAgICl9XFxgIGZvcjogXFxgJHtkZWxlZ2F0ZX1cXGBgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuc2V0KG93bmVyLCBkZWxlZ2F0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbGVnYXRlO1xuICB9XG5cbiAgY3JlYXRlKG93bmVyOiBPLCBlbGVtZW50OiBTaW1wbGVFbGVtZW50LCBkZWZpbml0aW9uOiBvYmplY3QsIGNhcHR1cmVkQXJnczogQ2FwdHVyZWRBcmd1bWVudHMpIHtcbiAgICBsZXQgZGVsZWdhdGUgPSB0aGlzLmdldERlbGVnYXRlRm9yKG93bmVyKTtcblxuICAgIGxldCB7IHVzZUFyZ3NQcm94eSwgcGFzc0ZhY3RvcnlUb0NyZWF0ZSB9ID0gZGVsZWdhdGUuY2FwYWJpbGl0aWVzO1xuXG4gICAgbGV0IGFyZ3NQcm94eSA9IGFyZ3NQcm94eUZvcihjYXB0dXJlZEFyZ3MsICdtb2RpZmllcicpO1xuICAgIGxldCBhcmdzID0gdXNlQXJnc1Byb3h5ID8gYXJnc1Byb3h5IDogcmVpZnlBcmdzKGNhcHR1cmVkQXJncyk7XG5cbiAgICBsZXQgaW5zdGFuY2U6IE1vZGlmaWVySW5zdGFuY2U7XG5cbiAgICBsZXQgZmFjdG9yeU9yRGVmaW5pdGlvbiA9IGRlZmluaXRpb247XG5cbiAgICBpZiAocGFzc0ZhY3RvcnlUb0NyZWF0ZSkge1xuICAgICAgLy8gTWFrZSBhIGZha2UgZmFjdG9yeS4gV2hpbGUgbm90IHBlcmZlY3QsIHRoaXMgc2hvdWxkIGdlbmVyYWxseSBwcmV2ZW50XG4gICAgICAvLyBicmVha2FnZSBpbiB1c2VycyBvZiBvbGRlciBtb2RpZmllciBjYXBhYmlsaXRpZXMuXG4gICAgICBmYWN0b3J5T3JEZWZpbml0aW9uID0ge1xuICAgICAgICBjcmVhdGUoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICAgICAgICBsZXQgcGFyYW1zID0gYXNzaWduKHt9LCBhcmdzKTtcbiAgICAgICAgICBzZXRPd25lcihwYXJhbXMsIG93bmVyKTtcblxuICAgICAgICAgIHJldHVybiAoZGVmaW5pdGlvbiBhcyBGYWN0b3J5KS5jcmVhdGUoYXJncyk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgY2xhc3M6IGRlZmluaXRpb24sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChERUJVRyAmJiBkZXByZWNhdGVNdXRhdGlvbnNJblRyYWNraW5nVHJhbnNhY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVwcmVjYXRlTXV0YXRpb25zSW5UcmFja2luZ1RyYW5zYWN0aW9uKCgpID0+IHtcbiAgICAgICAgaW5zdGFuY2UgPSBkZWxlZ2F0ZS5jcmVhdGVNb2RpZmllcihmYWN0b3J5T3JEZWZpbml0aW9uLCBhcmdzKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZU1vZGlmaWVyKGZhY3RvcnlPckRlZmluaXRpb24sIGFyZ3MpO1xuICAgIH1cblxuICAgIGxldCB0YWcgPSBjcmVhdGVVcGRhdGFibGVUYWcoKTtcbiAgICBsZXQgc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT47XG5cbiAgICBpZiAodXNlQXJnc1Byb3h5KSB7XG4gICAgICBzdGF0ZSA9IHtcbiAgICAgICAgdGFnLFxuICAgICAgICBlbGVtZW50LFxuICAgICAgICBkZWxlZ2F0ZSxcbiAgICAgICAgYXJncyxcbiAgICAgICAgbW9kaWZpZXI6IGluc3RhbmNlISxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlID0ge1xuICAgICAgICB0YWcsXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIG1vZGlmaWVyOiBpbnN0YW5jZSEsXG4gICAgICAgIGRlbGVnYXRlLFxuICAgICAgICBnZXQgYXJncygpIHtcbiAgICAgICAgICByZXR1cm4gcmVpZnlBcmdzKGNhcHR1cmVkQXJncyk7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChERUJVRykge1xuICAgICAgc3RhdGUuZGVidWdOYW1lID0gdHlwZW9mIGRlZmluaXRpb24gPT09ICdmdW5jdGlvbicgPyBkZWZpbml0aW9uLm5hbWUgOiBkZWZpbml0aW9uLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJEZXN0cnVjdG9yKHN0YXRlLCAoKSA9PiBkZWxlZ2F0ZS5kZXN0cm95TW9kaWZpZXIoaW5zdGFuY2UsIGFyZ3NQcm94eSkpO1xuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgZ2V0RGVidWdOYW1lKHsgZGVidWdOYW1lIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gZGVidWdOYW1lITtcbiAgfVxuXG4gIGdldFRhZyh7IHRhZyB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIHRhZztcbiAgfVxuXG4gIGluc3RhbGwoeyBlbGVtZW50LCBhcmdzLCBtb2RpZmllciwgZGVsZWdhdGUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIGxldCB7IGNhcGFiaWxpdGllcyB9ID0gZGVsZWdhdGU7XG5cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRpc2FibGVBdXRvVHJhY2tpbmcgPT09IHRydWUpIHtcbiAgICAgIHVudHJhY2soKCkgPT4gZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZSh7IGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGVzdHJveWFibGUoc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlaWZ5QXJncyh7XG4gIG5hbWVkLFxuICBwb3NpdGlvbmFsLFxufTogQ2FwdHVyZWRBcmd1bWVudHMpOiB7IG5hbWVkOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgcG9zaXRpb25hbDogdW5rbm93bltdIH0ge1xuICBsZXQgcmVpZmllZE5hbWVkID0gZGljdCgpO1xuXG4gIGZvciAobGV0IGtleSBpbiBuYW1lZCkge1xuICAgIHJlaWZpZWROYW1lZFtrZXldID0gdmFsdWVGb3JSZWYobmFtZWRba2V5XSk7XG4gIH1cblxuICBsZXQgcmVpZmllZFBvc2l0aW9uYWwgPSBwb3NpdGlvbmFsLm1hcCh2YWx1ZUZvclJlZik7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lZDogcmVpZmllZE5hbWVkLFxuICAgIHBvc2l0aW9uYWw6IHJlaWZpZWRQb3NpdGlvbmFsLFxuICB9O1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

@@ -82,3 +82,4 @@ import { DEBUG } from '@glimmer/env';

} = delegate.capabilities;
let args = useArgsProxy ? argsProxyFor(capturedArgs, 'modifier') : reifyArgs(capturedArgs);
let argsProxy = argsProxyFor(capturedArgs, 'modifier');
let args = useArgsProxy ? argsProxy : reifyArgs(capturedArgs);
let instance;

@@ -138,3 +139,3 @@ let factoryOrDefinition = definition;

registerDestructor(state, () => delegate.destroyModifier(instance, state.args));
registerDestructor(state, () => delegate.destroyModifier(instance, argsProxy));
return state;

@@ -209,2 +210,2 @@ }

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLEtBQVQsUUFBc0IsY0FBdEI7QUFVQSxTQUFTLGtCQUFULFFBQW1DLHNCQUFuQztBQUNBLFNBQVMsUUFBVCxRQUF5QixnQkFBekI7QUFDQSxTQUFTLFdBQVQsUUFBNEIsb0JBQTVCO0FBQ0EsU0FBUyxNQUFULEVBQWdDLElBQWhDLFFBQTRDLGVBQTVDO0FBQ0EsU0FDRSxrQkFERixFQUVFLHVDQUZGLEVBR0UsT0FIRixRQUtPLG9CQUxQO0FBT0EsU0FBUyxpQkFBVCxFQUE0QixpQkFBNUIsUUFBcUQsc0JBQXJEO0FBQ0EsU0FBUyxZQUFULFFBQTZCLG9CQUE3QjtBQUdBLE9BQU0sU0FBVSxvQkFBVixDQUNKLFVBREksRUFFSixnQkFBQSxHQUEwRCxFQUZ0RCxFQUV3RDtBQUU1RCxNQUFJLEtBQUssSUFBSSxVQUFVLEtBQUssTUFBeEIsSUFBa0MsVUFBVSxLQUFLLE1BQXJELEVBQTZEO0FBQzNELFVBQU0sSUFBSSxLQUFKLENBQVUsa0RBQVYsQ0FBTjtBQUNEOztBQUVELFNBQU8saUJBQWlCLENBQUM7QUFDdkIsSUFBQSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsbUJBQWxCLENBREw7QUFFdkIsSUFBQSxZQUFZLEVBQUUsVUFBVSxLQUFLLE1BQWYsR0FBd0IsS0FBeEIsR0FBZ0MsSUFGdkI7QUFJdkI7QUFDQTtBQUNBLElBQUEsbUJBQW1CLEVBQUUsVUFBVSxLQUFLO0FBTmIsR0FBRCxDQUF4QjtBQVFEO0FBZUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsT0FBTSxNQUFPLHFCQUFQLENBQTRCO0FBSWhDLEVBQUEsV0FBQSxDQUFvQixPQUFwQixFQUFpRjtBQUE3RCxTQUFBLE9BQUEsR0FBQSxPQUFBO0FBRlosU0FBQSx5QkFBQSxHQUE0QixJQUFJLE9B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QUFDLGNBQVQsQ0FBd0IsUUFBeEIsRUFBa0MsSUFBbEM7QUFDRDtBQUNGOztBQUVELEVBQUEsY0FBYyxDQUFDLEtBQUQsRUFBNkM7QUFDekQsV0FBTyxLQUFQO0FBQ0Q7O0FBN0grQjtBQWdJbEMsT0FBTSxTQUFVLFNBQVYsQ0FBb0I7QUFDeEIsRUFBQSxLQUR3QjtBQUV4QixFQUFBO0FBRndCLENBQXBCLEVBR2M7QUFDbEIsTUFBSSxZQUFZLEdBQUcsSUFBSSxFQUF2Qjs7QUFFQSxPQUFLLElBQUksR0FBVCxJQUFnQixLQUFoQixFQUF1QjtBQUNyQixJQUFBLFlBQVksQ0FBQyxHQUFELENBQVosR0FBb0IsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFELENBQU4sQ0FBL0I7QUFDRDs7QUFFRCxNQUFJLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFYLENBQWUsV0FBZixDQUF4QjtBQUVBLFNBQU87QUFDTCxJQUFBLEtBQUssRUFBRSxZQURGO0FBRUwsSUFBQSxVQUFVLEVBQUU7QUFGUCxHQUFQO0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBBcmd1bWVudHMsXG4gIENhcHR1cmVkQXJndW1lbnRzLFxuICBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcixcbiAgTW9kaWZpZXJDYXBhYmlsaXRpZXMsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnMsXG4gIE1vZGlmaWVyTWFuYWdlcixcbiAgT3duZXIsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJEZXN0cnVjdG9yIH0gZnJvbSAnQGdsaW1tZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgc2V0T3duZXIgfSBmcm9tICdAZ2xpbW1lci9vd25lcic7XG5pbXBvcnQgeyB2YWx1ZUZvclJlZiB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBhc3NpZ24sIGNhc3RUb0Jyb3dzZXIsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7XG4gIGNyZWF0ZVVwZGF0YWJsZVRhZyxcbiAgZGVwcmVjYXRlTXV0YXRpb25zSW5UcmFja2luZ1RyYW5zYWN0aW9uLFxuICB1bnRyYWNrLFxuICBVcGRhdGFibGVUYWcsXG59IGZyb20gJ0BnbGltbWVyL3ZhbGlkYXRvcic7XG5pbXBvcnQgeyBTaW1wbGVFbGVtZW50IH0gZnJvbSAnQHNpbXBsZS1kb20vaW50ZXJmYWNlJztcbmltcG9ydCB7IGJ1aWxkQ2FwYWJpbGl0aWVzLCBGUk9NX0NBUEFCSUxJVElFUyB9IGZyb20gJy4uL3V0aWwvY2FwYWJpbGl0aWVzJztcbmltcG9ydCB7IGFyZ3NQcm94eUZvciB9IGZyb20gJy4uL3V0aWwvYXJncy1wcm94eSc7XG5pbXBvcnQgeyBNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4nO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kaWZpZXJDYXBhYmlsaXRpZXM8VmVyc2lvbiBleHRlbmRzIGtleW9mIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnM+KFxuICBtYW5hZ2VyQVBJOiBWZXJzaW9uLFxuICBvcHRpb25hbEZlYXR1cmVzOiBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zW1ZlcnNpb25dID0ge31cbik6IE1vZGlmaWVyQ2FwYWJpbGl0aWVzIHtcbiAgaWYgKERFQlVHICYmIG1hbmFnZXJBUEkgIT09ICczLjEzJyAmJiBtYW5hZ2VyQVBJICE9PSAnMy4yMicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbW9kaWZpZXIgbWFuYWdlciBjb21wYXRpYmlsaXR5IHNwZWNpZmllZCcpO1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkQ2FwYWJpbGl0aWVzKHtcbiAgICBkaXNhYmxlQXV0b1RyYWNraW5nOiBCb29sZWFuKG9wdGlvbmFsRmVhdHVyZXMuZGlzYWJsZUF1dG9UcmFja2luZyksXG4gICAgdXNlQXJnc1Byb3h5OiBtYW5hZ2VyQVBJID09PSAnMy4xMycgPyBmYWxzZSA6IHRydWUsXG5cbiAgICAvLyBUaGlzIGNhcGFiaWxpdHkgaXMgdXNlZCBpbiBFbWJlciwgZXhjbHVzaXZlbHkgaW4gcmVzb2x1dGlvbiBtb2RlLiBTZWUgdGhlXG4gICAgLy8gRW1iZXIgZ2xpbW1lciByZXNvbHZlciBmb3IgZGV0YWlscy5cbiAgICBwYXNzRmFjdG9yeVRvQ3JlYXRlOiBtYW5hZ2VyQVBJID09PSAnMy4xMycsXG4gIH0pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4ge1xuICB0YWc6IFVwZGF0YWJsZVRhZztcbiAgZWxlbWVudDogU2ltcGxlRWxlbWVudDtcbiAgbW9kaWZpZXI6IE1vZGlmaWVySW5zdGFuY2U7XG4gIGRlbGVnYXRlOiBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT47XG4gIGFyZ3M6IEFyZ3VtZW50cztcbiAgZGVidWdOYW1lPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRmFjdG9yeSB7XG4gIGNyZWF0ZShwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogb2JqZWN0O1xufVxuXG4vKipcbiAgVGhlIEN1c3RvbU1vZGlmaWVyTWFuYWdlciBhbGxvd3MgYWRkb25zIHRvIHByb3ZpZGUgY3VzdG9tIG1vZGlmaWVyXG4gIGltcGxlbWVudGF0aW9ucyB0aGF0IGludGVncmF0ZSBzZWFtbGVzc2x5IGludG8gRW1iZXIuIFRoaXMgaXMgYWNjb21wbGlzaGVkXG4gIHRocm91Z2ggYSBkZWxlZ2F0ZSwgcmVnaXN0ZXJlZCB3aXRoIHRoZSBjdXN0b20gbW9kaWZpZXIgbWFuYWdlciwgd2hpY2hcbiAgaW1wbGVtZW50cyBhIHNldCBvZiBob29rcyB0aGF0IGRldGVybWluZSBtb2RpZmllciBiZWhhdmlvci5cbiAgVG8gY3JlYXRlIGEgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIGluc3RhbnRpYXRlIGEgbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlclxuICBjbGFzcyBhbmQgcGFzcyB0aGUgZGVsZWdhdGUgYXMgdGhlIGZpcnN0IGFyZ3VtZW50OlxuXG4gIGBgYGpzXG4gIGxldCBtYW5hZ2VyID0gbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlcih7XG4gICAgLy8gLi4uZGVsZWdhdGUgaW1wbGVtZW50YXRpb24uLi5cbiAgfSk7XG4gIGBgYFxuXG4gICMjIERlbGVnYXRlIEhvb2tzXG5cbiAgVGhyb3VnaG91dCB0aGUgbGlmZWN5Y2xlIG9mIGEgbW9kaWZpZXIsIHRoZSBtb2RpZmllciBtYW5hZ2VyIHdpbGwgaW52b2tlXG4gIGRlbGVnYXRlIGhvb2tzIHRoYXQgYXJlIHJlc3BvbnNpYmxlIGZvciBzdXJmYWNpbmcgdGhvc2UgbGlmZWN5Y2xlIGNoYW5nZXMgdG9cbiAgdGhlIGVuZCBkZXZlbG9wZXIuXG4gICogYGNyZWF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIGEgbmV3IGluc3RhbmNlIG9mIGEgbW9kaWZpZXIgc2hvdWxkIGJlIGNyZWF0ZWRcbiAgKiBgaW5zdGFsbE1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBpbnN0YWxsZWQgb24gdGhlIGVsZW1lbnRcbiAgKiBgdXBkYXRlTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBtb2RpZmllciBjaGFuZ2VcbiAgKiBgZGVzdHJveU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBhYm91dCB0byBiZSBkZXN0cm95ZWRcbiovXG5leHBvcnQgY2xhc3MgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyPE8gZXh0ZW5kcyBPd25lciwgTW9kaWZpZXJJbnN0YW5jZT5cbiAgaW1wbGVtZW50cyBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcjxDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+PiB7XG4gIHByaXZhdGUgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyA9IG5ldyBXZWFrTWFwPE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3Rvcnk6IE1hbmFnZXJGYWN0b3J5PE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4pIHt9XG5cbiAgcHJpdmF0ZSBnZXREZWxlZ2F0ZUZvcihvd25lcjogTykge1xuICAgIGxldCB7IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgfSA9IHRoaXM7XG4gICAgbGV0IGRlbGVnYXRlID0gY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5nZXQob3duZXIpO1xuXG4gICAgaWYgKGRlbGVnYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB7IGZhY3RvcnkgfSA9IHRoaXM7XG4gICAgICBkZWxlZ2F0ZSA9IGZhY3Rvcnkob3duZXIpO1xuXG4gICAgICBpZiAoREVCVUcgJiYgIUZST01fQ0FQQUJJTElUSUVTIS5oYXMoZGVsZWdhdGUuY2FwYWJpbGl0aWVzKSkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIG1ha2Ugc2Vuc2UgaW4gYm90aCBFbWJlciBhbmQgR2xpbW1lciBodHRwczovL2dpdGh1Yi5jb20vZ2xpbW1lcmpzL2dsaW1tZXItdm0vaXNzdWVzLzEyMDBcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDdXN0b20gbW9kaWZpZXIgbWFuYWdlcnMgbXVzdCBoYXZlIGEgXFxgY2FwYWJpbGl0aWVzXFxgIHByb3BlcnR5IHRoYXQgaXMgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBcXGBjYXBhYmlsaXRpZXMoJzMuMTMnIHwgJzMuMjInKVxcYCAoaW1wb3J0ZWQgdmlhIFxcYGltcG9ydCB7IGNhcGFiaWxpdGllcyB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XFxgKS4gUmVjZWl2ZWQ6IFxcYCR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXNcbiAgICAgICAgICApfVxcYCBmb3I6IFxcYCR7ZGVsZWdhdGV9XFxgYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLnNldChvd25lciwgZGVsZWdhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWxlZ2F0ZTtcbiAgfVxuXG4gIGNyZWF0ZShvd25lcjogTywgZWxlbWVudDogU2ltcGxlRWxlbWVudCwgZGVmaW5pdGlvbjogb2JqZWN0LCBjYXB0dXJlZEFyZ3M6IENhcHR1cmVkQXJndW1lbnRzKSB7XG4gICAgbGV0IGRlbGVnYXRlID0gdGhpcy5nZXREZWxlZ2F0ZUZvcihvd25lcik7XG5cbiAgICBsZXQgeyB1c2VBcmdzUHJveHksIHBhc3NGYWN0b3J5VG9DcmVhdGUgfSA9IGRlbGVnYXRlLmNhcGFiaWxpdGllcztcblxuICAgIGxldCBhcmdzID0gdXNlQXJnc1Byb3h5ID8gYXJnc1Byb3h5Rm9yKGNhcHR1cmVkQXJncywgJ21vZGlmaWVyJykgOiByZWlmeUFyZ3MoY2FwdHVyZWRBcmdzKTtcblxuICAgIGxldCBpbnN0YW5jZTogTW9kaWZpZXJJbnN0YW5jZTtcblxuICAgIGxldCBmYWN0b3J5T3JEZWZpbml0aW9uID0gZGVmaW5pdGlvbjtcblxuICAgIGlmIChwYXNzRmFjdG9yeVRvQ3JlYXRlKSB7XG4gICAgICAvLyBNYWtlIGEgZmFrZSBmYWN0b3J5LiBXaGlsZSBub3QgcGVyZmVjdCwgdGhpcyBzaG91bGQgZ2VuZXJhbGx5IHByZXZlbnRcbiAgICAgIC8vIGJyZWFrYWdlIGluIHVzZXJzIG9mIG9sZGVyIG1vZGlmaWVyIGNhcGFiaWxpdGllcy5cbiAgICAgIGZhY3RvcnlPckRlZmluaXRpb24gPSB7XG4gICAgICAgIGNyZWF0ZShhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgICAgICAgIGxldCBwYXJhbXMgPSBhc3NpZ24oe30sIGFyZ3MpO1xuICAgICAgICAgIHNldE93bmVyKHBhcmFtcywgb3duZXIpO1xuXG4gICAgICAgICAgcmV0dXJuIChkZWZpbml0aW9uIGFzIEZhY3RvcnkpLmNyZWF0ZShhcmdzKTtcbiAgICAgICAgfSxcblxuICAgICAgICBjbGFzczogZGVmaW5pdGlvbixcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKERFQlVHICYmIGRlcHJlY2F0ZU11dGF0aW9uc0luVHJhY2tpbmdUcmFuc2FjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZXByZWNhdGVNdXRhdGlvbnNJblRyYWNraW5nVHJhbnNhY3Rpb24oKCkgPT4ge1xuICAgICAgICBpbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZU1vZGlmaWVyKGZhY3RvcnlPckRlZmluaXRpb24sIGFyZ3MpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluc3RhbmNlID0gZGVsZWdhdGUuY3JlYXRlTW9kaWZpZXIoZmFjdG9yeU9yRGVmaW5pdGlvbiwgYXJncyk7XG4gICAgfVxuXG4gICAgbGV0IHRhZyA9IGNyZWF0ZVVwZGF0YWJsZVRhZygpO1xuICAgIGxldCBzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPjtcblxuICAgIGlmICh1c2VBcmdzUHJveHkpIHtcbiAgICAgIHN0YXRlID0ge1xuICAgICAgICB0YWcsXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIGRlbGVnYXRlLFxuICAgICAgICBhcmdzLFxuICAgICAgICBtb2RpZmllcjogaW5zdGFuY2UhLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUgPSB7XG4gICAgICAgIHRhZyxcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgbW9kaWZpZXI6IGluc3RhbmNlISxcbiAgICAgICAgZGVsZWdhdGUsXG4gICAgICAgIGdldCBhcmdzKCkge1xuICAgICAgICAgIHJldHVybiByZWlmeUFyZ3MoY2FwdHVyZWRBcmdzKTtcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKERFQlVHKSB7XG4gICAgICBzdGF0ZS5kZWJ1Z05hbWUgPSB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGRlZmluaXRpb24ubmFtZSA6IGRlZmluaXRpb24udG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckRlc3RydWN0b3Ioc3RhdGUsICgpID0+IGRlbGVnYXRlLmRlc3Ryb3lNb2RpZmllcihpbnN0YW5jZSwgc3RhdGUuYXJncykpO1xuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgZ2V0RGVidWdOYW1lKHsgZGVidWdOYW1lIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gZGVidWdOYW1lITtcbiAgfVxuXG4gIGdldFRhZyh7IHRhZyB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIHRhZztcbiAgfVxuXG4gIGluc3RhbGwoeyBlbGVtZW50LCBhcmdzLCBtb2RpZmllciwgZGVsZWdhdGUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIGxldCB7IGNhcGFiaWxpdGllcyB9ID0gZGVsZWdhdGU7XG5cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRpc2FibGVBdXRvVHJhY2tpbmcgPT09IHRydWUpIHtcbiAgICAgIHVudHJhY2soKCkgPT4gZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZSh7IGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGVzdHJveWFibGUoc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlaWZ5QXJncyh7XG4gIG5hbWVkLFxuICBwb3NpdGlvbmFsLFxufTogQ2FwdHVyZWRBcmd1bWVudHMpOiB7IG5hbWVkOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgcG9zaXRpb25hbDogdW5rbm93bltdIH0ge1xuICBsZXQgcmVpZmllZE5hbWVkID0gZGljdCgpO1xuXG4gIGZvciAobGV0IGtleSBpbiBuYW1lZCkge1xuICAgIHJlaWZpZWROYW1lZFtrZXldID0gdmFsdWVGb3JSZWYobmFtZWRba2V5XSk7XG4gIH1cblxuICBsZXQgcmVpZmllZFBvc2l0aW9uYWwgPSBwb3NpdGlvbmFsLm1hcCh2YWx1ZUZvclJlZik7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lZDogcmVpZmllZE5hbWVkLFxuICAgIHBvc2l0aW9uYWw6IHJlaWZpZWRQb3NpdGlvbmFsLFxuICB9O1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLEtBQVQsUUFBc0IsY0FBdEI7QUFVQSxTQUFTLGtCQUFULFFBQW1DLHNCQUFuQztBQUNBLFNBQVMsUUFBVCxRQUF5QixnQkFBekI7QUFDQSxTQUFTLFdBQVQsUUFBNEIsb0JBQTVCO0FBQ0EsU0FBUyxNQUFULEVBQWdDLElBQWhDLFFBQTRDLGVBQTVDO0FBQ0EsU0FDRSxrQkFERixFQUVFLHVDQUZGLEVBR0UsT0FIRixRQUtPLG9CQUxQO0FBT0EsU0FBUyxpQkFBVCxFQUE0QixpQkFBNUIsUUFBcUQsc0JBQXJEO0FBQ0EsU0FBUyxZQUFULFFBQTZCLG9CQUE3QjtBQUdBLE9BQU0sU0FBVSxvQkFBVixDQUNKLFVBREksRUFFSixnQkFBQSxHQUEwRCxFQUZ0RCxFQUV3RDtBQUU1RCxNQUFJLEtBQUssSUFBSSxVQUFVLEtBQUssTUFBeEIsSUFBa0MsVUFBVSxLQUFLLE1BQXJELEVBQTZEO0FBQzNELFVBQU0sSUFBSSxLQUFKLENBQVUsa0RBQVYsQ0FBTjtBQUNEOztBQUVELFNBQU8saUJBQWlCLENBQUM7QUFDdkIsSUFBQSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsbUJBQWxCLENBREw7QUFFdkIsSUFBQSxZQUFZLEVBQUUsVUFBVSxLQUFLLE1BQWYsR0FBd0IsS0FBeEIsR0FBZ0MsSUFGdkI7QUFJdkI7QUFDQTtBQUNBLElBQUEsbUJBQW1CLEVBQUUsVUFBVSxLQUFLO0FBTmIsR0FBRCxDQUF4QjtBQVFEO0FBZUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsT0FBTSxNQUFPLHFCQUFQLENBQTRCO0FBSWhDLEVBQUEsV0FBQSxDQUFvQixPQUFwQixFQUFpRjtBQUE3RCxTQUFBLE9BQUEsR0FBQSxPQUFBO0FBRlosU0FBQSx5QkFBQSxHQUE0QixJQUFJLE9B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QUNMLE1BQUEsUUFBUSxDQUFDLGNBQVQsQ0FBd0IsUUFBeEIsRUFBa0MsSUFBbEM7QUFDRDtBQUNGOztBQUVELEVBQUEsY0FBYyxDQUFDLEtBQUQsRUFBNkM7QUFDekQsV0FBTyxLQUFQO0FBQ0Q7O0FBOUgrQjtBQWlJbEMsT0FBTSxTQUFVLFNBQVYsQ0FBb0I7QUFDeEIsRUFBQSxLQUR3QjtBQUV4QixFQUFBO0FBRndCLENBQXBCLEVBR2M7QUFDbEIsTUFBSSxZQUFZLEdBQUcsSUFBSSxFQUF2Qjs7QUFFQSxPQUFLLElBQUksR0FBVCxJQUFnQixLQUFoQixFQUF1QjtBQUNyQixJQUFBLFlBQVksQ0FBQyxHQUFELENBQVosR0FBb0IsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFELENBQU4sQ0FBL0I7QUFDRDs7QUFFRCxNQUFJLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFYLENBQWUsV0FBZixDQUF4QjtBQUVBLFNBQU87QUFDTCxJQUFBLEtBQUssRUFBRSxZQURGO0FBRUwsSUFBQSxVQUFVLEVBQUU7QUFGUCxHQUFQO0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBBcmd1bWVudHMsXG4gIENhcHR1cmVkQXJndW1lbnRzLFxuICBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcixcbiAgTW9kaWZpZXJDYXBhYmlsaXRpZXMsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnMsXG4gIE1vZGlmaWVyTWFuYWdlcixcbiAgT3duZXIsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJEZXN0cnVjdG9yIH0gZnJvbSAnQGdsaW1tZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgc2V0T3duZXIgfSBmcm9tICdAZ2xpbW1lci9vd25lcic7XG5pbXBvcnQgeyB2YWx1ZUZvclJlZiB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBhc3NpZ24sIGNhc3RUb0Jyb3dzZXIsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7XG4gIGNyZWF0ZVVwZGF0YWJsZVRhZyxcbiAgZGVwcmVjYXRlTXV0YXRpb25zSW5UcmFja2luZ1RyYW5zYWN0aW9uLFxuICB1bnRyYWNrLFxuICBVcGRhdGFibGVUYWcsXG59IGZyb20gJ0BnbGltbWVyL3ZhbGlkYXRvcic7XG5pbXBvcnQgeyBTaW1wbGVFbGVtZW50IH0gZnJvbSAnQHNpbXBsZS1kb20vaW50ZXJmYWNlJztcbmltcG9ydCB7IGJ1aWxkQ2FwYWJpbGl0aWVzLCBGUk9NX0NBUEFCSUxJVElFUyB9IGZyb20gJy4uL3V0aWwvY2FwYWJpbGl0aWVzJztcbmltcG9ydCB7IGFyZ3NQcm94eUZvciB9IGZyb20gJy4uL3V0aWwvYXJncy1wcm94eSc7XG5pbXBvcnQgeyBNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4nO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kaWZpZXJDYXBhYmlsaXRpZXM8VmVyc2lvbiBleHRlbmRzIGtleW9mIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnM+KFxuICBtYW5hZ2VyQVBJOiBWZXJzaW9uLFxuICBvcHRpb25hbEZlYXR1cmVzOiBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zW1ZlcnNpb25dID0ge31cbik6IE1vZGlmaWVyQ2FwYWJpbGl0aWVzIHtcbiAgaWYgKERFQlVHICYmIG1hbmFnZXJBUEkgIT09ICczLjEzJyAmJiBtYW5hZ2VyQVBJICE9PSAnMy4yMicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbW9kaWZpZXIgbWFuYWdlciBjb21wYXRpYmlsaXR5IHNwZWNpZmllZCcpO1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkQ2FwYWJpbGl0aWVzKHtcbiAgICBkaXNhYmxlQXV0b1RyYWNraW5nOiBCb29sZWFuKG9wdGlvbmFsRmVhdHVyZXMuZGlzYWJsZUF1dG9UcmFja2luZyksXG4gICAgdXNlQXJnc1Byb3h5OiBtYW5hZ2VyQVBJID09PSAnMy4xMycgPyBmYWxzZSA6IHRydWUsXG5cbiAgICAvLyBUaGlzIGNhcGFiaWxpdHkgaXMgdXNlZCBpbiBFbWJlciwgZXhjbHVzaXZlbHkgaW4gcmVzb2x1dGlvbiBtb2RlLiBTZWUgdGhlXG4gICAgLy8gRW1iZXIgZ2xpbW1lciByZXNvbHZlciBmb3IgZGV0YWlscy5cbiAgICBwYXNzRmFjdG9yeVRvQ3JlYXRlOiBtYW5hZ2VyQVBJID09PSAnMy4xMycsXG4gIH0pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4ge1xuICB0YWc6IFVwZGF0YWJsZVRhZztcbiAgZWxlbWVudDogU2ltcGxlRWxlbWVudDtcbiAgbW9kaWZpZXI6IE1vZGlmaWVySW5zdGFuY2U7XG4gIGRlbGVnYXRlOiBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT47XG4gIGFyZ3M6IEFyZ3VtZW50cztcbiAgZGVidWdOYW1lPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRmFjdG9yeSB7XG4gIGNyZWF0ZShwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogb2JqZWN0O1xufVxuXG4vKipcbiAgVGhlIEN1c3RvbU1vZGlmaWVyTWFuYWdlciBhbGxvd3MgYWRkb25zIHRvIHByb3ZpZGUgY3VzdG9tIG1vZGlmaWVyXG4gIGltcGxlbWVudGF0aW9ucyB0aGF0IGludGVncmF0ZSBzZWFtbGVzc2x5IGludG8gRW1iZXIuIFRoaXMgaXMgYWNjb21wbGlzaGVkXG4gIHRocm91Z2ggYSBkZWxlZ2F0ZSwgcmVnaXN0ZXJlZCB3aXRoIHRoZSBjdXN0b20gbW9kaWZpZXIgbWFuYWdlciwgd2hpY2hcbiAgaW1wbGVtZW50cyBhIHNldCBvZiBob29rcyB0aGF0IGRldGVybWluZSBtb2RpZmllciBiZWhhdmlvci5cbiAgVG8gY3JlYXRlIGEgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIGluc3RhbnRpYXRlIGEgbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlclxuICBjbGFzcyBhbmQgcGFzcyB0aGUgZGVsZWdhdGUgYXMgdGhlIGZpcnN0IGFyZ3VtZW50OlxuXG4gIGBgYGpzXG4gIGxldCBtYW5hZ2VyID0gbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlcih7XG4gICAgLy8gLi4uZGVsZWdhdGUgaW1wbGVtZW50YXRpb24uLi5cbiAgfSk7XG4gIGBgYFxuXG4gICMjIERlbGVnYXRlIEhvb2tzXG5cbiAgVGhyb3VnaG91dCB0aGUgbGlmZWN5Y2xlIG9mIGEgbW9kaWZpZXIsIHRoZSBtb2RpZmllciBtYW5hZ2VyIHdpbGwgaW52b2tlXG4gIGRlbGVnYXRlIGhvb2tzIHRoYXQgYXJlIHJlc3BvbnNpYmxlIGZvciBzdXJmYWNpbmcgdGhvc2UgbGlmZWN5Y2xlIGNoYW5nZXMgdG9cbiAgdGhlIGVuZCBkZXZlbG9wZXIuXG4gICogYGNyZWF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIGEgbmV3IGluc3RhbmNlIG9mIGEgbW9kaWZpZXIgc2hvdWxkIGJlIGNyZWF0ZWRcbiAgKiBgaW5zdGFsbE1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBpbnN0YWxsZWQgb24gdGhlIGVsZW1lbnRcbiAgKiBgdXBkYXRlTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBtb2RpZmllciBjaGFuZ2VcbiAgKiBgZGVzdHJveU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBhYm91dCB0byBiZSBkZXN0cm95ZWRcbiovXG5leHBvcnQgY2xhc3MgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyPE8gZXh0ZW5kcyBPd25lciwgTW9kaWZpZXJJbnN0YW5jZT5cbiAgaW1wbGVtZW50cyBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcjxDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+PiB7XG4gIHByaXZhdGUgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyA9IG5ldyBXZWFrTWFwPE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3Rvcnk6IE1hbmFnZXJGYWN0b3J5PE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4pIHt9XG5cbiAgcHJpdmF0ZSBnZXREZWxlZ2F0ZUZvcihvd25lcjogTykge1xuICAgIGxldCB7IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgfSA9IHRoaXM7XG4gICAgbGV0IGRlbGVnYXRlID0gY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5nZXQob3duZXIpO1xuXG4gICAgaWYgKGRlbGVnYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB7IGZhY3RvcnkgfSA9IHRoaXM7XG4gICAgICBkZWxlZ2F0ZSA9IGZhY3Rvcnkob3duZXIpO1xuXG4gICAgICBpZiAoREVCVUcgJiYgIUZST01fQ0FQQUJJTElUSUVTIS5oYXMoZGVsZWdhdGUuY2FwYWJpbGl0aWVzKSkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIG1ha2Ugc2Vuc2UgaW4gYm90aCBFbWJlciBhbmQgR2xpbW1lciBodHRwczovL2dpdGh1Yi5jb20vZ2xpbW1lcmpzL2dsaW1tZXItdm0vaXNzdWVzLzEyMDBcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDdXN0b20gbW9kaWZpZXIgbWFuYWdlcnMgbXVzdCBoYXZlIGEgXFxgY2FwYWJpbGl0aWVzXFxgIHByb3BlcnR5IHRoYXQgaXMgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBcXGBjYXBhYmlsaXRpZXMoJzMuMTMnIHwgJzMuMjInKVxcYCAoaW1wb3J0ZWQgdmlhIFxcYGltcG9ydCB7IGNhcGFiaWxpdGllcyB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XFxgKS4gUmVjZWl2ZWQ6IFxcYCR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXNcbiAgICAgICAgICApfVxcYCBmb3I6IFxcYCR7ZGVsZWdhdGV9XFxgYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLnNldChvd25lciwgZGVsZWdhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWxlZ2F0ZTtcbiAgfVxuXG4gIGNyZWF0ZShvd25lcjogTywgZWxlbWVudDogU2ltcGxlRWxlbWVudCwgZGVmaW5pdGlvbjogb2JqZWN0LCBjYXB0dXJlZEFyZ3M6IENhcHR1cmVkQXJndW1lbnRzKSB7XG4gICAgbGV0IGRlbGVnYXRlID0gdGhpcy5nZXREZWxlZ2F0ZUZvcihvd25lcik7XG5cbiAgICBsZXQgeyB1c2VBcmdzUHJveHksIHBhc3NGYWN0b3J5VG9DcmVhdGUgfSA9IGRlbGVnYXRlLmNhcGFiaWxpdGllcztcblxuICAgIGxldCBhcmdzUHJveHkgPSBhcmdzUHJveHlGb3IoY2FwdHVyZWRBcmdzLCAnbW9kaWZpZXInKTtcbiAgICBsZXQgYXJncyA9IHVzZUFyZ3NQcm94eSA/IGFyZ3NQcm94eSA6IHJlaWZ5QXJncyhjYXB0dXJlZEFyZ3MpO1xuXG4gICAgbGV0IGluc3RhbmNlOiBNb2RpZmllckluc3RhbmNlO1xuXG4gICAgbGV0IGZhY3RvcnlPckRlZmluaXRpb24gPSBkZWZpbml0aW9uO1xuXG4gICAgaWYgKHBhc3NGYWN0b3J5VG9DcmVhdGUpIHtcbiAgICAgIC8vIE1ha2UgYSBmYWtlIGZhY3RvcnkuIFdoaWxlIG5vdCBwZXJmZWN0LCB0aGlzIHNob3VsZCBnZW5lcmFsbHkgcHJldmVudFxuICAgICAgLy8gYnJlYWthZ2UgaW4gdXNlcnMgb2Ygb2xkZXIgbW9kaWZpZXIgY2FwYWJpbGl0aWVzLlxuICAgICAgZmFjdG9yeU9yRGVmaW5pdGlvbiA9IHtcbiAgICAgICAgY3JlYXRlKGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gICAgICAgICAgbGV0IHBhcmFtcyA9IGFzc2lnbih7fSwgYXJncyk7XG4gICAgICAgICAgc2V0T3duZXIocGFyYW1zLCBvd25lcik7XG5cbiAgICAgICAgICByZXR1cm4gKGRlZmluaXRpb24gYXMgRmFjdG9yeSkuY3JlYXRlKGFyZ3MpO1xuICAgICAgICB9LFxuXG4gICAgICAgIGNsYXNzOiBkZWZpbml0aW9uLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoREVCVUcgJiYgZGVwcmVjYXRlTXV0YXRpb25zSW5UcmFja2luZ1RyYW5zYWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlcHJlY2F0ZU11dGF0aW9uc0luVHJhY2tpbmdUcmFuc2FjdGlvbigoKSA9PiB7XG4gICAgICAgIGluc3RhbmNlID0gZGVsZWdhdGUuY3JlYXRlTW9kaWZpZXIoZmFjdG9yeU9yRGVmaW5pdGlvbiwgYXJncyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5zdGFuY2UgPSBkZWxlZ2F0ZS5jcmVhdGVNb2RpZmllcihmYWN0b3J5T3JEZWZpbml0aW9uLCBhcmdzKTtcbiAgICB9XG5cbiAgICBsZXQgdGFnID0gY3JlYXRlVXBkYXRhYmxlVGFnKCk7XG4gICAgbGV0IHN0YXRlOiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+O1xuXG4gICAgaWYgKHVzZUFyZ3NQcm94eSkge1xuICAgICAgc3RhdGUgPSB7XG4gICAgICAgIHRhZyxcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgZGVsZWdhdGUsXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIG1vZGlmaWVyOiBpbnN0YW5jZSEsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZSA9IHtcbiAgICAgICAgdGFnLFxuICAgICAgICBlbGVtZW50LFxuICAgICAgICBtb2RpZmllcjogaW5zdGFuY2UhLFxuICAgICAgICBkZWxlZ2F0ZSxcbiAgICAgICAgZ2V0IGFyZ3MoKSB7XG4gICAgICAgICAgcmV0dXJuIHJlaWZ5QXJncyhjYXB0dXJlZEFyZ3MpO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoREVCVUcpIHtcbiAgICAgIHN0YXRlLmRlYnVnTmFtZSA9IHR5cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nID8gZGVmaW5pdGlvbi5uYW1lIDogZGVmaW5pdGlvbi50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRGVzdHJ1Y3RvcihzdGF0ZSwgKCkgPT4gZGVsZWdhdGUuZGVzdHJveU1vZGlmaWVyKGluc3RhbmNlLCBhcmdzUHJveHkpKTtcblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIGdldERlYnVnTmFtZSh7IGRlYnVnTmFtZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIGRlYnVnTmFtZSE7XG4gIH1cblxuICBnZXRUYWcoeyB0YWcgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiB0YWc7XG4gIH1cblxuICBpbnN0YWxsKHsgZWxlbWVudCwgYXJncywgbW9kaWZpZXIsIGRlbGVnYXRlIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICBsZXQgeyBjYXBhYmlsaXRpZXMgfSA9IGRlbGVnYXRlO1xuXG4gICAgaWYgKGNhcGFiaWxpdGllcy5kaXNhYmxlQXV0b1RyYWNraW5nID09PSB0cnVlKSB7XG4gICAgICB1bnRyYWNrKCgpID0+IGRlbGVnYXRlLmluc3RhbGxNb2RpZmllcihtb2RpZmllciwgY2FzdFRvQnJvd3NlcihlbGVtZW50LCAnRUxFTUVOVCcpLCBhcmdzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGVnYXRlLmluc3RhbGxNb2RpZmllcihtb2RpZmllciwgY2FzdFRvQnJvd3NlcihlbGVtZW50LCAnRUxFTUVOVCcpLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGUoeyBhcmdzLCBtb2RpZmllciwgZGVsZWdhdGUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIGxldCB7IGNhcGFiaWxpdGllcyB9ID0gZGVsZWdhdGU7XG5cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRpc2FibGVBdXRvVHJhY2tpbmcgPT09IHRydWUpIHtcbiAgICAgIHVudHJhY2soKCkgPT4gZGVsZWdhdGUudXBkYXRlTW9kaWZpZXIobW9kaWZpZXIsIGFyZ3MpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZWdhdGUudXBkYXRlTW9kaWZpZXIobW9kaWZpZXIsIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIGdldERlc3Ryb3lhYmxlKHN0YXRlOiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWlmeUFyZ3Moe1xuICBuYW1lZCxcbiAgcG9zaXRpb25hbCxcbn06IENhcHR1cmVkQXJndW1lbnRzKTogeyBuYW1lZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj47IHBvc2l0aW9uYWw6IHVua25vd25bXSB9IHtcbiAgbGV0IHJlaWZpZWROYW1lZCA9IGRpY3QoKTtcblxuICBmb3IgKGxldCBrZXkgaW4gbmFtZWQpIHtcbiAgICByZWlmaWVkTmFtZWRba2V5XSA9IHZhbHVlRm9yUmVmKG5hbWVkW2tleV0pO1xuICB9XG5cbiAgbGV0IHJlaWZpZWRQb3NpdGlvbmFsID0gcG9zaXRpb25hbC5tYXAodmFsdWVGb3JSZWYpO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZWQ6IHJlaWZpZWROYW1lZCxcbiAgICBwb3NpdGlvbmFsOiByZWlmaWVkUG9zaXRpb25hbCxcbiAgfTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=

@@ -83,3 +83,4 @@ import { DEBUG } from '@glimmer/env';

passFactoryToCreate = _delegate$capabilitie.passFactoryToCreate;
var args = useArgsProxy ? argsProxyFor(capturedArgs, 'modifier') : reifyArgs(capturedArgs);
var argsProxy = argsProxyFor(capturedArgs, 'modifier');
var args = useArgsProxy ? argsProxy : reifyArgs(capturedArgs);
var instance;

@@ -139,3 +140,3 @@ var factoryOrDefinition = definition;

registerDestructor(state, function () {
return delegate.destroyModifier(instance, state.args);
return delegate.destroyModifier(instance, argsProxy);
});

@@ -207,2 +208,2 @@ return state;

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFBLEtBQUEsUUFBQSxjQUFBO0FBVUEsU0FBQSxrQkFBQSxRQUFBLHNCQUFBO0FBQ0EsU0FBQSxRQUFBLFFBQUEsZ0JBQUE7QUFDQSxTQUFBLFdBQUEsUUFBQSxvQkFBQTtBQUNBLFNBQUEsTUFBQSxFQUFBLElBQUEsUUFBQSxlQUFBO0FBQ0EsU0FBQSxrQkFBQSxFQUFBLHVDQUFBLEVBQUEsT0FBQSxRQUFBLG9CQUFBO0FBT0EsU0FBQSxpQkFBQSxFQUFBLGlCQUFBLFFBQUEsc0JBQUE7QUFDQSxTQUFBLFlBQUEsUUFBQSxvQkFBQTtBQUdBLE9BQU0sU0FBQSxvQkFBQSxDQUFBLFVBQUEsRUFFSixnQkFGSSxFQUV3RDtBQUFBLE1BQTVELGdCQUE0RDtBQUE1RCxJQUFBLGdCQUE0RCxHQUZ4RCxFQUV3RDtBQUFBOztBQUU1RCxNQUFJLEtBQUssSUFBSSxVQUFVLEtBQW5CLE1BQUEsSUFBa0MsVUFBVSxLQUFoRCxNQUFBLEVBQTZEO0FBQzNELFVBQU0sSUFBQSxLQUFBLENBQU4sa0RBQU0sQ0FBTjtBQUNEOztBQUVELFNBQU8saUJBQWlCLENBQUM7QUFDdkIsSUFBQSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBRHRCLG1CQUNLLENBREw7QUFFdkIsSUFBQSxZQUFZLEVBQUUsVUFBVSxLQUFWLE1BQUEsR0FBQSxLQUFBLEdBRlMsSUFBQTtBQUl2QjtBQUNBO0FBQ0EsSUFBQSxtQkFBbUIsRUFBRSxVQUFVLEtBQUs7QUFOYixHQUFELENBQXhCO0FBUUQ7QUFlRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCQSxXQUFNLHFCQUFOO0FBSUUsaUNBQUEsT0FBQSxFQUFpRjtBQUE3RCxTQUFBLE9BQUEsR0FBQSxPQUFBO0FBRlosU0FBQSx5QkFBQSxHQUE0QixJQUE1QixPQUE0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RSxTQUFuRSxJQUFtRTtBQUFBLFFBQW5FLFFBQW1FLFNBQW5FLFFBQW1FO0FBQUEsUUFBakQsUUFBaUQsU0FBakQsUUFBaUQ7QUFBQSxRQUNsRSxZQURrRSxHQUN4RSxRQUR3RSxDQUNsRSxZQURrRTs7QUFHeEUsUUFBSSxZQUFZLENBQVosbUJBQUEsS0FBSixJQUFBLEVBQStDO0FBQzdDLE1BQUEsT0FBTyxDQUFDO0FBQUEsZUFBTSxRQUFRLENBQVIsY0FBQSxDQUFBLFFBQUEsRUFBZCxJQUFjLENBQU47QUFBQSxPQUFELENBQVA7QUFERixLQUFBLE1BRU87QUFDTCxNQUFBLFFBQVEsQ0FBUixjQUFBLENBQUEsUUFBQSxFQUFBLElBQUE7QUFDRDtBQUNGLEdBekhIOztBQUFBLFNBMkhFLGNBM0hGLEdBMkhFLHdCQUFjLEtBQWQsRUFBMkQ7QUFDekQsV0FBQSxLQUFBO0FBQ0QsR0E3SEg7O0FBQUE7QUFBQTtBQWdJQSxPQUFNLFNBQUEsU0FBQSxRQUdjO0FBQUEsTUFITSxLQUdOLFNBSE0sS0FHTjtBQUFBLE1BRGxCLFVBQ2tCLFNBRGxCLFVBQ2tCO0FBQ2xCLE1BQUksWUFBWSxHQUFHLElBQW5CLEVBQUE7O0FBRUEsT0FBSyxJQUFMLEdBQUEsSUFBQSxLQUFBLEVBQXVCO0FBQ3JCLElBQUEsWUFBWSxDQUFaLEdBQVksQ0FBWixHQUFvQixXQUFXLENBQUMsS0FBSyxDQUFyQyxHQUFxQyxDQUFOLENBQS9CO0FBQ0Q7O0FBRUQsTUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQVYsR0FBQSxDQUF4QixXQUF3QixDQUF4QjtBQUVBLFNBQU87QUFDTCxJQUFBLEtBQUssRUFEQSxZQUFBO0FBRUwsSUFBQSxVQUFVLEVBQUU7QUFGUCxHQUFQO0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBBcmd1bWVudHMsXG4gIENhcHR1cmVkQXJndW1lbnRzLFxuICBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcixcbiAgTW9kaWZpZXJDYXBhYmlsaXRpZXMsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnMsXG4gIE1vZGlmaWVyTWFuYWdlcixcbiAgT3duZXIsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJEZXN0cnVjdG9yIH0gZnJvbSAnQGdsaW1tZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgc2V0T3duZXIgfSBmcm9tICdAZ2xpbW1lci9vd25lcic7XG5pbXBvcnQgeyB2YWx1ZUZvclJlZiB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBhc3NpZ24sIGNhc3RUb0Jyb3dzZXIsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7XG4gIGNyZWF0ZVVwZGF0YWJsZVRhZyxcbiAgZGVwcmVjYXRlTXV0YXRpb25zSW5UcmFja2luZ1RyYW5zYWN0aW9uLFxuICB1bnRyYWNrLFxuICBVcGRhdGFibGVUYWcsXG59IGZyb20gJ0BnbGltbWVyL3ZhbGlkYXRvcic7XG5pbXBvcnQgeyBTaW1wbGVFbGVtZW50IH0gZnJvbSAnQHNpbXBsZS1kb20vaW50ZXJmYWNlJztcbmltcG9ydCB7IGJ1aWxkQ2FwYWJpbGl0aWVzLCBGUk9NX0NBUEFCSUxJVElFUyB9IGZyb20gJy4uL3V0aWwvY2FwYWJpbGl0aWVzJztcbmltcG9ydCB7IGFyZ3NQcm94eUZvciB9IGZyb20gJy4uL3V0aWwvYXJncy1wcm94eSc7XG5pbXBvcnQgeyBNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4nO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kaWZpZXJDYXBhYmlsaXRpZXM8VmVyc2lvbiBleHRlbmRzIGtleW9mIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnM+KFxuICBtYW5hZ2VyQVBJOiBWZXJzaW9uLFxuICBvcHRpb25hbEZlYXR1cmVzOiBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zW1ZlcnNpb25dID0ge31cbik6IE1vZGlmaWVyQ2FwYWJpbGl0aWVzIHtcbiAgaWYgKERFQlVHICYmIG1hbmFnZXJBUEkgIT09ICczLjEzJyAmJiBtYW5hZ2VyQVBJICE9PSAnMy4yMicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbW9kaWZpZXIgbWFuYWdlciBjb21wYXRpYmlsaXR5IHNwZWNpZmllZCcpO1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkQ2FwYWJpbGl0aWVzKHtcbiAgICBkaXNhYmxlQXV0b1RyYWNraW5nOiBCb29sZWFuKG9wdGlvbmFsRmVhdHVyZXMuZGlzYWJsZUF1dG9UcmFja2luZyksXG4gICAgdXNlQXJnc1Byb3h5OiBtYW5hZ2VyQVBJID09PSAnMy4xMycgPyBmYWxzZSA6IHRydWUsXG5cbiAgICAvLyBUaGlzIGNhcGFiaWxpdHkgaXMgdXNlZCBpbiBFbWJlciwgZXhjbHVzaXZlbHkgaW4gcmVzb2x1dGlvbiBtb2RlLiBTZWUgdGhlXG4gICAgLy8gRW1iZXIgZ2xpbW1lciByZXNvbHZlciBmb3IgZGV0YWlscy5cbiAgICBwYXNzRmFjdG9yeVRvQ3JlYXRlOiBtYW5hZ2VyQVBJID09PSAnMy4xMycsXG4gIH0pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4ge1xuICB0YWc6IFVwZGF0YWJsZVRhZztcbiAgZWxlbWVudDogU2ltcGxlRWxlbWVudDtcbiAgbW9kaWZpZXI6IE1vZGlmaWVySW5zdGFuY2U7XG4gIGRlbGVnYXRlOiBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT47XG4gIGFyZ3M6IEFyZ3VtZW50cztcbiAgZGVidWdOYW1lPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRmFjdG9yeSB7XG4gIGNyZWF0ZShwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogb2JqZWN0O1xufVxuXG4vKipcbiAgVGhlIEN1c3RvbU1vZGlmaWVyTWFuYWdlciBhbGxvd3MgYWRkb25zIHRvIHByb3ZpZGUgY3VzdG9tIG1vZGlmaWVyXG4gIGltcGxlbWVudGF0aW9ucyB0aGF0IGludGVncmF0ZSBzZWFtbGVzc2x5IGludG8gRW1iZXIuIFRoaXMgaXMgYWNjb21wbGlzaGVkXG4gIHRocm91Z2ggYSBkZWxlZ2F0ZSwgcmVnaXN0ZXJlZCB3aXRoIHRoZSBjdXN0b20gbW9kaWZpZXIgbWFuYWdlciwgd2hpY2hcbiAgaW1wbGVtZW50cyBhIHNldCBvZiBob29rcyB0aGF0IGRldGVybWluZSBtb2RpZmllciBiZWhhdmlvci5cbiAgVG8gY3JlYXRlIGEgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIGluc3RhbnRpYXRlIGEgbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlclxuICBjbGFzcyBhbmQgcGFzcyB0aGUgZGVsZWdhdGUgYXMgdGhlIGZpcnN0IGFyZ3VtZW50OlxuXG4gIGBgYGpzXG4gIGxldCBtYW5hZ2VyID0gbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlcih7XG4gICAgLy8gLi4uZGVsZWdhdGUgaW1wbGVtZW50YXRpb24uLi5cbiAgfSk7XG4gIGBgYFxuXG4gICMjIERlbGVnYXRlIEhvb2tzXG5cbiAgVGhyb3VnaG91dCB0aGUgbGlmZWN5Y2xlIG9mIGEgbW9kaWZpZXIsIHRoZSBtb2RpZmllciBtYW5hZ2VyIHdpbGwgaW52b2tlXG4gIGRlbGVnYXRlIGhvb2tzIHRoYXQgYXJlIHJlc3BvbnNpYmxlIGZvciBzdXJmYWNpbmcgdGhvc2UgbGlmZWN5Y2xlIGNoYW5nZXMgdG9cbiAgdGhlIGVuZCBkZXZlbG9wZXIuXG4gICogYGNyZWF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIGEgbmV3IGluc3RhbmNlIG9mIGEgbW9kaWZpZXIgc2hvdWxkIGJlIGNyZWF0ZWRcbiAgKiBgaW5zdGFsbE1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBpbnN0YWxsZWQgb24gdGhlIGVsZW1lbnRcbiAgKiBgdXBkYXRlTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBtb2RpZmllciBjaGFuZ2VcbiAgKiBgZGVzdHJveU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBhYm91dCB0byBiZSBkZXN0cm95ZWRcbiovXG5leHBvcnQgY2xhc3MgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyPE8gZXh0ZW5kcyBPd25lciwgTW9kaWZpZXJJbnN0YW5jZT5cbiAgaW1wbGVtZW50cyBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcjxDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+PiB7XG4gIHByaXZhdGUgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyA9IG5ldyBXZWFrTWFwPE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3Rvcnk6IE1hbmFnZXJGYWN0b3J5PE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4pIHt9XG5cbiAgcHJpdmF0ZSBnZXREZWxlZ2F0ZUZvcihvd25lcjogTykge1xuICAgIGxldCB7IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgfSA9IHRoaXM7XG4gICAgbGV0IGRlbGVnYXRlID0gY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5nZXQob3duZXIpO1xuXG4gICAgaWYgKGRlbGVnYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB7IGZhY3RvcnkgfSA9IHRoaXM7XG4gICAgICBkZWxlZ2F0ZSA9IGZhY3Rvcnkob3duZXIpO1xuXG4gICAgICBpZiAoREVCVUcgJiYgIUZST01fQ0FQQUJJTElUSUVTIS5oYXMoZGVsZWdhdGUuY2FwYWJpbGl0aWVzKSkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIG1ha2Ugc2Vuc2UgaW4gYm90aCBFbWJlciBhbmQgR2xpbW1lciBodHRwczovL2dpdGh1Yi5jb20vZ2xpbW1lcmpzL2dsaW1tZXItdm0vaXNzdWVzLzEyMDBcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDdXN0b20gbW9kaWZpZXIgbWFuYWdlcnMgbXVzdCBoYXZlIGEgXFxgY2FwYWJpbGl0aWVzXFxgIHByb3BlcnR5IHRoYXQgaXMgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBcXGBjYXBhYmlsaXRpZXMoJzMuMTMnIHwgJzMuMjInKVxcYCAoaW1wb3J0ZWQgdmlhIFxcYGltcG9ydCB7IGNhcGFiaWxpdGllcyB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XFxgKS4gUmVjZWl2ZWQ6IFxcYCR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXNcbiAgICAgICAgICApfVxcYCBmb3I6IFxcYCR7ZGVsZWdhdGV9XFxgYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLnNldChvd25lciwgZGVsZWdhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWxlZ2F0ZTtcbiAgfVxuXG4gIGNyZWF0ZShvd25lcjogTywgZWxlbWVudDogU2ltcGxlRWxlbWVudCwgZGVmaW5pdGlvbjogb2JqZWN0LCBjYXB0dXJlZEFyZ3M6IENhcHR1cmVkQXJndW1lbnRzKSB7XG4gICAgbGV0IGRlbGVnYXRlID0gdGhpcy5nZXREZWxlZ2F0ZUZvcihvd25lcik7XG5cbiAgICBsZXQgeyB1c2VBcmdzUHJveHksIHBhc3NGYWN0b3J5VG9DcmVhdGUgfSA9IGRlbGVnYXRlLmNhcGFiaWxpdGllcztcblxuICAgIGxldCBhcmdzID0gdXNlQXJnc1Byb3h5ID8gYXJnc1Byb3h5Rm9yKGNhcHR1cmVkQXJncywgJ21vZGlmaWVyJykgOiByZWlmeUFyZ3MoY2FwdHVyZWRBcmdzKTtcblxuICAgIGxldCBpbnN0YW5jZTogTW9kaWZpZXJJbnN0YW5jZTtcblxuICAgIGxldCBmYWN0b3J5T3JEZWZpbml0aW9uID0gZGVmaW5pdGlvbjtcblxuICAgIGlmIChwYXNzRmFjdG9yeVRvQ3JlYXRlKSB7XG4gICAgICAvLyBNYWtlIGEgZmFrZSBmYWN0b3J5LiBXaGlsZSBub3QgcGVyZmVjdCwgdGhpcyBzaG91bGQgZ2VuZXJhbGx5IHByZXZlbnRcbiAgICAgIC8vIGJyZWFrYWdlIGluIHVzZXJzIG9mIG9sZGVyIG1vZGlmaWVyIGNhcGFiaWxpdGllcy5cbiAgICAgIGZhY3RvcnlPckRlZmluaXRpb24gPSB7XG4gICAgICAgIGNyZWF0ZShhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgICAgICAgIGxldCBwYXJhbXMgPSBhc3NpZ24oe30sIGFyZ3MpO1xuICAgICAgICAgIHNldE93bmVyKHBhcmFtcywgb3duZXIpO1xuXG4gICAgICAgICAgcmV0dXJuIChkZWZpbml0aW9uIGFzIEZhY3RvcnkpLmNyZWF0ZShhcmdzKTtcbiAgICAgICAgfSxcblxuICAgICAgICBjbGFzczogZGVmaW5pdGlvbixcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKERFQlVHICYmIGRlcHJlY2F0ZU11dGF0aW9uc0luVHJhY2tpbmdUcmFuc2FjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZXByZWNhdGVNdXRhdGlvbnNJblRyYWNraW5nVHJhbnNhY3Rpb24oKCkgPT4ge1xuICAgICAgICBpbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZU1vZGlmaWVyKGZhY3RvcnlPckRlZmluaXRpb24sIGFyZ3MpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluc3RhbmNlID0gZGVsZWdhdGUuY3JlYXRlTW9kaWZpZXIoZmFjdG9yeU9yRGVmaW5pdGlvbiwgYXJncyk7XG4gICAgfVxuXG4gICAgbGV0IHRhZyA9IGNyZWF0ZVVwZGF0YWJsZVRhZygpO1xuICAgIGxldCBzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPjtcblxuICAgIGlmICh1c2VBcmdzUHJveHkpIHtcbiAgICAgIHN0YXRlID0ge1xuICAgICAgICB0YWcsXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIGRlbGVnYXRlLFxuICAgICAgICBhcmdzLFxuICAgICAgICBtb2RpZmllcjogaW5zdGFuY2UhLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUgPSB7XG4gICAgICAgIHRhZyxcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgbW9kaWZpZXI6IGluc3RhbmNlISxcbiAgICAgICAgZGVsZWdhdGUsXG4gICAgICAgIGdldCBhcmdzKCkge1xuICAgICAgICAgIHJldHVybiByZWlmeUFyZ3MoY2FwdHVyZWRBcmdzKTtcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKERFQlVHKSB7XG4gICAgICBzdGF0ZS5kZWJ1Z05hbWUgPSB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGRlZmluaXRpb24ubmFtZSA6IGRlZmluaXRpb24udG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckRlc3RydWN0b3Ioc3RhdGUsICgpID0+IGRlbGVnYXRlLmRlc3Ryb3lNb2RpZmllcihpbnN0YW5jZSwgc3RhdGUuYXJncykpO1xuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgZ2V0RGVidWdOYW1lKHsgZGVidWdOYW1lIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gZGVidWdOYW1lITtcbiAgfVxuXG4gIGdldFRhZyh7IHRhZyB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIHRhZztcbiAgfVxuXG4gIGluc3RhbGwoeyBlbGVtZW50LCBhcmdzLCBtb2RpZmllciwgZGVsZWdhdGUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIGxldCB7IGNhcGFiaWxpdGllcyB9ID0gZGVsZWdhdGU7XG5cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRpc2FibGVBdXRvVHJhY2tpbmcgPT09IHRydWUpIHtcbiAgICAgIHVudHJhY2soKCkgPT4gZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZSh7IGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGVzdHJveWFibGUoc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlaWZ5QXJncyh7XG4gIG5hbWVkLFxuICBwb3NpdGlvbmFsLFxufTogQ2FwdHVyZWRBcmd1bWVudHMpOiB7IG5hbWVkOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgcG9zaXRpb25hbDogdW5rbm93bltdIH0ge1xuICBsZXQgcmVpZmllZE5hbWVkID0gZGljdCgpO1xuXG4gIGZvciAobGV0IGtleSBpbiBuYW1lZCkge1xuICAgIHJlaWZpZWROYW1lZFtrZXldID0gdmFsdWVGb3JSZWYobmFtZWRba2V5XSk7XG4gIH1cblxuICBsZXQgcmVpZmllZFBvc2l0aW9uYWwgPSBwb3NpdGlvbmFsLm1hcCh2YWx1ZUZvclJlZik7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lZDogcmVpZmllZE5hbWVkLFxuICAgIHBvc2l0aW9uYWw6IHJlaWZpZWRQb3NpdGlvbmFsLFxuICB9O1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFBLEtBQUEsUUFBQSxjQUFBO0FBVUEsU0FBQSxrQkFBQSxRQUFBLHNCQUFBO0FBQ0EsU0FBQSxRQUFBLFFBQUEsZ0JBQUE7QUFDQSxTQUFBLFdBQUEsUUFBQSxvQkFBQTtBQUNBLFNBQUEsTUFBQSxFQUFBLElBQUEsUUFBQSxlQUFBO0FBQ0EsU0FBQSxrQkFBQSxFQUFBLHVDQUFBLEVBQUEsT0FBQSxRQUFBLG9CQUFBO0FBT0EsU0FBQSxpQkFBQSxFQUFBLGlCQUFBLFFBQUEsc0JBQUE7QUFDQSxTQUFBLFlBQUEsUUFBQSxvQkFBQTtBQUdBLE9BQU0sU0FBQSxvQkFBQSxDQUFBLFVBQUEsRUFFSixnQkFGSSxFQUV3RDtBQUFBLE1BQTVELGdCQUE0RDtBQUE1RCxJQUFBLGdCQUE0RCxHQUZ4RCxFQUV3RDtBQUFBOztBQUU1RCxNQUFJLEtBQUssSUFBSSxVQUFVLEtBQW5CLE1BQUEsSUFBa0MsVUFBVSxLQUFoRCxNQUFBLEVBQTZEO0FBQzNELFVBQU0sSUFBQSxLQUFBLENBQU4sa0RBQU0sQ0FBTjtBQUNEOztBQUVELFNBQU8saUJBQWlCLENBQUM7QUFDdkIsSUFBQSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBRHRCLG1CQUNLLENBREw7QUFFdkIsSUFBQSxZQUFZLEVBQUUsVUFBVSxLQUFWLE1BQUEsR0FBQSxLQUFBLEdBRlMsSUFBQTtBQUl2QjtBQUNBO0FBQ0EsSUFBQSxtQkFBbUIsRUFBRSxVQUFVLEtBQUs7QUFOYixHQUFELENBQXhCO0FBUUQ7QUFlRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCQSxXQUFNLHFCQUFOO0FBSUUsaUNBQUEsT0FBQSxFQUFpRjtBQUE3RCxTQUFBLE9BQUEsR0FBQSxPQUFBO0FBRlosU0FBQSx5QkFBQSxHQUE0QixJQUE1QixPQUE0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O0FBQUEsUUFBbkUsSUFBbUUsU0FBbkUsSUFBbUU7QUFBQSxRQUFuRSxRQUFtRSxTQUFuRSxRQUFtRTtBQUFBLFFBQWpELFFBQWlELFNBQWpELFFBQWlEO0FBQUEsUUFDbEUsWUFEa0UsR0FDeEUsUUFEd0UsQ0FDbEUsWUFEa0U7O0FBR3hFLFFBQUksWUFBWSxDQUFaLG1CQUFBLEtBQUosSUFBQSxFQUErQztBQUM3QyxNQUFBLE9BQU8sQ0FBQztBQUFBLGVBQU0sUUFBUSxDQUFSLGNBQUEsQ0FBQSxRQUFBLEVBQWQsSUFBYyxDQUFOO0FBQUEsT0FBRCxDQUFQO0FBREYsS0FBQSxNQUVPO0FBQ0wsTUFBQSxRQUFRLENBQVIsY0FBQSxDQUFBLFFBQUEsRUFBQSxJQUFBO0FBQ0Q7QUFDRixHQTFISDs7QUFBQSxTQTRIRSxjQTVIRixHQTRIRSx3QkFBYyxLQUFkLEVBQTJEO0FBQ3pELFdBQUEsS0FBQTtBQUNELEdBOUhIOztBQUFBO0FBQUE7QUFpSUEsT0FBTSxTQUFBLFNBQUEsUUFHYztBQUFBLE1BSE0sS0FHTixTQUhNLEtBR047QUFBQSxNQURsQixVQUNrQixTQURsQixVQUNrQjtBQUNsQixNQUFJLFlBQVksR0FBRyxJQUFuQixFQUFBOztBQUVBLE9BQUssSUFBTCxHQUFBLElBQUEsS0FBQSxFQUF1QjtBQUNyQixJQUFBLFlBQVksQ0FBWixHQUFZLENBQVosR0FBb0IsV0FBVyxDQUFDLEtBQUssQ0FBckMsR0FBcUMsQ0FBTixDQUEvQjtBQUNEOztBQUVELE1BQUksaUJBQWlCLEdBQUcsVUFBVSxDQUFWLEdBQUEsQ0FBeEIsV0FBd0IsQ0FBeEI7QUFFQSxTQUFPO0FBQ0wsSUFBQSxLQUFLLEVBREEsWUFBQTtBQUVMLElBQUEsVUFBVSxFQUFFO0FBRlAsR0FBUDtBQUlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVCVUcgfSBmcm9tICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHtcbiAgQXJndW1lbnRzLFxuICBDYXB0dXJlZEFyZ3VtZW50cyxcbiAgSW50ZXJuYWxNb2RpZmllck1hbmFnZXIsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzLFxuICBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zLFxuICBNb2RpZmllck1hbmFnZXIsXG4gIE93bmVyLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVzdHJ1Y3RvciB9IGZyb20gJ0BnbGltbWVyL2Rlc3Ryb3lhYmxlJztcbmltcG9ydCB7IHNldE93bmVyIH0gZnJvbSAnQGdsaW1tZXIvb3duZXInO1xuaW1wb3J0IHsgdmFsdWVGb3JSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgYXNzaWduLCBjYXN0VG9Ccm93c2VyLCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQge1xuICBjcmVhdGVVcGRhdGFibGVUYWcsXG4gIGRlcHJlY2F0ZU11dGF0aW9uc0luVHJhY2tpbmdUcmFuc2FjdGlvbixcbiAgdW50cmFjayxcbiAgVXBkYXRhYmxlVGFnLFxufSBmcm9tICdAZ2xpbW1lci92YWxpZGF0b3InO1xuaW1wb3J0IHsgU2ltcGxlRWxlbWVudCB9IGZyb20gJ0BzaW1wbGUtZG9tL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBidWlsZENhcGFiaWxpdGllcywgRlJPTV9DQVBBQklMSVRJRVMgfSBmcm9tICcuLi91dGlsL2NhcGFiaWxpdGllcyc7XG5pbXBvcnQgeyBhcmdzUHJveHlGb3IgfSBmcm9tICcuLi91dGlsL2FyZ3MtcHJveHknO1xuaW1wb3J0IHsgTWFuYWdlckZhY3RvcnkgfSBmcm9tICcuJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGlmaWVyQ2FwYWJpbGl0aWVzPFZlcnNpb24gZXh0ZW5kcyBrZXlvZiBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zPihcbiAgbWFuYWdlckFQSTogVmVyc2lvbixcbiAgb3B0aW9uYWxGZWF0dXJlczogTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9uc1tWZXJzaW9uXSA9IHt9XG4pOiBNb2RpZmllckNhcGFiaWxpdGllcyB7XG4gIGlmIChERUJVRyAmJiBtYW5hZ2VyQVBJICE9PSAnMy4xMycgJiYgbWFuYWdlckFQSSAhPT0gJzMuMjInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1vZGlmaWVyIG1hbmFnZXIgY29tcGF0aWJpbGl0eSBzcGVjaWZpZWQnKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZENhcGFiaWxpdGllcyh7XG4gICAgZGlzYWJsZUF1dG9UcmFja2luZzogQm9vbGVhbihvcHRpb25hbEZlYXR1cmVzLmRpc2FibGVBdXRvVHJhY2tpbmcpLFxuICAgIHVzZUFyZ3NQcm94eTogbWFuYWdlckFQSSA9PT0gJzMuMTMnID8gZmFsc2UgOiB0cnVlLFxuXG4gICAgLy8gVGhpcyBjYXBhYmlsaXR5IGlzIHVzZWQgaW4gRW1iZXIsIGV4Y2x1c2l2ZWx5IGluIHJlc29sdXRpb24gbW9kZS4gU2VlIHRoZVxuICAgIC8vIEVtYmVyIGdsaW1tZXIgcmVzb2x2ZXIgZm9yIGRldGFpbHMuXG4gICAgcGFzc0ZhY3RvcnlUb0NyZWF0ZTogbWFuYWdlckFQSSA9PT0gJzMuMTMnLFxuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+IHtcbiAgdGFnOiBVcGRhdGFibGVUYWc7XG4gIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQ7XG4gIG1vZGlmaWVyOiBNb2RpZmllckluc3RhbmNlO1xuICBkZWxlZ2F0ZTogTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+O1xuICBhcmdzOiBBcmd1bWVudHM7XG4gIGRlYnVnTmFtZT86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEZhY3Rvcnkge1xuICBjcmVhdGUocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IG9iamVjdDtcbn1cblxuLyoqXG4gIFRoZSBDdXN0b21Nb2RpZmllck1hbmFnZXIgYWxsb3dzIGFkZG9ucyB0byBwcm92aWRlIGN1c3RvbSBtb2RpZmllclxuICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBpbnRlZ3JhdGUgc2VhbWxlc3NseSBpbnRvIEVtYmVyLiBUaGlzIGlzIGFjY29tcGxpc2hlZFxuICB0aHJvdWdoIGEgZGVsZWdhdGUsIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIHdoaWNoXG4gIGltcGxlbWVudHMgYSBzZXQgb2YgaG9va3MgdGhhdCBkZXRlcm1pbmUgbW9kaWZpZXIgYmVoYXZpb3IuXG4gIFRvIGNyZWF0ZSBhIGN1c3RvbSBtb2RpZmllciBtYW5hZ2VyLCBpbnN0YW50aWF0ZSBhIG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXJcbiAgY2xhc3MgYW5kIHBhc3MgdGhlIGRlbGVnYXRlIGFzIHRoZSBmaXJzdCBhcmd1bWVudDpcblxuICBgYGBqc1xuICBsZXQgbWFuYWdlciA9IG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXIoe1xuICAgIC8vIC4uLmRlbGVnYXRlIGltcGxlbWVudGF0aW9uLi4uXG4gIH0pO1xuICBgYGBcblxuICAjIyBEZWxlZ2F0ZSBIb29rc1xuXG4gIFRocm91Z2hvdXQgdGhlIGxpZmVjeWNsZSBvZiBhIG1vZGlmaWVyLCB0aGUgbW9kaWZpZXIgbWFuYWdlciB3aWxsIGludm9rZVxuICBkZWxlZ2F0ZSBob29rcyB0aGF0IGFyZSByZXNwb25zaWJsZSBmb3Igc3VyZmFjaW5nIHRob3NlIGxpZmVjeWNsZSBjaGFuZ2VzIHRvXG4gIHRoZSBlbmQgZGV2ZWxvcGVyLlxuICAqIGBjcmVhdGVNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiBhIG5ldyBpbnN0YW5jZSBvZiBhIG1vZGlmaWVyIHNob3VsZCBiZSBjcmVhdGVkXG4gICogYGluc3RhbGxNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgaW5zdGFsbGVkIG9uIHRoZSBlbGVtZW50XG4gICogYHVwZGF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIGEgbW9kaWZpZXIgY2hhbmdlXG4gICogYGRlc3Ryb3lNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkXG4qL1xuZXhwb3J0IGNsYXNzIEN1c3RvbU1vZGlmaWVyTWFuYWdlcjxPIGV4dGVuZHMgT3duZXIsIE1vZGlmaWVySW5zdGFuY2U+XG4gIGltcGxlbWVudHMgSW50ZXJuYWxNb2RpZmllck1hbmFnZXI8Q3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPj4ge1xuICBwcml2YXRlIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgPSBuZXcgV2Vha01hcDxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBNYW5hZ2VyRmFjdG9yeTxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KSB7fVxuXG4gIHByaXZhdGUgZ2V0RGVsZWdhdGVGb3Iob3duZXI6IE8pIHtcbiAgICBsZXQgeyBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzIH0gPSB0aGlzO1xuICAgIGxldCBkZWxlZ2F0ZSA9IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuZ2V0KG93bmVyKTtcblxuICAgIGlmIChkZWxlZ2F0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgeyBmYWN0b3J5IH0gPSB0aGlzO1xuICAgICAgZGVsZWdhdGUgPSBmYWN0b3J5KG93bmVyKTtcblxuICAgICAgaWYgKERFQlVHICYmICFGUk9NX0NBUEFCSUxJVElFUyEuaGFzKGRlbGVnYXRlLmNhcGFiaWxpdGllcykpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBlcnJvciBtZXNzYWdlIHNob3VsZCBtYWtlIHNlbnNlIGluIGJvdGggRW1iZXIgYW5kIEdsaW1tZXIgaHR0cHM6Ly9naXRodWIuY29tL2dsaW1tZXJqcy9nbGltbWVyLXZtL2lzc3Vlcy8xMjAwXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ3VzdG9tIG1vZGlmaWVyIG1hbmFnZXJzIG11c3QgaGF2ZSBhIFxcYGNhcGFiaWxpdGllc1xcYCBwcm9wZXJ0eSB0aGF0IGlzIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgXFxgY2FwYWJpbGl0aWVzKCczLjEzJyB8ICczLjIyJylcXGAgKGltcG9ydGVkIHZpYSBcXGBpbXBvcnQgeyBjYXBhYmlsaXRpZXMgfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xcYCkuIFJlY2VpdmVkOiBcXGAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVsZWdhdGUuY2FwYWJpbGl0aWVzXG4gICAgICAgICAgKX1cXGAgZm9yOiBcXGAke2RlbGVnYXRlfVxcYGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5zZXQob3duZXIsIGRlbGVnYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVsZWdhdGU7XG4gIH1cblxuICBjcmVhdGUob3duZXI6IE8sIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQsIGRlZmluaXRpb246IG9iamVjdCwgY2FwdHVyZWRBcmdzOiBDYXB0dXJlZEFyZ3VtZW50cykge1xuICAgIGxldCBkZWxlZ2F0ZSA9IHRoaXMuZ2V0RGVsZWdhdGVGb3Iob3duZXIpO1xuXG4gICAgbGV0IHsgdXNlQXJnc1Byb3h5LCBwYXNzRmFjdG9yeVRvQ3JlYXRlIH0gPSBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXM7XG5cbiAgICBsZXQgYXJnc1Byb3h5ID0gYXJnc1Byb3h5Rm9yKGNhcHR1cmVkQXJncywgJ21vZGlmaWVyJyk7XG4gICAgbGV0IGFyZ3MgPSB1c2VBcmdzUHJveHkgPyBhcmdzUHJveHkgOiByZWlmeUFyZ3MoY2FwdHVyZWRBcmdzKTtcblxuICAgIGxldCBpbnN0YW5jZTogTW9kaWZpZXJJbnN0YW5jZTtcblxuICAgIGxldCBmYWN0b3J5T3JEZWZpbml0aW9uID0gZGVmaW5pdGlvbjtcblxuICAgIGlmIChwYXNzRmFjdG9yeVRvQ3JlYXRlKSB7XG4gICAgICAvLyBNYWtlIGEgZmFrZSBmYWN0b3J5LiBXaGlsZSBub3QgcGVyZmVjdCwgdGhpcyBzaG91bGQgZ2VuZXJhbGx5IHByZXZlbnRcbiAgICAgIC8vIGJyZWFrYWdlIGluIHVzZXJzIG9mIG9sZGVyIG1vZGlmaWVyIGNhcGFiaWxpdGllcy5cbiAgICAgIGZhY3RvcnlPckRlZmluaXRpb24gPSB7XG4gICAgICAgIGNyZWF0ZShhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgICAgICAgIGxldCBwYXJhbXMgPSBhc3NpZ24oe30sIGFyZ3MpO1xuICAgICAgICAgIHNldE93bmVyKHBhcmFtcywgb3duZXIpO1xuXG4gICAgICAgICAgcmV0dXJuIChkZWZpbml0aW9uIGFzIEZhY3RvcnkpLmNyZWF0ZShhcmdzKTtcbiAgICAgICAgfSxcblxuICAgICAgICBjbGFzczogZGVmaW5pdGlvbixcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKERFQlVHICYmIGRlcHJlY2F0ZU11dGF0aW9uc0luVHJhY2tpbmdUcmFuc2FjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZXByZWNhdGVNdXRhdGlvbnNJblRyYWNraW5nVHJhbnNhY3Rpb24oKCkgPT4ge1xuICAgICAgICBpbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZU1vZGlmaWVyKGZhY3RvcnlPckRlZmluaXRpb24sIGFyZ3MpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluc3RhbmNlID0gZGVsZWdhdGUuY3JlYXRlTW9kaWZpZXIoZmFjdG9yeU9yRGVmaW5pdGlvbiwgYXJncyk7XG4gICAgfVxuXG4gICAgbGV0IHRhZyA9IGNyZWF0ZVVwZGF0YWJsZVRhZygpO1xuICAgIGxldCBzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPjtcblxuICAgIGlmICh1c2VBcmdzUHJveHkpIHtcbiAgICAgIHN0YXRlID0ge1xuICAgICAgICB0YWcsXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIGRlbGVnYXRlLFxuICAgICAgICBhcmdzLFxuICAgICAgICBtb2RpZmllcjogaW5zdGFuY2UhLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUgPSB7XG4gICAgICAgIHRhZyxcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgbW9kaWZpZXI6IGluc3RhbmNlISxcbiAgICAgICAgZGVsZWdhdGUsXG4gICAgICAgIGdldCBhcmdzKCkge1xuICAgICAgICAgIHJldHVybiByZWlmeUFyZ3MoY2FwdHVyZWRBcmdzKTtcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKERFQlVHKSB7XG4gICAgICBzdGF0ZS5kZWJ1Z05hbWUgPSB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGRlZmluaXRpb24ubmFtZSA6IGRlZmluaXRpb24udG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckRlc3RydWN0b3Ioc3RhdGUsICgpID0+IGRlbGVnYXRlLmRlc3Ryb3lNb2RpZmllcihpbnN0YW5jZSwgYXJnc1Byb3h5KSk7XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBnZXREZWJ1Z05hbWUoeyBkZWJ1Z05hbWUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBkZWJ1Z05hbWUhO1xuICB9XG5cbiAgZ2V0VGFnKHsgdGFnIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gdGFnO1xuICB9XG5cbiAgaW5zdGFsbCh7IGVsZW1lbnQsIGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKHsgYXJncywgbW9kaWZpZXIsIGRlbGVnYXRlIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICBsZXQgeyBjYXBhYmlsaXRpZXMgfSA9IGRlbGVnYXRlO1xuXG4gICAgaWYgKGNhcGFiaWxpdGllcy5kaXNhYmxlQXV0b1RyYWNraW5nID09PSB0cnVlKSB7XG4gICAgICB1bnRyYWNrKCgpID0+IGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICBnZXREZXN0cm95YWJsZShzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVpZnlBcmdzKHtcbiAgbmFtZWQsXG4gIHBvc2l0aW9uYWwsXG59OiBDYXB0dXJlZEFyZ3VtZW50cyk6IHsgbmFtZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+OyBwb3NpdGlvbmFsOiB1bmtub3duW10gfSB7XG4gIGxldCByZWlmaWVkTmFtZWQgPSBkaWN0KCk7XG5cbiAgZm9yIChsZXQga2V5IGluIG5hbWVkKSB7XG4gICAgcmVpZmllZE5hbWVkW2tleV0gPSB2YWx1ZUZvclJlZihuYW1lZFtrZXldKTtcbiAgfVxuXG4gIGxldCByZWlmaWVkUG9zaXRpb25hbCA9IHBvc2l0aW9uYWwubWFwKHZhbHVlRm9yUmVmKTtcblxuICByZXR1cm4ge1xuICAgIG5hbWVkOiByZWlmaWVkTmFtZWQsXG4gICAgcG9zaXRpb25hbDogcmVpZmllZFBvc2l0aW9uYWwsXG4gIH07XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
{
"name": "@glimmer/manager",
"version": "0.77.2",
"version": "0.77.3",
"repository": "https://github.com/glimmerjs/glimmer-vm/tree/master/packages/@glimmer/program",
"dependencies": {
"@glimmer/env": "0.1.7",
"@glimmer/interfaces": "0.77.2",
"@glimmer/destroyable": "0.77.2",
"@glimmer/reference": "0.77.2",
"@glimmer/validator": "0.77.2",
"@glimmer/util": "0.77.2"
"@glimmer/interfaces": "0.77.3",
"@glimmer/destroyable": "0.77.3",
"@glimmer/reference": "0.77.3",
"@glimmer/validator": "0.77.3",
"@glimmer/util": "0.77.3"
},

@@ -13,0 +13,0 @@ "main": "dist/commonjs/es2017/index.js",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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