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

react-linkedinbadge

Package Overview
Dependencies
Maintainers
1
Versions
52
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-linkedinbadge - npm Package Compare versions

Comparing version 2.0.205 to 2.0.233

19

lib/index.js

@@ -55,4 +55,3 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

scripts: [],
childScripts: new Map(),
badges: Array.prototype.slice.call(document.querySelectorAll(this.BADGE_NAMES.join(" ")).values(), 0)
childScripts: new Map()
};

@@ -76,3 +75,5 @@ this.responseHandler = this.responseHandler.bind(this);

// FROM LINKEDIN TODO -- tracking param for other badge types
for (const badge of this.state.badges) {
const badges = document.querySelectorAll(this.state.className);
for (const badge of badges) {
const rendered = badge.getAttribute("data-rendered");

@@ -173,3 +174,5 @@

for (const badge of this.state.badges) {
const badges = document.querySelectorAll(this.state.className);
for (const badge of badges) {
isCreate = badge.hasAttribute("data-iscreate");

@@ -196,3 +199,3 @@ uid = badge.getAttribute("data-uid");

handleLoad() {
this.renderBadge(this.state.badges[0]);
this.liuRenderAll();
} // These functions are needed because badge markup is added via innerHtml property which does not run script tags

@@ -241,3 +244,2 @@

render() {
this.renderBadge(this.state.badges[0]);
return /*#__PURE__*/React.createElement("div", {

@@ -265,3 +267,4 @@ className: this.state.className,

//Accounts for people including script more than once
const done = this.state.responsesReceived >= this.state.expectedResponses && this.state.expectedResponses > 0 || this.state.responsesReceived >= this.state.badges.length;
const badges = document.querySelectorAll(this.state.className);
const done = this.state.responsesReceived >= this.state.expectedResponses && this.state.expectedResponses > 0 || this.state.responsesReceived >= badges.length;

@@ -298,2 +301,2 @@ if (done) {

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkNvbXBvbmVudCIsImNyZWF0ZVJvb3QiLCJjbG9uZURlZXAiLCJMaW5rZWRpbkJhZGdlTG9hZGVyIiwiaXNDTkRvbWFpbiIsIndpbmRvdyIsImhvc3ROYW1lIiwibG9jYXRpb24iLCJob3N0bmFtZSIsImhyZWYiLCJ1cmwiLCJVUkwiLCJkb21haW4iLCJ0ZXN0IiwiZ2VuZXJhdGVVcmwiLCJpc0VJIiwiZG9tYWluUHJlZml4IiwiZG9tYWluU3VmZml4IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInN0YXRlIiwibG9jYWxlIiwic2l6ZSIsInRoZW1lIiwidHlwZSIsInZhbml0eSIsInZlcnNpb24iLCJiYWRnZUxvYWRlZCIsInRpdGxlIiwiY2xhc3NOYW1lIiwiQkFTRV9OQU1FIiwiQkFER0VfTkFNRVMiLCJyZXBsYWNlIiwibGlua0NsYXNzTmFtZSIsIlNDUklQVF9OQU1FUyIsIm1hcCIsIm5hbWUiLCJqb2luIiwidHJhY2tpbmdQYXJhbSIsIlRSQUNLSU5HX1BBUkFNIiwiZXhwZWN0ZWRSZXNwb25zZXMiLCJyZXNwb25zZXNSZWNlaXZlZCIsInNjcmlwdHMiLCJjaGlsZFNjcmlwdHMiLCJNYXAiLCJiYWRnZXMiLCJBcnJheSIsInByb3RvdHlwZSIsInNsaWNlIiwiY2FsbCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsInZhbHVlcyIsInJlc3BvbnNlSGFuZGxlciIsImJpbmQiLCJ0cnlDbGVhbiIsImdldEJhZGdlS2V5UXVlcnlQYXJhbXMiLCJsaXVSZW5kZXJBbGwiLCJyZXBsYWNlU2NyaXB0VGFncyIsInJlbmRlckJhZGdlIiwianNvbnAiLCJoYW5kbGVMb2FkIiwiQ0FMTEJBQ0tfTkFNRSIsImJhZGdlIiwicmVuZGVyZWQiLCJnZXRBdHRyaWJ1dGUiLCJsZW5ndGgiLCJzZXRTdGF0ZSIsInNldEF0dHJpYnV0ZSIsInBhcmFtcyIsImtleV9yZWdleCIsImF0dHIiLCJhdHRyaWJ1dGVzIiwic3RhcnRzV2l0aCIsIm1hdGNoIiwicGFyYW1zRm91bmQiLCJmb3JFYWNoIiwicGFyYW0iLCJwdXNoIiwidmFsdWUiLCJoYXNBdHRyaWJ1dGUiLCJlbnRpdHkiLCJpc0NyZWF0ZVBhZ2UiLCJ1aWQiLCJNYXRoIiwicm91bmQiLCJyYW5kb20iLCJiYXNlVXJsIiwicXVlcnlQYXJhbXMiLCJlbmNvZGVVUklDb21wb25lbnQiLCJjb25jYXQiLCJTdHJpbmciLCJjb21wb25lbnREaWRNb3VudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJiYWRnZUh0bWwiLCJiYWRnZVVpZCIsImkiLCJpc0NyZWF0ZSIsImRlZmF1bHRXaWR0aCIsImRlZmF1bHRIZWlnaHQiLCJiYWRnZU1hcmt1cCIsImlubmVySFRNTCIsImlmcmFtZSIsImNyZWF0ZUVsZW1lbnQiLCJvbmxvYWQiLCJpZnJhbWVCb2R5IiwiY29udGVudFdpbmRvdyIsImJvZHkiLCJzY3JvbGxIZWlnaHQiLCJzY3JvbGxXaWR0aCIsInJlbmRlciIsImFwcGVuZENoaWxkIiwibm9kZSIsInNob3VsZFJlcGxhY2VOb2RlIiwicGFyZW50Tm9kZSIsInJlcGxhY2VDaGlsZCIsImNsb25lU2NyaXB0Tm9kZSIsInNldCIsImNoaWxkcmVuIiwiY2hpbGROb2RlcyIsImlzU2NyaXB0Tm9kZSIsImdldCIsInRhZ05hbWUiLCJzY3JpcHQiLCJjbG9uZU5vZGUiLCJkb25lIiwicmVtb3ZlQ2hpbGQiLCJzcmMiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIEF1dG8gZ2VuZXJhdGVkLCBoYXNoID0gMnhucjk4dTBpdXg2Nmg1cTlsa3hxdXY1cSAqL1xuLy9Gcm9tIExpbmtlZEluIFRPRE86IEJyZWFrIHRoaXMgZmlsZSBkb3duIHNvIHRoYXQgd2UgY2FuIGFjdHVhbGx5IHVuaXQgdGVzdCBpdC5cbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IHsgY3JlYXRlUm9vdCB9IGZyb20gXCJyZWFjdC1kb20vY2xpZW50XCI7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoXCI7XG5cbmV4cG9ydCB0eXBlIExpbmtlZGluQmFkZ2VMb2FkZXJQcm9wcyA9IHtcbiAgbG9jYWxlPzpzdHJpbmc7XG4gIHNpemU/OidzbWFsbCd8J21lZGl1bSd8J2xhcmdlJztcbiAgIHRoZW1lPzonZGFyayd8J2xpZ2h0JztcbiAgIHR5cGU/Oidob3Jpem9udGFsJ3wndmVydGljYWwnO1xuICAgdmFuaXR5PzpzdHJpbmc7XG4gICB2ZXJzaW9uPzondjEnfCd2Mic7XG4gICBjbGFzc05hbWU/OnN0cmluZztcbiAgIGxpbmtDbGFzc05hbWU/OnN0cmluZztcbiAgIHRyYWNraW5nUGFyYW0/OnN0cmluZztcbiAgdGl0bGU/OnN0cmluZztcbiB9XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaW5rZWRpbkJhZGdlTG9hZGVyIGV4dGVuZHMgQ29tcG9uZW50PGFueSxSZXF1aXJlZDxMaW5rZWRpbkJhZGdlTG9hZGVyUHJvcHMgJiB7YmFkZ2VMb2FkZWQ6Ym9vbGVhbiwgIHJlc3BvbnNlc1JlY2VpdmVkOiBudW1iZXI7IC8vS2VlcHMgdHJhY2sgb2YgbnVtYmVyIG9mIHJlc3BvbnNlcyByZWNpZXZlZCBmb3IgcHJvcGVyIGNsZWFudXAgd2hlbiBmaW5pc2hlZFxuIGV4cGVjdGVkUmVzcG9uc2VzOiBudW1iZXI7IC8vS2VlcHMgdHJhY2sgb2YgbnVtYmVyIG9mIHJlc3BvbnNlcyB0byBleHBlY3R9PiA+IFxuICBzY3JpcHRzOiBIVE1MU2NyaXB0RWxlbWVudFtdOyAvL0tlZXBzIHRyYWNrIG9mIHNjcmlwdHMgYWRkZWQgZm9yIHByb3BlciBjbGVhbnVwIHdoZW4gZmluaXNoZWRcbiAgY2hpbGRTY3JpcHRzOiBNYXA8Tm9kZSwgYm9vbGVhbj47XG4gIGJhZGdlczogSFRNTEVsZW1lbnRbXTtcbn0+PntcbiAgcmVhZG9ubHkgQ0FMTEJBQ0tfTkFNRTogc3RyaW5nID0gXCJMSUJhZGdlQ2FsbGJhY2tcIjsgLy9NdXN0IG1hdGNoIGNhbGxiYWNrIG9uIGhlbHBlcnMuanNcbiAgcmVhZG9ubHkgQkFER0VfTkFNRVMgPSBbXCIuTEktcHJvZmlsZS1iYWRnZVwiLCBcIi5MSS1lbnRpdHktYmFkZ2VcIl07XG4gIHJlYWRvbmx5IFNDUklQVF9OQU1FUyA9W1wiLmJhZGdlLWJhc2VfX2xpbmtcIiwgXCIuTEktc2ltcGxlLWxpbmtcIl1cbiAgcmVhZG9ubHkgQkFTRV9OQU1FID0gXCJiYWRnZS1iYXNlXCI7XG4gIHJlYWRvbmx5IFRSQUNLSU5HX1BBUkFNID0gXCJwcm9maWxlLWJhZGdlXCI7XG5cblxuXG4gIHN0YXRpYyBpc0NORG9tYWluKCkge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBjb25zdCBob3N0TmFtZSA9XG4gICAgICAgIHdpbmRvdz8ubG9jYXRpb24/Lmhvc3RuYW1lIHx8IHdpbmRvdz8ubG9jYXRpb24/LmhyZWYgfHwgXCJcIjtcblxuICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChob3N0TmFtZSk7XG4gICAgICBjb25zdCBkb21haW4gPSB1cmwuaG9zdG5hbWU7XG4gICAgICByZXR1cm4gL2xpbmtlZGluKC1laSk/LmNuJC8udGVzdChkb21haW4pO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBzdGF0aWMgZ2VuZXJhdGVVcmwoaXNFSTogYm9vbGVhbikge1xuICAgIGNvbnN0IGRvbWFpblByZWZpeCA9IGlzRUlcbiAgICAgID8gXCJodHRwczovL2JhZGdlcy5saW5rZWRpbi1laVwiXG4gICAgICA6IFwiaHR0cHM6Ly9iYWRnZXMubGlua2VkaW5cIjtcbiAgICBjb25zdCBkb21haW5TdWZmaXggPSBMaW5rZWRpbkJhZGdlTG9hZGVyLmlzQ05Eb21haW4oKSA/IFwiLmNuXCIgOiBcIlwiO1xuICAgIHJldHVybiBgJHtkb21haW5QcmVmaXh9JHtkb21haW5TdWZmaXh9L2pzL2xpbmtlZEluQmFkZ2UuanNgO1xuICB9XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBMaW5rZWRpbkJhZGdlTG9hZGVyUHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGxvY2FsZTogcHJvcHMubG9jYWxlIHx8IFwiZW5fVVNcIixcbiAgICAgIHNpemU6IHByb3BzLnNpemUgfHwgXCJtZWRpdW1cIixcbiAgICAgIHRoZW1lOiBwcm9wcy50aGVtZSB8fCBcImxpZ2h0XCIsXG4gICAgICB0eXBlOiBwcm9wcy50eXBlIHx8IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgdmFuaXR5OiBwcm9wcy52YW5pdHkgfHwgXCJsaXVcIixcbiAgICAgIHZlcnNpb246IHByb3BzLnZlcnNpb24gfHwgXCJ2MVwiLFxuICAgICAgYmFkZ2VMb2FkZWQ6IGZhbHNlLFxuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlIHx8IFwiTGlua2VkaW4uY29tL2luL2xpdVwiLFxuICAgICAgY2xhc3NOYW1lOiBwcm9wcy5jbGFzc05hbWUgfHwgYCR7dGhpcy5CQVNFX05BTUV9ICR7dGhpcy5CQURHRV9OQU1FU1swXS5yZXBsYWNlKCcuJywgJycpfWAsXG4gICAgICBsaW5rQ2xhc3NOYW1lOiBwcm9wcy5saW5rQ2xhc3NOYW1lIHx8IHRoaXMuU0NSSVBUX05BTUVTLm1hcCgobmFtZSkgPT4gbmFtZS5yZXBsYWNlKFwiLlwiLFwiXCIpKS5qb2luKFwiIFwiKSxcbiAgICAgIHRyYWNraW5nUGFyYW06IHByb3BzLnRyYWNraW5nUGFyYW0gfHwgdGhpcy5UUkFDS0lOR19QQVJBTSxcbiAgICAgIGV4cGVjdGVkUmVzcG9uc2VzOiAwLFxuICAgICAgcmVzcG9uc2VzUmVjZWl2ZWQ6IDAsXG4gICAgICBzY3JpcHRzIDogW10sXG4gICAgICBjaGlsZFNjcmlwdHM6IG5ldyBNYXAoKSxcbiAgICAgIGJhZGdlczogQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5CQURHRV9OQU1FUy5qb2luKFwiIFwiKSkudmFsdWVzKCksXG4gICAgICAgIDBcbiAgICAgIClcbiAgICB9O1xuICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyID0gdGhpcy5yZXNwb25zZUhhbmRsZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLnRyeUNsZWFuID0gdGhpcy50cnlDbGVhbi5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0QmFkZ2VLZXlRdWVyeVBhcmFtcyA9IHRoaXMuZ2V0QmFkZ2VLZXlRdWVyeVBhcmFtcy5iaW5kKHRoaXMpO1xuICAgIHRoaXMubGl1UmVuZGVyQWxsID0gdGhpcy5saXVSZW5kZXJBbGwuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlcGxhY2VTY3JpcHRUYWdzID0gdGhpcy5yZXBsYWNlU2NyaXB0VGFncy5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVuZGVyQmFkZ2UgPSB0aGlzLnJlbmRlckJhZGdlLmJpbmQodGhpcyk7XG4gICAgdGhpcy5qc29ucCA9IHRoaXMuanNvbnAuYmluZCh0aGlzKTtcbiAgICB0aGlzLmhhbmRsZUxvYWQgPSB0aGlzLmhhbmRsZUxvYWQuYmluZCh0aGlzKTtcbiAgICAod2luZG93IGFzIGFueSlbdGhpcy5DQUxMQkFDS19OQU1FXSA9IHRoaXMucmVzcG9uc2VIYW5kbGVyO1xuICB9XG4gIC8qKlxuICAgKiBSZW5kZXJzIGFsbCB1bnJlbmRyZWQgTGlua2VkSW4gQmFkZ2VzIG9uIHRoZSBwYWdlXG4gICAqL1xuICBsaXVSZW5kZXJBbGwoKSB7XG4gICAgLy8gRlJPTSBMSU5LRURJTiBUT0RPIC0tIHRyYWNraW5nIHBhcmFtIGZvciBvdGhlciBiYWRnZSB0eXBlc1xuXG4gICAgZm9yIChjb25zdCBiYWRnZSBvZiB0aGlzLnN0YXRlLmJhZGdlcykge1xuICAgICAgY29uc3QgcmVuZGVyZWQgPSBiYWRnZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXJlbmRlcmVkXCIpO1xuICAgICAgaWYgKHJlbmRlcmVkICE9PSBudWxsICYmIHJlbmRlcmVkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgZXhwZWN0ZWRSZXNwb25zZXM6IHRoaXMuc3RhdGUuZXhwZWN0ZWRSZXNwb25zZXMgKyAxLFxuICAgICAgICB9KVxuICAgICAgICBiYWRnZS5zZXRBdHRyaWJ1dGUoXCJkYXRhLXJlbmRlcmVkXCIsIFwidHJ1ZVwiKTtcbiAgICAgICAgdGhpcy5yZW5kZXJCYWRnZShiYWRnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0QmFkZ2VLZXlRdWVyeVBhcmFtcyhiYWRnZTogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBwYXJhbXM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qga2V5X3JlZ2V4ID0gL2RhdGEtKFxcdyspLztcbiAgICBmb3IgKGNvbnN0IGF0dHIgb2YgYmFkZ2UuYXR0cmlidXRlcykge1xuICAgICAgaWYgKGF0dHIubmFtZS5zdGFydHNXaXRoKFwiZGF0YS1cIikgJiYgYXR0ci5uYW1lLm1hdGNoKGtleV9yZWdleCkpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zRm91bmQgPSBhdHRyLm5hbWUubWF0Y2goa2V5X3JlZ2V4KTtcblxuICAgICAgICBwYXJhbXNGb3VuZD8uZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgICAgICBwYXJhbXMucHVzaChgJHtwYXJhbX09JHthdHRyLnZhbHVlfWApO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcblxuICB9XG5cbiAgLypcbiAgICogUmVuZGVycyBhIHNpbmdsZSBiYWRnZSBvbiB0aGUgcGFnZVxuICAgKiBAcGFyYW0gYmFkZ2U6IGRpdiBlbGVtZW50IG9mIGJhZGdlIHRvIHJlbmRlclxuICAgKi9cbiAgcmVuZGVyQmFkZ2UoYmFkZ2U6IEhUTUxFbGVtZW50KSB7XG4gICAgbGV0IHNpemUgPSBiYWRnZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXNpemVcIikgfHwgXCJtZWRpdW1cIixcbiAgICAgIGxvY2FsZSA9IGJhZGdlLmdldEF0dHJpYnV0ZShcImRhdGEtbG9jYWxlXCIpIHx8IFwiZW5fVVNcIixcbiAgICAgIHR5cGUgPSBiYWRnZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXR5cGVcIikgfHwgXCJ2ZXJ0aWNhbFwiLFxuICAgICAgdGhlbWUgPSBiYWRnZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXRoZW1lXCIpIHx8IFwibGlnaHRcIixcbiAgICAgIHZhbml0eSA9IGJhZGdlLmdldEF0dHJpYnV0ZShcImRhdGEtdmFuaXR5XCIpIHx8IFwiXCIsXG4gICAgICB2ZXJzaW9uID0gYmFkZ2UuZ2V0QXR0cmlidXRlKFwiZGF0YS12ZXJzaW9uXCIpIHx8IFwidjFcIixcbiAgICAgIGlzRUkgPSBiYWRnZS5oYXNBdHRyaWJ1dGUoXCJkYXRhLWVpXCIpIHx8IGZhbHNlLFxuICAgICAgZW50aXR5ID0gYmFkZ2UuZ2V0QXR0cmlidXRlKFwiZGF0YS1lbnRpdHlcIikgfHwgXCJcIixcbiAgICAgIGlzQ3JlYXRlUGFnZSA9IGJhZGdlLmhhc0F0dHJpYnV0ZShcImRhdGEtaXNjcmVhdGVcIikgfHwgZmFsc2UsXG4gICAgICB1aWQgPSBNYXRoLnJvdW5kKDEwMDAwMDAgKiBNYXRoLnJhbmRvbSgpKSxcbiAgICAgIGJhc2VVcmwgPSBMaW5rZWRpbkJhZGdlTG9hZGVyLmdlbmVyYXRlVXJsKGlzRUkpLFxuICAgICAgcXVlcnlQYXJhbXMgPSBbXG4gICAgICAgIFwibG9jYWxlPVwiICsgZW5jb2RlVVJJQ29tcG9uZW50KGxvY2FsZSksXG4gICAgICAgIFwiYmFkZ2V0eXBlPVwiICsgZW5jb2RlVVJJQ29tcG9uZW50KHR5cGUpLFxuICAgICAgICBcImJhZGdldGhlbWU9XCIgKyBlbmNvZGVVUklDb21wb25lbnQodGhlbWUpLFxuICAgICAgICBcInVpZD1cIiArIGVuY29kZVVSSUNvbXBvbmVudCh1aWQpLFxuICAgICAgICBcInZlcnNpb249XCIgKyBlbmNvZGVVUklDb21wb25lbnQodmVyc2lvbiksXG4gICAgICBdO1xuXG4gICAgbGV0IHVybCA9IGJhc2VVcmwgKyBcIj9cIiArIHF1ZXJ5UGFyYW1zLmpvaW4oXCImXCIpO1xuXG4gICAgaWYgKHZlcnNpb24gPT09IFwidjJcIikge1xuICAgICAgYmFzZVVybCArPSBcInZpZXdcIjtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goXCJiYWRnZXNpemU9XCIgKyBlbmNvZGVVUklDb21wb25lbnQoc2l6ZSkpO1xuICAgICAgcXVlcnlQYXJhbXMucHVzaChcImVudGl0eT1cIiArIGVuY29kZVVSSUNvbXBvbmVudChlbnRpdHkpKTtcbiAgICAgIHF1ZXJ5UGFyYW1zID0gcXVlcnlQYXJhbXMuY29uY2F0KHRoaXMuZ2V0QmFkZ2VLZXlRdWVyeVBhcmFtcyhiYWRnZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBiYXNlVXJsICs9IFwicHJvZmlsZVwiO1xuICAgICAgcXVlcnlQYXJhbXMucHVzaChcIm1heHNpemU9XCIgKyBlbmNvZGVVUklDb21wb25lbnQoc2l6ZSkpO1xuICAgICAgcXVlcnlQYXJhbXMucHVzaChcInRyaz1cIiArIGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLlRSQUNLSU5HX1BBUkFNKSk7XG4gICAgICBxdWVyeVBhcmFtcy5wdXNoKFwidmFuaXR5bmFtZT1cIiArIGVuY29kZVVSSUNvbXBvbmVudCh2YW5pdHkpKTtcbiAgICB9XG5cbiAgICBpZiAoaXNDcmVhdGVQYWdlKSB7XG4gICAgICBxdWVyeVBhcmFtcy5wdXNoKFwiZnJvbUNyZWF0ZT10cnVlXCIpO1xuICAgIH1cblxuICAgIHVybCA9IGJhc2VVcmwgKyBcIj9cIiArIHF1ZXJ5UGFyYW1zLmpvaW4oXCImXCIpO1xuICAgIGJhZGdlLnNldEF0dHJpYnV0ZShcImRhdGEtdWlkXCIsIFN0cmluZyh1aWQpKTtcbiAgICB0aGlzLnNldFN0YXRlKHsgYmFkZ2VMb2FkZWQ6IHRydWUgfSk7XG4gICAgdGhpcy5qc29ucCh1cmwpOyAvL0NhbGxzIHJlc3BvbnNlSGFuZGxlciB3aGVuIGRvbmVcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgdGhpcy5oYW5kbGVMb2FkKTtcbiB9XG5cbiBjb21wb25lbnRXaWxsVW5tb3VudCgpIHsgXG4gICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbG9hZCcsIHRoaXMuaGFuZGxlTG9hZCkgIFxuIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBhIHJlc3BvbnNlIGZyb20gdGhlIHNlcnZlci4gRmluZHMgYmFkZ2UgbWF0Y2hpbmcgYmFkZ2VVaWQgYW5kIGluc2VydHMgYmFkZ2VIdG1sIHRoZXJlXG4gICAqIEBwYXJhbSBiYWRnZUh0bWw6IFN0cmluZyByZXByZXNlbnRpbmcgY29udGVudHMgb2YgdGhlIGJhZGdlXG4gICAqIEBwYXJhbSBiYWRnZVVpZDogVUlEIG9mIHRoZSBiYWRnZSB0byB0YXJnZXRcbiAgICoqL1xuICByZXNwb25zZUhhbmRsZXIoYmFkZ2VIdG1sOiBIVE1MRWxlbWVudCwgYmFkZ2VVaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgcmVzcG9uc2VzUmVjZWl2ZWQ6IHRoaXMuc3RhdGUucmVzcG9uc2VzUmVjZWl2ZWQgKyAxLFxuICAgIH0pO1xuICBcblxuICAgIGxldCBpLCBiYWRnZSwgdWlkLCBpc0NyZWF0ZTtcbiAgICBjb25zdCBkZWZhdWx0V2lkdGggPSAzMzA7IC8vIG1heCBwb3NzaWJsZSB3aWR0aFxuICAgIGNvbnN0IGRlZmF1bHRIZWlnaHQgPSAzMDA7IC8vIG1heCBwb3NzaWJsZSBoZWlnaHRcblxuICAgIGZvciAoY29uc3QgYmFkZ2Ugb2YgdGhpcy5zdGF0ZS5iYWRnZXMpIHtcbiAgICAgIGlzQ3JlYXRlID0gYmFkZ2UuaGFzQXR0cmlidXRlKFwiZGF0YS1pc2NyZWF0ZVwiKTtcbiAgICAgIHVpZCA9IGJhZGdlLmdldEF0dHJpYnV0ZShcImRhdGEtdWlkXCIpO1xuICAgICAgaWYgKHVpZCA9PT0gYmFkZ2VVaWQpIHtcbiAgICAgICAgY29uc3QgYmFkZ2VNYXJrdXAgPSBiYWRnZS5pbm5lckhUTUw7XG5cbiAgICAgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlmcmFtZVwiKTtcbiAgICAgICAgaWZyYW1lLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBpZnJhbWVCb2R5ID0gaWZyYW1lPy5jb250ZW50V2luZG93Py5kb2N1bWVudC5ib2R5O1xuICAgICAgICAgIC8vIDUgcHggYnVmZmVyIHRvIGF2b2lkIHRoZSBiYWRnZSBib3JkZXIgYmVpbmcgY3V0IG9mZi5cbiAgICAgICAgICBpZnJhbWUuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgXCJoZWlnaHRcIixcbiAgICAgICAgICAgIFN0cmluZygoaWZyYW1lQm9keT8uc2Nyb2xsSGVpZ2h0IHx8IGRlZmF1bHRIZWlnaHQpICsgNSlcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICBcIndpZHRoXCIsXG4gICAgICAgICAgICBTdHJpbmcoaWZyYW1lQm9keT8uc2Nyb2xsV2lkdGggfHwgZGVmYXVsdFdpZHRoKSArIDVcbiAgICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgfTtcblxuICAgICAgICBjcmVhdGVSb290KGlmcmFtZSkucmVuZGVyKFxuICAgICAgICAgIDxib2R5PlxuICAgICAgICAgICAgPD57YmFkZ2VIdG1sfTwvPlxuICAgICAgICAgIDwvYm9keT5cbiAgICAgICAgKTtcblxuICAgICAgICBpZnJhbWUuYXBwZW5kQ2hpbGQoYmFkZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBoYW5kbGVMb2FkKCkge1xuICAgIHRoaXMucmVuZGVyQmFkZ2UodGhpcy5zdGF0ZS5iYWRnZXNbMF0pO1xuICAgfVxuXG4gIC8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgbmVlZGVkIGJlY2F1c2UgYmFkZ2UgbWFya3VwIGlzIGFkZGVkIHZpYSBpbm5lckh0bWwgcHJvcGVydHkgd2hpY2ggZG9lcyBub3QgcnVuIHNjcmlwdCB0YWdzXG4gIHJlcGxhY2VTY3JpcHRUYWdzKG5vZGU6IE5vZGUsIGlzQ3JlYXRlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuc2hvdWxkUmVwbGFjZU5vZGUobm9kZSBhcyBIVE1MRWxlbWVudCwgaXNDcmVhdGUpKSB7XG4gICAgICBub2RlLnBhcmVudE5vZGU/LnJlcGxhY2VDaGlsZChcbiAgICAgICAgdGhpcy5jbG9uZVNjcmlwdE5vZGUobm9kZSBhcyBIVE1MRWxlbWVudCksXG4gICAgICAgIG5vZGVcbiAgICAgICk7XG4gICAgICBjb25zdCBjaGlsZFNjcmlwdHMgPSB0aGlzLnN0YXRlLmNoaWxkU2NyaXB0cztcbiAgICAgIGNoaWxkU2NyaXB0cy5zZXQobm9kZSwgdHJ1ZSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgY2hpbGRTY3JpcHRzIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgaSA9IDAsXG4gICAgICAgIGNoaWxkcmVuID0gbm9kZS5jaGlsZE5vZGVzO1xuICAgICAgd2hpbGUgKGkgPCBjaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5yZXBsYWNlU2NyaXB0VGFncyhjaGlsZHJlbltpKytdLCBpc0NyZWF0ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgc2hvdWxkUmVwbGFjZU5vZGUobm9kZTogSFRNTEVsZW1lbnQsIGlzQ3JlYXRlOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaXNTY3JpcHROb2RlKG5vZGUpICYmXG4gICAgICAhdGhpcy5zdGF0ZS5jaGlsZFNjcmlwdHMuZ2V0KG5vZGUpICYmXG4gICAgICAoIWlzQ3JlYXRlIHx8IChpc0NyZWF0ZSAmJiAhbm9kZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLWlzYXJ0ZGVjb1wiKSkpXG4gICAgKTtcbiAgfVxuXG4gIGlzU2NyaXB0Tm9kZShub2RlOiBIVE1MRWxlbWVudCkge1xuICAgIHJldHVybiBub2RlLnRhZ05hbWUgPT09IFwiU0NSSVBUXCI7XG4gIH1cbiAgY2xvbmVTY3JpcHROb2RlKG5vZGU6IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcblxuICAgIGNvbnN0IGNsb25lTm9kZSA9IGNsb25lRGVlcChub2RlKTtcbiAgICBmb3IgKGxldCBpID0gY2xvbmVOb2RlLmF0dHJpYnV0ZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgIGNsb25lTm9kZS5hdHRyaWJ1dGVzW2ldLm5hbWUsXG4gICAgICAgIGNsb25lTm9kZS5hdHRyaWJ1dGVzW2ldLnZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gc2NyaXB0O1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHRoaXMucmVuZGVyQmFkZ2UodGhpcy5zdGF0ZS5iYWRnZXNbMF0pO1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT0ge3RoaXMuc3RhdGUuY2xhc3NOYW1lfVxuICAgICAgICBkYXRhLWxvY2FsZT17dGhpcy5zdGF0ZS5sb2NhbGV9XG4gICAgICAgIGRhdGEtc2l6ZT17dGhpcy5zdGF0ZS5zaXplfVxuICAgICAgICBkYXRhLXRoZW1lPXt0aGlzLnN0YXRlLnRoZW1lfVxuICAgICAgICBkYXRhLXR5cGU9e3RoaXMuc3RhdGUudHlwZX1cbiAgICAgICAgZGF0YS12YW5pdHk9ICB7dGhpcy5zdGF0ZS52YW5pdHl9XG4gICAgICAgIGRhdGEtdmVyc2lvbj17dGhpcy5zdGF0ZS52ZXJzaW9ufVxuICAgICAgPlxuICAgICAgICA8YVxuICAgICAgICAgIGNsYXNzTmFtZT17dGhpcy5zdGF0ZS5saW5rQ2xhc3NOYW1lfVxuICAgICAgICAgIGhyZWY9e2AkeydodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vJyArIHRoaXMuc3RhdGUudmFuaXR5ICsgJz90cms9cHJvZmlsZS1iYWRnZSd9YH1cbiAgICAgICAgPlxuICAgICAgICAge3RoaXMuc3RhdGUudGl0bGV9XG4gICAgICAgIDwvYT5cbiAgICAgICAgXG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgLy8gR2V0cyBhbGwgaW5jb21pbmcgcmVzcG9uc2VzXG5cbiAgLyoqXG4gICAqIFRyaWVzIHRvIGNsZWFuIGFkZGVkIHRhZ3NcbiAgICoqL1xuICB0cnlDbGVhbigpIHtcbiAgICAvL0NsZWFuIHVwIGFmdGVyIGFsbCByZXF1ZXN0cyBhcmUgZG9uZS4uXG4gICAgLy9BY2NvdW50cyBmb3IgcGVvcGxlIGluY2x1ZGluZyBzY3JpcHQgbW9yZSB0aGFuIG9uY2VcbiAgICBjb25zdCBkb25lID1cbiAgICAgICh0aGlzLnN0YXRlLnJlc3BvbnNlc1JlY2VpdmVkID49IHRoaXMuc3RhdGUuZXhwZWN0ZWRSZXNwb25zZXMgJiZcbiAgICAgICAgdGhpcy5zdGF0ZS5leHBlY3RlZFJlc3BvbnNlcyA+IDApIHx8XG4gICAgICB0aGlzLnN0YXRlLnJlc3BvbnNlc1JlY2VpdmVkID49IHRoaXMuc3RhdGUuYmFkZ2VzLmxlbmd0aDtcbiAgICBpZiAoZG9uZSkge1xuICAgICAgZGVsZXRlICh3aW5kb3cgYXMgYW55KVtgJHt0aGlzLkNBTExCQUNLX05BTUV9YF07XG5cbiAgICAgIC8vIHJlbW92ZSBhbGwgc2NyaXB0IHRhZ3NcbiAgICAgIGNvbnN0IHNjcmlwdHMgPSB0aGlzLnN0YXRlLnNjcmlwdHM7XG4gICAgICBzY3JpcHRzLm1hcChmdW5jdGlvbiAoc2NyaXB0KSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2NyaXB0KTtcbiAgICAgIH0pXG4gICAgICB0aGlzLnNldFN0YXRlKHsgc2NyaXB0c30pO1xuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIE1ha2VzIEpzb25wIHJlcXVlc3QsIHJlc3BvbnNlcyBoYW5kbGVzIGJ5IENBTExCQUNLX05BTUVcbiAgICogQHBhcmFtIHVybCBTdHJpbmc6IHVybCBvZiBzZXJ2ZXIgdG8gbWFrZSByZXF1ZXN0IHRvXG4gICAqL1xuICBqc29ucCh1cmw6IHN0cmluZykge1xuICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgc2NyaXB0LnNyYyA9IHVybDtcbiAgICBjb25zdCBzY3JpcHRzID0gdGhpcy5zdGF0ZS5zY3JpcHRzO1xuICAgIHNjcmlwdHMucHVzaChzY3JpcHQpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBzY3JpcHRzIH0pO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfVxufVxuXG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLFNBQWhCLFFBQWlDLE9BQWpDO0FBRUEsU0FBU0MsVUFBVCxRQUEyQixrQkFBM0I7QUFDQSxTQUFTQyxTQUFULFFBQTBCLFFBQTFCO0FBY0EsZUFBZSxNQUFNQyxtQkFBTixTQUFrQ0gsU0FBbEMsQ0FLWjtFQUNtRDtFQVFuQyxPQUFWSSxVQUFVLEdBQUc7SUFDbEIsSUFBSSxPQUFPQyxNQUFQLEtBQWtCLFdBQXRCLEVBQW1DO01BQ2pDLE1BQU1DLFFBQVEsR0FDWkQsTUFBTSxFQUFFRSxRQUFSLEVBQWtCQyxRQUFsQixJQUE4QkgsTUFBTSxFQUFFRSxRQUFSLEVBQWtCRSxJQUFoRCxJQUF3RCxFQUQxRDtNQUdBLE1BQU1DLEdBQUcsR0FBRyxJQUFJQyxHQUFKLENBQVFMLFFBQVIsQ0FBWjtNQUNBLE1BQU1NLE1BQU0sR0FBR0YsR0FBRyxDQUFDRixRQUFuQjtNQUNBLE9BQU8scUJBQXFCSyxJQUFyQixDQUEwQkQsTUFBMUIsQ0FBUDtJQUNEOztJQUVELE9BQU8sS0FBUDtFQUNEOztFQUNpQixPQUFYRSxXQUFXLENBQUNDLElBQUQsRUFBZ0I7SUFDaEMsTUFBTUMsWUFBWSxHQUFHRCxJQUFJLEdBQ3JCLDRCQURxQixHQUVyQix5QkFGSjtJQUdBLE1BQU1FLFlBQVksR0FBR2QsbUJBQW1CLENBQUNDLFVBQXBCLEtBQW1DLEtBQW5DLEdBQTJDLEVBQWhFO0lBQ0EsT0FBUSxHQUFFWSxZQUFhLEdBQUVDLFlBQWEsc0JBQXRDO0VBQ0Q7O0VBQ0RDLFdBQVcsQ0FBQ0MsS0FBRCxFQUFrQztJQUMzQyxNQUFNQSxLQUFOOztJQUQyQyx1Q0EzQlosaUJBMkJZOztJQUFBLHFDQTFCdEIsQ0FBQyxtQkFBRCxFQUFzQixrQkFBdEIsQ0EwQnNCOztJQUFBLHNDQXpCdEIsQ0FBQyxtQkFBRCxFQUFzQixpQkFBdEIsQ0F5QnNCOztJQUFBLG1DQXhCeEIsWUF3QndCOztJQUFBLHdDQXZCbkIsZUF1Qm1COztJQUUzQyxLQUFLQyxLQUFMLEdBQWE7TUFDWEMsTUFBTSxFQUFFRixLQUFLLENBQUNFLE1BQU4sSUFBZ0IsT0FEYjtNQUVYQyxJQUFJLEVBQUVILEtBQUssQ0FBQ0csSUFBTixJQUFjLFFBRlQ7TUFHWEMsS0FBSyxFQUFFSixLQUFLLENBQUNJLEtBQU4sSUFBZSxPQUhYO01BSVhDLElBQUksRUFBRUwsS0FBSyxDQUFDSyxJQUFOLElBQWMsWUFKVDtNQUtYQyxNQUFNLEVBQUVOLEtBQUssQ0FBQ00sTUFBTixJQUFnQixLQUxiO01BTVhDLE9BQU8sRUFBRVAsS0FBSyxDQUFDTyxPQUFOLElBQWlCLElBTmY7TUFPWEMsV0FBVyxFQUFFLEtBUEY7TUFRWEMsS0FBSyxFQUFFVCxLQUFLLENBQUNTLEtBQU4sSUFBZSxxQkFSWDtNQVNYQyxTQUFTLEVBQUVWLEtBQUssQ0FBQ1UsU0FBTixJQUFvQixHQUFFLEtBQUtDLFNBQVUsSUFBRyxLQUFLQyxXQUFMLENBQWlCLENBQWpCLEVBQW9CQyxPQUFwQixDQUE0QixHQUE1QixFQUFpQyxFQUFqQyxDQUFxQyxFQVQ3RTtNQVVYQyxhQUFhLEVBQUVkLEtBQUssQ0FBQ2MsYUFBTixJQUF1QixLQUFLQyxZQUFMLENBQWtCQyxHQUFsQixDQUF1QkMsSUFBRCxJQUFVQSxJQUFJLENBQUNKLE9BQUwsQ0FBYSxHQUFiLEVBQWlCLEVBQWpCLENBQWhDLEVBQXNESyxJQUF0RCxDQUEyRCxHQUEzRCxDQVYzQjtNQVdYQyxhQUFhLEVBQUVuQixLQUFLLENBQUNtQixhQUFOLElBQXVCLEtBQUtDLGNBWGhDO01BWVhDLGlCQUFpQixFQUFFLENBWlI7TUFhWEMsaUJBQWlCLEVBQUUsQ0FiUjtNQWNYQyxPQUFPLEVBQUcsRUFkQztNQWVYQyxZQUFZLEVBQUUsSUFBSUMsR0FBSixFQWZIO01BZ0JYQyxNQUFNLEVBQUVDLEtBQUssQ0FBQ0MsU0FBTixDQUFnQkMsS0FBaEIsQ0FBc0JDLElBQXRCLENBQ05DLFFBQVEsQ0FBQ0MsZ0JBQVQsQ0FBMEIsS0FBS3BCLFdBQUwsQ0FBaUJNLElBQWpCLENBQXNCLEdBQXRCLENBQTFCLEVBQXNEZSxNQUF0RCxFQURNLEVBRU4sQ0FGTTtJQWhCRyxDQUFiO0lBcUJBLEtBQUtDLGVBQUwsR0FBdUIsS0FBS0EsZUFBTCxDQUFxQkMsSUFBckIsQ0FBMEIsSUFBMUIsQ0FBdkI7SUFDQSxLQUFLQyxRQUFMLEdBQWdCLEtBQUtBLFFBQUwsQ0FBY0QsSUFBZCxDQUFtQixJQUFuQixDQUFoQjtJQUNBLEtBQUtFLHNCQUFMLEdBQThCLEtBQUtBLHNCQUFMLENBQTRCRixJQUE1QixDQUFpQyxJQUFqQyxDQUE5QjtJQUNBLEtBQUtHLFlBQUwsR0FBb0IsS0FBS0EsWUFBTCxDQUFrQkgsSUFBbEIsQ0FBdUIsSUFBdkIsQ0FBcEI7SUFDQSxLQUFLSSxpQkFBTCxHQUF5QixLQUFLQSxpQkFBTCxDQUF1QkosSUFBdkIsQ0FBNEIsSUFBNUIsQ0FBekI7SUFDQSxLQUFLSyxXQUFMLEdBQW1CLEtBQUtBLFdBQUwsQ0FBaUJMLElBQWpCLENBQXNCLElBQXRCLENBQW5CO0lBQ0EsS0FBS00sS0FBTCxHQUFhLEtBQUtBLEtBQUwsQ0FBV04sSUFBWCxDQUFnQixJQUFoQixDQUFiO0lBQ0EsS0FBS08sVUFBTCxHQUFrQixLQUFLQSxVQUFMLENBQWdCUCxJQUFoQixDQUFxQixJQUFyQixDQUFsQjtJQUNDakQsTUFBRCxDQUFnQixLQUFLeUQsYUFBckIsSUFBc0MsS0FBS1QsZUFBM0M7RUFDRDtFQUNEO0FBQ0Y7QUFDQTs7O0VBQ0VJLFlBQVksR0FBRztJQUNiO0lBRUEsS0FBSyxNQUFNTSxLQUFYLElBQW9CLEtBQUszQyxLQUFMLENBQVd5QixNQUEvQixFQUF1QztNQUNyQyxNQUFNbUIsUUFBUSxHQUFHRCxLQUFLLENBQUNFLFlBQU4sQ0FBbUIsZUFBbkIsQ0FBakI7O01BQ0EsSUFBSUQsUUFBUSxLQUFLLElBQWIsSUFBcUJBLFFBQVEsQ0FBQ0UsTUFBVCxHQUFrQixDQUEzQyxFQUE4QztRQUM1QyxLQUFLQyxRQUFMLENBQWM7VUFDWjNCLGlCQUFpQixFQUFFLEtBQUtwQixLQUFMLENBQVdvQixpQkFBWCxHQUErQjtRQUR0QyxDQUFkO1FBR0F1QixLQUFLLENBQUNLLFlBQU4sQ0FBbUIsZUFBbkIsRUFBb0MsTUFBcEM7UUFDQSxLQUFLVCxXQUFMLENBQWlCSSxLQUFqQjtNQUNEO0lBQ0Y7RUFDRjs7RUFFRFAsc0JBQXNCLENBQUNPLEtBQUQsRUFBcUI7SUFDekMsTUFBTU0sTUFBZ0IsR0FBRyxFQUF6QjtJQUNBLE1BQU1DLFNBQVMsR0FBRyxZQUFsQjs7SUFDQSxLQUFLLE1BQU1DLElBQVgsSUFBbUJSLEtBQUssQ0FBQ1MsVUFBekIsRUFBcUM7TUFDbkMsSUFBSUQsSUFBSSxDQUFDbkMsSUFBTCxDQUFVcUMsVUFBVixDQUFxQixPQUFyQixLQUFpQ0YsSUFBSSxDQUFDbkMsSUFBTCxDQUFVc0MsS0FBVixDQUFnQkosU0FBaEIsQ0FBckMsRUFBaUU7UUFDL0QsTUFBTUssV0FBVyxHQUFHSixJQUFJLENBQUNuQyxJQUFMLENBQVVzQyxLQUFWLENBQWdCSixTQUFoQixDQUFwQjtRQUVBSyxXQUFXLEVBQUVDLE9BQWIsQ0FBc0JDLEtBQUQsSUFBVztVQUM5QlIsTUFBTSxDQUFDUyxJQUFQLENBQWEsR0FBRUQsS0FBTSxJQUFHTixJQUFJLENBQUNRLEtBQU0sRUFBbkM7UUFDRCxDQUZEO01BR0Q7SUFDRjs7SUFDRCxPQUFPVixNQUFQO0VBRUQ7RUFFRDtBQUNGO0FBQ0E7QUFDQTs7O0VBQ0VWLFdBQVcsQ0FBQ0ksS0FBRCxFQUFxQjtJQUM5QixJQUFJekMsSUFBSSxHQUFHeUMsS0FBSyxDQUFDRSxZQUFOLENBQW1CLFdBQW5CLEtBQW1DLFFBQTlDO0lBQUEsSUFDRTVDLE1BQU0sR0FBRzBDLEtBQUssQ0FBQ0UsWUFBTixDQUFtQixhQUFuQixLQUFxQyxPQURoRDtJQUFBLElBRUV6QyxJQUFJLEdBQUd1QyxLQUFLLENBQUNFLFlBQU4sQ0FBbUIsV0FBbkIsS0FBbUMsVUFGNUM7SUFBQSxJQUdFMUMsS0FBSyxHQUFHd0MsS0FBSyxDQUFDRSxZQUFOLENBQW1CLFlBQW5CLEtBQW9DLE9BSDlDO0lBQUEsSUFJRXhDLE1BQU0sR0FBR3NDLEtBQUssQ0FBQ0UsWUFBTixDQUFtQixhQUFuQixLQUFxQyxFQUpoRDtJQUFBLElBS0V2QyxPQUFPLEdBQUdxQyxLQUFLLENBQUNFLFlBQU4sQ0FBbUIsY0FBbkIsS0FBc0MsSUFMbEQ7SUFBQSxJQU1FbEQsSUFBSSxHQUFHZ0QsS0FBSyxDQUFDaUIsWUFBTixDQUFtQixTQUFuQixLQUFpQyxLQU4xQztJQUFBLElBT0VDLE1BQU0sR0FBR2xCLEtBQUssQ0FBQ0UsWUFBTixDQUFtQixhQUFuQixLQUFxQyxFQVBoRDtJQUFBLElBUUVpQixZQUFZLEdBQUduQixLQUFLLENBQUNpQixZQUFOLENBQW1CLGVBQW5CLEtBQXVDLEtBUnhEO0lBQUEsSUFTRUcsR0FBRyxHQUFHQyxJQUFJLENBQUNDLEtBQUwsQ0FBVyxVQUFVRCxJQUFJLENBQUNFLE1BQUwsRUFBckIsQ0FUUjtJQUFBLElBVUVDLE9BQU8sR0FBR3BGLG1CQUFtQixDQUFDVyxXQUFwQixDQUFnQ0MsSUFBaEMsQ0FWWjtJQUFBLElBV0V5RSxXQUFXLEdBQUcsQ0FDWixZQUFZQyxrQkFBa0IsQ0FBQ3BFLE1BQUQsQ0FEbEIsRUFFWixlQUFlb0Usa0JBQWtCLENBQUNqRSxJQUFELENBRnJCLEVBR1osZ0JBQWdCaUUsa0JBQWtCLENBQUNsRSxLQUFELENBSHRCLEVBSVosU0FBU2tFLGtCQUFrQixDQUFDTixHQUFELENBSmYsRUFLWixhQUFhTSxrQkFBa0IsQ0FBQy9ELE9BQUQsQ0FMbkIsQ0FYaEI7SUFtQkEsSUFBSWhCLEdBQUcsR0FBRzZFLE9BQU8sR0FBRyxHQUFWLEdBQWdCQyxXQUFXLENBQUNuRCxJQUFaLENBQWlCLEdBQWpCLENBQTFCOztJQUVBLElBQUlYLE9BQU8sS0FBSyxJQUFoQixFQUFzQjtNQUNwQjZELE9BQU8sSUFBSSxNQUFYO01BQ0FDLFdBQVcsQ0FBQ1YsSUFBWixDQUFpQixlQUFlVyxrQkFBa0IsQ0FBQ25FLElBQUQsQ0FBbEQ7TUFDQWtFLFdBQVcsQ0FBQ1YsSUFBWixDQUFpQixZQUFZVyxrQkFBa0IsQ0FBQ1IsTUFBRCxDQUEvQztNQUNBTyxXQUFXLEdBQUdBLFdBQVcsQ0FBQ0UsTUFBWixDQUFtQixLQUFLbEMsc0JBQUwsQ0FBNEJPLEtBQTVCLENBQW5CLENBQWQ7SUFDRCxDQUxELE1BS087TUFDTHdCLE9BQU8sSUFBSSxTQUFYO01BQ0FDLFdBQVcsQ0FBQ1YsSUFBWixDQUFpQixhQUFhVyxrQkFBa0IsQ0FBQ25FLElBQUQsQ0FBaEQ7TUFDQWtFLFdBQVcsQ0FBQ1YsSUFBWixDQUFpQixTQUFTVyxrQkFBa0IsQ0FBQyxLQUFLbEQsY0FBTixDQUE1QztNQUNBaUQsV0FBVyxDQUFDVixJQUFaLENBQWlCLGdCQUFnQlcsa0JBQWtCLENBQUNoRSxNQUFELENBQW5EO0lBQ0Q7O0lBRUQsSUFBSXlELFlBQUosRUFBa0I7TUFDaEJNLFdBQVcsQ0FBQ1YsSUFBWixDQUFpQixpQkFBakI7SUFDRDs7SUFFRHBFLEdBQUcsR0FBRzZFLE9BQU8sR0FBRyxHQUFWLEdBQWdCQyxXQUFXLENBQUNuRCxJQUFaLENBQWlCLEdBQWpCLENBQXRCO0lBQ0EwQixLQUFLLENBQUNLLFlBQU4sQ0FBbUIsVUFBbkIsRUFBK0J1QixNQUFNLENBQUNSLEdBQUQsQ0FBckM7SUFDQSxLQUFLaEIsUUFBTCxDQUFjO01BQUV4QyxXQUFXLEVBQUU7SUFBZixDQUFkO0lBQ0EsS0FBS2lDLEtBQUwsQ0FBV2xELEdBQVgsRUF6QzhCLENBeUNiO0VBQ2xCOztFQUVEa0YsaUJBQWlCLEdBQUc7SUFDbEJ2RixNQUFNLENBQUN3RixnQkFBUCxDQUF3QixNQUF4QixFQUFnQyxLQUFLaEMsVUFBckM7RUFDRjs7RUFFRGlDLG9CQUFvQixHQUFHO0lBQ3JCekYsTUFBTSxDQUFDMEYsbUJBQVAsQ0FBMkIsTUFBM0IsRUFBbUMsS0FBS2xDLFVBQXhDO0VBQ0Q7RUFFQTtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7RUFDRVIsZUFBZSxDQUFDMkMsU0FBRCxFQUF5QkMsUUFBekIsRUFBMkM7SUFDeEQsS0FBSzlCLFFBQUwsQ0FBYztNQUNaMUIsaUJBQWlCLEVBQUUsS0FBS3JCLEtBQUwsQ0FBV3FCLGlCQUFYLEdBQStCO0lBRHRDLENBQWQ7SUFLQSxJQUFJeUQsQ0FBSixFQUFPbkMsS0FBUCxFQUFjb0IsR0FBZCxFQUFtQmdCLFFBQW5CO0lBQ0EsTUFBTUMsWUFBWSxHQUFHLEdBQXJCLENBUHdELENBTzlCOztJQUMxQixNQUFNQyxhQUFhLEdBQUcsR0FBdEIsQ0FSd0QsQ0FRN0I7O0lBRTNCLEtBQUssTUFBTXRDLEtBQVgsSUFBb0IsS0FBSzNDLEtBQUwsQ0FBV3lCLE1BQS9CLEVBQXVDO01BQ3JDc0QsUUFBUSxHQUFHcEMsS0FBSyxDQUFDaUIsWUFBTixDQUFtQixlQUFuQixDQUFYO01BQ0FHLEdBQUcsR0FBR3BCLEtBQUssQ0FBQ0UsWUFBTixDQUFtQixVQUFuQixDQUFOOztNQUNBLElBQUlrQixHQUFHLEtBQUtjLFFBQVosRUFBc0I7UUFDcEIsTUFBTUssV0FBVyxHQUFHdkMsS0FBSyxDQUFDd0MsU0FBMUI7UUFFQSxNQUFNQyxNQUFNLEdBQUd0RCxRQUFRLENBQUN1RCxhQUFULENBQXVCLFFBQXZCLENBQWY7O1FBQ0FELE1BQU0sQ0FBQ0UsTUFBUCxHQUFnQixNQUFNO1VBQ3BCLE1BQU1DLFVBQVUsR0FBR0gsTUFBTSxFQUFFSSxhQUFSLEVBQXVCMUQsUUFBdkIsQ0FBZ0MyRCxJQUFuRCxDQURvQixDQUVwQjs7VUFDQUwsTUFBTSxDQUFDcEMsWUFBUCxDQUNFLFFBREYsRUFFRXVCLE1BQU0sQ0FBQyxDQUFDZ0IsVUFBVSxFQUFFRyxZQUFaLElBQTRCVCxhQUE3QixJQUE4QyxDQUEvQyxDQUZSO1VBSUFHLE1BQU0sQ0FBQ3BDLFlBQVAsQ0FDRSxPQURGLEVBRUV1QixNQUFNLENBQUNnQixVQUFVLEVBQUVJLFdBQVosSUFBMkJYLFlBQTVCLENBQU4sR0FBa0QsQ0FGcEQ7UUFLRCxDQVpEOztRQWNBbkcsVUFBVSxDQUFDdUcsTUFBRCxDQUFWLENBQW1CUSxNQUFuQixlQUNFLCtDQUNFLDBDQUFHaEIsU0FBSCxDQURGLENBREY7UUFNQVEsTUFBTSxDQUFDUyxXQUFQLENBQW1CbEQsS0FBbkI7TUFDRDtJQUNGO0VBQ0Y7O0VBQ0RGLFVBQVUsR0FBRztJQUNYLEtBQUtGLFdBQUwsQ0FBaUIsS0FBS3ZDLEtBQUwsQ0FBV3lCLE1BQVgsQ0FBa0IsQ0FBbEIsQ0FBakI7RUFDQSxDQXZNRCxDQXlNRDs7O0VBQ0FhLGlCQUFpQixDQUFDd0QsSUFBRCxFQUFhZixRQUFiLEVBQWdDO0lBQy9DLElBQUksS0FBS2dCLGlCQUFMLENBQXVCRCxJQUF2QixFQUE0Q2YsUUFBNUMsQ0FBSixFQUEyRDtNQUN6RGUsSUFBSSxDQUFDRSxVQUFMLEVBQWlCQyxZQUFqQixDQUNFLEtBQUtDLGVBQUwsQ0FBcUJKLElBQXJCLENBREYsRUFFRUEsSUFGRjtNQUlBLE1BQU12RSxZQUFZLEdBQUcsS0FBS3ZCLEtBQUwsQ0FBV3VCLFlBQWhDO01BQ0FBLFlBQVksQ0FBQzRFLEdBQWIsQ0FBaUJMLElBQWpCLEVBQXVCLElBQXZCO01BQ0EsS0FBSy9DLFFBQUwsQ0FBYztRQUFFeEI7TUFBRixDQUFkO0lBQ0QsQ0FSRCxNQVFPO01BQ0wsSUFBSXVELENBQUMsR0FBRyxDQUFSO01BQUEsSUFDRXNCLFFBQVEsR0FBR04sSUFBSSxDQUFDTyxVQURsQjs7TUFFQSxPQUFPdkIsQ0FBQyxHQUFHc0IsUUFBUSxDQUFDdEQsTUFBcEIsRUFBNEI7UUFDMUIsS0FBS1IsaUJBQUwsQ0FBdUI4RCxRQUFRLENBQUN0QixDQUFDLEVBQUYsQ0FBL0IsRUFBc0NDLFFBQXRDO01BQ0Q7SUFDRjs7SUFDRCxPQUFPZSxJQUFQO0VBQ0Q7O0VBRURDLGlCQUFpQixDQUFDRCxJQUFELEVBQW9CZixRQUFwQixFQUF1QztJQUN0RCxPQUNFLEtBQUt1QixZQUFMLENBQWtCUixJQUFsQixLQUNBLENBQUMsS0FBSzlGLEtBQUwsQ0FBV3VCLFlBQVgsQ0FBd0JnRixHQUF4QixDQUE0QlQsSUFBNUIsQ0FERCxLQUVDLENBQUNmLFFBQUQsSUFBY0EsUUFBUSxJQUFJLENBQUNlLElBQUksQ0FBQ2pELFlBQUwsQ0FBa0IsZ0JBQWxCLENBRjVCLENBREY7RUFLRDs7RUFFRHlELFlBQVksQ0FBQ1IsSUFBRCxFQUFvQjtJQUM5QixPQUFPQSxJQUFJLENBQUNVLE9BQUwsS0FBaUIsUUFBeEI7RUFDRDs7RUFDRE4sZUFBZSxDQUFDSixJQUFELEVBQW9CO0lBQ2pDLE1BQU1XLE1BQU0sR0FBRzNFLFFBQVEsQ0FBQ3VELGFBQVQsQ0FBdUIsUUFBdkIsQ0FBZjtJQUVBLE1BQU1xQixTQUFTLEdBQUc1SCxTQUFTLENBQUNnSCxJQUFELENBQTNCOztJQUNBLEtBQUssSUFBSWhCLENBQUMsR0FBRzRCLFNBQVMsQ0FBQ3RELFVBQVYsQ0FBcUJOLE1BQXJCLEdBQThCLENBQTNDLEVBQThDZ0MsQ0FBQyxJQUFJLENBQW5ELEVBQXNEQSxDQUFDLEVBQXZELEVBQTJEO01BQ3pEMkIsTUFBTSxDQUFDekQsWUFBUCxDQUNFMEQsU0FBUyxDQUFDdEQsVUFBVixDQUFxQjBCLENBQXJCLEVBQXdCOUQsSUFEMUIsRUFFRTBGLFNBQVMsQ0FBQ3RELFVBQVYsQ0FBcUIwQixDQUFyQixFQUF3Qm5CLEtBRjFCO0lBSUQ7O0lBQ0QsT0FBTzhDLE1BQVA7RUFDRDs7RUFFRGIsTUFBTSxHQUFHO0lBQ1AsS0FBS3JELFdBQUwsQ0FBaUIsS0FBS3ZDLEtBQUwsQ0FBV3lCLE1BQVgsQ0FBa0IsQ0FBbEIsQ0FBakI7SUFDQSxvQkFDRTtNQUNFLFNBQVMsRUFBRyxLQUFLekIsS0FBTCxDQUFXUyxTQUR6QjtNQUVFLGVBQWEsS0FBS1QsS0FBTCxDQUFXQyxNQUYxQjtNQUdFLGFBQVcsS0FBS0QsS0FBTCxDQUFXRSxJQUh4QjtNQUlFLGNBQVksS0FBS0YsS0FBTCxDQUFXRyxLQUp6QjtNQUtFLGFBQVcsS0FBS0gsS0FBTCxDQUFXSSxJQUx4QjtNQU1FLGVBQWUsS0FBS0osS0FBTCxDQUFXSyxNQU41QjtNQU9FLGdCQUFjLEtBQUtMLEtBQUwsQ0FBV007SUFQM0IsZ0JBU0U7TUFDRSxTQUFTLEVBQUUsS0FBS04sS0FBTCxDQUFXYSxhQUR4QjtNQUVFLElBQUksRUFBRyxHQUFFLGlDQUFpQyxLQUFLYixLQUFMLENBQVdLLE1BQTVDLEdBQXFELG9CQUFxQjtJQUZyRixHQUlFLEtBQUtMLEtBQUwsQ0FBV1EsS0FKYixDQVRGLENBREY7RUFtQkQsQ0ExUUEsQ0E0UUQ7O0VBRUE7QUFDRjtBQUNBOzs7RUFDRTJCLFFBQVEsR0FBRztJQUNUO0lBQ0E7SUFDQSxNQUFNd0UsSUFBSSxHQUNQLEtBQUszRyxLQUFMLENBQVdxQixpQkFBWCxJQUFnQyxLQUFLckIsS0FBTCxDQUFXb0IsaUJBQTNDLElBQ0MsS0FBS3BCLEtBQUwsQ0FBV29CLGlCQUFYLEdBQStCLENBRGpDLElBRUEsS0FBS3BCLEtBQUwsQ0FBV3FCLGlCQUFYLElBQWdDLEtBQUtyQixLQUFMLENBQVd5QixNQUFYLENBQWtCcUIsTUFIcEQ7O0lBSUEsSUFBSTZELElBQUosRUFBVTtNQUNSLE9BQVExSCxNQUFELENBQWlCLEdBQUUsS0FBS3lELGFBQWMsRUFBdEMsQ0FBUCxDQURRLENBR1I7O01BQ0EsTUFBTXBCLE9BQU8sR0FBRyxLQUFLdEIsS0FBTCxDQUFXc0IsT0FBM0I7TUFDQUEsT0FBTyxDQUFDUCxHQUFSLENBQVksVUFBVTBGLE1BQVYsRUFBa0I7UUFDNUIzRSxRQUFRLENBQUMyRCxJQUFULENBQWNtQixXQUFkLENBQTBCSCxNQUExQjtNQUNELENBRkQ7TUFHQSxLQUFLMUQsUUFBTCxDQUFjO1FBQUV6QjtNQUFGLENBQWQ7SUFDRDtFQUNGO0VBRUQ7QUFDRjtBQUNBO0FBQ0E7OztFQUNFa0IsS0FBSyxDQUFDbEQsR0FBRCxFQUFjO0lBQ2pCLE1BQU1tSCxNQUFNLEdBQUczRSxRQUFRLENBQUN1RCxhQUFULENBQXVCLFFBQXZCLENBQWY7SUFDQW9CLE1BQU0sQ0FBQ0ksR0FBUCxHQUFhdkgsR0FBYjtJQUNBLE1BQU1nQyxPQUFPLEdBQUcsS0FBS3RCLEtBQUwsQ0FBV3NCLE9BQTNCO0lBQ0FBLE9BQU8sQ0FBQ29DLElBQVIsQ0FBYStDLE1BQWI7SUFDQSxLQUFLMUQsUUFBTCxDQUFjO01BQUV6QjtJQUFGLENBQWQ7SUFDQVEsUUFBUSxDQUFDMkQsSUFBVCxDQUFjSSxXQUFkLENBQTBCWSxNQUExQjtFQUNEOztBQS9TQSJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkNvbXBvbmVudCIsImNyZWF0ZVJvb3QiLCJjbG9uZURlZXAiLCJMaW5rZWRpbkJhZGdlTG9hZGVyIiwiaXNDTkRvbWFpbiIsIndpbmRvdyIsImhvc3ROYW1lIiwibG9jYXRpb24iLCJob3N0bmFtZSIsImhyZWYiLCJ1cmwiLCJVUkwiLCJkb21haW4iLCJ0ZXN0IiwiZ2VuZXJhdGVVcmwiLCJpc0VJIiwiZG9tYWluUHJlZml4IiwiZG9tYWluU3VmZml4IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInN0YXRlIiwibG9jYWxlIiwic2l6ZSIsInRoZW1lIiwidHlwZSIsInZhbml0eSIsInZlcnNpb24iLCJiYWRnZUxvYWRlZCIsInRpdGxlIiwiY2xhc3NOYW1lIiwiQkFTRV9OQU1FIiwiQkFER0VfTkFNRVMiLCJyZXBsYWNlIiwibGlua0NsYXNzTmFtZSIsIlNDUklQVF9OQU1FUyIsIm1hcCIsIm5hbWUiLCJqb2luIiwidHJhY2tpbmdQYXJhbSIsIlRSQUNLSU5HX1BBUkFNIiwiZXhwZWN0ZWRSZXNwb25zZXMiLCJyZXNwb25zZXNSZWNlaXZlZCIsInNjcmlwdHMiLCJjaGlsZFNjcmlwdHMiLCJNYXAiLCJyZXNwb25zZUhhbmRsZXIiLCJiaW5kIiwidHJ5Q2xlYW4iLCJnZXRCYWRnZUtleVF1ZXJ5UGFyYW1zIiwibGl1UmVuZGVyQWxsIiwicmVwbGFjZVNjcmlwdFRhZ3MiLCJyZW5kZXJCYWRnZSIsImpzb25wIiwiaGFuZGxlTG9hZCIsIkNBTExCQUNLX05BTUUiLCJiYWRnZXMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJiYWRnZSIsInJlbmRlcmVkIiwiZ2V0QXR0cmlidXRlIiwibGVuZ3RoIiwic2V0U3RhdGUiLCJzZXRBdHRyaWJ1dGUiLCJwYXJhbXMiLCJrZXlfcmVnZXgiLCJhdHRyIiwiYXR0cmlidXRlcyIsInN0YXJ0c1dpdGgiLCJtYXRjaCIsInBhcmFtc0ZvdW5kIiwiZm9yRWFjaCIsInBhcmFtIiwicHVzaCIsInZhbHVlIiwiaGFzQXR0cmlidXRlIiwiZW50aXR5IiwiaXNDcmVhdGVQYWdlIiwidWlkIiwiTWF0aCIsInJvdW5kIiwicmFuZG9tIiwiYmFzZVVybCIsInF1ZXJ5UGFyYW1zIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiY29uY2F0IiwiU3RyaW5nIiwiY29tcG9uZW50RGlkTW91bnQiLCJhZGRFdmVudExpc3RlbmVyIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYmFkZ2VIdG1sIiwiYmFkZ2VVaWQiLCJpIiwiaXNDcmVhdGUiLCJkZWZhdWx0V2lkdGgiLCJkZWZhdWx0SGVpZ2h0IiwiYmFkZ2VNYXJrdXAiLCJpbm5lckhUTUwiLCJpZnJhbWUiLCJjcmVhdGVFbGVtZW50Iiwib25sb2FkIiwiaWZyYW1lQm9keSIsImNvbnRlbnRXaW5kb3ciLCJib2R5Iiwic2Nyb2xsSGVpZ2h0Iiwic2Nyb2xsV2lkdGgiLCJyZW5kZXIiLCJhcHBlbmRDaGlsZCIsIm5vZGUiLCJzaG91bGRSZXBsYWNlTm9kZSIsInBhcmVudE5vZGUiLCJyZXBsYWNlQ2hpbGQiLCJjbG9uZVNjcmlwdE5vZGUiLCJzZXQiLCJjaGlsZHJlbiIsImNoaWxkTm9kZXMiLCJpc1NjcmlwdE5vZGUiLCJnZXQiLCJ0YWdOYW1lIiwic2NyaXB0IiwiY2xvbmVOb2RlIiwiZG9uZSIsInJlbW92ZUNoaWxkIiwic3JjIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBBdXRvIGdlbmVyYXRlZCwgaGFzaCA9IDJ4bnI5OHUwaXV4NjZoNXE5bGt4cXV2NXEgKi9cbi8vRnJvbSBMaW5rZWRJbiBUT0RPOiBCcmVhayB0aGlzIGZpbGUgZG93biBzbyB0aGF0IHdlIGNhbiBhY3R1YWxseSB1bml0IHRlc3QgaXQuXG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tIFwicmVhY3QtZG9tL2NsaWVudFwiO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSBcImxvZGFzaFwiO1xuXG5leHBvcnQgdHlwZSBMaW5rZWRpbkJhZGdlTG9hZGVyUHJvcHMgPSB7XG4gIGxvY2FsZT86c3RyaW5nO1xuICBzaXplPzonc21hbGwnfCdtZWRpdW0nfCdsYXJnZSc7XG4gICB0aGVtZT86J2RhcmsnfCdsaWdodCc7XG4gICB0eXBlPzonaG9yaXpvbnRhbCd8J3ZlcnRpY2FsJztcbiAgIHZhbml0eT86c3RyaW5nO1xuICAgdmVyc2lvbj86J3YxJ3wndjInO1xuICAgY2xhc3NOYW1lPzpzdHJpbmc7XG4gICBsaW5rQ2xhc3NOYW1lPzpzdHJpbmc7XG4gICB0cmFja2luZ1BhcmFtPzpzdHJpbmc7XG4gIHRpdGxlPzpzdHJpbmc7XG4gfVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGlua2VkaW5CYWRnZUxvYWRlciBleHRlbmRzIENvbXBvbmVudDxhbnksUmVxdWlyZWQ8TGlua2VkaW5CYWRnZUxvYWRlclByb3BzICYge2JhZGdlTG9hZGVkOmJvb2xlYW4sICByZXNwb25zZXNSZWNlaXZlZDogbnVtYmVyOyAvL0tlZXBzIHRyYWNrIG9mIG51bWJlciBvZiByZXNwb25zZXMgcmVjaWV2ZWQgZm9yIHByb3BlciBjbGVhbnVwIHdoZW4gZmluaXNoZWRcbiBleHBlY3RlZFJlc3BvbnNlczogbnVtYmVyOyAvL0tlZXBzIHRyYWNrIG9mIG51bWJlciBvZiByZXNwb25zZXMgdG8gZXhwZWN0fT4gPiBcbiAgc2NyaXB0czogSFRNTFNjcmlwdEVsZW1lbnRbXTsgLy9LZWVwcyB0cmFjayBvZiBzY3JpcHRzIGFkZGVkIGZvciBwcm9wZXIgY2xlYW51cCB3aGVuIGZpbmlzaGVkXG4gIGNoaWxkU2NyaXB0czogTWFwPE5vZGUsIGJvb2xlYW4+O1xufT4+e1xuICByZWFkb25seSBDQUxMQkFDS19OQU1FOiBzdHJpbmcgPSBcIkxJQmFkZ2VDYWxsYmFja1wiOyAvL011c3QgbWF0Y2ggY2FsbGJhY2sgb24gaGVscGVycy5qc1xuICByZWFkb25seSBCQURHRV9OQU1FUyA9IFtcIi5MSS1wcm9maWxlLWJhZGdlXCIsIFwiLkxJLWVudGl0eS1iYWRnZVwiXTtcbiAgcmVhZG9ubHkgU0NSSVBUX05BTUVTID1bXCIuYmFkZ2UtYmFzZV9fbGlua1wiLCBcIi5MSS1zaW1wbGUtbGlua1wiXVxuICByZWFkb25seSBCQVNFX05BTUUgPSBcImJhZGdlLWJhc2VcIjtcbiAgcmVhZG9ubHkgVFJBQ0tJTkdfUEFSQU0gPSBcInByb2ZpbGUtYmFkZ2VcIjtcblxuXG5cbiAgc3RhdGljIGlzQ05Eb21haW4oKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGNvbnN0IGhvc3ROYW1lID1cbiAgICAgICAgd2luZG93Py5sb2NhdGlvbj8uaG9zdG5hbWUgfHwgd2luZG93Py5sb2NhdGlvbj8uaHJlZiB8fCBcIlwiO1xuXG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGhvc3ROYW1lKTtcbiAgICAgIGNvbnN0IGRvbWFpbiA9IHVybC5ob3N0bmFtZTtcbiAgICAgIHJldHVybiAvbGlua2VkaW4oLWVpKT8uY24kLy50ZXN0KGRvbWFpbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHN0YXRpYyBnZW5lcmF0ZVVybChpc0VJOiBib29sZWFuKSB7XG4gICAgY29uc3QgZG9tYWluUHJlZml4ID0gaXNFSVxuICAgICAgPyBcImh0dHBzOi8vYmFkZ2VzLmxpbmtlZGluLWVpXCJcbiAgICAgIDogXCJodHRwczovL2JhZGdlcy5saW5rZWRpblwiO1xuICAgIGNvbnN0IGRvbWFpblN1ZmZpeCA9IExpbmtlZGluQmFkZ2VMb2FkZXIuaXNDTkRvbWFpbigpID8gXCIuY25cIiA6IFwiXCI7XG4gICAgcmV0dXJuIGAke2RvbWFpblByZWZpeH0ke2RvbWFpblN1ZmZpeH0vanMvbGlua2VkSW5CYWRnZS5qc2A7XG4gIH1cbiAgY29uc3RydWN0b3IocHJvcHM6IExpbmtlZGluQmFkZ2VMb2FkZXJQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgbG9jYWxlOiBwcm9wcy5sb2NhbGUgfHwgXCJlbl9VU1wiLFxuICAgICAgc2l6ZTogcHJvcHMuc2l6ZSB8fCBcIm1lZGl1bVwiLFxuICAgICAgdGhlbWU6IHByb3BzLnRoZW1lIHx8IFwibGlnaHRcIixcbiAgICAgIHR5cGU6IHByb3BzLnR5cGUgfHwgXCJob3Jpem9udGFsXCIsXG4gICAgICB2YW5pdHk6IHByb3BzLnZhbml0eSB8fCBcImxpdVwiLFxuICAgICAgdmVyc2lvbjogcHJvcHMudmVyc2lvbiB8fCBcInYxXCIsXG4gICAgICBiYWRnZUxvYWRlZDogZmFsc2UsXG4gICAgICB0aXRsZTogcHJvcHMudGl0bGUgfHwgXCJMaW5rZWRpbi5jb20vaW4vbGl1XCIsXG4gICAgICBjbGFzc05hbWU6IHByb3BzLmNsYXNzTmFtZSB8fCBgJHt0aGlzLkJBU0VfTkFNRX0gJHt0aGlzLkJBREdFX05BTUVTWzBdLnJlcGxhY2UoJy4nLCAnJyl9YCxcbiAgICAgIGxpbmtDbGFzc05hbWU6IHByb3BzLmxpbmtDbGFzc05hbWUgfHwgdGhpcy5TQ1JJUFRfTkFNRVMubWFwKChuYW1lKSA9PiBuYW1lLnJlcGxhY2UoXCIuXCIsXCJcIikpLmpvaW4oXCIgXCIpLFxuICAgICAgdHJhY2tpbmdQYXJhbTogcHJvcHMudHJhY2tpbmdQYXJhbSB8fCB0aGlzLlRSQUNLSU5HX1BBUkFNLFxuICAgICAgZXhwZWN0ZWRSZXNwb25zZXM6IDAsXG4gICAgICByZXNwb25zZXNSZWNlaXZlZDogMCxcbiAgICAgIHNjcmlwdHMgOiBbXSxcbiAgICAgIGNoaWxkU2NyaXB0czogbmV3IE1hcCgpLFxuICAgIH07XG4gICAgdGhpcy5yZXNwb25zZUhhbmRsZXIgPSB0aGlzLnJlc3BvbnNlSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMudHJ5Q2xlYW4gPSB0aGlzLnRyeUNsZWFuLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRCYWRnZUtleVF1ZXJ5UGFyYW1zID0gdGhpcy5nZXRCYWRnZUtleVF1ZXJ5UGFyYW1zLmJpbmQodGhpcyk7XG4gICAgdGhpcy5saXVSZW5kZXJBbGwgPSB0aGlzLmxpdVJlbmRlckFsbC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVwbGFjZVNjcmlwdFRhZ3MgPSB0aGlzLnJlcGxhY2VTY3JpcHRUYWdzLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZW5kZXJCYWRnZSA9IHRoaXMucmVuZGVyQmFkZ2UuYmluZCh0aGlzKTtcbiAgICB0aGlzLmpzb25wID0gdGhpcy5qc29ucC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaGFuZGxlTG9hZCA9IHRoaXMuaGFuZGxlTG9hZC5iaW5kKHRoaXMpO1xuICAgICh3aW5kb3cgYXMgYW55KVt0aGlzLkNBTExCQUNLX05BTUVdID0gdGhpcy5yZXNwb25zZUhhbmRsZXI7XG4gIH1cbiAgLyoqXG4gICAqIFJlbmRlcnMgYWxsIHVucmVuZHJlZCBMaW5rZWRJbiBCYWRnZXMgb24gdGhlIHBhZ2VcbiAgICovXG4gIGxpdVJlbmRlckFsbCgpIHtcbiAgICAvLyBGUk9NIExJTktFRElOIFRPRE8gLS0gdHJhY2tpbmcgcGFyYW0gZm9yIG90aGVyIGJhZGdlIHR5cGVzXG4gICAgY29uc3QgYmFkZ2VzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLnN0YXRlLmNsYXNzTmFtZSk7XG4gICAgZm9yIChjb25zdCBiYWRnZSBvZiBiYWRnZXMpIHtcbiAgICAgIGNvbnN0IHJlbmRlcmVkID0gYmFkZ2UuZ2V0QXR0cmlidXRlKFwiZGF0YS1yZW5kZXJlZFwiKTtcbiAgICAgIGlmIChyZW5kZXJlZCAhPT0gbnVsbCAmJiByZW5kZXJlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIGV4cGVjdGVkUmVzcG9uc2VzOiB0aGlzLnN0YXRlLmV4cGVjdGVkUmVzcG9uc2VzICsgMSxcbiAgICAgICAgfSlcbiAgICAgICAgYmFkZ2Uuc2V0QXR0cmlidXRlKFwiZGF0YS1yZW5kZXJlZFwiLCBcInRydWVcIik7XG4gICAgICAgIHRoaXMucmVuZGVyQmFkZ2UoYmFkZ2UgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEJhZGdlS2V5UXVlcnlQYXJhbXMoYmFkZ2U6IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgcGFyYW1zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGtleV9yZWdleCA9IC9kYXRhLShcXHcrKS87XG4gICAgZm9yIChjb25zdCBhdHRyIG9mIGJhZGdlLmF0dHJpYnV0ZXMpIHtcbiAgICAgIGlmIChhdHRyLm5hbWUuc3RhcnRzV2l0aChcImRhdGEtXCIpICYmIGF0dHIubmFtZS5tYXRjaChrZXlfcmVnZXgpKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtc0ZvdW5kID0gYXR0ci5uYW1lLm1hdGNoKGtleV9yZWdleCk7XG5cbiAgICAgICAgcGFyYW1zRm91bmQ/LmZvckVhY2goKHBhcmFtKSA9PiB7XG4gICAgICAgICAgcGFyYW1zLnB1c2goYCR7cGFyYW19PSR7YXR0ci52YWx1ZX1gKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG5cbiAgfVxuXG4gIC8qXG4gICAqIFJlbmRlcnMgYSBzaW5nbGUgYmFkZ2Ugb24gdGhlIHBhZ2VcbiAgICogQHBhcmFtIGJhZGdlOiBkaXYgZWxlbWVudCBvZiBiYWRnZSB0byByZW5kZXJcbiAgICovXG4gIHJlbmRlckJhZGdlKGJhZGdlOiBIVE1MRWxlbWVudCkge1xuICAgIGxldCBzaXplID0gYmFkZ2UuZ2V0QXR0cmlidXRlKFwiZGF0YS1zaXplXCIpIHx8IFwibWVkaXVtXCIsXG4gICAgICBsb2NhbGUgPSBiYWRnZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLWxvY2FsZVwiKSB8fCBcImVuX1VTXCIsXG4gICAgICB0eXBlID0gYmFkZ2UuZ2V0QXR0cmlidXRlKFwiZGF0YS10eXBlXCIpIHx8IFwidmVydGljYWxcIixcbiAgICAgIHRoZW1lID0gYmFkZ2UuZ2V0QXR0cmlidXRlKFwiZGF0YS10aGVtZVwiKSB8fCBcImxpZ2h0XCIsXG4gICAgICB2YW5pdHkgPSBiYWRnZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXZhbml0eVwiKSB8fCBcIlwiLFxuICAgICAgdmVyc2lvbiA9IGJhZGdlLmdldEF0dHJpYnV0ZShcImRhdGEtdmVyc2lvblwiKSB8fCBcInYxXCIsXG4gICAgICBpc0VJID0gYmFkZ2UuaGFzQXR0cmlidXRlKFwiZGF0YS1laVwiKSB8fCBmYWxzZSxcbiAgICAgIGVudGl0eSA9IGJhZGdlLmdldEF0dHJpYnV0ZShcImRhdGEtZW50aXR5XCIpIHx8IFwiXCIsXG4gICAgICBpc0NyZWF0ZVBhZ2UgPSBiYWRnZS5oYXNBdHRyaWJ1dGUoXCJkYXRhLWlzY3JlYXRlXCIpIHx8IGZhbHNlLFxuICAgICAgdWlkID0gTWF0aC5yb3VuZCgxMDAwMDAwICogTWF0aC5yYW5kb20oKSksXG4gICAgICBiYXNlVXJsID0gTGlua2VkaW5CYWRnZUxvYWRlci5nZW5lcmF0ZVVybChpc0VJKSxcbiAgICAgIHF1ZXJ5UGFyYW1zID0gW1xuICAgICAgICBcImxvY2FsZT1cIiArIGVuY29kZVVSSUNvbXBvbmVudChsb2NhbGUpLFxuICAgICAgICBcImJhZGdldHlwZT1cIiArIGVuY29kZVVSSUNvbXBvbmVudCh0eXBlKSxcbiAgICAgICAgXCJiYWRnZXRoZW1lPVwiICsgZW5jb2RlVVJJQ29tcG9uZW50KHRoZW1lKSxcbiAgICAgICAgXCJ1aWQ9XCIgKyBlbmNvZGVVUklDb21wb25lbnQodWlkKSxcbiAgICAgICAgXCJ2ZXJzaW9uPVwiICsgZW5jb2RlVVJJQ29tcG9uZW50KHZlcnNpb24pLFxuICAgICAgXTtcblxuICAgIGxldCB1cmwgPSBiYXNlVXJsICsgXCI/XCIgKyBxdWVyeVBhcmFtcy5qb2luKFwiJlwiKTtcblxuICAgIGlmICh2ZXJzaW9uID09PSBcInYyXCIpIHtcbiAgICAgIGJhc2VVcmwgKz0gXCJ2aWV3XCI7XG4gICAgICBxdWVyeVBhcmFtcy5wdXNoKFwiYmFkZ2VzaXplPVwiICsgZW5jb2RlVVJJQ29tcG9uZW50KHNpemUpKTtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goXCJlbnRpdHk9XCIgKyBlbmNvZGVVUklDb21wb25lbnQoZW50aXR5KSk7XG4gICAgICBxdWVyeVBhcmFtcyA9IHF1ZXJ5UGFyYW1zLmNvbmNhdCh0aGlzLmdldEJhZGdlS2V5UXVlcnlQYXJhbXMoYmFkZ2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFzZVVybCArPSBcInByb2ZpbGVcIjtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goXCJtYXhzaXplPVwiICsgZW5jb2RlVVJJQ29tcG9uZW50KHNpemUpKTtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goXCJ0cms9XCIgKyBlbmNvZGVVUklDb21wb25lbnQodGhpcy5UUkFDS0lOR19QQVJBTSkpO1xuICAgICAgcXVlcnlQYXJhbXMucHVzaChcInZhbml0eW5hbWU9XCIgKyBlbmNvZGVVUklDb21wb25lbnQodmFuaXR5KSk7XG4gICAgfVxuXG4gICAgaWYgKGlzQ3JlYXRlUGFnZSkge1xuICAgICAgcXVlcnlQYXJhbXMucHVzaChcImZyb21DcmVhdGU9dHJ1ZVwiKTtcbiAgICB9XG5cbiAgICB1cmwgPSBiYXNlVXJsICsgXCI/XCIgKyBxdWVyeVBhcmFtcy5qb2luKFwiJlwiKTtcbiAgICBiYWRnZS5zZXRBdHRyaWJ1dGUoXCJkYXRhLXVpZFwiLCBTdHJpbmcodWlkKSk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGJhZGdlTG9hZGVkOiB0cnVlIH0pO1xuICAgIHRoaXMuanNvbnAodXJsKTsgLy9DYWxscyByZXNwb25zZUhhbmRsZXIgd2hlbiBkb25lXG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHRoaXMuaGFuZGxlTG9hZCk7XG4gfVxuXG4gY29tcG9uZW50V2lsbFVubW91bnQoKSB7IFxuICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0aGlzLmhhbmRsZUxvYWQpICBcbiB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgYSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXIuIEZpbmRzIGJhZGdlIG1hdGNoaW5nIGJhZGdlVWlkIGFuZCBpbnNlcnRzIGJhZGdlSHRtbCB0aGVyZVxuICAgKiBAcGFyYW0gYmFkZ2VIdG1sOiBTdHJpbmcgcmVwcmVzZW50aW5nIGNvbnRlbnRzIG9mIHRoZSBiYWRnZVxuICAgKiBAcGFyYW0gYmFkZ2VVaWQ6IFVJRCBvZiB0aGUgYmFkZ2UgdG8gdGFyZ2V0XG4gICAqKi9cbiAgcmVzcG9uc2VIYW5kbGVyKGJhZGdlSHRtbDogSFRNTEVsZW1lbnQsIGJhZGdlVWlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHJlc3BvbnNlc1JlY2VpdmVkOiB0aGlzLnN0YXRlLnJlc3BvbnNlc1JlY2VpdmVkICsgMSxcbiAgICB9KTtcbiAgXG5cbiAgICBsZXQgaSwgYmFkZ2UsIHVpZCwgaXNDcmVhdGU7XG4gICAgY29uc3QgZGVmYXVsdFdpZHRoID0gMzMwOyAvLyBtYXggcG9zc2libGUgd2lkdGhcbiAgICBjb25zdCBkZWZhdWx0SGVpZ2h0ID0gMzAwOyAvLyBtYXggcG9zc2libGUgaGVpZ2h0XG4gICAgY29uc3QgYmFkZ2VzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLnN0YXRlLmNsYXNzTmFtZSk7XG4gICAgZm9yIChjb25zdCBiYWRnZSBvZiBiYWRnZXMpIHtcbiAgICAgIGlzQ3JlYXRlID0gYmFkZ2UuaGFzQXR0cmlidXRlKFwiZGF0YS1pc2NyZWF0ZVwiKTtcbiAgICAgIHVpZCA9IGJhZGdlLmdldEF0dHJpYnV0ZShcImRhdGEtdWlkXCIpO1xuICAgICAgaWYgKHVpZCA9PT0gYmFkZ2VVaWQpIHtcbiAgICAgICAgY29uc3QgYmFkZ2VNYXJrdXAgPSBiYWRnZS5pbm5lckhUTUw7XG5cbiAgICAgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlmcmFtZVwiKTtcbiAgICAgICAgaWZyYW1lLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBpZnJhbWVCb2R5ID0gaWZyYW1lPy5jb250ZW50V2luZG93Py5kb2N1bWVudC5ib2R5O1xuICAgICAgICAgIC8vIDUgcHggYnVmZmVyIHRvIGF2b2lkIHRoZSBiYWRnZSBib3JkZXIgYmVpbmcgY3V0IG9mZi5cbiAgICAgICAgICBpZnJhbWUuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgXCJoZWlnaHRcIixcbiAgICAgICAgICAgIFN0cmluZygoaWZyYW1lQm9keT8uc2Nyb2xsSGVpZ2h0IHx8IGRlZmF1bHRIZWlnaHQpICsgNSlcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICBcIndpZHRoXCIsXG4gICAgICAgICAgICBTdHJpbmcoaWZyYW1lQm9keT8uc2Nyb2xsV2lkdGggfHwgZGVmYXVsdFdpZHRoKSArIDVcbiAgICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgfTtcblxuICAgICAgICBjcmVhdGVSb290KGlmcmFtZSkucmVuZGVyKFxuICAgICAgICAgIDxib2R5PlxuICAgICAgICAgICAgPD57YmFkZ2VIdG1sfTwvPlxuICAgICAgICAgIDwvYm9keT5cbiAgICAgICAgKTtcblxuICAgICAgICBpZnJhbWUuYXBwZW5kQ2hpbGQoYmFkZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBoYW5kbGVMb2FkKCkge1xuICAgIHRoaXMubGl1UmVuZGVyQWxsKCk7XG4gICB9XG5cbiAgLy8gVGhlc2UgZnVuY3Rpb25zIGFyZSBuZWVkZWQgYmVjYXVzZSBiYWRnZSBtYXJrdXAgaXMgYWRkZWQgdmlhIGlubmVySHRtbCBwcm9wZXJ0eSB3aGljaCBkb2VzIG5vdCBydW4gc2NyaXB0IHRhZ3NcbiAgcmVwbGFjZVNjcmlwdFRhZ3Mobm9kZTogTm9kZSwgaXNDcmVhdGU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5zaG91bGRSZXBsYWNlTm9kZShub2RlIGFzIEhUTUxFbGVtZW50LCBpc0NyZWF0ZSkpIHtcbiAgICAgIG5vZGUucGFyZW50Tm9kZT8ucmVwbGFjZUNoaWxkKFxuICAgICAgICB0aGlzLmNsb25lU2NyaXB0Tm9kZShub2RlIGFzIEhUTUxFbGVtZW50KSxcbiAgICAgICAgbm9kZVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNoaWxkU2NyaXB0cyA9IHRoaXMuc3RhdGUuY2hpbGRTY3JpcHRzO1xuICAgICAgY2hpbGRTY3JpcHRzLnNldChub2RlLCB0cnVlKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjaGlsZFNjcmlwdHMgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBpID0gMCxcbiAgICAgICAgY2hpbGRyZW4gPSBub2RlLmNoaWxkTm9kZXM7XG4gICAgICB3aGlsZSAoaSA8IGNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICB0aGlzLnJlcGxhY2VTY3JpcHRUYWdzKGNoaWxkcmVuW2krK10sIGlzQ3JlYXRlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBzaG91bGRSZXBsYWNlTm9kZShub2RlOiBIVE1MRWxlbWVudCwgaXNDcmVhdGU6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc1NjcmlwdE5vZGUobm9kZSkgJiZcbiAgICAgICF0aGlzLnN0YXRlLmNoaWxkU2NyaXB0cy5nZXQobm9kZSkgJiZcbiAgICAgICghaXNDcmVhdGUgfHwgKGlzQ3JlYXRlICYmICFub2RlLmdldEF0dHJpYnV0ZShcImRhdGEtaXNhcnRkZWNvXCIpKSlcbiAgICApO1xuICB9XG5cbiAgaXNTY3JpcHROb2RlKG5vZGU6IEhUTUxFbGVtZW50KSB7XG4gICAgcmV0dXJuIG5vZGUudGFnTmFtZSA9PT0gXCJTQ1JJUFRcIjtcbiAgfVxuICBjbG9uZVNjcmlwdE5vZGUobm9kZTogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuXG4gICAgY29uc3QgY2xvbmVOb2RlID0gY2xvbmVEZWVwKG5vZGUpO1xuICAgIGZvciAobGV0IGkgPSBjbG9uZU5vZGUuYXR0cmlidXRlcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZShcbiAgICAgICAgY2xvbmVOb2RlLmF0dHJpYnV0ZXNbaV0ubmFtZSxcbiAgICAgICAgY2xvbmVOb2RlLmF0dHJpYnV0ZXNbaV0udmFsdWVcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBzY3JpcHQ7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPSB7dGhpcy5zdGF0ZS5jbGFzc05hbWV9XG4gICAgICAgIGRhdGEtbG9jYWxlPXt0aGlzLnN0YXRlLmxvY2FsZX1cbiAgICAgICAgZGF0YS1zaXplPXt0aGlzLnN0YXRlLnNpemV9XG4gICAgICAgIGRhdGEtdGhlbWU9e3RoaXMuc3RhdGUudGhlbWV9XG4gICAgICAgIGRhdGEtdHlwZT17dGhpcy5zdGF0ZS50eXBlfVxuICAgICAgICBkYXRhLXZhbml0eT0gIHt0aGlzLnN0YXRlLnZhbml0eX1cbiAgICAgICAgZGF0YS12ZXJzaW9uPXt0aGlzLnN0YXRlLnZlcnNpb259XG4gICAgICA+XG4gICAgICAgIDxhXG4gICAgICAgICAgY2xhc3NOYW1lPXt0aGlzLnN0YXRlLmxpbmtDbGFzc05hbWV9XG4gICAgICAgICAgaHJlZj17YCR7J2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9pbi8nICsgdGhpcy5zdGF0ZS52YW5pdHkgKyAnP3Ryaz1wcm9maWxlLWJhZGdlJ31gfVxuICAgICAgICA+XG4gICAgICAgICB7dGhpcy5zdGF0ZS50aXRsZX1cbiAgICAgICAgPC9hPlxuICAgICAgICBcbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICAvLyBHZXRzIGFsbCBpbmNvbWluZyByZXNwb25zZXNcblxuICAvKipcbiAgICogVHJpZXMgdG8gY2xlYW4gYWRkZWQgdGFnc1xuICAgKiovXG4gIHRyeUNsZWFuKCkge1xuICAgIC8vQ2xlYW4gdXAgYWZ0ZXIgYWxsIHJlcXVlc3RzIGFyZSBkb25lLi5cbiAgICAvL0FjY291bnRzIGZvciBwZW9wbGUgaW5jbHVkaW5nIHNjcmlwdCBtb3JlIHRoYW4gb25jZVxuICAgIGNvbnN0IGJhZGdlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5zdGF0ZS5jbGFzc05hbWUpO1xuICAgIGNvbnN0IGRvbmUgPVxuICAgICAgKHRoaXMuc3RhdGUucmVzcG9uc2VzUmVjZWl2ZWQgPj0gdGhpcy5zdGF0ZS5leHBlY3RlZFJlc3BvbnNlcyAmJlxuICAgICAgICB0aGlzLnN0YXRlLmV4cGVjdGVkUmVzcG9uc2VzID4gMCkgfHxcbiAgICAgIHRoaXMuc3RhdGUucmVzcG9uc2VzUmVjZWl2ZWQgPj0gYmFkZ2VzLmxlbmd0aDtcbiAgICBpZiAoZG9uZSkge1xuICAgICAgZGVsZXRlICh3aW5kb3cgYXMgYW55KVtgJHt0aGlzLkNBTExCQUNLX05BTUV9YF07XG5cbiAgICAgIC8vIHJlbW92ZSBhbGwgc2NyaXB0IHRhZ3NcbiAgICAgIGNvbnN0IHNjcmlwdHMgPSB0aGlzLnN0YXRlLnNjcmlwdHM7XG4gICAgICBzY3JpcHRzLm1hcChmdW5jdGlvbiAoc2NyaXB0KSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2NyaXB0KTtcbiAgICAgIH0pXG4gICAgICB0aGlzLnNldFN0YXRlKHsgc2NyaXB0c30pO1xuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIE1ha2VzIEpzb25wIHJlcXVlc3QsIHJlc3BvbnNlcyBoYW5kbGVzIGJ5IENBTExCQUNLX05BTUVcbiAgICogQHBhcmFtIHVybCBTdHJpbmc6IHVybCBvZiBzZXJ2ZXIgdG8gbWFrZSByZXF1ZXN0IHRvXG4gICAqL1xuICBqc29ucCh1cmw6IHN0cmluZykge1xuICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgc2NyaXB0LnNyYyA9IHVybDtcbiAgICBjb25zdCBzY3JpcHRzID0gdGhpcy5zdGF0ZS5zY3JpcHRzO1xuICAgIHNjcmlwdHMucHVzaChzY3JpcHQpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBzY3JpcHRzIH0pO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfVxufVxuXG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLFNBQWhCLFFBQWlDLE9BQWpDO0FBRUEsU0FBU0MsVUFBVCxRQUEyQixrQkFBM0I7QUFDQSxTQUFTQyxTQUFULFFBQTBCLFFBQTFCO0FBY0EsZUFBZSxNQUFNQyxtQkFBTixTQUFrQ0gsU0FBbEMsQ0FJWjtFQUNtRDtFQVFuQyxPQUFWSSxVQUFVLEdBQUc7SUFDbEIsSUFBSSxPQUFPQyxNQUFQLEtBQWtCLFdBQXRCLEVBQW1DO01BQ2pDLE1BQU1DLFFBQVEsR0FDWkQsTUFBTSxFQUFFRSxRQUFSLEVBQWtCQyxRQUFsQixJQUE4QkgsTUFBTSxFQUFFRSxRQUFSLEVBQWtCRSxJQUFoRCxJQUF3RCxFQUQxRDtNQUdBLE1BQU1DLEdBQUcsR0FBRyxJQUFJQyxHQUFKLENBQVFMLFFBQVIsQ0FBWjtNQUNBLE1BQU1NLE1BQU0sR0FBR0YsR0FBRyxDQUFDRixRQUFuQjtNQUNBLE9BQU8scUJBQXFCSyxJQUFyQixDQUEwQkQsTUFBMUIsQ0FBUDtJQUNEOztJQUVELE9BQU8sS0FBUDtFQUNEOztFQUNpQixPQUFYRSxXQUFXLENBQUNDLElBQUQsRUFBZ0I7SUFDaEMsTUFBTUMsWUFBWSxHQUFHRCxJQUFJLEdBQ3JCLDRCQURxQixHQUVyQix5QkFGSjtJQUdBLE1BQU1FLFlBQVksR0FBR2QsbUJBQW1CLENBQUNDLFVBQXBCLEtBQW1DLEtBQW5DLEdBQTJDLEVBQWhFO0lBQ0EsT0FBUSxHQUFFWSxZQUFhLEdBQUVDLFlBQWEsc0JBQXRDO0VBQ0Q7O0VBQ0RDLFdBQVcsQ0FBQ0MsS0FBRCxFQUFrQztJQUMz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
{
"name": "react-linkedinbadge",
"version": "2.0.205",
"version": "2.0.233",
"description": "Embedded LinkedIn Badges via React fast Reactions as if all your linkedin accounts are being restricted in React-not time",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -20,3 +20,2 @@ import { Component } from "react";

childScripts: Map<Node, boolean>;
badges: HTMLElement[];
}>> {

@@ -23,0 +22,0 @@ readonly CALLBACK_NAME: string;

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