New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

scrollscene

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

scrollscene - npm Package Compare versions

Comparing version

to
0.0.16

9

dist/commonjs/ScrollScene.js

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

gsap = _ref.gsap,
_ref$offset = _ref.offset,
offset = _ref$offset === void 0 ? 0 : _ref$offset,
offset = _ref.offset,
_ref$scene = _ref.scene,

@@ -171,4 +170,4 @@ scene = _ref$scene === void 0 ? {} : _ref$scene,

if (!triggerElement) {
(0, _helpers.errorLog)(nameSpace, "Be sure to set a const triggerElement = (reactRef.current or document.querySelector) in the new ".concat(nameSpace, "({ triggerElement: triggerElement })"));
if (!triggerElement && offset === undefined) {
(0, _helpers.errorLog)(nameSpace, "Be sure to set a const triggerElement = (reactRef.current or document.querySelector) in the new ".concat(nameSpace, "({ triggerElement: triggerElement }) or set an offset."));
}

@@ -208,2 +207,2 @@

exports.ScrollScene = ScrollScene;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY3JvbGxTY2VuZS50cyJdLCJuYW1lcyI6WyJuYW1lU3BhY2UiLCJ1cGRhdGVUd2VlblByb2dyZXNzIiwiU2NlbmUiLCJUd2VlbiIsImdzYXBGb3J3YXJkU3BlZWQiLCJnc2FwUmV2ZXJzZVNwZWVkIiwicHJvZ3Jlc3MiLCJzdGF0ZSIsInJlcGVhdCIsInBhdXNlZCIsInRpbWVTY2FsZSIsInBsYXkiLCJwYXVzZSIsImR1cmF0aW9uIiwicmV2ZXJzZSIsInJlbW92ZVR3ZWVuIiwia2lsbCIsInNldER1cmF0aW9uIiwia2V5cyIsIk9iamVjdCIsImZuIiwiaW5kZXgiLCJsZW5ndGgiLCJicmVha3BvaW50IiwicGFyc2VGbG9hdCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0Q2xhc3NOYW1lIiwib3B0aW9ucyIsInRvZ2dsZSIsImNsYXNzTmFtZSIsImVsZW1lbnQiLCJhZGRDbGFzc05hbWUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsImFkZCIsInJlbW92ZUNsYXNzTmFtZSIsInJlbW92ZSIsIm9uIiwiZXZlbnQiLCJzY3JvbGxEaXJlY3Rpb24iLCJzZXRUd2VlbiIsImdzYXAiLCJmb3J3YXJkU3BlZWQiLCJyZXZlcnNlU3BlZWQiLCJ0aW1lbGluZSIsImdsb2JhbENvbnRyb2xsZXIiLCJTY3JvbGxTY2VuZSIsImJyZWFrcG9pbnRzIiwiY29udHJvbGxlciIsIm9mZnNldCIsInNjZW5lIiwidHJpZ2dlckVsZW1lbnQiLCJ0cmlnZ2VySG9vayIsInVzZUdsb2JhbENvbnRyb2xsZXIiLCJsb2NhbENvbnRyb2xsZXIiLCJTY3JvbGxNYWdpYyIsIkNvbnRyb2xsZXIiLCJjb250cm9sbGVySXNVc2UiLCJpbml0IiwiYWRkVG8iLCJkZXN0cm95Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7QUFHQSxJQUFNQSxTQUFTLEdBQUcsYUFBbEI7O0FBRUEsSUFBTUMsbUJBQW1C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ZCxFQUFnQztBQUM5QkYsSUFBQUEsWUFBWSxDQUFDMUIsS0FBRCxFQUFRNEIsTUFBUixFQUFnQmpCLFFBQWhCLENBQVo7QUFDRDs7QUFFRCxNQUFJOEIsSUFBSSxJQUFJLHVCQUFTQSxJQUFULENBQVosRUFBNEI7QUFDMUJELElBQUFBLFFBQVEsQ0FBQ3hDLEtBQUQsRUFBUXlDLElBQVIsQ0FBUjtBQUNEOztBQUVELE9BQUtpQixJQUFMLEdBQVksWUFBVztBQUNyQkQsSUFBQUEsZUFBZSxJQUFJekQsS0FBSyxDQUFDMkQsS0FBTixDQUFZRixlQUFaLENBQW5CO0FBQ0QsR0FGRDs7QUFJQSxPQUFLRyxPQUFMLEdBQWUsWUFBVztBQUN4QjVELElBQUFBLEtBQUssQ0FBQ29DLE1BQU47QUFDRCxHQUZEOztBQUlBLE9BQUtwQyxLQUFMLEdBQWFBLEtBQWI7QUFDQSxPQUFLd0QsVUFBTCxHQUFrQkMsZUFBbEI7QUFFQSxvQ0FBb0JWLFdBQXBCLEVBQWlDLEtBQUtXLElBQXRDLEVBQTRDLEtBQUtFLE9BQWpEO0FBQ0QsQ0FuRUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU2Nyb2xsTWFnaWMgZnJvbSAnLi9zY3JvbGxtYWdpYy13aXRoLXNzcidcbmltcG9ydCB0aHJvdHRsZSBmcm9tICdsb2Rhc2gudGhyb3R0bGUnXG5pbXBvcnQgeyBlcnJvckxvZywgaXNPYmplY3QsIHNjcm9sbEFuaW1hdGlvbkluaXQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQgeyBJU2Nyb2xsT2JzZXJ2ZXJUb2dnbGUsIElTY3JvbGxPYnNlcnZlckdzYXAgfSBmcm9tICcuL1Njcm9sbE9ic2VydmVyJ1xuXG5jb25zdCBuYW1lU3BhY2UgPSAnU2Nyb2xsU2NlbmUnXG5cbmNvbnN0IHVwZGF0ZVR3ZWVuUHJvZ3Jlc3MgPSBmdW5jdGlvbihTY2VuZSwgVHdlZW4sIGdzYXBGb3J3YXJkU3BlZWQsIGdzYXBSZXZlcnNlU3BlZWQpIHtcbiAgaWYgKFR3ZWVuKSB7XG4gICAgY29uc3QgcHJvZ3Jlc3MgPSBTY2VuZS5wcm9ncmVzcygpXG4gICAgY29uc3Qgc3RhdGUgPSBTY2VuZS5zdGF0ZSgpXG4gICAgaWYgKFR3ZWVuLnJlcGVhdCAmJiBUd2Vlbi5yZXBlYXQoKSA9PT0gLTEpIHtcbiAgICAgIC8vIGluZmluaXRlIGxvb3AsIHNvIG5vdCBpbiByZWxhdGlvbiB0byBwcm9ncmVzc1xuICAgICAgaWYgKHN0YXRlID09PSAnRFVSSU5HJyAmJiBUd2Vlbi5wYXVzZWQoKSkge1xuICAgICAgICBUd2Vlbi50aW1lU2NhbGUoZ3NhcEZvcndhcmRTcGVlZCkucGxheSgpXG4gICAgICB9IGVsc2UgaWYgKHN0YXRlICE9PSAnRFVSSU5HJyAmJiAhVHdlZW4ucGF1c2VkKCkpIHtcbiAgICAgICAgVHdlZW4ucGF1c2UoKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvZ3Jlc3MgIT0gVHdlZW4ucHJvZ3Jlc3MoKSkge1xuICAgICAgLy8gZG8gd2UgZXZlbiBuZWVkIHRvIHVwZGF0ZSB0aGUgcHJvZ3Jlc3M/XG4gICAgICAvLyBubyBpbmZpbml0ZSBsb29wIC0gc28gc2hvdWxkIHdlIGp1c3QgcGxheSBvciBnbyB0byBhIHNwZWNpZmljIHBvaW50IGluIHRpbWU/XG4gICAgICBpZiAoU2NlbmUuZHVyYXRpb24oKSA9PT0gMCkge1xuICAgICAgICAvLyBwbGF5IHRoZSBhbmltYXRpb25cbiAgICAgICAgaWYgKHByb2dyZXNzID4gMCkge1xuICAgICAgICAgIC8vIHBsYXkgZnJvbSAwIHRvIDFcbiAgICAgICAgICBUd2Vlbi50aW1lU2NhbGUoZ3NhcEZvcndhcmRTcGVlZCkucGxheSgpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gcGxheSBmcm9tIDEgdG8gMFxuICAgICAgICAgIFR3ZWVuLnRpbWVTY2FsZShnc2FwUmV2ZXJzZVNwZWVkKS5yZXZlcnNlKClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZ28gdG8gYSBzcGVjaWZpYyBwb2ludCBpbiB0aW1lXG4gICAgICAgIC8vIGp1c3QgaGFyZCBzZXQgaXRcbiAgICAgICAgVHdlZW4ucHJvZ3Jlc3MocHJvZ3Jlc3MpLnBhdXNlKClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuY29uc3QgcmVtb3ZlVHdlZW4gPSBmdW5jdGlvbihUd2Vlbikge1xuICBpZiAoVHdlZW4pIHtcbiAgICBUd2Vlbi5wYXVzZSgwKVxuICAgIFR3ZWVuLmtpbGwoKVxuICB9XG59XG5cbmNvbnN0IHNldER1cmF0aW9uID0gKFNjZW5lLCBkdXJhdGlvbikgPT4ge1xuICBpZiAoaXNPYmplY3QoZHVyYXRpb24pKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGR1cmF0aW9uKS5yZXZlcnNlKClcblxuICAgIGNvbnN0IGZuID0gKCkgPT4ge1xuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGtleXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGJyZWFrcG9pbnQgPSBwYXJzZUZsb2F0KGtleXNbaW5kZXhdKVxuXG4gICAgICAgIGlmIChicmVha3BvaW50IDw9IHdpbmRvdy5pbm5lcldpZHRoKSB7XG4gICAgICAgICAgU2NlbmUuZHVyYXRpb24oZHVyYXRpb25bYnJlYWtwb2ludF0pXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZuKClcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aHJvdHRsZShmbiwgNzAwKSlcbiAgfSBlbHNlIHtcbiAgICBTY2VuZS5kdXJhdGlvbihkdXJhdGlvbilcbiAgfVxufVxuXG5jb25zdCBzZXRDbGFzc05hbWUgPSAoU2NlbmUsIG9wdGlvbnMsIGR1cmF0aW9uKSA9PiB7XG4gIGNvbnN0IHRvZ2dsZSA9IHtcbiAgICBjbGFzc05hbWU6IG51bGwsXG4gICAgZWxlbWVudDogbnVsbCxcbiAgICByZXZlcnNlOiBmYWxzZSxcbiAgICAuLi5vcHRpb25zLFxuICB9XG5cbiAgaWYgKCF0b2dnbGUuY2xhc3NOYW1lKSB7XG4gICAgZXJyb3JMb2cobmFtZVNwYWNlLCBgQmUgc3VyZSB0byBzZXQgYSBjbGFzc05hbWUgaW4gdGhlIG5ldyAke25hbWVTcGFjZX0oeyB0b2dnbGU6IHsgY2xhc3NOYW1lOiBcIm15LWNsYXNzXCIgfSB9KWApXG4gIH1cblxuICBpZiAoIXRvZ2dsZS5lbGVtZW50KSB7XG4gICAgZXJyb3JMb2coXG4gICAgICBuYW1lU3BhY2UsXG4gICAgICBgQmUgc3VyZSB0byBzZXQgYSBjb25zdCB0b2dnbGVFbGVtZW50ID0gKHJlYWN0UmVmLmN1cnJlbnQgb3IgZG9jdW1lbnQucXVlcnlTZWxlY3RvcikgaW4gdGhlIG5ldyAke25hbWVTcGFjZX0oeyB0b2dnbGU6IHsgZWxlbWVudDogdG9nZ2xlRWxlbWVudCB9IH0pYCxcbiAgICApXG4gIH1cblxuICBjb25zdCBhZGRDbGFzc05hbWUgPSAoKSA9PlxuICAgICF0b2dnbGUuZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnModG9nZ2xlLmNsYXNzTmFtZSkgJiYgdG9nZ2xlLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0b2dnbGUuY2xhc3NOYW1lKVxuXG4gIGNvbnN0IHJlbW92ZUNsYXNzTmFtZSA9ICgpID0+XG4gICAgdG9nZ2xlLmVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKHRvZ2dsZS5jbGFzc05hbWUpICYmIHRvZ2dsZS5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodG9nZ2xlLmNsYXNzTmFtZSlcblxuICBTY2VuZS5vbignZW50ZXInLCBmdW5jdGlvbigpIHtcbiAgICBhZGRDbGFzc05hbWUoKVxuICB9KVxuXG4gIFNjZW5lLm9uKCdhZGQnLCBmdW5jdGlvbigpIHtcbiAgICBpZiAoU2NlbmUuc3RhdGUoKSA9PT0gJ0RVUklORycpIHtcbiAgICAgIGFkZENsYXNzTmFtZSgpXG4gICAgfVxuICB9KVxuXG4gIFNjZW5lLm9uKCdsZWF2ZScsIGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgaWYgKCF0b2dnbGUucmV2ZXJzZSAmJiBkdXJhdGlvbikge1xuICAgICAgLy8gbmVlZHMgdG8gYmUgYmFzZWQgb24gd2hldGhlciBvciBub3Qgd2UgaGF2ZSBhIGR1cmF0aW9uXG4gICAgICBldmVudC5zY3JvbGxEaXJlY3Rpb24gPT09ICdSRVZFUlNFJyAmJiByZW1vdmVDbGFzc05hbWUoKVxuICAgIH0gZWxzZSB7XG4gICAgICByZW1vdmVDbGFzc05hbWUoKVxuICAgIH1cbiAgfSlcblxuICBTY2VuZS5vbigncmVtb3ZlJywgZnVuY3Rpb24oKSB7XG4gICAgcmVtb3ZlQ2xhc3NOYW1lKClcbiAgfSlcbn1cblxuY29uc3Qgc2V0VHdlZW4gPSAoU2NlbmUsIG9wdGlvbnMpID0+IHtcbiAgY29uc3QgZ3NhcCA9IHtcbiAgICBmb3J3YXJkU3BlZWQ6IDEsXG4gICAgcmV2ZXJzZVNwZWVkOiAxLFxuICAgIHRpbWVsaW5lOiBudWxsLFxuICAgIC4uLm9wdGlvbnMsXG4gIH1cblxuICBpZiAoIWdzYXAudGltZWxpbmUpIHtcbiAgICBlcnJvckxvZyhcbiAgICAgIG5hbWVTcGFjZSxcbiAgICAgIGBCZSBzdXJlIHRvIHNldCBhIGNvbnN0IHRsID0gZ3NhcC50aW1lbGluZSh7IHBhdXNlZDogdHJ1ZSB9KSBpbiB0aGUgbmV3ICR7bmFtZVNwYWNlfSh7IGdzYXA6IHsgdGltZWxpbmU6IHRsIH0gfSlgLFxuICAgIClcbiAgfVxuXG4gIFNjZW5lLm9uKCdwcm9ncmVzcycsIGZ1bmN0aW9uKCkge1xuICAgIHVwZGF0ZVR3ZWVuUHJvZ3Jlc3MoU2NlbmUsIGdzYXAudGltZWxpbmUsIGdzYXAuZm9yd2FyZFNwZWVkLCBnc2FwLnJldmVyc2VTcGVlZClcbiAgfSlcblxuICBTY2VuZS5vbigncmVtb3ZlJywgZnVuY3Rpb24oKSB7XG4gICAgcmVtb3ZlVHdlZW4oZ3NhcC50aW1lbGluZSlcbiAgfSlcbn1cblxuaW50ZXJmYWNlIElTY3JvbGxTY2VuZVRvZ2dsZSBleHRlbmRzIElTY3JvbGxPYnNlcnZlclRvZ2dsZSB7XG4gIC8qKlxuICAgKiByZXZlcnNlXG4gICAqIEBkZXNjIFNwZWNpZnkgdGhlIGNsYXNzTmFtZSBzaG91bGQgYmUgcmVtb3ZlZCBhZnRlciB0aGUgZHVyYXRpb24gb2Ygc2NlbmUgaXMgbWV0LiBPbmx5IGFwcGxpZXMgaWYgc2NlbmUgaGFzIGR1cmF0aW9uLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBleGFtcGxlXG4gICAqIHRvZ2dsZTogeyByZXZlcnNlOiB0cnVlIH1cbiAgICovXG4gIHJldmVyc2U/OiBib29sZWFuXG59XG5cbmludGVyZmFjZSBJU2Nyb2xsU2NlbmUge1xuICAvKipcbiAgICogYnJlYWtwb2ludHNcbiAgICogQGRlc2MgVXNlIHRvIHNldCByZXNwb25zaXZlbmVzcyBvZiB0aGUgbmV3IFNjcm9sbE1hZ2ljLlNjZW5lLCBtb2JpbGUtZmlyc3RcbiAgICogQHR5cGUgb2JqZWN0XG4gICAqIEBleGFtcGxlXG4gICAqIGJyZWFrcG9pbnRzOiB7IDA6IGZhbHNlLCA3Njg6IHRydWUgfVxuICAgKi9cbiAgYnJlYWtwb2ludHM/OiBvYmplY3RcblxuICAvKipcbiAgICogY29udHJvbGxlclxuICAgKiBAZGVzYyBFeHRyYSBvcHRpb25zIHRvIHBhc3MgdGhlIG5ldyBTY3JvbGxNYWdpYy5Db250cm9sbGVyLCBsaWtlIHZlcnRpY2FsLCBldGMuXG4gICAqIEB0eXBlIG9iamVjdFxuICAgKiBAZXhhbXBsZVxuICAgKiBjb250cm9sbGVyOiB7IHZlcnRpY2FsOiBmYWxzZSB9XG4gICAqL1xuICBjb250cm9sbGVyPzogb2JqZWN0XG5cbiAgLyoqXG4gICAqIGR1cmF0aW9uXG4gICAqIEBkZXNjIFVzZSB0byBzZXQgcmVzcG9uc2l2ZW5lc3Mgb2YgdGhlIG5ldyBTY3JvbGxNYWdpYy5TY2VuZSwgbW9iaWxlLWZpcnN0IChpZiBzZXR0aW5nIGJyZWFrcG9pbnRzKVxuICAgKiBNdXN0IGJlIHN0cmluZyBmb3IgcGVyY2VudGFnZSwgYW5kIG51bWJlciBmb3IgcGl4ZWwuXG4gICAqIEB0eXBlIG9iamVjdFxuICAgKiBAZXhhbXBsZVxuICAgKiBkdXJhdGlvbjogJzEwMCUnID0gMTAwdmhcbiAgICogZHVyYXRpb246IDEwMCA9IDEwMHB4XG4gICAqIGR1cmF0aW9uOiB7IDA6ICc1MCUnLCA3Njg6ICcxMDAlIH0gLy8gPSBTY3JvbGxTY2VuZSBsYXN0cyA1MHZoIG9uIG1vYmlsZSwgMTAwJSBhZnRlclxuICAgKi9cbiAgZHVyYXRpb24/OiBzdHJpbmcgfCBudW1iZXIgfCBvYmplY3RcblxuICAvKipcbiAgICogZ3NhcFxuICAgKiBAZGVzYyBVc2UgdG8gc2V0IG9wdGlvbnMgZm9yIHRoZSBnc2FwIGFuaW1hdGlvbiBvZiB0aGUgU2Nyb2xsT2JzZXJ2ZXIuXG4gICAqIEB0eXBlIG9iamVjdFxuICAgKiBAZXhhbXBsZVxuICAgKiBnc2FwOiB7IHRpbWVsaW5lOiBteVRpbWVsaW5lLCB5b3lvOiB0cnVlLCByZXZlcnNlU3BlZWQ6IDIgfVxuICAgKi9cbiAgZ3NhcD86IElTY3JvbGxPYnNlcnZlckdzYXBcblxuICAvKipcbiAgICogdHJpZ2dlckhvb2tcbiAgICogQGRlc2MgU2V0IHRoZSBvZmZzZXQgb2YgdGhlIFNjcm9sbE1hZ2ljIHNjZW5lLlxuICAgKiBAdHlwZSAgbnVtYmVyIHwgc3RyaW5nXG4gICAqIEBkZWZhdWx0dmFsdWUgMFxuICAgKiBAZXhhbXBsZVxuICAgKiBvZmZzZXQ6IDEwMFxuICAgKiBvZmZzZXQ6ICcxMCUnXG4gICAqL1xuICBvZmZzZXQ/OiBudW1iZXIgfCBzdHJpbmdcblxuICAvKipcbiAgICogc2NlbmVcbiAgICogQGRlc2MgRXh0cmEgb3B0aW9ucyB0byBwYXNzIHRoZSBuZXcgU2Nyb2xsTWFnaWMuU2NlbmUsIGxpa2UgbG9nTGV2ZWwsIGV0Yy5cbiAgICogQHR5cGUgb2JqZWN0XG4gICAqIEBleGFtcGxlXG4gICAqIHNjZW5lOiB7IGxvZ0xldmVsOiAyIH1cbiAgICovXG4gIHNjZW5lPzogb2JqZWN0XG5cbiAgLyoqXG4gICAqIHRvZ2dsZVxuICAgKiBAZGVzYyBVc2UgdG8gc2V0IHRoZSBvcHRpb25zIGZvciB0aGUgdG9nZ2xpbmcgb2YgYSBjbGFzc05hbWVcbiAgICogQHR5cGUgb2JqZWN0XG4gICAqIEBleGFtcGxlXG4gICAqIHRvZ2dsZTogeyBlbGVtZW50OiBjb250YWluZXJSZWYuY3VycmVudCwgY2xhc3NOYW1lOiAnbGV0cy1kby10aGlzJyB9XG4gICAqL1xuICB0b2dnbGU/OiBJU2Nyb2xsU2NlbmVUb2dnbGVcblxuICAvKipcbiAgICogdHJpZ2dlckVsZW1lbnRcbiAgICogQGRlc2MgU2V0IHRoZSBlbGVtZW50IHlvdSB3aXNoIHRvIHRyaWdnZXIgZXZlbnRzIGJhc2VkIHVwb24sIHRoZSBvYnNlcnZlZCBlbGVtZW50LlxuICAgKiBAdHlwZSAgSFRNTEVsZW1lbnQgfCBhbnlcbiAgICogQGV4YW1wbGVcbiAgICogdHJpZ2dlckVsZW1lbnQ6IHRyaWdnZXJSZWYuY3VycmVudFxuICAgKi9cbiAgdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgYW55XG5cbiAgLyoqXG4gICAqIHRyaWdnZXJIb29rXG4gICAqIEBkZXNjIFNldCB0aGUgdHJpZ2dlckhvb2sgb2YgdGhlIFNjcm9sbE1hZ2ljIHNjZW5lLlxuICAgKiBAdHlwZSAgbnVtYmVyXG4gICAqIEBkZWZhdWx0dmFsdWUgJ29uRW50ZXInXG4gICAqIEBleGFtcGxlXG4gICAqIHRyaWdnZXJIb29rOiAwLjVcbiAgICovXG4gIHRyaWdnZXJIb29rPzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqXG4gICAqIHVzZUdsb2JhbENvbnRyb2xsZXJcbiAgICogQGRlc2MgQ2hvc2Ugd2hldGhlciBvciBub3QgdG8gdXNlIHRoZSBnbG9iYWxDb250cm9sbGVyIHByb3ZpZGVkIGZvciB5b3UsIG9yIGEgZnJlc2ggbmV3IFNjcm9sbE1hZ2ljLkNvbnRyb2xsZXIgaW5zdGFuY2UuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHRWYWx1ZSB0cnVlXG4gICAqIEBleGFtcGxlXG4gICAqIHVzZUdsb2JhbENvbnRyb2xsZXI6IGZhbHNlXG4gICAqL1xuICB1c2VHbG9iYWxDb250cm9sbGVyPzogYm9vbGVhblxufVxuXG4vLyBhZGQgY29udHJvbGxlciB2YXJcbmxldCBnbG9iYWxDb250cm9sbGVyXG5cbmNvbnN0IFNjcm9sbFNjZW5lID0gZnVuY3Rpb24oXG4gIHRoaXM6IGFueSxcbiAge1xuICAgIGJyZWFrcG9pbnRzLFxuICAgIGNvbnRyb2xsZXIgPSB7fSxcbiAgICBkdXJhdGlvbixcbiAgICBnc2FwLFxuICAgIG9mZnNldCA9IDAsXG4gICAgc2NlbmUgPSB7fSxcbiAgICB0b2dnbGUsXG4gICAgdHJpZ2dlckVsZW1lbnQsXG4gICAgdHJpZ2dlckhvb2sgPSAnb25FbnRlcicsXG4gICAgdXNlR2xvYmFsQ29udHJvbGxlciA9IHRydWUsXG4gIH06IElTY3JvbGxTY2VuZSxcbikge1xuICBsZXQgbG9jYWxDb250cm9sbGVyXG5cbiAgLy8gY2hlY2sgaWYgdXNpbmcgYSBsb2NhbCBjb250cm9sbGVyXG4gIGlmICghdXNlR2xvYmFsQ29udHJvbGxlcikge1xuICAgIGxvY2FsQ29udHJvbGxlciA9IG5ldyBTY3JvbGxNYWdpYy5Db250cm9sbGVyKGNvbnRyb2xsZXIpXG4gIH1cblxuICAvLyBtb3VudCBjb250cm9sbGVyXG4gIGlmICghZ2xvYmFsQ29udHJvbGxlciAmJiB1c2VHbG9iYWxDb250cm9sbGVyKSB7XG4gICAgZ2xvYmFsQ29udHJvbGxlciA9IG5ldyBTY3JvbGxNYWdpYy5Db250cm9sbGVyKGNvbnRyb2xsZXIpXG4gIH1cblxuICBjb25zdCBjb250cm9sbGVySXNVc2UgPSBsb2NhbENvbnRyb2xsZXIgPyBsb2NhbENvbnRyb2xsZXIgOiBnbG9iYWxDb250cm9sbGVyXG5cbiAgaWYgKCF0cmlnZ2VyRWxlbWVudCkge1xuICAgIGVycm9yTG9nKFxuICAgICAgbmFtZVNwYWNlLFxuICAgICAgYEJlIHN1cmUgdG8gc2V0IGEgY29uc3QgdHJpZ2dlckVsZW1lbnQgPSAocmVhY3RSZWYuY3VycmVudCBvciBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKSBpbiB0aGUgbmV3ICR7bmFtZVNwYWNlfSh7IHRyaWdnZXJFbGVtZW50OiB0cmlnZ2VyRWxlbWVudCB9KWAsXG4gICAgKVxuICB9XG5cbiAgY29uc3QgU2NlbmUgPSBuZXcgU2Nyb2xsTWFnaWMuU2NlbmUoe1xuICAgIHRyaWdnZXJFbGVtZW50LFxuICAgIHRyaWdnZXJIb29rLFxuICAgIG9mZnNldCxcbiAgICAuLi5zY2VuZSxcbiAgfSlcblxuICBpZiAoZHVyYXRpb24pIHtcbiAgICBzZXREdXJhdGlvbihTY2VuZSwgZHVyYXRpb24pXG4gIH1cblxuICBpZiAodG9nZ2xlICYmIGlzT2JqZWN0KHRvZ2dsZSkpIHtcbiAgICBzZXRDbGFzc05hbWUoU2NlbmUsIHRvZ2dsZSwgZHVyYXRpb24pXG4gIH1cblxuICBpZiAoZ3NhcCAmJiBpc09iamVjdChnc2FwKSkge1xuICAgIHNldFR3ZWVuKFNjZW5lLCBnc2FwKVxuICB9XG5cbiAgdGhpcy5pbml0ID0gZnVuY3Rpb24oKSB7XG4gICAgY29udHJvbGxlcklzVXNlICYmIFNjZW5lLmFkZFRvKGNvbnRyb2xsZXJJc1VzZSlcbiAgfVxuXG4gIHRoaXMuZGVzdHJveSA9IGZ1bmN0aW9uKCkge1xuICAgIFNjZW5lLnJlbW92ZSgpXG4gIH1cblxuICB0aGlzLlNjZW5lID0gU2NlbmVcbiAgdGhpcy5Db250cm9sbGVyID0gY29udHJvbGxlcklzVXNlXG5cbiAgc2Nyb2xsQW5pbWF0aW9uSW5pdChicmVha3BvaW50cywgdGhpcy5pbml0LCB0aGlzLmRlc3Ryb3kpXG59XG5cbmV4cG9ydCB7IFNjcm9sbFNjZW5lIH1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY3JvbGxTY2VuZS50cyJdLCJuYW1lcyI6WyJuYW1lU3BhY2UiLCJ1cGRhdGVUd2VlblByb2dyZXNzIiwiU2NlbmUiLCJUd2VlbiIsImdzYXBGb3J3YXJkU3BlZWQiLCJnc2FwUmV2ZXJzZVNwZWVkIiwicHJvZ3Jlc3MiLCJzdGF0ZSIsInJlcGVhdCIsInBhdXNlZCIsInRpbWVTY2FsZSIsInBsYXkiLCJwYXVzZSIsImR1cmF0aW9uIiwicmV2ZXJzZSIsInJlbW92ZVR3ZWVuIiwia2lsbCIsInNldER1cmF0aW9uIiwia2V5cyIsIk9iamVjdCIsImZuIiwiaW5kZXgiLCJsZW5ndGgiLCJicmVha3BvaW50IiwicGFyc2VGbG9hdCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0Q2xhc3NOYW1lIiwib3B0aW9ucyIsInRvZ2dsZSIsImNsYXNzTmFtZSIsImVsZW1lbnQiLCJhZGRDbGFzc05hbWUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsImFkZCIsInJlbW92ZUNsYXNzTmFtZSIsInJlbW92ZSIsIm9uIiwiZXZlbnQiLCJzY3JvbGxEaXJlY3Rpb24iLCJzZXRUd2VlbiIsImdzYXAiLCJmb3J3YXJkU3BlZWQiLCJyZXZlcnNlU3BlZWQiLCJ0aW1lbGluZSIsImdsb2JhbENvbnRyb2xsZXIiLCJTY3JvbGxTY2VuZSIsImJyZWFrcG9pbnRzIiwiY29udHJvbGxlciIsIm9mZnNldCIsInNjZW5lIiwidHJpZ2dlckVsZW1lbnQiLCJ0cmlnZ2VySG9vayIsInVzZUdsb2JhbENvbnRyb2xsZXIiLCJsb2NhbENvbnRyb2xsZXIiLCJTY3JvbGxNYWdpYyIsIkNvbnRyb2xsZXIiLCJjb250cm9sbGVySXNVc2UiLCJ1bmRlZmluZWQiLCJpbml0IiwiYWRkVG8iLCJkZXN0cm95Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7QUFHQSxJQUFNQSxTQUFTLEdBQUcsYUFBbEI7O0FBRUEsSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFzQixDQUFTQyxLQUFULEVBQWdCQyxLQUFoQixFQUF1QkMsZ0JBQXZCLEVBQXlDQyxnQkFBekMsRUFBMkQ7QUFDckYsTUFBSUYsS0FBSixFQUFXO0FBQ1QsUUFBTUcsUUFBUSxHQUFHSixLQUFLLENBQUNJLFFBQU4sRUFBakI7QUFDQSxRQUFNQyxLQUFLLEdBQUdMLEtBQUssQ0FBQ0ssS0FBTixFQUFkOztBQUNBLFFBQUlKLEtBQUssQ0FBQ0ssTUFBTixJQUFnQkwsS0FBSyxDQUFDSyxNQUFOLE9BQW1CLENBQUMsQ0FBeEMsRUFBMkM7QUFFekMsVUFBSUQsS0FBSyxLQUFLLFFBQVYsSUFBc0JKLEtBQUssQ0FBQ00sTUFBTixFQUExQixFQUEwQztBQUN4Q04sUUFBQUEsS0FBSyxDQUFDTyxTQUFOLENBQWdCTixnQkFBaEIsRUFBa0NPLElBQWxDO0FBQ0QsT0FGRCxNQUVPLElBQUlKLEtBQUssS0FBSyxRQUFWLElBQXNCLENBQUNKLEtBQUssQ0FBQ00sTUFBTixFQUEzQixFQUEyQztBQUNoRE4sUUFBQUEsS0FBSyxDQUFDUyxLQUFOO0FBQ0Q7QUFDRixLQVBELE1BT08sSUFBSU4sUUFBUSxJQUFJSCxLQUFLLENBQUNHLFFBQU4sRUFBaEIsRUFBa0M7QUFHdkMsVUFBSUosS0FBSyxDQUFDVyxRQUFOLE9BQXFCLENBQXpCLEVBQTRCO0FBRTFCLFlBQUlQLFFBQVEsR0FBRyxDQUFmLEVBQWtCO0FBRWhCSCxVQUFBQSxLQUFLLENBQUNPLFNBQU4sQ0FBZ0JOLGdCQUFoQixFQUFrQ08sSUFBbEM7QUFDRCxTQUhELE1BR087QUFFTFIsVUFBQUEsS0FBSyxDQUFDTyxTQUFOLENBQWdCTCxnQkFBaEIsRUFBa0NTLE9BQWxDO0FBQ0Q7QUFDRixPQVRELE1BU087QUFHTFgsUUFBQUEsS0FBSyxDQUFDRyxRQUFOLENBQWVBLFFBQWYsRUFBeUJNLEtBQXpCO0FBQ0Q7QUFDRjtBQUNGO0FBQ0YsQ0E5QkQ7O0FBZ0NBLElBQU1HLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQVNaLEtBQVQsRUFBZ0I7QUFDbEMsTUFBSUEsS0FBSixFQUFXO0FBQ1RBLElBQUFBLEtBQUssQ0FBQ1MsS0FBTixDQUFZLENBQVo7QUFDQVQsSUFBQUEsS0FBSyxDQUFDYSxJQUFOO0FBQ0Q7QUFDRixDQUxEOztBQU9BLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUNmLEtBQUQsRUFBUVcsUUFBUixFQUFxQjtBQUN2QyxNQUFJLHVCQUFTQSxRQUFULENBQUosRUFBd0I7QUFDdEIsUUFBTUssSUFBSSxHQUFHQyxNQUFNLENBQUNELElBQVAsQ0FBWUwsUUFBWixFQUFzQkMsT0FBdEIsRUFBYjs7QUFFQSxRQUFNTSxFQUFFLEdBQUcsU0FBTEEsRUFBSyxHQUFNO0FBQ2YsV0FBSyxJQUFJQyxLQUFLLEdBQUcsQ0FBakIsRUFBb0JBLEtBQUssR0FBR0gsSUFBSSxDQUFDSSxNQUFqQyxFQUF5Q0QsS0FBSyxFQUE5QyxFQUFrRDtBQUNoRCxZQUFNRSxVQUFVLEdBQUdDLFVBQVUsQ0FBQ04sSUFBSSxDQUFDRyxLQUFELENBQUwsQ0FBN0I7O0FBRUEsWUFBSUUsVUFBVSxJQUFJRSxNQUFNLENBQUNDLFVBQXpCLEVBQXFDO0FBQ25DeEIsVUFBQUEsS0FBSyxDQUFDVyxRQUFOLENBQWVBLFFBQVEsQ0FBQ1UsVUFBRCxDQUF2QjtBQUNBO0FBQ0Q7QUFDRjtBQUNGLEtBVEQ7O0FBV0FILElBQUFBLEVBQUU7QUFFRkssSUFBQUEsTUFBTSxDQUFDRSxnQkFBUCxDQUF3QixRQUF4QixFQUFrQyx3QkFBU1AsRUFBVCxFQUFhLEdBQWIsQ0FBbEM7QUFDRCxHQWpCRCxNQWlCTztBQUNMbEIsSUFBQUEsS0FBSyxDQUFDVyxRQUFOLENBQWVBLFFBQWY7QUFDRDtBQUNGLENBckJEOztBQXVCQSxJQUFNZSxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDMUIsS0FBRCxFQUFRMkIsT0FBUixFQUFpQmhCLFFBQWpCLEVBQThCO0FBQ2pELE1BQU1pQixNQUFNO0FBQ1ZDLElBQUFBLFNBQVMsRUFBRSxJQUREO0FBRVZDLElBQUFBLE9BQU8sRUFBRSxJQUZDO0FBR1ZsQixJQUFBQSxPQUFPLEVBQUU7QUFIQyxLQUlQZSxPQUpPLENBQVo7O0FBT0EsTUFBSSxDQUFDQyxNQUFNLENBQUNDLFNBQVosRUFBdUI7QUFDckIsMkJBQVMvQixTQUFULGtEQUE2REEsU0FBN0Q7QUFDRDs7QUFFRCxNQUFJLENBQUM4QixNQUFNLENBQUNFLE9BQVosRUFBcUI7QUFDbkIsMkJBQ0VoQyxTQURGLDJHQUVvR0EsU0FGcEc7QUFJRDs7QUFFRCxNQUFNaUMsWUFBWSxHQUFHLFNBQWZBLFlBQWU7QUFBQSxXQUNuQixDQUFDSCxNQUFNLENBQUNFLE9BQVAsQ0FBZUUsU0FBZixDQUF5QkMsUUFBekIsQ0FBa0NMLE1BQU0sQ0FBQ0MsU0FBekMsQ0FBRCxJQUF3REQsTUFBTSxDQUFDRSxPQUFQLENBQWVFLFNBQWYsQ0FBeUJFLEdBQXpCLENBQTZCTixNQUFNLENBQUNDLFNBQXBDLENBRHJDO0FBQUEsR0FBckI7O0FBR0EsTUFBTU0sZUFBZSxHQUFHLFNBQWxCQSxlQUFrQjtBQUFBLFdBQ3RCUCxNQUFNLENBQUNFLE9BQVAsQ0FBZUUsU0FBZixDQUF5QkMsUUFBekIsQ0FBa0NMLE1BQU0sQ0FBQ0MsU0FBekMsS0FBdURELE1BQU0sQ0FBQ0UsT0FBUCxDQUFlRSxTQUFmLENBQXlCSSxNQUF6QixDQUFnQ1IsTUFBTSxDQUFDQyxTQUF2QyxDQURqQztBQUFBLEdBQXhCOztBQUdBN0IsRUFBQUEsS0FBSyxDQUFDcUMsRUFBTixDQUFTLE9BQVQsRUFBa0IsWUFBVztBQUMzQk4sSUFBQUEsWUFBWTtBQUNiLEdBRkQ7QUFJQS9CLEVBQUFBLEtBQUssQ0FBQ3FDLEVBQU4sQ0FBUyxLQUFULEVBQWdCLFlBQVc7QUFDekIsUUFBSXJDLEtBQUssQ0FBQ0ssS0FBTixPQUFrQixRQUF0QixFQUFnQztBQUM5QjBCLE1BQUFBLFlBQVk7QUFDYjtBQUNGLEdBSkQ7QUFNQS9CLEVBQUFBLEtBQUssQ0FBQ3FDLEVBQU4sQ0FBUyxPQUFULEVBQWtCLFVBQVNDLEtBQVQsRUFBZ0I7QUFDaEMsUUFBSSxDQUFDVixNQUFNLENBQUNoQixPQUFSLElBQW1CRCxRQUF2QixFQUFpQztBQUUvQjJCLE1BQUFBLEtBQUssQ0FBQ0MsZUFBTixLQUEwQixTQUExQixJQUF1Q0osZUFBZSxFQUF0RDtBQUNELEtBSEQsTUFHTztBQUNMQSxNQUFBQSxlQUFlO0FBQ2hCO0FBQ0YsR0FQRDtBQVNBbkMsRUFBQUEsS0FBSyxDQUFDcUMsRUFBTixDQUFTLFFBQVQsRUFBbUIsWUFBVztBQUM1QkYsSUFBQUEsZUFBZTtBQUNoQixHQUZEO0FBR0QsQ0EvQ0Q7O0FBaURBLElBQU1LLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUN4QyxLQUFELEVBQVEyQixPQUFSLEVBQW9CO0FBQ25DLE1BQU1jLElBQUk7QUFDUkMsSUFBQUEsWUFBWSxFQUFFLENBRE47QUFFUkMsSUFBQUEsWUFBWSxFQUFFLENBRk47QUFHUkMsSUFBQUEsUUFBUSxFQUFFO0FBSEYsS0FJTGpCLE9BSkssQ0FBVjs7QUFPQSxNQUFJLENBQUNjLElBQUksQ0FBQ0csUUFBVixFQUFvQjtBQUNsQiwyQkFDRTlDLFNBREYsbUZBRTRFQSxTQUY1RTtBQUlEOztBQUVERSxFQUFBQSxLQUFLLENBQUNxQyxFQUFOLENBQVMsVUFBVCxFQUFxQixZQUFXO0FBQzlCdEMsSUFBQUEsbUJBQW1CLENBQUNDLEtBQUQsRUFBUXlDLElBQUksQ0FBQ0csUUFBYixFQUF1QkgsSUFBSSxDQUFDQyxZQUE1QixFQUEwQ0QsSUFBSSxDQUFDRSxZQUEvQyxDQUFuQjtBQUNELEdBRkQ7QUFJQTNDLEVBQUFBLEtBQUssQ0FBQ3FDLEVBQU4sQ0FBUyxRQUFULEVBQW1CLFlBQVc7QUFDNUJ4QixJQUFBQSxXQUFXLENBQUM0QixJQUFJLENBQUNHLFFBQU4sQ0FBWDtBQUNELEdBRkQ7QUFHRCxDQXRCRDs7QUF3SUEsSUFBSUMsZ0JBQUo7O0FBRUEsSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQWMsT0FjbEI7QUFBQSxNQVhFQyxXQVdGLFFBWEVBLFdBV0Y7QUFBQSw2QkFWRUMsVUFVRjtBQUFBLE1BVkVBLFVBVUYsZ0NBVmUsRUFVZjtBQUFBLE1BVEVyQyxRQVNGLFFBVEVBLFFBU0Y7QUFBQSxNQVJFOEIsSUFRRixRQVJFQSxJQVFGO0FBQUEsTUFQRVEsTUFPRixRQVBFQSxNQU9GO0FBQUEsd0JBTkVDLEtBTUY7QUFBQSxNQU5FQSxLQU1GLDJCQU5VLEVBTVY7QUFBQSxNQUxFdEIsTUFLRixRQUxFQSxNQUtGO0FBQUEsTUFKRXVCLGNBSUYsUUFKRUEsY0FJRjtBQUFBLDhCQUhFQyxXQUdGO0FBQUEsTUFIRUEsV0FHRixpQ0FIZ0IsU0FHaEI7QUFBQSxtQ0FGRUMsbUJBRUY7QUFBQSxNQUZFQSxtQkFFRixzQ0FGd0IsSUFFeEI7QUFDQSxNQUFJQyxlQUFKOztBQUdBLE1BQUksQ0FBQ0QsbUJBQUwsRUFBMEI7QUFDeEJDLElBQUFBLGVBQWUsR0FBRyxJQUFJQywrQkFBWUMsVUFBaEIsQ0FBMkJSLFVBQTNCLENBQWxCO0FBQ0Q7O0FBR0QsTUFBSSxDQUFDSCxnQkFBRCxJQUFxQlEsbUJBQXpCLEVBQThDO0FBQzVDUixJQUFBQSxnQkFBZ0IsR0FBRyxJQUFJVSwrQkFBWUMsVUFBaEIsQ0FBMkJSLFVBQTNCLENBQW5CO0FBQ0Q7O0FBRUQsTUFBTVMsZUFBZSxHQUFHSCxlQUFlLEdBQUdBLGVBQUgsR0FBcUJULGdCQUE1RDs7QUFFQSxNQUFJLENBQUNNLGNBQUQsSUFBbUJGLE1BQU0sS0FBS1MsU0FBbEMsRUFBNkM7QUFDM0MsMkJBQ0U1RCxTQURGLDRHQUVxR0EsU0FGckc7QUFJRDs7QUFFRCxNQUFNRSxLQUFLLEdBQUcsSUFBSXVELCtCQUFZdkQsS0FBaEI7QUFDWm1ELElBQUFBLGNBQWMsRUFBZEEsY0FEWTtBQUVaQyxJQUFBQSxXQUFXLEVBQVhBLFdBRlk7QUFHWkgsSUFBQUEsTUFBTSxFQUFOQTtBQUhZLEtBSVRDLEtBSlMsRUFBZDs7QUFPQSxNQUFJdkMsUUFBSixFQUFjO0FBQ1pJLElBQUFBLFdBQVcsQ0FBQ2YsS0FBRCxFQUFRVyxRQUFSLENBQVg7QUFDRDs7QUFFRCxNQUFJaUIsTUFBTSxJQUFJLHVCQUFTQSxNQUFULENBQWQsRUFBZ0M7QUFDOUJGLElBQUFBLFlBQVksQ0FBQzFCLEtBQUQsRUFBUTRCLE1BQVIsRUFBZ0JqQixRQUFoQixDQUFaO0FBQ0Q7O0FBRUQsTUFBSThCLElBQUksSUFBSSx1QkFBU0EsSUFBVCxDQUFaLEVBQTRCO0FBQzFCRCxJQUFBQSxRQUFRLENBQUN4QyxLQUFELEVBQVF5QyxJQUFSLENBQVI7QUFDRDs7QUFFRCxPQUFLa0IsSUFBTCxHQUFZLFlBQVc7QUFDckJGLElBQUFBLGVBQWUsSUFBSXpELEtBQUssQ0FBQzRELEtBQU4sQ0FBWUgsZUFBWixDQUFuQjtBQUNELEdBRkQ7O0FBSUEsT0FBS0ksT0FBTCxHQUFlLFlBQVc7QUFDeEI3RCxJQUFBQSxLQUFLLENBQUNvQyxNQUFOO0FBQ0QsR0FGRDs7QUFJQSxPQUFLcEMsS0FBTCxHQUFhQSxLQUFiO0FBQ0EsT0FBS3dELFVBQUwsR0FBa0JDLGVBQWxCO0FBRUEsb0NBQW9CVixXQUFwQixFQUFpQyxLQUFLWSxJQUF0QyxFQUE0QyxLQUFLRSxPQUFqRDtBQUNELENBbkVEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFNjcm9sbE1hZ2ljIGZyb20gJy4vc2Nyb2xsbWFnaWMtd2l0aC1zc3InXG5pbXBvcnQgdGhyb3R0bGUgZnJvbSAnbG9kYXNoLnRocm90dGxlJ1xuaW1wb3J0IHsgZXJyb3JMb2csIGlzT2JqZWN0LCBzY3JvbGxBbmltYXRpb25Jbml0IH0gZnJvbSAnLi9oZWxwZXJzJ1xuaW1wb3J0IHsgSVNjcm9sbE9ic2VydmVyVG9nZ2xlLCBJU2Nyb2xsT2JzZXJ2ZXJHc2FwIH0gZnJvbSAnLi9TY3JvbGxPYnNlcnZlcidcblxuY29uc3QgbmFtZVNwYWNlID0gJ1Njcm9sbFNjZW5lJ1xuXG5jb25zdCB1cGRhdGVUd2VlblByb2dyZXNzID0gZnVuY3Rpb24oU2NlbmUsIFR3ZWVuLCBnc2FwRm9yd2FyZFNwZWVkLCBnc2FwUmV2ZXJzZVNwZWVkKSB7XG4gIGlmIChUd2Vlbikge1xuICAgIGNvbnN0IHByb2dyZXNzID0gU2NlbmUucHJvZ3Jlc3MoKVxuICAgIGNvbnN0IHN0YXRlID0gU2NlbmUuc3RhdGUoKVxuICAgIGlmIChUd2Vlbi5yZXBlYXQgJiYgVHdlZW4ucmVwZWF0KCkgPT09IC0xKSB7XG4gICAgICAvLyBpbmZpbml0ZSBsb29wLCBzbyBub3QgaW4gcmVsYXRpb24gdG8gcHJvZ3Jlc3NcbiAgICAgIGlmIChzdGF0ZSA9PT0gJ0RVUklORycgJiYgVHdlZW4ucGF1c2VkKCkpIHtcbiAgICAgICAgVHdlZW4udGltZVNjYWxlKGdzYXBGb3J3YXJkU3BlZWQpLnBsYXkoKVxuICAgICAgfSBlbHNlIGlmIChzdGF0ZSAhPT0gJ0RVUklORycgJiYgIVR3ZWVuLnBhdXNlZCgpKSB7XG4gICAgICAgIFR3ZWVuLnBhdXNlKClcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb2dyZXNzICE9IFR3ZWVuLnByb2dyZXNzKCkpIHtcbiAgICAgIC8vIGRvIHdlIGV2ZW4gbmVlZCB0byB1cGRhdGUgdGhlIHByb2dyZXNzP1xuICAgICAgLy8gbm8gaW5maW5pdGUgbG9vcCAtIHNvIHNob3VsZCB3ZSBqdXN0IHBsYXkgb3IgZ28gdG8gYSBzcGVjaWZpYyBwb2ludCBpbiB0aW1lP1xuICAgICAgaWYgKFNjZW5lLmR1cmF0aW9uKCkgPT09IDApIHtcbiAgICAgICAgLy8gcGxheSB0aGUgYW5pbWF0aW9uXG4gICAgICAgIGlmIChwcm9ncmVzcyA+IDApIHtcbiAgICAgICAgICAvLyBwbGF5IGZyb20gMCB0byAxXG4gICAgICAgICAgVHdlZW4udGltZVNjYWxlKGdzYXBGb3J3YXJkU3BlZWQpLnBsYXkoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHBsYXkgZnJvbSAxIHRvIDBcbiAgICAgICAgICBUd2Vlbi50aW1lU2NhbGUoZ3NhcFJldmVyc2VTcGVlZCkucmV2ZXJzZSgpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGdvIHRvIGEgc3BlY2lmaWMgcG9pbnQgaW4gdGltZVxuICAgICAgICAvLyBqdXN0IGhhcmQgc2V0IGl0XG4gICAgICAgIFR3ZWVuLnByb2dyZXNzKHByb2dyZXNzKS5wYXVzZSgpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IHJlbW92ZVR3ZWVuID0gZnVuY3Rpb24oVHdlZW4pIHtcbiAgaWYgKFR3ZWVuKSB7XG4gICAgVHdlZW4ucGF1c2UoMClcbiAgICBUd2Vlbi5raWxsKClcbiAgfVxufVxuXG5jb25zdCBzZXREdXJhdGlvbiA9IChTY2VuZSwgZHVyYXRpb24pID0+IHtcbiAgaWYgKGlzT2JqZWN0KGR1cmF0aW9uKSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhkdXJhdGlvbikucmV2ZXJzZSgpXG5cbiAgICBjb25zdCBmbiA9ICgpID0+IHtcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBrZXlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBicmVha3BvaW50ID0gcGFyc2VGbG9hdChrZXlzW2luZGV4XSlcblxuICAgICAgICBpZiAoYnJlYWtwb2ludCA8PSB3aW5kb3cuaW5uZXJXaWR0aCkge1xuICAgICAgICAgIFNjZW5lLmR1cmF0aW9uKGR1cmF0aW9uW2JyZWFrcG9pbnRdKVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmbigpXG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhyb3R0bGUoZm4sIDcwMCkpXG4gIH0gZWxzZSB7XG4gICAgU2NlbmUuZHVyYXRpb24oZHVyYXRpb24pXG4gIH1cbn1cblxuY29uc3Qgc2V0Q2xhc3NOYW1lID0gKFNjZW5lLCBvcHRpb25zLCBkdXJhdGlvbikgPT4ge1xuICBjb25zdCB0b2dnbGUgPSB7XG4gICAgY2xhc3NOYW1lOiBudWxsLFxuICAgIGVsZW1lbnQ6IG51bGwsXG4gICAgcmV2ZXJzZTogZmFsc2UsXG4gICAgLi4ub3B0aW9ucyxcbiAgfVxuXG4gIGlmICghdG9nZ2xlLmNsYXNzTmFtZSkge1xuICAgIGVycm9yTG9nKG5hbWVTcGFjZSwgYEJlIHN1cmUgdG8gc2V0IGEgY2xhc3NOYW1lIGluIHRoZSBuZXcgJHtuYW1lU3BhY2V9KHsgdG9nZ2xlOiB7IGNsYXNzTmFtZTogXCJteS1jbGFzc1wiIH0gfSlgKVxuICB9XG5cbiAgaWYgKCF0b2dnbGUuZWxlbWVudCkge1xuICAgIGVycm9yTG9nKFxuICAgICAgbmFtZVNwYWNlLFxuICAgICAgYEJlIHN1cmUgdG8gc2V0IGEgY29uc3QgdG9nZ2xlRWxlbWVudCA9IChyZWFjdFJlZi5jdXJyZW50IG9yIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IpIGluIHRoZSBuZXcgJHtuYW1lU3BhY2V9KHsgdG9nZ2xlOiB7IGVsZW1lbnQ6IHRvZ2dsZUVsZW1lbnQgfSB9KWAsXG4gICAgKVxuICB9XG5cbiAgY29uc3QgYWRkQ2xhc3NOYW1lID0gKCkgPT5cbiAgICAhdG9nZ2xlLmVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKHRvZ2dsZS5jbGFzc05hbWUpICYmIHRvZ2dsZS5lbGVtZW50LmNsYXNzTGlzdC5hZGQodG9nZ2xlLmNsYXNzTmFtZSlcblxuICBjb25zdCByZW1vdmVDbGFzc05hbWUgPSAoKSA9PlxuICAgIHRvZ2dsZS5lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyh0b2dnbGUuY2xhc3NOYW1lKSAmJiB0b2dnbGUuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRvZ2dsZS5jbGFzc05hbWUpXG5cbiAgU2NlbmUub24oJ2VudGVyJywgZnVuY3Rpb24oKSB7XG4gICAgYWRkQ2xhc3NOYW1lKClcbiAgfSlcblxuICBTY2VuZS5vbignYWRkJywgZnVuY3Rpb24oKSB7XG4gICAgaWYgKFNjZW5lLnN0YXRlKCkgPT09ICdEVVJJTkcnKSB7XG4gICAgICBhZGRDbGFzc05hbWUoKVxuICAgIH1cbiAgfSlcblxuICBTY2VuZS5vbignbGVhdmUnLCBmdW5jdGlvbihldmVudCkge1xuICAgIGlmICghdG9nZ2xlLnJldmVyc2UgJiYgZHVyYXRpb24pIHtcbiAgICAgIC8vIG5lZWRzIHRvIGJlIGJhc2VkIG9uIHdoZXRoZXIgb3Igbm90IHdlIGhhdmUgYSBkdXJhdGlvblxuICAgICAgZXZlbnQuc2Nyb2xsRGlyZWN0aW9uID09PSAnUkVWRVJTRScgJiYgcmVtb3ZlQ2xhc3NOYW1lKClcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlQ2xhc3NOYW1lKClcbiAgICB9XG4gIH0pXG5cbiAgU2NlbmUub24oJ3JlbW92ZScsIGZ1bmN0aW9uKCkge1xuICAgIHJlbW92ZUNsYXNzTmFtZSgpXG4gIH0pXG59XG5cbmNvbnN0IHNldFR3ZWVuID0gKFNjZW5lLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IGdzYXAgPSB7XG4gICAgZm9yd2FyZFNwZWVkOiAxLFxuICAgIHJldmVyc2VTcGVlZDogMSxcbiAgICB0aW1lbGluZTogbnVsbCxcbiAgICAuLi5vcHRpb25zLFxuICB9XG5cbiAgaWYgKCFnc2FwLnRpbWVsaW5lKSB7XG4gICAgZXJyb3JMb2coXG4gICAgICBuYW1lU3BhY2UsXG4gICAgICBgQmUgc3VyZSB0byBzZXQgYSBjb25zdCB0bCA9IGdzYXAudGltZWxpbmUoeyBwYXVzZWQ6IHRydWUgfSkgaW4gdGhlIG5ldyAke25hbWVTcGFjZX0oeyBnc2FwOiB7IHRpbWVsaW5lOiB0bCB9IH0pYCxcbiAgICApXG4gIH1cblxuICBTY2VuZS5vbigncHJvZ3Jlc3MnLCBmdW5jdGlvbigpIHtcbiAgICB1cGRhdGVUd2VlblByb2dyZXNzKFNjZW5lLCBnc2FwLnRpbWVsaW5lLCBnc2FwLmZvcndhcmRTcGVlZCwgZ3NhcC5yZXZlcnNlU3BlZWQpXG4gIH0pXG5cbiAgU2NlbmUub24oJ3JlbW92ZScsIGZ1bmN0aW9uKCkge1xuICAgIHJlbW92ZVR3ZWVuKGdzYXAudGltZWxpbmUpXG4gIH0pXG59XG5cbmludGVyZmFjZSBJU2Nyb2xsU2NlbmVUb2dnbGUgZXh0ZW5kcyBJU2Nyb2xsT2JzZXJ2ZXJUb2dnbGUge1xuICAvKipcbiAgICogcmV2ZXJzZVxuICAgKiBAZGVzYyBTcGVjaWZ5IHRoZSBjbGFzc05hbWUgc2hvdWxkIGJlIHJlbW92ZWQgYWZ0ZXIgdGhlIGR1cmF0aW9uIG9mIHNjZW5lIGlzIG1ldC4gT25seSBhcHBsaWVzIGlmIHNjZW5lIGhhcyBkdXJhdGlvbi5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZXhhbXBsZVxuICAgKiB0b2dnbGU6IHsgcmV2ZXJzZTogdHJ1ZSB9XG4gICAqL1xuICByZXZlcnNlPzogYm9vbGVhblxufVxuXG5pbnRlcmZhY2UgSVNjcm9sbFNjZW5lIHtcbiAgLyoqXG4gICAqIGJyZWFrcG9pbnRzXG4gICAqIEBkZXNjIFVzZSB0byBzZXQgcmVzcG9uc2l2ZW5lc3Mgb2YgdGhlIG5ldyBTY3JvbGxNYWdpYy5TY2VuZSwgbW9iaWxlLWZpcnN0XG4gICAqIEB0eXBlIG9iamVjdFxuICAgKiBAZXhhbXBsZVxuICAgKiBicmVha3BvaW50czogeyAwOiBmYWxzZSwgNzY4OiB0cnVlIH1cbiAgICovXG4gIGJyZWFrcG9pbnRzPzogb2JqZWN0XG5cbiAgLyoqXG4gICAqIGNvbnRyb2xsZXJcbiAgICogQGRlc2MgRXh0cmEgb3B0aW9ucyB0byBwYXNzIHRoZSBuZXcgU2Nyb2xsTWFnaWMuQ29udHJvbGxlciwgbGlrZSB2ZXJ0aWNhbCwgZXRjLlxuICAgKiBAdHlwZSBvYmplY3RcbiAgICogQGV4YW1wbGVcbiAgICogY29udHJvbGxlcjogeyB2ZXJ0aWNhbDogZmFsc2UgfVxuICAgKi9cbiAgY29udHJvbGxlcj86IG9iamVjdFxuXG4gIC8qKlxuICAgKiBkdXJhdGlvblxuICAgKiBAZGVzYyBVc2UgdG8gc2V0IHJlc3BvbnNpdmVuZXNzIG9mIHRoZSBuZXcgU2Nyb2xsTWFnaWMuU2NlbmUsIG1vYmlsZS1maXJzdCAoaWYgc2V0dGluZyBicmVha3BvaW50cylcbiAgICogTXVzdCBiZSBzdHJpbmcgZm9yIHBlcmNlbnRhZ2UsIGFuZCBudW1iZXIgZm9yIHBpeGVsLlxuICAgKiBAdHlwZSBvYmplY3RcbiAgICogQGV4YW1wbGVcbiAgICogZHVyYXRpb246ICcxMDAlJyA9IDEwMHZoXG4gICAqIGR1cmF0aW9uOiAxMDAgPSAxMDBweFxuICAgKiBkdXJhdGlvbjogeyAwOiAnNTAlJywgNzY4OiAnMTAwJSB9IC8vID0gU2Nyb2xsU2NlbmUgbGFzdHMgNTB2aCBvbiBtb2JpbGUsIDEwMCUgYWZ0ZXJcbiAgICovXG4gIGR1cmF0aW9uPzogc3RyaW5nIHwgbnVtYmVyIHwgb2JqZWN0XG5cbiAgLyoqXG4gICAqIGdzYXBcbiAgICogQGRlc2MgVXNlIHRvIHNldCBvcHRpb25zIGZvciB0aGUgZ3NhcCBhbmltYXRpb24gb2YgdGhlIFNjcm9sbE9ic2VydmVyLlxuICAgKiBAdHlwZSBvYmplY3RcbiAgICogQGV4YW1wbGVcbiAgICogZ3NhcDogeyB0aW1lbGluZTogbXlUaW1lbGluZSwgeW95bzogdHJ1ZSwgcmV2ZXJzZVNwZWVkOiAyIH1cbiAgICovXG4gIGdzYXA/OiBJU2Nyb2xsT2JzZXJ2ZXJHc2FwXG5cbiAgLyoqXG4gICAqIHRyaWdnZXJIb29rXG4gICAqIEBkZXNjIFNldCB0aGUgb2Zmc2V0IG9mIHRoZSBTY3JvbGxNYWdpYyBzY2VuZS5cbiAgICogQHR5cGUgIG51bWJlciB8IHN0cmluZ1xuICAgKiBAZGVmYXVsdHZhbHVlIDBcbiAgICogQGV4YW1wbGVcbiAgICogb2Zmc2V0OiAxMDBcbiAgICogb2Zmc2V0OiAnMTAlJ1xuICAgKi9cbiAgb2Zmc2V0PzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqXG4gICAqIHNjZW5lXG4gICAqIEBkZXNjIEV4dHJhIG9wdGlvbnMgdG8gcGFzcyB0aGUgbmV3IFNjcm9sbE1hZ2ljLlNjZW5lLCBsaWtlIGxvZ0xldmVsLCBldGMuXG4gICAqIEB0eXBlIG9iamVjdFxuICAgKiBAZXhhbXBsZVxuICAgKiBzY2VuZTogeyBsb2dMZXZlbDogMiB9XG4gICAqL1xuICBzY2VuZT86IG9iamVjdFxuXG4gIC8qKlxuICAgKiB0b2dnbGVcbiAgICogQGRlc2MgVXNlIHRvIHNldCB0aGUgb3B0aW9ucyBmb3IgdGhlIHRvZ2dsaW5nIG9mIGEgY2xhc3NOYW1lXG4gICAqIEB0eXBlIG9iamVjdFxuICAgKiBAZXhhbXBsZVxuICAgKiB0b2dnbGU6IHsgZWxlbWVudDogY29udGFpbmVyUmVmLmN1cnJlbnQsIGNsYXNzTmFtZTogJ2xldHMtZG8tdGhpcycgfVxuICAgKi9cbiAgdG9nZ2xlPzogSVNjcm9sbFNjZW5lVG9nZ2xlXG5cbiAgLyoqXG4gICAqIHRyaWdnZXJFbGVtZW50XG4gICAqIEBkZXNjIFNldCB0aGUgZWxlbWVudCB5b3Ugd2lzaCB0byB0cmlnZ2VyIGV2ZW50cyBiYXNlZCB1cG9uLCB0aGUgb2JzZXJ2ZWQgZWxlbWVudC5cbiAgICogQHR5cGUgIEhUTUxFbGVtZW50IHwgYW55XG4gICAqIEBleGFtcGxlXG4gICAqIHRyaWdnZXJFbGVtZW50OiB0cmlnZ2VyUmVmLmN1cnJlbnRcbiAgICovXG4gIHRyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCB8IGFueVxuXG4gIC8qKlxuICAgKiB0cmlnZ2VySG9va1xuICAgKiBAZGVzYyBTZXQgdGhlIHRyaWdnZXJIb29rIG9mIHRoZSBTY3JvbGxNYWdpYyBzY2VuZS5cbiAgICogQHR5cGUgIG51bWJlclxuICAgKiBAZGVmYXVsdHZhbHVlICdvbkVudGVyJ1xuICAgKiBAZXhhbXBsZVxuICAgKiB0cmlnZ2VySG9vazogMC41XG4gICAqL1xuICB0cmlnZ2VySG9vaz86IG51bWJlciB8IHN0cmluZ1xuXG4gIC8qKlxuICAgKiB1c2VHbG9iYWxDb250cm9sbGVyXG4gICAqIEBkZXNjIENob3NlIHdoZXRoZXIgb3Igbm90IHRvIHVzZSB0aGUgZ2xvYmFsQ29udHJvbGxlciBwcm92aWRlZCBmb3IgeW91LCBvciBhIGZyZXNoIG5ldyBTY3JvbGxNYWdpYy5Db250cm9sbGVyIGluc3RhbmNlLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0VmFsdWUgdHJ1ZVxuICAgKiBAZXhhbXBsZVxuICAgKiB1c2VHbG9iYWxDb250cm9sbGVyOiBmYWxzZVxuICAgKi9cbiAgdXNlR2xvYmFsQ29udHJvbGxlcj86IGJvb2xlYW5cbn1cblxuLy8gYWRkIGNvbnRyb2xsZXIgdmFyXG5sZXQgZ2xvYmFsQ29udHJvbGxlclxuXG5jb25zdCBTY3JvbGxTY2VuZSA9IGZ1bmN0aW9uKFxuICB0aGlzOiBhbnksXG4gIHtcbiAgICBicmVha3BvaW50cyxcbiAgICBjb250cm9sbGVyID0ge30sXG4gICAgZHVyYXRpb24sXG4gICAgZ3NhcCxcbiAgICBvZmZzZXQsXG4gICAgc2NlbmUgPSB7fSxcbiAgICB0b2dnbGUsXG4gICAgdHJpZ2dlckVsZW1lbnQsXG4gICAgdHJpZ2dlckhvb2sgPSAnb25FbnRlcicsXG4gICAgdXNlR2xvYmFsQ29udHJvbGxlciA9IHRydWUsXG4gIH06IElTY3JvbGxTY2VuZSxcbikge1xuICBsZXQgbG9jYWxDb250cm9sbGVyXG5cbiAgLy8gY2hlY2sgaWYgdXNpbmcgYSBsb2NhbCBjb250cm9sbGVyXG4gIGlmICghdXNlR2xvYmFsQ29udHJvbGxlcikge1xuICAgIGxvY2FsQ29udHJvbGxlciA9IG5ldyBTY3JvbGxNYWdpYy5Db250cm9sbGVyKGNvbnRyb2xsZXIpXG4gIH1cblxuICAvLyBtb3VudCBjb250cm9sbGVyXG4gIGlmICghZ2xvYmFsQ29udHJvbGxlciAmJiB1c2VHbG9iYWxDb250cm9sbGVyKSB7XG4gICAgZ2xvYmFsQ29udHJvbGxlciA9IG5ldyBTY3JvbGxNYWdpYy5Db250cm9sbGVyKGNvbnRyb2xsZXIpXG4gIH1cblxuICBjb25zdCBjb250cm9sbGVySXNVc2UgPSBsb2NhbENvbnRyb2xsZXIgPyBsb2NhbENvbnRyb2xsZXIgOiBnbG9iYWxDb250cm9sbGVyXG5cbiAgaWYgKCF0cmlnZ2VyRWxlbWVudCAmJiBvZmZzZXQgPT09IHVuZGVmaW5lZCkge1xuICAgIGVycm9yTG9nKFxuICAgICAgbmFtZVNwYWNlLFxuICAgICAgYEJlIHN1cmUgdG8gc2V0IGEgY29uc3QgdHJpZ2dlckVsZW1lbnQgPSAocmVhY3RSZWYuY3VycmVudCBvciBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKSBpbiB0aGUgbmV3ICR7bmFtZVNwYWNlfSh7IHRyaWdnZXJFbGVtZW50OiB0cmlnZ2VyRWxlbWVudCB9KSBvciBzZXQgYW4gb2Zmc2V0LmAsXG4gICAgKVxuICB9XG5cbiAgY29uc3QgU2NlbmUgPSBuZXcgU2Nyb2xsTWFnaWMuU2NlbmUoe1xuICAgIHRyaWdnZXJFbGVtZW50LFxuICAgIHRyaWdnZXJIb29rLFxuICAgIG9mZnNldCxcbiAgICAuLi5zY2VuZSxcbiAgfSlcblxuICBpZiAoZHVyYXRpb24pIHtcbiAgICBzZXREdXJhdGlvbihTY2VuZSwgZHVyYXRpb24pXG4gIH1cblxuICBpZiAodG9nZ2xlICYmIGlzT2JqZWN0KHRvZ2dsZSkpIHtcbiAgICBzZXRDbGFzc05hbWUoU2NlbmUsIHRvZ2dsZSwgZHVyYXRpb24pXG4gIH1cblxuICBpZiAoZ3NhcCAmJiBpc09iamVjdChnc2FwKSkge1xuICAgIHNldFR3ZWVuKFNjZW5lLCBnc2FwKVxuICB9XG5cbiAgdGhpcy5pbml0ID0gZnVuY3Rpb24oKSB7XG4gICAgY29udHJvbGxlcklzVXNlICYmIFNjZW5lLmFkZFRvKGNvbnRyb2xsZXJJc1VzZSlcbiAgfVxuXG4gIHRoaXMuZGVzdHJveSA9IGZ1bmN0aW9uKCkge1xuICAgIFNjZW5lLnJlbW92ZSgpXG4gIH1cblxuICB0aGlzLlNjZW5lID0gU2NlbmVcbiAgdGhpcy5Db250cm9sbGVyID0gY29udHJvbGxlcklzVXNlXG5cbiAgc2Nyb2xsQW5pbWF0aW9uSW5pdChicmVha3BvaW50cywgdGhpcy5pbml0LCB0aGlzLmRlc3Ryb3kpXG59XG5cbmV4cG9ydCB7IFNjcm9sbFNjZW5lIH1cbiJdfQ==

@@ -136,4 +136,3 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";

gsap = _ref.gsap,
_ref$offset = _ref.offset,
offset = _ref$offset === void 0 ? 0 : _ref$offset,
offset = _ref.offset,
_ref$scene = _ref.scene,

@@ -159,4 +158,4 @@ scene = _ref$scene === void 0 ? {} : _ref$scene,

if (!triggerElement) {
errorLog(nameSpace, "Be sure to set a const triggerElement = (reactRef.current or document.querySelector) in the new ".concat(nameSpace, "({ triggerElement: triggerElement })"));
if (!triggerElement && offset === undefined) {
errorLog(nameSpace, "Be sure to set a const triggerElement = (reactRef.current or document.querySelector) in the new ".concat(nameSpace, "({ triggerElement: triggerElement }) or set an offset."));
}

@@ -196,2 +195,2 @@

export { ScrollScene };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY3JvbGxTY2VuZS50cyJdLCJuYW1lcyI6WyJTY3JvbGxNYWdpYyIsInRocm90dGxlIiwiZXJyb3JMb2ciLCJpc09iamVjdCIsInNjcm9sbEFuaW1hdGlvbkluaXQiLCJuYW1lU3BhY2UiLCJ1cGRhdGVUd2VlblByb2dyZXNzIiwiU2NlbmUiLCJUd2VlbiIsImdzYXBGb3J3YXJkU3BlZWQiLCJnc2FwUmV2ZXJzZVNwZWVkIiwicHJvZ3Jlc3MiLCJzdGF0ZSIsInJlcGVhdCIsInBhdXNlZCIsInRpbWVTY2FsZSIsInBsYXkiLCJwYXVzZSIsImR1cmF0aW9uIiwicmV2ZXJzZSIsInJlbW92ZVR3ZWVuIiwia2lsbCIsInNldER1cmF0aW9uIiwia2V5cyIsIk9iamVjdCIsImZuIiwiaW5kZXgiLCJsZW5ndGgiLCJicmVha3BvaW50IiwicGFyc2VGbG9hdCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0Q2xhc3NOYW1lIiwib3B0aW9ucyIsInRvZ2dsZSIsImNsYXNzTmFtZSIsImVsZW1lbnQiLCJhZGRDbGFzc05hbWUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsImFkZCIsInJlbW92ZUNsYXNzTmFtZSIsInJlbW92ZSIsIm9uIiwiZXZlbnQiLCJzY3JvbGxEaXJlY3Rpb24iLCJzZXRUd2VlbiIsImdzYXAiLCJmb3J3YXJkU3BlZWQiLCJyZXZlcnNlU3BlZWQiLCJ0aW1lbGluZSIsImdsb2JhbENvbnRyb2xsZXIiLCJTY3JvbGxTY2VuZSIsImJyZWFrcG9pbnRzIiwiY29udHJvbGxlciIsIm9mZnNldCIsInNjZW5lIiwidHJpZ2dlckVsZW1lbnQiLCJ0cmlnZ2VySG9vayIsInVzZUdsb2JhbENvbnRyb2xsZXIiLCJsb2NhbENvbnRyb2xsZXIiLCJDb250cm9sbGVyIiwiY29udHJvbGxlcklzVXNlIiwiaW5pdCIsImFkZFRvIiwiZGVzdHJveSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBT0EsV0FBUDtB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QUNabUQsSUFBQUEsY0FBYyxFQUFkQSxjQURZO0FBRVpDLElBQUFBLFdBQVcsRUFBWEEsV0FGWTtBQUdaSCxJQUFBQSxNQUFNLEVBQU5BO0FBSFksS0FJVEMsS0FKUyxFQUFkOztBQU9BLE1BQUl2QyxRQUFKLEVBQWM7QUFDWkksSUFBQUEsV0FBVyxDQUFDZixLQUFELEVBQVFXLFFBQVIsQ0FBWDtBQUNEOztBQUVELE1BQUlpQixNQUFNLElBQUloQyxRQUFRLENBQUNnQyxNQUFELENBQXRCLEVBQWdDO0FBQzlCRixJQUFBQSxZQUFZLENBQUMxQixLQUFELEVBQVE0QixNQUFSLEVBQWdCakIsUUFBaEIsQ0FBWjtBQUNEOztBQUVELE1BQUk4QixJQUFJLElBQUk3QyxRQUFRLENBQUM2QyxJQUFELENBQXBCLEVBQTRCO0FBQzFCRCxJQUFBQSxRQUFRLENBQUN4QyxLQUFELEVBQVF5QyxJQUFSLENBQVI7QUFDRDs7QUFFRCxPQUFLZ0IsSUFBTCxHQUFZLFlBQVc7QUFDckJELElBQUFBLGVBQWUsSUFBSXhELEtBQUssQ0FBQzBELEtBQU4sQ0FBWUYsZUFBWixDQUFuQjtBQUNELEdBRkQ7O0FBSUEsT0FBS0csT0FBTCxHQUFlLFlBQVc7QUFDeEIzRCxJQUFBQSxLQUFLLENBQUNvQyxNQUFOO0FBQ0QsR0FGRDs7QUFJQSxPQUFLcEMsS0FBTCxHQUFhQSxLQUFiO0FBQ0EsT0FBS3VELFVBQUwsR0FBa0JDLGVBQWxCO0FBRUEzRCxFQUFBQSxtQkFBbUIsQ0FBQ2tELFdBQUQsRUFBYyxLQUFLVSxJQUFuQixFQUF5QixLQUFLRSxPQUE5QixDQUFuQjtBQUNELENBbkVEOztBQXFFQSxTQUFTYixXQUFUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFNjcm9sbE1hZ2ljIGZyb20gJy4vc2Nyb2xsbWFnaWMtd2l0aC1zc3InXG5pbXBvcnQgdGhyb3R0bGUgZnJvbSAnbG9kYXNoLnRocm90dGxlJ1xuaW1wb3J0IHsgZXJyb3JMb2csIGlzT2JqZWN0LCBzY3JvbGxBbmltYXRpb25Jbml0IH0gZnJvbSAnLi9oZWxwZXJzJ1xuaW1wb3J0IHsgSVNjcm9sbE9ic2VydmVyVG9nZ2xlLCBJU2Nyb2xsT2JzZXJ2ZXJHc2FwIH0gZnJvbSAnLi9TY3JvbGxPYnNlcnZlcidcblxuY29uc3QgbmFtZVNwYWNlID0gJ1Njcm9sbFNjZW5lJ1xuXG5jb25zdCB1cGRhdGVUd2VlblByb2dyZXNzID0gZnVuY3Rpb24oU2NlbmUsIFR3ZWVuLCBnc2FwRm9yd2FyZFNwZWVkLCBnc2FwUmV2ZXJzZVNwZWVkKSB7XG4gIGlmIChUd2Vlbikge1xuICAgIGNvbnN0IHByb2dyZXNzID0gU2NlbmUucHJvZ3Jlc3MoKVxuICAgIGNvbnN0IHN0YXRlID0gU2NlbmUuc3RhdGUoKVxuICAgIGlmIChUd2Vlbi5yZXBlYXQgJiYgVHdlZW4ucmVwZWF0KCkgPT09IC0xKSB7XG4gICAgICAvLyBpbmZpbml0ZSBsb29wLCBzbyBub3QgaW4gcmVsYXRpb24gdG8gcHJvZ3Jlc3NcbiAgICAgIGlmIChzdGF0ZSA9PT0gJ0RVUklORycgJiYgVHdlZW4ucGF1c2VkKCkpIHtcbiAgICAgICAgVHdlZW4udGltZVNjYWxlKGdzYXBGb3J3YXJkU3BlZWQpLnBsYXkoKVxuICAgICAgfSBlbHNlIGlmIChzdGF0ZSAhPT0gJ0RVUklORycgJiYgIVR3ZWVuLnBhdXNlZCgpKSB7XG4gICAgICAgIFR3ZWVuLnBhdXNlKClcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb2dyZXNzICE9IFR3ZWVuLnByb2dyZXNzKCkpIHtcbiAgICAgIC8vIGRvIHdlIGV2ZW4gbmVlZCB0byB1cGRhdGUgdGhlIHByb2dyZXNzP1xuICAgICAgLy8gbm8gaW5maW5pdGUgbG9vcCAtIHNvIHNob3VsZCB3ZSBqdXN0IHBsYXkgb3IgZ28gdG8gYSBzcGVjaWZpYyBwb2ludCBpbiB0aW1lP1xuICAgICAgaWYgKFNjZW5lLmR1cmF0aW9uKCkgPT09IDApIHtcbiAgICAgICAgLy8gcGxheSB0aGUgYW5pbWF0aW9uXG4gICAgICAgIGlmIChwcm9ncmVzcyA+IDApIHtcbiAgICAgICAgICAvLyBwbGF5IGZyb20gMCB0byAxXG4gICAgICAgICAgVHdlZW4udGltZVNjYWxlKGdzYXBGb3J3YXJkU3BlZWQpLnBsYXkoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHBsYXkgZnJvbSAxIHRvIDBcbiAgICAgICAgICBUd2Vlbi50aW1lU2NhbGUoZ3NhcFJldmVyc2VTcGVlZCkucmV2ZXJzZSgpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGdvIHRvIGEgc3BlY2lmaWMgcG9pbnQgaW4gdGltZVxuICAgICAgICAvLyBqdXN0IGhhcmQgc2V0IGl0XG4gICAgICAgIFR3ZWVuLnByb2dyZXNzKHByb2dyZXNzKS5wYXVzZSgpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IHJlbW92ZVR3ZWVuID0gZnVuY3Rpb24oVHdlZW4pIHtcbiAgaWYgKFR3ZWVuKSB7XG4gICAgVHdlZW4ucGF1c2UoMClcbiAgICBUd2Vlbi5raWxsKClcbiAgfVxufVxuXG5jb25zdCBzZXREdXJhdGlvbiA9IChTY2VuZSwgZHVyYXRpb24pID0+IHtcbiAgaWYgKGlzT2JqZWN0KGR1cmF0aW9uKSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhkdXJhdGlvbikucmV2ZXJzZSgpXG5cbiAgICBjb25zdCBmbiA9ICgpID0+IHtcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBrZXlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBicmVha3BvaW50ID0gcGFyc2VGbG9hdChrZXlzW2luZGV4XSlcblxuICAgICAgICBpZiAoYnJlYWtwb2ludCA8PSB3aW5kb3cuaW5uZXJXaWR0aCkge1xuICAgICAgICAgIFNjZW5lLmR1cmF0aW9uKGR1cmF0aW9uW2JyZWFrcG9pbnRdKVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmbigpXG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhyb3R0bGUoZm4sIDcwMCkpXG4gIH0gZWxzZSB7XG4gICAgU2NlbmUuZHVyYXRpb24oZHVyYXRpb24pXG4gIH1cbn1cblxuY29uc3Qgc2V0Q2xhc3NOYW1lID0gKFNjZW5lLCBvcHRpb25zLCBkdXJhdGlvbikgPT4ge1xuICBjb25zdCB0b2dnbGUgPSB7XG4gICAgY2xhc3NOYW1lOiBudWxsLFxuICAgIGVsZW1lbnQ6IG51bGwsXG4gICAgcmV2ZXJzZTogZmFsc2UsXG4gICAgLi4ub3B0aW9ucyxcbiAgfVxuXG4gIGlmICghdG9nZ2xlLmNsYXNzTmFtZSkge1xuICAgIGVycm9yTG9nKG5hbWVTcGFjZSwgYEJlIHN1cmUgdG8gc2V0IGEgY2xhc3NOYW1lIGluIHRoZSBuZXcgJHtuYW1lU3BhY2V9KHsgdG9nZ2xlOiB7IGNsYXNzTmFtZTogXCJteS1jbGFzc1wiIH0gfSlgKVxuICB9XG5cbiAgaWYgKCF0b2dnbGUuZWxlbWVudCkge1xuICAgIGVycm9yTG9nKFxuICAgICAgbmFtZVNwYWNlLFxuICAgICAgYEJlIHN1cmUgdG8gc2V0IGEgY29uc3QgdG9nZ2xlRWxlbWVudCA9IChyZWFjdFJlZi5jdXJyZW50IG9yIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IpIGluIHRoZSBuZXcgJHtuYW1lU3BhY2V9KHsgdG9nZ2xlOiB7IGVsZW1lbnQ6IHRvZ2dsZUVsZW1lbnQgfSB9KWAsXG4gICAgKVxuICB9XG5cbiAgY29uc3QgYWRkQ2xhc3NOYW1lID0gKCkgPT5cbiAgICAhdG9nZ2xlLmVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKHRvZ2dsZS5jbGFzc05hbWUpICYmIHRvZ2dsZS5lbGVtZW50LmNsYXNzTGlzdC5hZGQodG9nZ2xlLmNsYXNzTmFtZSlcblxuICBjb25zdCByZW1vdmVDbGFzc05hbWUgPSAoKSA9PlxuICAgIHRvZ2dsZS5lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyh0b2dnbGUuY2xhc3NOYW1lKSAmJiB0b2dnbGUuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRvZ2dsZS5jbGFzc05hbWUpXG5cbiAgU2NlbmUub24oJ2VudGVyJywgZnVuY3Rpb24oKSB7XG4gICAgYWRkQ2xhc3NOYW1lKClcbiAgfSlcblxuICBTY2VuZS5vbignYWRkJywgZnVuY3Rpb24oKSB7XG4gICAgaWYgKFNjZW5lLnN0YXRlKCkgPT09ICdEVVJJTkcnKSB7XG4gICAgICBhZGRDbGFzc05hbWUoKVxuICAgIH1cbiAgfSlcblxuICBTY2VuZS5vbignbGVhdmUnLCBmdW5jdGlvbihldmVudCkge1xuICAgIGlmICghdG9nZ2xlLnJldmVyc2UgJiYgZHVyYXRpb24pIHtcbiAgICAgIC8vIG5lZWRzIHRvIGJlIGJhc2VkIG9uIHdoZXRoZXIgb3Igbm90IHdlIGhhdmUgYSBkdXJhdGlvblxuICAgICAgZXZlbnQuc2Nyb2xsRGlyZWN0aW9uID09PSAnUkVWRVJTRScgJiYgcmVtb3ZlQ2xhc3NOYW1lKClcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlQ2xhc3NOYW1lKClcbiAgICB9XG4gIH0pXG5cbiAgU2NlbmUub24oJ3JlbW92ZScsIGZ1bmN0aW9uKCkge1xuICAgIHJlbW92ZUNsYXNzTmFtZSgpXG4gIH0pXG59XG5cbmNvbnN0IHNldFR3ZWVuID0gKFNjZW5lLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IGdzYXAgPSB7XG4gICAgZm9yd2FyZFNwZWVkOiAxLFxuICAgIHJldmVyc2VTcGVlZDogMSxcbiAgICB0aW1lbGluZTogbnVsbCxcbiAgICAuLi5vcHRpb25zLFxuICB9XG5cbiAgaWYgKCFnc2FwLnRpbWVsaW5lKSB7XG4gICAgZXJyb3JMb2coXG4gICAgICBuYW1lU3BhY2UsXG4gICAgICBgQmUgc3VyZSB0byBzZXQgYSBjb25zdCB0bCA9IGdzYXAudGltZWxpbmUoeyBwYXVzZWQ6IHRydWUgfSkgaW4gdGhlIG5ldyAke25hbWVTcGFjZX0oeyBnc2FwOiB7IHRpbWVsaW5lOiB0bCB9IH0pYCxcbiAgICApXG4gIH1cblxuICBTY2VuZS5vbigncHJvZ3Jlc3MnLCBmdW5jdGlvbigpIHtcbiAgICB1cGRhdGVUd2VlblByb2dyZXNzKFNjZW5lLCBnc2FwLnRpbWVsaW5lLCBnc2FwLmZvcndhcmRTcGVlZCwgZ3NhcC5yZXZlcnNlU3BlZWQpXG4gIH0pXG5cbiAgU2NlbmUub24oJ3JlbW92ZScsIGZ1bmN0aW9uKCkge1xuICAgIHJlbW92ZVR3ZWVuKGdzYXAudGltZWxpbmUpXG4gIH0pXG59XG5cbmludGVyZmFjZSBJU2Nyb2xsU2NlbmVUb2dnbGUgZXh0ZW5kcyBJU2Nyb2xsT2JzZXJ2ZXJUb2dnbGUge1xuICAvKipcbiAgICogcmV2ZXJzZVxuICAgKiBAZGVzYyBTcGVjaWZ5IHRoZSBjbGFzc05hbWUgc2hvdWxkIGJlIHJlbW92ZWQgYWZ0ZXIgdGhlIGR1cmF0aW9uIG9mIHNjZW5lIGlzIG1ldC4gT25seSBhcHBsaWVzIGlmIHNjZW5lIGhhcyBkdXJhdGlvbi5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZXhhbXBsZVxuICAgKiB0b2dnbGU6IHsgcmV2ZXJzZTogdHJ1ZSB9XG4gICAqL1xuICByZXZlcnNlPzogYm9vbGVhblxufVxuXG5pbnRlcmZhY2UgSVNjcm9sbFNjZW5lIHtcbiAgLyoqXG4gICAqIGJyZWFrcG9pbnRzXG4gICAqIEBkZXNjIFVzZSB0byBzZXQgcmVzcG9uc2l2ZW5lc3Mgb2YgdGhlIG5ldyBTY3JvbGxNYWdpYy5TY2VuZSwgbW9iaWxlLWZpcnN0XG4gICAqIEB0eXBlIG9iamVjdFxuICAgKiBAZXhhbXBsZVxuICAgKiBicmVha3BvaW50czogeyAwOiBmYWxzZSwgNzY4OiB0cnVlIH1cbiAgICovXG4gIGJyZWFrcG9pbnRzPzogb2JqZWN0XG5cbiAgLyoqXG4gICAqIGNvbnRyb2xsZXJcbiAgICogQGRlc2MgRXh0cmEgb3B0aW9ucyB0byBwYXNzIHRoZSBuZXcgU2Nyb2xsTWFnaWMuQ29udHJvbGxlciwgbGlrZSB2ZXJ0aWNhbCwgZXRjLlxuICAgKiBAdHlwZSBvYmplY3RcbiAgICogQGV4YW1wbGVcbiAgICogY29udHJvbGxlcjogeyB2ZXJ0aWNhbDogZmFsc2UgfVxuICAgKi9cbiAgY29udHJvbGxlcj86IG9iamVjdFxuXG4gIC8qKlxuICAgKiBkdXJhdGlvblxuICAgKiBAZGVzYyBVc2UgdG8gc2V0IHJlc3BvbnNpdmVuZXNzIG9mIHRoZSBuZXcgU2Nyb2xsTWFnaWMuU2NlbmUsIG1vYmlsZS1maXJzdCAoaWYgc2V0dGluZyBicmVha3BvaW50cylcbiAgICogTXVzdCBiZSBzdHJpbmcgZm9yIHBlcmNlbnRhZ2UsIGFuZCBudW1iZXIgZm9yIHBpeGVsLlxuICAgKiBAdHlwZSBvYmplY3RcbiAgICogQGV4YW1wbGVcbiAgICogZHVyYXRpb246ICcxMDAlJyA9IDEwMHZoXG4gICAqIGR1cmF0aW9uOiAxMDAgPSAxMDBweFxuICAgKiBkdXJhdGlvbjogeyAwOiAnNTAlJywgNzY4OiAnMTAwJSB9IC8vID0gU2Nyb2xsU2NlbmUgbGFzdHMgNTB2aCBvbiBtb2JpbGUsIDEwMCUgYWZ0ZXJcbiAgICovXG4gIGR1cmF0aW9uPzogc3RyaW5nIHwgbnVtYmVyIHwgb2JqZWN0XG5cbiAgLyoqXG4gICAqIGdzYXBcbiAgICogQGRlc2MgVXNlIHRvIHNldCBvcHRpb25zIGZvciB0aGUgZ3NhcCBhbmltYXRpb24gb2YgdGhlIFNjcm9sbE9ic2VydmVyLlxuICAgKiBAdHlwZSBvYmplY3RcbiAgICogQGV4YW1wbGVcbiAgICogZ3NhcDogeyB0aW1lbGluZTogbXlUaW1lbGluZSwgeW95bzogdHJ1ZSwgcmV2ZXJzZVNwZWVkOiAyIH1cbiAgICovXG4gIGdzYXA/OiBJU2Nyb2xsT2JzZXJ2ZXJHc2FwXG5cbiAgLyoqXG4gICAqIHRyaWdnZXJIb29rXG4gICAqIEBkZXNjIFNldCB0aGUgb2Zmc2V0IG9mIHRoZSBTY3JvbGxNYWdpYyBzY2VuZS5cbiAgICogQHR5cGUgIG51bWJlciB8IHN0cmluZ1xuICAgKiBAZGVmYXVsdHZhbHVlIDBcbiAgICogQGV4YW1wbGVcbiAgICogb2Zmc2V0OiAxMDBcbiAgICogb2Zmc2V0OiAnMTAlJ1xuICAgKi9cbiAgb2Zmc2V0PzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqXG4gICAqIHNjZW5lXG4gICAqIEBkZXNjIEV4dHJhIG9wdGlvbnMgdG8gcGFzcyB0aGUgbmV3IFNjcm9sbE1hZ2ljLlNjZW5lLCBsaWtlIGxvZ0xldmVsLCBldGMuXG4gICAqIEB0eXBlIG9iamVjdFxuICAgKiBAZXhhbXBsZVxuICAgKiBzY2VuZTogeyBsb2dMZXZlbDogMiB9XG4gICAqL1xuICBzY2VuZT86IG9iamVjdFxuXG4gIC8qKlxuICAgKiB0b2dnbGVcbiAgICogQGRlc2MgVXNlIHRvIHNldCB0aGUgb3B0aW9ucyBmb3IgdGhlIHRvZ2dsaW5nIG9mIGEgY2xhc3NOYW1lXG4gICAqIEB0eXBlIG9iamVjdFxuICAgKiBAZXhhbXBsZVxuICAgKiB0b2dnbGU6IHsgZWxlbWVudDogY29udGFpbmVyUmVmLmN1cnJlbnQsIGNsYXNzTmFtZTogJ2xldHMtZG8tdGhpcycgfVxuICAgKi9cbiAgdG9nZ2xlPzogSVNjcm9sbFNjZW5lVG9nZ2xlXG5cbiAgLyoqXG4gICAqIHRyaWdnZXJFbGVtZW50XG4gICAqIEBkZXNjIFNldCB0aGUgZWxlbWVudCB5b3Ugd2lzaCB0byB0cmlnZ2VyIGV2ZW50cyBiYXNlZCB1cG9uLCB0aGUgb2JzZXJ2ZWQgZWxlbWVudC5cbiAgICogQHR5cGUgIEhUTUxFbGVtZW50IHwgYW55XG4gICAqIEBleGFtcGxlXG4gICAqIHRyaWdnZXJFbGVtZW50OiB0cmlnZ2VyUmVmLmN1cnJlbnRcbiAgICovXG4gIHRyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCB8IGFueVxuXG4gIC8qKlxuICAgKiB0cmlnZ2VySG9va1xuICAgKiBAZGVzYyBTZXQgdGhlIHRyaWdnZXJIb29rIG9mIHRoZSBTY3JvbGxNYWdpYyBzY2VuZS5cbiAgICogQHR5cGUgIG51bWJlclxuICAgKiBAZGVmYXVsdHZhbHVlICdvbkVudGVyJ1xuICAgKiBAZXhhbXBsZVxuICAgKiB0cmlnZ2VySG9vazogMC41XG4gICAqL1xuICB0cmlnZ2VySG9vaz86IG51bWJlciB8IHN0cmluZ1xuXG4gIC8qKlxuICAgKiB1c2VHbG9iYWxDb250cm9sbGVyXG4gICAqIEBkZXNjIENob3NlIHdoZXRoZXIgb3Igbm90IHRvIHVzZSB0aGUgZ2xvYmFsQ29udHJvbGxlciBwcm92aWRlZCBmb3IgeW91LCBvciBhIGZyZXNoIG5ldyBTY3JvbGxNYWdpYy5Db250cm9sbGVyIGluc3RhbmNlLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0VmFsdWUgdHJ1ZVxuICAgKiBAZXhhbXBsZVxuICAgKiB1c2VHbG9iYWxDb250cm9sbGVyOiBmYWxzZVxuICAgKi9cbiAgdXNlR2xvYmFsQ29udHJvbGxlcj86IGJvb2xlYW5cbn1cblxuLy8gYWRkIGNvbnRyb2xsZXIgdmFyXG5sZXQgZ2xvYmFsQ29udHJvbGxlclxuXG5jb25zdCBTY3JvbGxTY2VuZSA9IGZ1bmN0aW9uKFxuICB0aGlzOiBhbnksXG4gIHtcbiAgICBicmVha3BvaW50cyxcbiAgICBjb250cm9sbGVyID0ge30sXG4gICAgZHVyYXRpb24sXG4gICAgZ3NhcCxcbiAgICBvZmZzZXQgPSAwLFxuICAgIHNjZW5lID0ge30sXG4gICAgdG9nZ2xlLFxuICAgIHRyaWdnZXJFbGVtZW50LFxuICAgIHRyaWdnZXJIb29rID0gJ29uRW50ZXInLFxuICAgIHVzZUdsb2JhbENvbnRyb2xsZXIgPSB0cnVlLFxuICB9OiBJU2Nyb2xsU2NlbmUsXG4pIHtcbiAgbGV0IGxvY2FsQ29udHJvbGxlclxuXG4gIC8vIGNoZWNrIGlmIHVzaW5nIGEgbG9jYWwgY29udHJvbGxlclxuICBpZiAoIXVzZUdsb2JhbENvbnRyb2xsZXIpIHtcbiAgICBsb2NhbENvbnRyb2xsZXIgPSBuZXcgU2Nyb2xsTWFnaWMuQ29udHJvbGxlcihjb250cm9sbGVyKVxuICB9XG5cbiAgLy8gbW91bnQgY29udHJvbGxlclxuICBpZiAoIWdsb2JhbENvbnRyb2xsZXIgJiYgdXNlR2xvYmFsQ29udHJvbGxlcikge1xuICAgIGdsb2JhbENvbnRyb2xsZXIgPSBuZXcgU2Nyb2xsTWFnaWMuQ29udHJvbGxlcihjb250cm9sbGVyKVxuICB9XG5cbiAgY29uc3QgY29udHJvbGxlcklzVXNlID0gbG9jYWxDb250cm9sbGVyID8gbG9jYWxDb250cm9sbGVyIDogZ2xvYmFsQ29udHJvbGxlclxuXG4gIGlmICghdHJpZ2dlckVsZW1lbnQpIHtcbiAgICBlcnJvckxvZyhcbiAgICAgIG5hbWVTcGFjZSxcbiAgICAgIGBCZSBzdXJlIHRvIHNldCBhIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gKHJlYWN0UmVmLmN1cnJlbnQgb3IgZG9jdW1lbnQucXVlcnlTZWxlY3RvcikgaW4gdGhlIG5ldyAke25hbWVTcGFjZX0oeyB0cmlnZ2VyRWxlbWVudDogdHJpZ2dlckVsZW1lbnQgfSlgLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IFNjZW5lID0gbmV3IFNjcm9sbE1hZ2ljLlNjZW5lKHtcbiAgICB0cmlnZ2VyRWxlbWVudCxcbiAgICB0cmlnZ2VySG9vayxcbiAgICBvZmZzZXQsXG4gICAgLi4uc2NlbmUsXG4gIH0pXG5cbiAgaWYgKGR1cmF0aW9uKSB7XG4gICAgc2V0RHVyYXRpb24oU2NlbmUsIGR1cmF0aW9uKVxuICB9XG5cbiAgaWYgKHRvZ2dsZSAmJiBpc09iamVjdCh0b2dnbGUpKSB7XG4gICAgc2V0Q2xhc3NOYW1lKFNjZW5lLCB0b2dnbGUsIGR1cmF0aW9uKVxuICB9XG5cbiAgaWYgKGdzYXAgJiYgaXNPYmplY3QoZ3NhcCkpIHtcbiAgICBzZXRUd2VlbihTY2VuZSwgZ3NhcClcbiAgfVxuXG4gIHRoaXMuaW5pdCA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnRyb2xsZXJJc1VzZSAmJiBTY2VuZS5hZGRUbyhjb250cm9sbGVySXNVc2UpXG4gIH1cblxuICB0aGlzLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHtcbiAgICBTY2VuZS5yZW1vdmUoKVxuICB9XG5cbiAgdGhpcy5TY2VuZSA9IFNjZW5lXG4gIHRoaXMuQ29udHJvbGxlciA9IGNvbnRyb2xsZXJJc1VzZVxuXG4gIHNjcm9sbEFuaW1hdGlvbkluaXQoYnJlYWtwb2ludHMsIHRoaXMuaW5pdCwgdGhpcy5kZXN0cm95KVxufVxuXG5leHBvcnQgeyBTY3JvbGxTY2VuZSB9XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY3JvbGxTY2VuZS50cyJdLCJuYW1lcyI6WyJTY3JvbGxNYWdpYyIsInRocm90dGxlIiwiZXJyb3JMb2ciLCJpc09iamVjdCIsInNjcm9sbEFuaW1hdGlvbkluaXQiLCJuYW1lU3BhY2UiLCJ1cGRhdGVUd2VlblByb2dyZXNzIiwiU2NlbmUiLCJUd2VlbiIsImdzYXBGb3J3YXJkU3BlZWQiLCJnc2FwUmV2ZXJzZVNwZWVkIiwicHJvZ3Jlc3MiLCJzdGF0ZSIsInJlcGVhdCIsInBhdXNlZCIsInRpbWVTY2FsZSIsInBsYXkiLCJwYXVzZSIsImR1cmF0aW9uIiwicmV2ZXJzZSIsInJlbW92ZVR3ZWVuIiwia2lsbCIsInNldER1cmF0aW9uIiwia2V5cyIsIk9iamVjdCIsImZuIiwiaW5kZXgiLCJsZW5ndGgiLCJicmVha3BvaW50IiwicGFyc2VGbG9hdCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0Q2xhc3NOYW1lIiwib3B0aW9ucyIsInRvZ2dsZSIsImNsYXNzTmFtZSIsImVsZW1lbnQiLCJhZGRDbGFzc05hbWUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsImFkZCIsInJlbW92ZUNsYXNzTmFtZSIsInJlbW92ZSIsIm9uIiwiZXZlbnQiLCJzY3JvbGxEaXJlY3Rpb24iLCJzZXRUd2VlbiIsImdzYXAiLCJmb3J3YXJkU3BlZWQiLCJyZXZlcnNlU3BlZWQiLCJ0aW1lbGluZSIsImdsb2JhbENvbnRyb2xsZXIiLCJTY3JvbGxTY2VuZSIsImJyZWFrcG9pbnRzIiwiY29udHJvbGxlciIsIm9mZnNldCIsInNjZW5lIiwidHJpZ2dlckVsZW1lbnQiLCJ0cmlnZ2VySG9vayIsInVzZUdsb2JhbENvbnRyb2xsZXIiLCJsb2NhbENvbnRyb2xsZXIiLCJDb250cm9sbGVyIiwiY29udHJvbGxlcklzVXNlIiwidW5kZWZpbmVkIiwiaW5pdCIsImFkZFRvIiwiZGVzdHJveSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEs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LFdBQVcsQ0FBQ08sS0FBaEI7QUFDWm1ELElBQUFBLGNBQWMsRUFBZEEsY0FEWTtBQUVaQyxJQUFBQSxXQUFXLEVBQVhBLFdBRlk7QUFHWkgsSUFBQUEsTUFBTSxFQUFOQTtBQUhZLEtBSVRDLEtBSlMsRUFBZDs7QUFPQSxNQUFJdkMsUUFBSixFQUFjO0FBQ1pJLElBQUFBLFdBQVcsQ0FBQ2YsS0FBRCxFQUFRVyxRQUFSLENBQVg7QUFDRDs7QUFFRCxNQUFJaUIsTUFBTSxJQUFJaEMsUUFBUSxDQUFDZ0MsTUFBRCxDQUF0QixFQUFnQztBQUM5QkYsSUFBQUEsWUFBWSxDQUFDMUIsS0FBRCxFQUFRNEIsTUFBUixFQUFnQmpCLFFBQWhCLENBQVo7QUFDRDs7QUFFRCxNQUFJOEIsSUFBSSxJQUFJN0MsUUFBUSxDQUFDNkMsSUFBRCxDQUFwQixFQUE0QjtBQUMxQkQsSUFBQUEsUUFBUSxDQUFDeEMsS0FBRCxFQUFReUMsSUFBUixDQUFSO0FBQ0Q7O0FBRUQsT0FBS2lCLElBQUwsR0FBWSxZQUFXO0FBQ3JCRixJQUFBQSxlQUFlLElBQUl4RCxLQUFLLENBQUMyRCxLQUFOLENBQVlILGVBQVosQ0FBbkI7QUFDRCxHQUZEOztBQUlBLE9BQUtJLE9BQUwsR0FBZSxZQUFXO0FBQ3hCNUQsSUFBQUEsS0FBSyxDQUFDb0MsTUFBTjtBQUNELEdBRkQ7O0FBSUEsT0FBS3BDLEtBQUwsR0FBYUEsS0FBYjtBQUNBLE9BQUt1RCxVQUFMLEdBQWtCQyxlQUFsQjtBQUVBM0QsRUFBQUEsbUJBQW1CLENBQUNrRCxXQUFELEVBQWMsS0FBS1csSUFBbkIsRUFBeUIsS0FBS0UsT0FBOUIsQ0FBbkI7QUFDRCxDQW5FRDs7QUFxRUEsU0FBU2QsV0FBVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTY3JvbGxNYWdpYyBmcm9tICcuL3Njcm9sbG1hZ2ljLXdpdGgtc3NyJ1xuaW1wb3J0IHRocm90dGxlIGZyb20gJ2xvZGFzaC50aHJvdHRsZSdcbmltcG9ydCB7IGVycm9yTG9nLCBpc09iamVjdCwgc2Nyb2xsQW5pbWF0aW9uSW5pdCB9IGZyb20gJy4vaGVscGVycydcbmltcG9ydCB7IElTY3JvbGxPYnNlcnZlclRvZ2dsZSwgSVNjcm9sbE9ic2VydmVyR3NhcCB9IGZyb20gJy4vU2Nyb2xsT2JzZXJ2ZXInXG5cbmNvbnN0IG5hbWVTcGFjZSA9ICdTY3JvbGxTY2VuZSdcblxuY29uc3QgdXBkYXRlVHdlZW5Qcm9ncmVzcyA9IGZ1bmN0aW9uKFNjZW5lLCBUd2VlbiwgZ3NhcEZvcndhcmRTcGVlZCwgZ3NhcFJldmVyc2VTcGVlZCkge1xuICBpZiAoVHdlZW4pIHtcbiAgICBjb25zdCBwcm9ncmVzcyA9IFNjZW5lLnByb2dyZXNzKClcbiAgICBjb25zdCBzdGF0ZSA9IFNjZW5lLnN0YXRlKClcbiAgICBpZiAoVHdlZW4ucmVwZWF0ICYmIFR3ZWVuLnJlcGVhdCgpID09PSAtMSkge1xuICAgICAgLy8gaW5maW5pdGUgbG9vcCwgc28gbm90IGluIHJlbGF0aW9uIHRvIHByb2dyZXNzXG4gICAgICBpZiAoc3RhdGUgPT09ICdEVVJJTkcnICYmIFR3ZWVuLnBhdXNlZCgpKSB7XG4gICAgICAgIFR3ZWVuLnRpbWVTY2FsZShnc2FwRm9yd2FyZFNwZWVkKS5wbGF5KClcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUgIT09ICdEVVJJTkcnICYmICFUd2Vlbi5wYXVzZWQoKSkge1xuICAgICAgICBUd2Vlbi5wYXVzZSgpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9ncmVzcyAhPSBUd2Vlbi5wcm9ncmVzcygpKSB7XG4gICAgICAvLyBkbyB3ZSBldmVuIG5lZWQgdG8gdXBkYXRlIHRoZSBwcm9ncmVzcz9cbiAgICAgIC8vIG5vIGluZmluaXRlIGxvb3AgLSBzbyBzaG91bGQgd2UganVzdCBwbGF5IG9yIGdvIHRvIGEgc3BlY2lmaWMgcG9pbnQgaW4gdGltZT9cbiAgICAgIGlmIChTY2VuZS5kdXJhdGlvbigpID09PSAwKSB7XG4gICAgICAgIC8vIHBsYXkgdGhlIGFuaW1hdGlvblxuICAgICAgICBpZiAocHJvZ3Jlc3MgPiAwKSB7XG4gICAgICAgICAgLy8gcGxheSBmcm9tIDAgdG8gMVxuICAgICAgICAgIFR3ZWVuLnRpbWVTY2FsZShnc2FwRm9yd2FyZFNwZWVkKS5wbGF5KClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBwbGF5IGZyb20gMSB0byAwXG4gICAgICAgICAgVHdlZW4udGltZVNjYWxlKGdzYXBSZXZlcnNlU3BlZWQpLnJldmVyc2UoKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBnbyB0byBhIHNwZWNpZmljIHBvaW50IGluIHRpbWVcbiAgICAgICAgLy8ganVzdCBoYXJkIHNldCBpdFxuICAgICAgICBUd2Vlbi5wcm9ncmVzcyhwcm9ncmVzcykucGF1c2UoKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCByZW1vdmVUd2VlbiA9IGZ1bmN0aW9uKFR3ZWVuKSB7XG4gIGlmIChUd2Vlbikge1xuICAgIFR3ZWVuLnBhdXNlKDApXG4gICAgVHdlZW4ua2lsbCgpXG4gIH1cbn1cblxuY29uc3Qgc2V0RHVyYXRpb24gPSAoU2NlbmUsIGR1cmF0aW9uKSA9PiB7XG4gIGlmIChpc09iamVjdChkdXJhdGlvbikpIHtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoZHVyYXRpb24pLnJldmVyc2UoKVxuXG4gICAgY29uc3QgZm4gPSAoKSA9PiB7XG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwga2V5cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgY29uc3QgYnJlYWtwb2ludCA9IHBhcnNlRmxvYXQoa2V5c1tpbmRleF0pXG5cbiAgICAgICAgaWYgKGJyZWFrcG9pbnQgPD0gd2luZG93LmlubmVyV2lkdGgpIHtcbiAgICAgICAgICBTY2VuZS5kdXJhdGlvbihkdXJhdGlvblticmVha3BvaW50XSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm4oKVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRocm90dGxlKGZuLCA3MDApKVxuICB9IGVsc2Uge1xuICAgIFNjZW5lLmR1cmF0aW9uKGR1cmF0aW9uKVxuICB9XG59XG5cbmNvbnN0IHNldENsYXNzTmFtZSA9IChTY2VuZSwgb3B0aW9ucywgZHVyYXRpb24pID0+IHtcbiAgY29uc3QgdG9nZ2xlID0ge1xuICAgIGNsYXNzTmFtZTogbnVsbCxcbiAgICBlbGVtZW50OiBudWxsLFxuICAgIHJldmVyc2U6IGZhbHNlLFxuICAgIC4uLm9wdGlvbnMsXG4gIH1cblxuICBpZiAoIXRvZ2dsZS5jbGFzc05hbWUpIHtcbiAgICBlcnJvckxvZyhuYW1lU3BhY2UsIGBCZSBzdXJlIHRvIHNldCBhIGNsYXNzTmFtZSBpbiB0aGUgbmV3ICR7bmFtZVNwYWNlfSh7IHRvZ2dsZTogeyBjbGFzc05hbWU6IFwibXktY2xhc3NcIiB9IH0pYClcbiAgfVxuXG4gIGlmICghdG9nZ2xlLmVsZW1lbnQpIHtcbiAgICBlcnJvckxvZyhcbiAgICAgIG5hbWVTcGFjZSxcbiAgICAgIGBCZSBzdXJlIHRvIHNldCBhIGNvbnN0IHRvZ2dsZUVsZW1lbnQgPSAocmVhY3RSZWYuY3VycmVudCBvciBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKSBpbiB0aGUgbmV3ICR7bmFtZVNwYWNlfSh7IHRvZ2dsZTogeyBlbGVtZW50OiB0b2dnbGVFbGVtZW50IH0gfSlgLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IGFkZENsYXNzTmFtZSA9ICgpID0+XG4gICAgIXRvZ2dsZS5lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyh0b2dnbGUuY2xhc3NOYW1lKSAmJiB0b2dnbGUuZWxlbWVudC5jbGFzc0xpc3QuYWRkKHRvZ2dsZS5jbGFzc05hbWUpXG5cbiAgY29uc3QgcmVtb3ZlQ2xhc3NOYW1lID0gKCkgPT5cbiAgICB0b2dnbGUuZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnModG9nZ2xlLmNsYXNzTmFtZSkgJiYgdG9nZ2xlLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSh0b2dnbGUuY2xhc3NOYW1lKVxuXG4gIFNjZW5lLm9uKCdlbnRlcicsIGZ1bmN0aW9uKCkge1xuICAgIGFkZENsYXNzTmFtZSgpXG4gIH0pXG5cbiAgU2NlbmUub24oJ2FkZCcsIGZ1bmN0aW9uKCkge1xuICAgIGlmIChTY2VuZS5zdGF0ZSgpID09PSAnRFVSSU5HJykge1xuICAgICAgYWRkQ2xhc3NOYW1lKClcbiAgICB9XG4gIH0pXG5cbiAgU2NlbmUub24oJ2xlYXZlJywgZnVuY3Rpb24oZXZlbnQpIHtcbiAgICBpZiAoIXRvZ2dsZS5yZXZlcnNlICYmIGR1cmF0aW9uKSB7XG4gICAgICAvLyBuZWVkcyB0byBiZSBiYXNlZCBvbiB3aGV0aGVyIG9yIG5vdCB3ZSBoYXZlIGEgZHVyYXRpb25cbiAgICAgIGV2ZW50LnNjcm9sbERpcmVjdGlvbiA9PT0gJ1JFVkVSU0UnICYmIHJlbW92ZUNsYXNzTmFtZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbW92ZUNsYXNzTmFtZSgpXG4gICAgfVxuICB9KVxuXG4gIFNjZW5lLm9uKCdyZW1vdmUnLCBmdW5jdGlvbigpIHtcbiAgICByZW1vdmVDbGFzc05hbWUoKVxuICB9KVxufVxuXG5jb25zdCBzZXRUd2VlbiA9IChTY2VuZSwgb3B0aW9ucykgPT4ge1xuICBjb25zdCBnc2FwID0ge1xuICAgIGZvcndhcmRTcGVlZDogMSxcbiAgICByZXZlcnNlU3BlZWQ6IDEsXG4gICAgdGltZWxpbmU6IG51bGwsXG4gICAgLi4ub3B0aW9ucyxcbiAgfVxuXG4gIGlmICghZ3NhcC50aW1lbGluZSkge1xuICAgIGVycm9yTG9nKFxuICAgICAgbmFtZVNwYWNlLFxuICAgICAgYEJlIHN1cmUgdG8gc2V0IGEgY29uc3QgdGwgPSBnc2FwLnRpbWVsaW5lKHsgcGF1c2VkOiB0cnVlIH0pIGluIHRoZSBuZXcgJHtuYW1lU3BhY2V9KHsgZ3NhcDogeyB0aW1lbGluZTogdGwgfSB9KWAsXG4gICAgKVxuICB9XG5cbiAgU2NlbmUub24oJ3Byb2dyZXNzJywgZnVuY3Rpb24oKSB7XG4gICAgdXBkYXRlVHdlZW5Qcm9ncmVzcyhTY2VuZSwgZ3NhcC50aW1lbGluZSwgZ3NhcC5mb3J3YXJkU3BlZWQsIGdzYXAucmV2ZXJzZVNwZWVkKVxuICB9KVxuXG4gIFNjZW5lLm9uKCdyZW1vdmUnLCBmdW5jdGlvbigpIHtcbiAgICByZW1vdmVUd2Vlbihnc2FwLnRpbWVsaW5lKVxuICB9KVxufVxuXG5pbnRlcmZhY2UgSVNjcm9sbFNjZW5lVG9nZ2xlIGV4dGVuZHMgSVNjcm9sbE9ic2VydmVyVG9nZ2xlIHtcbiAgLyoqXG4gICAqIHJldmVyc2VcbiAgICogQGRlc2MgU3BlY2lmeSB0aGUgY2xhc3NOYW1lIHNob3VsZCBiZSByZW1vdmVkIGFmdGVyIHRoZSBkdXJhdGlvbiBvZiBzY2VuZSBpcyBtZXQuIE9ubHkgYXBwbGllcyBpZiBzY2VuZSBoYXMgZHVyYXRpb24uXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4YW1wbGVcbiAgICogdG9nZ2xlOiB7IHJldmVyc2U6IHRydWUgfVxuICAgKi9cbiAgcmV2ZXJzZT86IGJvb2xlYW5cbn1cblxuaW50ZXJmYWNlIElTY3JvbGxTY2VuZSB7XG4gIC8qKlxuICAgKiBicmVha3BvaW50c1xuICAgKiBAZGVzYyBVc2UgdG8gc2V0IHJlc3BvbnNpdmVuZXNzIG9mIHRoZSBuZXcgU2Nyb2xsTWFnaWMuU2NlbmUsIG1vYmlsZS1maXJzdFxuICAgKiBAdHlwZSBvYmplY3RcbiAgICogQGV4YW1wbGVcbiAgICogYnJlYWtwb2ludHM6IHsgMDogZmFsc2UsIDc2ODogdHJ1ZSB9XG4gICAqL1xuICBicmVha3BvaW50cz86IG9iamVjdFxuXG4gIC8qKlxuICAgKiBjb250cm9sbGVyXG4gICAqIEBkZXNjIEV4dHJhIG9wdGlvbnMgdG8gcGFzcyB0aGUgbmV3IFNjcm9sbE1hZ2ljLkNvbnRyb2xsZXIsIGxpa2UgdmVydGljYWwsIGV0Yy5cbiAgICogQHR5cGUgb2JqZWN0XG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnRyb2xsZXI6IHsgdmVydGljYWw6IGZhbHNlIH1cbiAgICovXG4gIGNvbnRyb2xsZXI/OiBvYmplY3RcblxuICAvKipcbiAgICogZHVyYXRpb25cbiAgICogQGRlc2MgVXNlIHRvIHNldCByZXNwb25zaXZlbmVzcyBvZiB0aGUgbmV3IFNjcm9sbE1hZ2ljLlNjZW5lLCBtb2JpbGUtZmlyc3QgKGlmIHNldHRpbmcgYnJlYWtwb2ludHMpXG4gICAqIE11c3QgYmUgc3RyaW5nIGZvciBwZXJjZW50YWdlLCBhbmQgbnVtYmVyIGZvciBwaXhlbC5cbiAgICogQHR5cGUgb2JqZWN0XG4gICAqIEBleGFtcGxlXG4gICAqIGR1cmF0aW9uOiAnMTAwJScgPSAxMDB2aFxuICAgKiBkdXJhdGlvbjogMTAwID0gMTAwcHhcbiAgICogZHVyYXRpb246IHsgMDogJzUwJScsIDc2ODogJzEwMCUgfSAvLyA9IFNjcm9sbFNjZW5lIGxhc3RzIDUwdmggb24gbW9iaWxlLCAxMDAlIGFmdGVyXG4gICAqL1xuICBkdXJhdGlvbj86IHN0cmluZyB8IG51bWJlciB8IG9iamVjdFxuXG4gIC8qKlxuICAgKiBnc2FwXG4gICAqIEBkZXNjIFVzZSB0byBzZXQgb3B0aW9ucyBmb3IgdGhlIGdzYXAgYW5pbWF0aW9uIG9mIHRoZSBTY3JvbGxPYnNlcnZlci5cbiAgICogQHR5cGUgb2JqZWN0XG4gICAqIEBleGFtcGxlXG4gICAqIGdzYXA6IHsgdGltZWxpbmU6IG15VGltZWxpbmUsIHlveW86IHRydWUsIHJldmVyc2VTcGVlZDogMiB9XG4gICAqL1xuICBnc2FwPzogSVNjcm9sbE9ic2VydmVyR3NhcFxuXG4gIC8qKlxuICAgKiB0cmlnZ2VySG9va1xuICAgKiBAZGVzYyBTZXQgdGhlIG9mZnNldCBvZiB0aGUgU2Nyb2xsTWFnaWMgc2NlbmUuXG4gICAqIEB0eXBlICBudW1iZXIgfCBzdHJpbmdcbiAgICogQGRlZmF1bHR2YWx1ZSAwXG4gICAqIEBleGFtcGxlXG4gICAqIG9mZnNldDogMTAwXG4gICAqIG9mZnNldDogJzEwJSdcbiAgICovXG4gIG9mZnNldD86IG51bWJlciB8IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBzY2VuZVxuICAgKiBAZGVzYyBFeHRyYSBvcHRpb25zIHRvIHBhc3MgdGhlIG5ldyBTY3JvbGxNYWdpYy5TY2VuZSwgbGlrZSBsb2dMZXZlbCwgZXRjLlxuICAgKiBAdHlwZSBvYmplY3RcbiAgICogQGV4YW1wbGVcbiAgICogc2NlbmU6IHsgbG9nTGV2ZWw6IDIgfVxuICAgKi9cbiAgc2NlbmU/OiBvYmplY3RcblxuICAvKipcbiAgICogdG9nZ2xlXG4gICAqIEBkZXNjIFVzZSB0byBzZXQgdGhlIG9wdGlvbnMgZm9yIHRoZSB0b2dnbGluZyBvZiBhIGNsYXNzTmFtZVxuICAgKiBAdHlwZSBvYmplY3RcbiAgICogQGV4YW1wbGVcbiAgICogdG9nZ2xlOiB7IGVsZW1lbnQ6IGNvbnRhaW5lclJlZi5jdXJyZW50LCBjbGFzc05hbWU6ICdsZXRzLWRvLXRoaXMnIH1cbiAgICovXG4gIHRvZ2dsZT86IElTY3JvbGxTY2VuZVRvZ2dsZVxuXG4gIC8qKlxuICAgKiB0cmlnZ2VyRWxlbWVudFxuICAgKiBAZGVzYyBTZXQgdGhlIGVsZW1lbnQgeW91IHdpc2ggdG8gdHJpZ2dlciBldmVudHMgYmFzZWQgdXBvbiwgdGhlIG9ic2VydmVkIGVsZW1lbnQuXG4gICAqIEB0eXBlICBIVE1MRWxlbWVudCB8IGFueVxuICAgKiBAZXhhbXBsZVxuICAgKiB0cmlnZ2VyRWxlbWVudDogdHJpZ2dlclJlZi5jdXJyZW50XG4gICAqL1xuICB0cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBhbnlcblxuICAvKipcbiAgICogdHJpZ2dlckhvb2tcbiAgICogQGRlc2MgU2V0IHRoZSB0cmlnZ2VySG9vayBvZiB0aGUgU2Nyb2xsTWFnaWMgc2NlbmUuXG4gICAqIEB0eXBlICBudW1iZXJcbiAgICogQGRlZmF1bHR2YWx1ZSAnb25FbnRlcidcbiAgICogQGV4YW1wbGVcbiAgICogdHJpZ2dlckhvb2s6IDAuNVxuICAgKi9cbiAgdHJpZ2dlckhvb2s/OiBudW1iZXIgfCBzdHJpbmdcblxuICAvKipcbiAgICogdXNlR2xvYmFsQ29udHJvbGxlclxuICAgKiBAZGVzYyBDaG9zZSB3aGV0aGVyIG9yIG5vdCB0byB1c2UgdGhlIGdsb2JhbENvbnRyb2xsZXIgcHJvdmlkZWQgZm9yIHlvdSwgb3IgYSBmcmVzaCBuZXcgU2Nyb2xsTWFnaWMuQ29udHJvbGxlciBpbnN0YW5jZS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdFZhbHVlIHRydWVcbiAgICogQGV4YW1wbGVcbiAgICogdXNlR2xvYmFsQ29udHJvbGxlcjogZmFsc2VcbiAgICovXG4gIHVzZUdsb2JhbENvbnRyb2xsZXI/OiBib29sZWFuXG59XG5cbi8vIGFkZCBjb250cm9sbGVyIHZhclxubGV0IGdsb2JhbENvbnRyb2xsZXJcblxuY29uc3QgU2Nyb2xsU2NlbmUgPSBmdW5jdGlvbihcbiAgdGhpczogYW55LFxuICB7XG4gICAgYnJlYWtwb2ludHMsXG4gICAgY29udHJvbGxlciA9IHt9LFxuICAgIGR1cmF0aW9uLFxuICAgIGdzYXAsXG4gICAgb2Zmc2V0LFxuICAgIHNjZW5lID0ge30sXG4gICAgdG9nZ2xlLFxuICAgIHRyaWdnZXJFbGVtZW50LFxuICAgIHRyaWdnZXJIb29rID0gJ29uRW50ZXInLFxuICAgIHVzZUdsb2JhbENvbnRyb2xsZXIgPSB0cnVlLFxuICB9OiBJU2Nyb2xsU2NlbmUsXG4pIHtcbiAgbGV0IGxvY2FsQ29udHJvbGxlclxuXG4gIC8vIGNoZWNrIGlmIHVzaW5nIGEgbG9jYWwgY29udHJvbGxlclxuICBpZiAoIXVzZUdsb2JhbENvbnRyb2xsZXIpIHtcbiAgICBsb2NhbENvbnRyb2xsZXIgPSBuZXcgU2Nyb2xsTWFnaWMuQ29udHJvbGxlcihjb250cm9sbGVyKVxuICB9XG5cbiAgLy8gbW91bnQgY29udHJvbGxlclxuICBpZiAoIWdsb2JhbENvbnRyb2xsZXIgJiYgdXNlR2xvYmFsQ29udHJvbGxlcikge1xuICAgIGdsb2JhbENvbnRyb2xsZXIgPSBuZXcgU2Nyb2xsTWFnaWMuQ29udHJvbGxlcihjb250cm9sbGVyKVxuICB9XG5cbiAgY29uc3QgY29udHJvbGxlcklzVXNlID0gbG9jYWxDb250cm9sbGVyID8gbG9jYWxDb250cm9sbGVyIDogZ2xvYmFsQ29udHJvbGxlclxuXG4gIGlmICghdHJpZ2dlckVsZW1lbnQgJiYgb2Zmc2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICBlcnJvckxvZyhcbiAgICAgIG5hbWVTcGFjZSxcbiAgICAgIGBCZSBzdXJlIHRvIHNldCBhIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gKHJlYWN0UmVmLmN1cnJlbnQgb3IgZG9jdW1lbnQucXVlcnlTZWxlY3RvcikgaW4gdGhlIG5ldyAke25hbWVTcGFjZX0oeyB0cmlnZ2VyRWxlbWVudDogdHJpZ2dlckVsZW1lbnQgfSkgb3Igc2V0IGFuIG9mZnNldC5gLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IFNjZW5lID0gbmV3IFNjcm9sbE1hZ2ljLlNjZW5lKHtcbiAgICB0cmlnZ2VyRWxlbWVudCxcbiAgICB0cmlnZ2VySG9vayxcbiAgICBvZmZzZXQsXG4gICAgLi4uc2NlbmUsXG4gIH0pXG5cbiAgaWYgKGR1cmF0aW9uKSB7XG4gICAgc2V0RHVyYXRpb24oU2NlbmUsIGR1cmF0aW9uKVxuICB9XG5cbiAgaWYgKHRvZ2dsZSAmJiBpc09iamVjdCh0b2dnbGUpKSB7XG4gICAgc2V0Q2xhc3NOYW1lKFNjZW5lLCB0b2dnbGUsIGR1cmF0aW9uKVxuICB9XG5cbiAgaWYgKGdzYXAgJiYgaXNPYmplY3QoZ3NhcCkpIHtcbiAgICBzZXRUd2VlbihTY2VuZSwgZ3NhcClcbiAgfVxuXG4gIHRoaXMuaW5pdCA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnRyb2xsZXJJc1VzZSAmJiBTY2VuZS5hZGRUbyhjb250cm9sbGVySXNVc2UpXG4gIH1cblxuICB0aGlzLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHtcbiAgICBTY2VuZS5yZW1vdmUoKVxuICB9XG5cbiAgdGhpcy5TY2VuZSA9IFNjZW5lXG4gIHRoaXMuQ29udHJvbGxlciA9IGNvbnRyb2xsZXJJc1VzZVxuXG4gIHNjcm9sbEFuaW1hdGlvbkluaXQoYnJlYWtwb2ludHMsIHRoaXMuaW5pdCwgdGhpcy5kZXN0cm95KVxufVxuXG5leHBvcnQgeyBTY3JvbGxTY2VuZSB9XG4iXX0=
{
"name": "scrollscene",
"title": "ScrollScene",
"version": "0.0.15",
"version": "0.0.16",
"description": "ScrollScene is an extra layer on top of ScrollMagic as well as using IntersectionObserver to achieve similar effects.",

@@ -6,0 +6,0 @@ "author": "Jon K. Wheeler",