nsc-react-component 2.10.1 → 2.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
2
2
|
|
|
3
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
|
+
|
|
3
5
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
4
6
|
|
|
5
7
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
@@ -135,7 +137,9 @@ var FileIcon = /*#__PURE__*/function (_PureComponent) {
|
|
|
135
137
|
height: "100%",
|
|
136
138
|
width: "100%"
|
|
137
139
|
}
|
|
138
|
-
}, /*#__PURE__*/React.createElement(Image,
|
|
140
|
+
}, /*#__PURE__*/React.createElement(Image, _extends({
|
|
141
|
+
newVersion: this.props.newVersion
|
|
142
|
+
}, props)));
|
|
139
143
|
}
|
|
140
144
|
}]);
|
|
141
145
|
|
|
@@ -143,4 +147,4 @@ var FileIcon = /*#__PURE__*/function (_PureComponent) {
|
|
|
143
147
|
}(PureComponent);
|
|
144
148
|
|
|
145
149
|
export { FileIcon as default };
|
|
146
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
150
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvY29tbW9uL0ZpbGVJY29uLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJJbWFnZSIsIndyb2RJbWciLCJleGNlbEltZyIsInBwdEltZyIsInBkZkltZyIsInR4dEltZyIsIm90aGVySW1nIiwiemlwSW1nIiwiaW1hZ2VJbWciLCJ2ZWRpb0ltZyIsIm11c2ljSW1nIiwiRmlsZUljb24iLCJwcm9wcyIsInR5cGUiLCJzdWZmaXgiLCJmaWxlSWQiLCJJbWciLCJmaWxlIiwiZmlsZVR5cGUiLCJ3b3JkIiwiZXhjZWwiLCJwcHQiLCJpbWFnZSIsInR4dCIsInBkZiIsIm90aGVyIiwiemlwIiwidmlkZW8iLCJtdXNpYyIsInN1ZmZpeFR5cGUiLCJwcHR4IiwiZG9jIiwiZG9jeCIsInhscyIsInhsc3giLCJwbmciLCJqcGciLCJqcGVnIiwicmFyIiwibXA0IiwiYXZpIiwid212IiwibXBnIiwibXBlZyIsInN3ZiIsImZsdiIsIm1wMyIsInJhbSIsIm1kaSIsInJtaSIsInN1ZmZpeEZpbGUiLCJmaWxlT2JqIiwiZ2V0VHlwZSIsInByZXZpZXciLCJzcmMiLCJoZWlnaHQiLCJ3aWR0aCIsIm5ld1ZlcnNpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBR0EsT0FBT0MsS0FBUCxNQUFrQixVQUFsQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0IsZ0JBQXBCO0FBQ0EsT0FBT0MsUUFBUCxNQUFxQixpQkFBckI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGVBQW5CO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixlQUFuQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsZUFBbkI7QUFDQSxPQUFPQyxRQUFQLE1BQXFCLHlCQUFyQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsb0JBQW5CO0FBQ0EsT0FBT0MsUUFBUCxNQUFx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QUFRLENBQUNnQyxVQUFELENBQS9CLEdBQThDbEMsR0FBcEQ7QUFDRDtBQUNGOztBQUNELGFBQU87QUFDTEMsUUFBQUEsSUFBSSxFQUFFQSxJQUREO0FBRUxELFFBQUFBLEdBQUcsRUFBRUE7QUFGQSxPQUFQO0FBSUQ7OztXQUNELGtCQUFTO0FBQ1AsVUFBTW1DLE9BQU8sR0FBRyxLQUFLQyxPQUFMLEVBQWhCO0FBQ0EsVUFBSXhDLEtBQUssR0FBRztBQUFFeUMsUUFBQUEsT0FBTyxFQUFFO0FBQVgsT0FBWjs7QUFDQSxVQUFJRixPQUFPLENBQUNsQyxJQUFaLEVBQWtCO0FBQ2hCTCxRQUFBQSxLQUFLLENBQUNHLE1BQU4sR0FBZSxLQUFLSCxLQUFMLENBQVdHLE1BQTFCO0FBQ0QsT0FGRCxNQUVPO0FBQ0xILFFBQUFBLEtBQUssQ0FBQzBDLEdBQU4sR0FBWUgsT0FBTyxDQUFDbkMsR0FBcEI7QUFDRDs7QUFDRCwwQkFDRTtBQUFLLFFBQUEsS0FBSyxFQUFFO0FBQUV1QyxVQUFBQSxNQUFNLEVBQUUsTUFBVjtBQUFrQkMsVUFBQUEsS0FBSyxFQUFFO0FBQXpCO0FBQVosc0JBQ0Usb0JBQUMsS0FBRDtBQUFPLFFBQUEsVUFBVSxFQUFFLEtBQUs1QyxLQUFMLENBQVc2QztBQUE5QixTQUE4QzdDLEtBQTlDLEVBREYsQ0FERjtBQUtEOzs7O0VBL0VtQ2IsYTs7U0FBakJZLFEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL05vRGF0YS5sZXNzXCI7XHJcbmltcG9ydCBJbWcgZnJvbSBcIi4vaW1nL05vRGF0YS5wbmdcIjtcclxuaW1wb3J0IEltYWdlIGZyb20gXCIuLi9pbWFnZVwiO1xyXG5pbXBvcnQgd3JvZEltZyBmcm9tIFwiLi9pbWcvd29yZC5wbmdcIjtcclxuaW1wb3J0IGV4Y2VsSW1nIGZyb20gXCIuL2ltZy9leGNlbC5wbmdcIjtcclxuaW1wb3J0IHBwdEltZyBmcm9tIFwiLi9pbWcvcHB0LnBuZ1wiO1xyXG5pbXBvcnQgcGRmSW1nIGZyb20gXCIuL2ltZy9wZGYucG5nXCI7XHJcbmltcG9ydCB0eHRJbWcgZnJvbSBcIi4vaW1nL3R4dC5wbmdcIjtcclxuaW1wb3J0IG90aGVySW1nIGZyb20gXCIuL2ltZy93ZWl6aGl3ZW5qaWFuLnBuZ1wiO1xyXG5pbXBvcnQgemlwSW1nIGZyb20gXCIuL2ltZy95YXN1b2Jhby5wbmdcIjtcclxuaW1wb3J0IGltYWdlSW1nIGZyb20gXCIuL2ltZy90dXBpYW4ucG5nXCI7XHJcbmltcG9ydCB2ZWRpb0ltZyBmcm9tICcuL2ltZy92aWRlby5wbmcnXHJcbmltcG9ydCBtdXNpY0ltZyBmcm9tICcuL2ltZy9tdXNpYy5wbmcnXHJcblxyXG5pbnRlcmZhY2UgRmlsZUljb25Qcm9wcyB7XHJcbiAgdHlwZT86IHN0cmluZzsgLy/mlofku7bnsbvlnotcclxuICBzdWZmaXg/OiBzdHJpbmc7IC8v5paH5Lu25ZCO57yAXHJcbiAgZmlsZUlkPzogc3RyaW5nOyAvL+exu+Wei+S4uuWbvueJh+aXtueahGZpbGVpZCzkvb/nlKjlm77niYdmaWxlSWQsdHlwZeW/hemhu+S4umltYWdlXHJcbiAgbmV3VmVyc2lvbj86Ym9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlSWNvbiBleHRlbmRzIFB1cmVDb21wb25lbnQ8RmlsZUljb25Qcm9wcz4ge1xyXG4gIGdldFR5cGUoKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIHN1ZmZpeCwgZmlsZUlkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IEltZyA9IG90aGVySW1nO1xyXG4gICAgbGV0IGZpbGUgPSBmYWxzZTtcclxuICAgIGNvbnN0IGZpbGVUeXBlID0ge1xyXG4gICAgICB3b3JkOiB3cm9kSW1nLFxyXG4gICAgICBleGNlbDogZXhjZWxJbWcsXHJcbiAgICAgIHBwdDogcHB0SW1nLFxyXG4gICAgICBpbWFnZTogaW1hZ2VJbWcsXHJcbiAgICAgIHR4dDogdHh0SW1nLFxyXG4gICAgICBwZGY6IHBkZkltZyxcclxuICAgICAgb3RoZXI6IG90aGVySW1nLFxyXG4gICAgICB6aXA6IHppcEltZyxcclxuICAgICAgdmlkZW86dmVkaW9JbWcsXHJcbiAgICAgIG11c2ljOm11c2ljSW1nXHJcbiAgICB9O1xyXG4gICAgY29uc3Qgc3VmZml4VHlwZSA9IHtcclxuICAgICAgcHB0OiBcInBwdFwiLFxyXG4gICAgICBwcHR4OiBcInBwdFwiLFxyXG4gICAgICBkb2M6IFwid29yZFwiLFxyXG4gICAgICBkb2N4OiBcIndvcmRcIixcclxuICAgICAgeGxzOiBcImV4Y2VsXCIsXHJcbiAgICAgIHhsc3g6IFwiZXhjZWxcIixcclxuICAgICAgdHh0OiBcInR4dFwiLFxyXG4gICAgICBwZGY6IFwicGRmXCIsXHJcbiAgICAgIHBuZzogXCJpbWFnZVwiLFxyXG4gICAgICBqcGc6IFwiaW1hZ2VcIixcclxuICAgICAganBlZzogXCJpbWFnZVwiLFxyXG4gICAgICB6aXA6IFwiemlwXCIsXHJcbiAgICAgIHJhcjogXCJ6aXBcIixcclxuICAgICAgbXA0Oid2aWRlbycsXHJcbiAgICAgIGF2aTondmlkZW8nLFxyXG4gICAgICB3bXY6J3ZpZGVvJyxcclxuICAgICAgbXBnOid2aWRlbycsXHJcbiAgICAgIG1wZWc6J3ZpZGVvJyxcclxuICAgICAgc3dmOid2aWRlbycsXHJcbiAgICAgIGZsdjondmlkZW8nLFxyXG4gICAgICBtcDM6XCJtdXNpY1wiLFxyXG4gICAgICByYW06XCJtdXNpY1wiLFxyXG4gICAgICBtZGk6XCJtdXNpY1wiLFxyXG4gICAgICBybWk6XCJtdXNpY1wiLFxyXG4gICAgfTtcclxuICAgIGlmICh0eXBlKSB7XHJcbiAgICAgIGlmICh0eXBlID09IFwiaW1hZ2VcIikge1xyXG4gICAgICAgIGlmIChmaWxlSWQpIHtcclxuICAgICAgICAgIGZpbGUgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBJbWcgPSBpbWFnZUltZztcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgSW1nID0gZmlsZVR5cGVbdHlwZV0gPyBmaWxlVHlwZVt0eXBlXSA6IEltZztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzdWZmaXgpIHtcclxuICAgICAgaWYgKHN1ZmZpeFR5cGVbc3VmZml4XSA9PSBcImltYWdlXCIpIHtcclxuICAgICAgICBmaWxlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBzdWZmaXhGaWxlID0gc3VmZml4VHlwZVtzdWZmaXhdIHx8IFwib3RoZXJcIjtcclxuICAgICAgICBJbWcgPSBmaWxlVHlwZVtzdWZmaXhGaWxlXSA/IGZpbGVUeXBlW3N1ZmZpeEZpbGVdIDogSW1nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICBJbWc6IEltZyxcclxuICAgIH07XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IGZpbGVPYmogPSB0aGlzLmdldFR5cGUoKTtcclxuICAgIGxldCBwcm9wcyA9IHsgcHJldmlldzogZmFsc2UgfSBhcyBhbnk7XHJcbiAgICBpZiAoZmlsZU9iai5maWxlKSB7XHJcbiAgICAgIHByb3BzLmZpbGVJZCA9IHRoaXMucHJvcHMuZmlsZUlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcHJvcHMuc3JjID0gZmlsZU9iai5JbWc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IHN0eWxlPXt7IGhlaWdodDogXCIxMDAlXCIsIHdpZHRoOiBcIjEwMCVcIiB9fT5cclxuICAgICAgICA8SW1hZ2UgbmV3VmVyc2lvbj17dGhpcy5wcm9wcy5uZXdWZXJzaW9ufSB7Li4ucHJvcHN9IC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
package/lib/base/upload/index.js
CHANGED
|
@@ -5,6 +5,10 @@ import _Upload from "antd/es/upload";
|
|
|
5
5
|
|
|
6
6
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
7
7
|
|
|
8
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
+
|
|
10
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
11
|
+
|
|
8
12
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
9
13
|
|
|
10
14
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -17,10 +21,6 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
|
|
|
17
21
|
|
|
18
22
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
19
23
|
|
|
20
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
-
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
-
|
|
24
24
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
25
25
|
|
|
26
26
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
@@ -182,6 +182,7 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
182
182
|
key: "componentDidMount",
|
|
183
183
|
value: function componentDidMount() {
|
|
184
184
|
if (this.props.fileList) {
|
|
185
|
+
console.log("componentDidMountcomponentDidMount");
|
|
185
186
|
this.convertFileList();
|
|
186
187
|
}
|
|
187
188
|
}
|
|
@@ -192,17 +193,22 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
192
193
|
var newFileList = [];
|
|
193
194
|
var oldList = list ? list : fileList;
|
|
194
195
|
oldList.map(function (item) {
|
|
195
|
-
var temp =
|
|
196
|
+
var temp = {
|
|
197
|
+
status: item.status,
|
|
196
198
|
name: item.name || item.fileName,
|
|
197
199
|
type: item.type,
|
|
198
200
|
size: item.size
|
|
199
|
-
}
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
if (item.url) {
|
|
204
|
+
temp.url = item.url;
|
|
205
|
+
}
|
|
200
206
|
|
|
201
207
|
newFileList.push(temp);
|
|
202
208
|
});
|
|
203
209
|
this.setState({
|
|
204
|
-
fileList: newFileList,
|
|
205
|
-
fileListStore: fileList
|
|
210
|
+
fileList: [].concat(newFileList),
|
|
211
|
+
fileListStore: _toConsumableArray(fileList)
|
|
206
212
|
});
|
|
207
213
|
}
|
|
208
214
|
}, {
|
|
@@ -617,6 +623,7 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
617
623
|
});
|
|
618
624
|
}
|
|
619
625
|
|
|
626
|
+
console.log("com--ddd", this.state.fileList);
|
|
620
627
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Upload, _extends({}, defaultProps, newprops, {
|
|
621
628
|
beforeUpload: this.beforeUpload.bind(this),
|
|
622
629
|
fileList: this.state.fileList // onChange={({ file, fileList, event }) => {
|
|
@@ -640,4 +647,4 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
640
647
|
_defineProperty(NscUpload, "Dragger", NscUploadDragger);
|
|
641
648
|
|
|
642
649
|
export { NscUpload as default };
|
|
643
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwiTnNjVXBsb2FkRHJhZ2dlciIsInVwbG9hZCIsImRvd25sb2FkIiwicHJldmlld0RvY3VtZW50IiwicHJldmlld0ltYWdlIiwiTnNjVXBsb2FkIiwiZmlsZUxpc3QiLCJ2aWV3SWQiLCJmaWxlTGlzdFN0b3JlIiwiZmlsZU5hbWVzIiwib3B0aW9ucyIsInByb3BzIiwib25Db21wbGV0ZSIsIm9uUHJvY2VzcyIsInNsaWNlU2l6ZSIsIm9uUHJvZ3Jlc3MiLCJ0b3RhbFByb2dyZXNzIiwicGVyY2VudCIsInBhcnRTaXplIiwicmVzIiwiZmlsZUlkIiwiY29kZSIsImRhdGEiLCJhdHRhY2hJZCIsIm9uU3VjY2VzcyIsIm9uRXJyb3IiLCJzdGF0dXMiLCJjb252ZXJ0RmlsZUxpc3QiLCJsaXN0IiwibmV3RmlsZUxpc3QiLCJvbGRMaXN0IiwibWFwIiwiaXRlbSIsInRlbXAiLCJuYW1lIiwiZmlsZU5hbWUiLCJ0eXBlIiwic2l6ZSIsInB1c2giLCJzZXRTdGF0ZSIsInByZVByb3BzIiwicHJlU3RhdGUiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhdGUiLCJvZmlsZUxpc3QiLCJtYXhTaXplIiwiYWxsb3dGaWxlU3VmZml4IiwiY2hlY2tTYW1lRmlsZSIsIm1heENvdW50Iiwic2hvd1VwbG9hZExpc3QiLCJwcm9wc0xpc3QiLCJvbkxpc3RDaGFuZ2UiLCJjaGVja0ZpbGVUeXBlIiwiZXJyb3IiLCJjaGVja0xpc3QiLCJpbmRleE9mIiwiYmVmb3JlVXBsb2FkIiwibmV3TGlzdCIsInVpZCIsImxlbmd0aCIsImkiLCJzcGxpY2UiLCJuYW1lcyIsInNwbGl0Iiwic3VmZml4IiwibmV3RmlsZSIsIm5ld1ZlcnNpb24iLCJyZXF1ZXN0Q29uZmlnIiwiaW5kZXgiLCJ1cmwiLCJ3aW5kb3ciLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwicHJlZml4IiwiZmlsZUNhcmQiLCJzaG93RG93bmxvYWRJY29uIiwic2hvd1ByZXZpZXdJY29uIiwic2hvd1JlbW92ZUljb24iLCJkb3dubG9hZEljb24iLCJyZW1vdmVJY29uIiwicHJldmlld0ljb24iLCJuZXdwcm9wcyIsImRlZmF1bHRQcm9wcyIsImN1c3RvbVJlcXVlc3QiLCJiaW5kIiwibXVsdGlwbGUiLCJpdGVtUmVuZGVyIiwib3JpZ2luTm9kZSIsImN1cnJGaWxlTGlzdCIsIm9uUHJldmlldyIsImN1cnNvciIsIm9uRG93bmxvYWQiLCJvblJlbW92ZSIsIm9uRGVsZXRlIiwid2lkdGgiLCJQdXJlQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLQSxLQUFaLE1BQXVCLE9BQXZCO0FBRUEsT0FBT0MsSUFBUCxNQUFpQixVQUFqQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0IsWUFBcEI7QUFFQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixhQUF4QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBQ0EsT0FBT0MsUUFBUCxNQUFxQixvQkFBckI7QUFDQSxTQUNFQyxjQURGLEVBRUVDLGdCQUZGLEVBR0VDLFdBSEYsUUFJTyxtQkFKUDtBQU1BLE9BQU9DLGdCQUFQLE1BQTZCLFdBQTdCO0FBQ0EsSUFBUUMsTUFBUixHQUE0RFgsSUFBNUQsQ0FBUVcsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixHQUE0RFosSUFBNUQsQ0FBZ0JZLFFBQWhCO0FBQUEsSUFBMEJDLGVBQTFCLEdBQTREYixJQUE1RCxDQUEwQmEsZUFBMUI7QUFBQSxJ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V0FQUztBQVFWb0csVUFBQUEsU0FBUyxFQUFFLG1CQUFDcEcsSUFBRCxFQUFlO0FBQ3hCLGdCQUFJQSxJQUFKLGFBQUlBLElBQUosZUFBSUEsSUFBSSxDQUFFOEIsTUFBVixFQUFrQjtBQUNoQmpCLGNBQUFBLGVBQWUsQ0FBQ2IsSUFBSSxDQUFDOEIsTUFBTixFQUFjZ0QsYUFBZCxDQUFmO0FBQ0Q7QUFDRixXQVpTO0FBYVZsQixVQUFBQSxjQUFjLG9CQUFPQSxjQUFQO0FBYkosVUFBWjtBQWVEOztBQUNELDBCQUNFLHVEQUNFLDBDQUNNaUMsWUFETixFQUVNRCxRQUZOO0FBR0UsUUFBQSxZQUFZLEVBQUUsS0FBS3pCLFlBQUwsQ0FBa0I0QixJQUFsQixDQUF1QixJQUF2QixDQUhoQjtBQUlFLFFBQUEsUUFBUSxFQUFFLEtBQUt6QyxLQUFMLENBQVd0QyxRQUp2QixDQUtFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWRGLFNBREYsQ0FERjtBQW9CRDs7OztFQWhab0NqQixLQUFLLENBQUMyRyxhOztnQkFBeEIzRixTLGFBQ0ZMLGdCOztTQURFSyxTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFVwbG9hZCwgVXBsb2FkUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgZmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uL21lc3NhZ2VcIjtcclxuaW1wb3J0IHdpdGhaaExvY2FsZSBmcm9tIFwiLi4vY29tbW9uL3dpdGhaaExvY2FsZVwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBGaWxlSWNvbiBmcm9tIFwiLi4vY29tbW9uL0ZpbGVJY29uXCI7XHJcbmltcG9ydCB7XHJcbiAgRGVsZXRlT3V0bGluZWQsXHJcbiAgRG93bmxvYWRPdXRsaW5lZCxcclxuICBFeWVPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IFBkZlZpZXdlciBmcm9tIFwiLi4vcGRmdml3ZXJcIjtcclxuaW1wb3J0IE5zY1VwbG9hZERyYWdnZXIgZnJvbSBcIi4vRHJhZ2dlclwiO1xyXG5jb25zdCB7IHVwbG9hZCwgZG93bmxvYWQsIHByZXZpZXdEb2N1bWVudCwgcHJldmlld0ltYWdlIH0gPSBmaWxlO1xyXG5cclxuaW50ZXJmYWNlIElVcGxvYWRQcm9wcyBleHRlbmRzIFVwbG9hZFByb3BzIHtcclxuICBzbGljZVNpemU/OiBudW1iZXI7XHJcbiAgbWF4U2l6ZT86IG51bWJlciB8IGJvb2xlYW47XHJcbiAgb25Qcm9jZXNzPzogKHByb2Nlc3MpID0+IHZvaWQ7XHJcbiAgb25Db21wbGV0ZT86ICh7IGZpbGUsIGZpbGVJZCwgc3RhdHVzIH0pID0+IHZvaWQ7XHJcbiAgYWxsb3dGaWxlU3VmZml4PzogQXJyYXk8U3RyaW5nPjsgLy/lhYHorrjkuIrkvKDmianlsZXlkI0s5LiN5bimLlxyXG4gIHVzZURlZmF1bHRMaXN0PzogYm9vbGVhbjsgLy/mmK/lkKbkvb/nlKjpu5jorqTnmoRmaWxlTGlzdFxyXG4gIGZpbGVDYXJkPzogYm9vbGVhbjtcclxuICBvbkxpc3RDaGFuZ2U/OiBhbnk7XHJcbiAgY2hlY2tTYW1lRmlsZT86IGJvb2xlYW47XHJcbiAgcmVxdWVzdENvbmZpZz86IGFueTtcclxuICBuZXdWZXJzaW9uPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOc2NVcGxvYWQgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50PElVcGxvYWRQcm9wcywgYW55PiB7XHJcbiAgc3RhdGljIERyYWdnZXIgPSBOc2NVcGxvYWREcmFnZ2VyO1xyXG4gIHN0YXRlID0geyBmaWxlTGlzdDogW10sIHZpZXdJZDogXCJcIiwgZmlsZUxpc3RTdG9yZTogW10sIGZpbGVOYW1lczogW10gfTtcclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLmZpbGVMaXN0KSB7XHJcbiAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnZlcnRGaWxlTGlzdChsaXN0PzogQXJyYXk8T2JqZWN0Pikge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0ZpbGVMaXN0ID0gW107XHJcbiAgICBsZXQgb2xkTGlzdCA9IGxpc3QgPyBsaXN0IDogZmlsZUxpc3Q7XHJcbiAgICBvbGRMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGxldCB0ZW1wID0ge1xyXG4gICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgbmFtZTogaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUsXHJcbiAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgfTtcclxuICAgICAgbmV3RmlsZUxpc3QucHVzaCh0ZW1wKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdGaWxlTGlzdCxcclxuICAgICAgZmlsZUxpc3RTdG9yZTogZmlsZUxpc3QsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZVByb3BzLCBwcmVTdGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsZUxpc3QpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMuZmlsZUxpc3QpICE9PVxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUuZmlsZUxpc3RTdG9yZSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRGaWxlTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmZpbGVMaXN0O1xyXG4gIH1cclxuICBzZXRGaWxlTGlzdChmaWxlTGlzdDogQXJyYXk8T2JqZWN0Pikge1xyXG4gICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoZmlsZUxpc3QpO1xyXG4gIH1cclxuICBhc3luYyBiZWZvcmVVcGxvYWQoZmlsZSwgb2ZpbGVMaXN0KSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBtYXhTaXplID0gMTAwLFxyXG4gICAgICBhbGxvd0ZpbGVTdWZmaXgsXHJcbiAgICAgIGNoZWNrU2FtZUZpbGUgPSB0cnVlLFxyXG4gICAgICBtYXhDb3VudCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QsXHJcbiAgICAgIGZpbGVMaXN0OiBwcm9wc0xpc3QsXHJcbiAgICAgIG9uTGlzdENoYW5nZSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHsgZmlsZUxpc3QsIGZpbGVMaXN0U3RvcmUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgc2l6ZTogbnVtYmVyO1xyXG4gICAgaWYgKGFsbG93RmlsZVN1ZmZpeCAmJiAhdGhpcy5jaGVja0ZpbGVUeXBlKGZpbGUpKSB7XHJcbiAgICAgIG1lc3NhZ2UuZXJyb3IoXHJcbiAgICAgICAgYCR7ZmlsZS5uYW1lfeaWh+S7tuexu+Wei+S4jeWFgeiuuOS4iuS8oO+8jOivt+S4iuS8oOWQjue8gOS4uiR7YWxsb3dGaWxlU3VmZml4feeahOexu+Wei+aWh+S7tu+8gWBcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKG1heFNpemUgIT09IGZhbHNlKSB7XHJcbiAgICAgIGlmIChtYXhTaXplID09PSB0cnVlKSB7XHJcbiAgICAgICAgbWF4U2l6ZSA9IDEwMDtcclxuICAgICAgfVxyXG4gICAgICBzaXplID0gbWF4U2l6ZSAqIDEwMjQgKiAxMDI0O1xyXG4gICAgICBpZiAoc2l6ZSA8IGZpbGUuc2l6ZSkge1xyXG4gICAgICAgIG1lc3NhZ2UuZXJyb3IoYCR7ZmlsZS5uYW1lfeaWh+S7tuWkp+Wwj+i2hei/hyR7bWF4U2l6ZX1N77yM6K+36YeN5paw5LiK5Lyg77yBYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgZmlsZU5hbWVzID0gW107XHJcbiAgICBpZiAoY2hlY2tTYW1lRmlsZSkge1xyXG4gICAgICBjb25zdCBjaGVja0xpc3QgPSB0aGlzLnByb3BzLmZpbGVMaXN0ID8gZmlsZUxpc3RTdG9yZSA6IGZpbGVMaXN0O1xyXG4gICAgICBjaGVja0xpc3QubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgZmlsZU5hbWVzLnB1c2goaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmIChmaWxlTmFtZXMuaW5kZXhPZihmaWxlLm5hbWUpID4gLTEgJiYgc2hvd1VwbG9hZExpc3QgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgbWVzc2FnZS5lcnJvcihg5paH5Lu2JHtmaWxlLm5hbWV95bey5Zyo5LiK5Lyg5YiX6KGo5Lit77yM6K+36YeN5paw6YCJ5oup5paH5Lu277yBYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucHJvcHMuYmVmb3JlVXBsb2FkKSB7XHJcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucHJvcHMuYmVmb3JlVXBsb2FkKGZpbGUsIG9maWxlTGlzdCk7XHJcbiAgICAgIGlmIChyZXMgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBuZXdMaXN0ID0gWy4uLmZpbGVMaXN0XTtcclxuICAgIG9maWxlTGlzdC5tYXAoYXN5bmMgKGl0ZW0pID0+IHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgICEoXHJcbiAgICAgICAgICAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoaXRlbSkpIHx8XHJcbiAgICAgICAgICBzaXplIDwgaXRlbS5zaXplIHx8XHJcbiAgICAgICAgICAoY2hlY2tTYW1lRmlsZSAmJiBmaWxlTmFtZXMuaW5kZXhPZihpdGVtLm5hbWUpID4gLTEpXHJcbiAgICAgICAgKVxyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCB0ZW1wID0ge1xyXG4gICAgICAgICAgZmlsZU5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICAgIHBlcmNlbnQ6IDAsXHJcbiAgICAgICAgICBzdGF0dXM6IFwidXBsb2FkaW5nXCIsXHJcbiAgICAgICAgICB1aWQ6IGl0ZW0udWlkLFxyXG4gICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgICAgc2l6ZTogaXRlbS5zaXplLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKHRlbXApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAobWF4Q291bnQgJiYgbmV3TGlzdC5sZW5ndGggPiBtYXhDb3VudCkge1xyXG4gICAgICBsZXQgbGVuZ3RoID0gbmV3TGlzdC5sZW5ndGggLSBtYXhDb3VudDtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIG5ld0xpc3Quc3BsaWNlKDAsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGZpbGVMaXN0OiBuZXdMaXN0IH0pO1xyXG4gIH1cclxuICBjaGVja0ZpbGVUeXBlKGZpbGUpIHtcclxuICAgIGNvbnN0IHsgYWxsb3dGaWxlU3VmZml4IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmFtZXMgPSBmaWxlLm5hbWUuc3BsaXQoXCIuXCIpO1xyXG4gICAgY29uc3Qgc3VmZml4ID0gbmFtZXNbbmFtZXMubGVuZ3RoIC0gMV07XHJcbiAgICBpZiAoYWxsb3dGaWxlU3VmZml4LmluZGV4T2Yoc3VmZml4KSA+IC0xKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBvblByb2Nlc3MoeyBwZXJjZW50LCBmaWxlIH06IGFueSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXdGaWxlID0geyAuLi5pdGVtIH07XHJcbiAgICAgIGlmIChmaWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgIG5ld0ZpbGUucGVyY2VudCA9IHBlcmNlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgbmV3TGlzdC5wdXNoKG5ld0ZpbGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UoZmlsZUxpc3QpO1xyXG4gIH1cclxuICBhc3luYyBvbkNvbXBsZXRlKGZpbGUpIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IG5ld1ZlcnNpb24sIHJlcXVlc3RDb25maWcgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0xpc3Q6IGFueSA9IFsuLi5maWxlTGlzdF07XHJcbiAgICBmaWxlTGlzdC5tYXAoYXN5bmMgKGl0ZW06IGFueSwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgbmV3RmlsZSA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAoZmlsZS5maWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgIG5ld0ZpbGUuc3RhdHVzID0gZmlsZS5zdGF0dXMgPT0gXCJzdWNjZXNzXCIgPyBcImRvbmVcIiA6IGZpbGUuc3RhdHVzO1xyXG4gICAgICAgIG5ld0ZpbGUuZmlsZUlkID0gZmlsZS5maWxlSWQ7XHJcbiAgICAgICAgaWYgKG5ld1ZlcnNpb24pIHtcclxuICAgICAgICAgIGxldCByZXM6IGFueSA9IGF3YWl0IHByZXZpZXdJbWFnZShcclxuICAgICAgICAgICAgZmlsZS5maWxlSWQsXHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMucmVxdWVzdENvbmZpZ1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIG5ld0ZpbGUudXJsID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICBuZXdMaXN0W2luZGV4XSA9IG5ld0ZpbGU7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdMaXN0XSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgdXJsID0gYC9qcXVpY2stcmVzb3VyY2Uvb3NzL2VuZHBvaW50L2Rvd25sb2FkLWZpbGVzP2F0dGFjaElkPSR7XHJcbiAgICAgICAgICAgIGZpbGUuZmlsZUlkXHJcbiAgICAgICAgICB9Jl90cGs9JHt3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0b2tlblwiKX1gO1xyXG4gICAgICAgICAgbmV3RmlsZS51cmwgPSByZXF1ZXN0Q29uZmlnLnByZWZpeFxyXG4gICAgICAgICAgICA/IHJlcXVlc3RDb25maWcucHJlZml4ICsgdXJsXHJcbiAgICAgICAgICAgIDogXCIvYXBpXCIgKyB1cmw7XHJcbiAgICAgICAgICBuZXdMaXN0W2luZGV4XSA9IG5ld0ZpbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIG5ld0xpc3QucHVzaChuZXdGaWxlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdMaXN0LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgfVxyXG4gIGN1c3RvbVJlcXVlc3QgPSBhc3luYyAob3B0aW9ucykgPT4ge1xyXG4gICAgY29uc3QgZmlsZSA9IG9wdGlvbnMuZmlsZTtcclxuICAgIGNvbnN0IHsgb25Db21wbGV0ZSwgb25Qcm9jZXNzLCBzbGljZVNpemUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBvblByb2dyZXNzID0gKHRvdGFsUHJvZ3Jlc3M6IGFueSkgPT4ge1xyXG4gICAgICBvcHRpb25zLm9uUHJvZ3Jlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzIH0sIGZpbGUpO1xyXG4gICAgICB0aGlzLm9uUHJvY2Vzcyh7IHBlcmNlbnQ6IHRvdGFsUHJvZ3Jlc3MsIGZpbGU6IGZpbGUgfSk7XHJcbiAgICAgIG9uUHJvY2VzcyAmJiBvblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgfTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlczogYW55ID0gYXdhaXQgdXBsb2FkKHtcclxuICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgIG9uUHJvZ3Jlc3M6IG9uUHJvZ3Jlc3MsXHJcbiAgICAgICAgcGFydFNpemU6IHNsaWNlU2l6ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBmaWxlSWQgPSBudWxsO1xyXG4gICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgZmlsZUlkID0gcmVzLmRhdGEuYXR0YWNoSWQ7XHJcbiAgICAgICAgb3B0aW9ucy5vblN1Y2Nlc3MoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBvcHRpb25zLm9uRXJyb3IoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uQ29tcGxldGUoe1xyXG4gICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICBmaWxlSWQ6IGZpbGVJZCxcclxuICAgICAgICBzdGF0dXM6IHJlcy5jb2RlID09IDIwMCA/IFwic3VjY2Vzc1wiIDogXCJlcnJvclwiLFxyXG4gICAgICB9KTtcclxuICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgIG9uQ29tcGxldGUoe1xyXG4gICAgICAgICAgZmlsZTogb3B0aW9ucy5maWxlLFxyXG4gICAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgICBzdGF0dXM6IHJlcy5jb2RlID09IDIwMCA/IFwic3VjY2Vzc1wiIDogXCJlcnJvclwiLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICB0aGlzLm9uQ29tcGxldGUoe1xyXG4gICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICBmaWxlSWQ6IFwiXCIsXHJcbiAgICAgICAgc3RhdHVzOiBcImVycm9yXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgICBvbkNvbXBsZXRlICYmXHJcbiAgICAgICAgb25Db21wbGV0ZSh7IGZpbGU6IG9wdGlvbnMuZmlsZSwgZmlsZUlkOiBcIlwiLCBzdGF0dXM6IFwiZXJyb3JcIiB9KTtcclxuICAgICAgb3B0aW9ucy5vbkVycm9yKCk7XHJcbiAgICB9XHJcbiAgfTtcclxuICBvbkRlbGV0ZShmaWxlKSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIC8v6YCa6L+H5paH5Lu25ZCN5Yik5pat77yM5LiK5Lyg5piv5paH5Lu25ZCN5piv5ZSv5LiA55qEXHJcbiAgICAgIGlmIChcclxuICAgICAgICBpdGVtLm5hbWUgIT09IGZpbGUubmFtZSB8fFxyXG4gICAgICAgIGl0ZW0uZmlsZUlkICE9PSBmaWxlLmZpbGVJZCB8fFxyXG4gICAgICAgIGl0ZW0udWlkICE9PSBmaWxlLnVpZFxyXG4gICAgICApIHtcclxuICAgICAgICBuZXdMaXN0LnB1c2goaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdMaXN0LFxyXG4gICAgfSk7XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gIH1cclxuICByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcclxuICAgIGxldCB7XHJcbiAgICAgIGZpbGVMaXN0LFxyXG4gICAgICBmaWxlQ2FyZCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QgPSB7XHJcbiAgICAgICAgc2hvd0Rvd25sb2FkSWNvbjogdHJ1ZSxcclxuICAgICAgICBzaG93UHJldmlld0ljb246IGZhbHNlLFxyXG4gICAgICAgIHNob3dSZW1vdmVJY29uOiB0cnVlLFxyXG4gICAgICAgIGRvd25sb2FkSWNvbjogbnVsbCxcclxuICAgICAgICByZW1vdmVJY29uOiBudWxsLFxyXG4gICAgICAgIHByZXZpZXdJY29uOiBudWxsLFxyXG4gICAgICB9IGFzIGFueSxcclxuICAgICAgcmVxdWVzdENvbmZpZyA9IHt9LFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcInNsaWNlU2l6ZVwiLFxyXG4gICAgICBcIm1heFNpemVcIixcclxuICAgICAgXCJvbkNvbXBsZXRlXCIsXHJcbiAgICAgIFwib25Qcm9jZXNzXCIsXHJcbiAgICAgIFwiYWxsb3dGaWxlU3VmZml4XCIsXHJcbiAgICAgIFwidXNlRGVmYXVsdExpc3RcIixcclxuICAgICAgXCJmaWxlQ2FyZFwiLFxyXG4gICAgICBcIm9uTGlzdENoYW5nZVwiLFxyXG4gICAgXSk7XHJcbiAgICBsZXQgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICBjdXN0b21SZXF1ZXN0OiB0aGlzLmN1c3RvbVJlcXVlc3QuYmluZCh0aGlzKSxcclxuICAgICAgbXVsdGlwbGU6IHRydWUsXHJcbiAgICB9IGFzIElVcGxvYWRQcm9wcztcclxuICAgIGlmIChmaWxlQ2FyZCkge1xyXG4gICAgICBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxyXG4gICAgICAgIGl0ZW1SZW5kZXI6IChvcmlnaW5Ob2RlLCBmaWxlOiBhbnksIGN1cnJGaWxlTGlzdCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgbmFtZSA9IGZpbGUubmFtZSB8fCBmaWxlLmZpbGVOYW1lO1xyXG4gICAgICAgICAgY29uc3QgbmFtZXMgPSBuYW1lPy5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgICBjb25zdCBzdWZmaXggPSBuYW1lcyA/IG5hbWVzW25hbWVzLmxlbmd0aCAtIDFdIDogXCJcIjtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJmaWxlLWl0ZW1cIil9PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcImNvbnRlbnRcIiksIHtcclxuICAgICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImNvbnRlbnRfZXJyb3JcIildOiBmaWxlLnN0YXR1cyA9PSBcImVycm9yXCIsXHJcbiAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibWFyay1waWN0dXJlXCIpfT5cclxuICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHN1ZmZpeD17c3VmZml4fSBmaWxlSWQ9e2ZpbGUuZmlsZUlkfSAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibmFtZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIHtmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PlxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1ByZXZpZXdJY29uICYmIGZpbGUuc3RhdHVzID09IFwiZG9uZVwiICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uUHJldmlldykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25QcmV2aWV3KGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpZXdEb2N1bWVudChmaWxlLmZpbGVJZCwgcmVxdWVzdENvbmZpZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RXllT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5zaG93RG93bmxvYWRJY29uICYmIGZpbGUuc3RhdHVzID09IFwiZG9uZVwiICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uRG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uRG93bmxvYWQoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWQoZmlsZS5maWxlSWQsIHRydWUsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPERvd25sb2FkT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5zaG93UmVtb3ZlSWNvbiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJlbW92ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25SZW1vdmUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkRlbGV0ZShmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb25cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxEZWxldGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIHtmaWxlLnN0YXR1cyA9PSBcInVwbG9hZGluZ1wiICYmIChcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJwcm9jZXNzXCIpfT5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicGVyY2VudFwiKX1cclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogZmlsZS5wZXJjZW50ICsgXCIlXCIgfX1cclxuICAgICAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxyXG4gICAgICAgIG9uRG93bmxvYWQ6IChmaWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkLCB0cnVlLCByZXF1ZXN0Q29uZmlnKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uUmVtb3ZlOiAoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vbkRlbGV0ZShmaWxlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uUHJldmlldzogKGZpbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGZpbGU/LmZpbGVJZCkge1xyXG4gICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2hvd1VwbG9hZExpc3Q6IHsgLi4uc2hvd1VwbG9hZExpc3QgfSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDw+XHJcbiAgICAgICAgPFVwbG9hZFxyXG4gICAgICAgICAgey4uLmRlZmF1bHRQcm9wc31cclxuICAgICAgICAgIHsuLi5uZXdwcm9wc31cclxuICAgICAgICAgIGJlZm9yZVVwbG9hZD17dGhpcy5iZWZvcmVVcGxvYWQuYmluZCh0aGlzKX1cclxuICAgICAgICAgIGZpbGVMaXN0PXt0aGlzLnN0YXRlLmZpbGVMaXN0fVxyXG4gICAgICAgICAgLy8gb25DaGFuZ2U9eyh7IGZpbGUsIGZpbGVMaXN0LCBldmVudCB9KSA9PiB7XHJcbiAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKFwib25DaGFuZ2VmaWxlXCIsIGZpbGUpO1xyXG4gICAgICAgICAgLy8gICBjb25zb2xlLmxvZyhcIm9uQ2hhbmdlZmlsZUxpc3RcIiwgZmlsZUxpc3QpO1xyXG4gICAgICAgICAgLy8gICBjb25zdCB7IG9uQ2hhbmdlLCBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICAvLyAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgLy8gICAgIGZpbGVMaXN0OiBmaWxlTGlzdCxcclxuICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAvLyAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UoZmlsZUxpc3QpO1xyXG4gICAgICAgICAgLy8gICBvbkNoYW5nZSAmJiBvbkNoYW5nZSh7IGZpbGUsIGZpbGVMaXN0LCBldmVudCB9KTtcclxuICAgICAgICAgIC8vIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
650
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwiTnNjVXBsb2FkRHJhZ2dlciIsInVwbG9hZCIsImRvd25sb2FkIiwicHJldmlld0RvY3VtZW50IiwicHJldmlld0ltYWdlIiwiTnNjVXBsb2FkIiwiZmlsZUxpc3QiLCJ2aWV3SWQiLCJmaWxlTGlzdFN0b3JlIiwiZmlsZU5hbWVzIiwib3B0aW9ucyIsInByb3BzIiwib25Db21wbGV0ZSIsIm9uUHJvY2VzcyIsInNsaWNlU2l6ZSIsIm9uUHJvZ3Jlc3MiLCJ0b3RhbFByb2dyZXNzIiwicGVyY2VudCIsInBhcnRTaXplIiwicmVzIiwiZmlsZUlkIiwiY29kZSIsImRhdGEiLCJhdHRhY2hJZCIsIm9uU3VjY2VzcyIsIm9uRXJyb3IiLCJzdGF0dXMiLCJjb25zb2xlIiwibG9nIiwiY29udmVydEZpbGVMaXN0IiwibGlzdCIsIm5ld0ZpbGVMaXN0Iiwib2xkTGlzdCIsIm1hcCIsIml0ZW0iLCJ0ZW1wIiwibmFtZSIsImZpbGVOYW1lIiwidHlwZSIsInNpemUiLCJ1cmwiLCJwdXNoIiwic2V0U3RhdGUiLCJwcmVQcm9wcyIsInByZVN0YXRlIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXRlIiwib2ZpbGVMaXN0IiwibWF4U2l6ZSIsImFsbG93RmlsZVN1ZmZpeCIsImNoZWNrU2FtZUZpbGUiLCJtYXhDb3VudCIsInNob3dVcGxvYWRMaXN0IiwicHJvcHNMaXN0Iiwib25MaXN0Q2hhbmdlIiwiY2hlY2tGaWxlVHlwZSIsImVycm9yIiwiY2hlY2tMaXN0IiwiaW5kZXhPZiIsImJlZm9yZVVwbG9hZCIsIm5ld0xpc3QiLCJ1aWQiLCJsZW5ndGgiLCJpIiwic3BsaWNlIiwibmFtZXMiLCJzcGxpdCIsInN1ZmZpeCIsIm5ld0ZpbGUiLCJuZXdWZXJzaW9uIiwicmVxdWVzdENvbmZpZyIsImluZGV4Iiwid2luZG93IiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInByZWZpeCIsImZpbGVDYXJkIiwic2hvd0Rvd25sb2FkSWNvbiIsInNob3dQcmV2aWV3SWNvbiIsInNob3dSZW1vdmVJY29uIiwiZG93bmxvYWRJY29uIiwicmVtb3ZlSWNvbiIsInByZXZpZXdJY29uIiwibmV3cHJvcHMiLCJkZWZhdWx0UHJvcHMiLCJjdXN0b21SZXF1ZXN0IiwiYmluZCIsIm11bHRpcGxlIiwiaXRlbVJlbmRlciIsIm9yaWdpbk5vZGUiLCJjdXJyRmlsZUxpc3QiLCJvblByZXZpZXciLCJjdXJzb3IiLCJvbkRvd25sb2FkIiwib25SZW1vdmUiLCJvbkRlbGV0ZSIsIndpZHRoIiwiUHVyZUNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2QjtBQUVBLE9BQU9DLElBQVAsTUFBaUIsVUFBakI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLFlBQXBCO0FBRUEsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLFNBQVNDLE9BQVQsUUFBd0IsYUFBeEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIsb0JBQXJCO0FBQ0EsU0FDRUMsY0FERixFQUVFQyxnQkFGRixFQUdFQyxXQUhGLFFBSU8sbUJBSlA7QUFNQSxPQUFPQyxnQkFBUCxNQUE2QixXQUE3QjtBQUNBLElBQVFDLE1BQVIsR0FBNERYLElBQTVELENBQVFXLE1BQVI7QUFBQSxJQUFnQkMsUUFBaEIsR0FBNERaLElBQTVELENBQWdCWSxRQUFoQjtBQUFBLElBQTBCQyxlQUExQixHQUE0RGIsSUFBNUQsQ0FB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QUFVLEVBQUUsb0JBQUN4RyxJQUFELEVBQWU7QUFDekJZLFlBQUFBLFFBQVEsQ0FBQ1osSUFBSSxDQUFDOEIsTUFBTixFQUFjLElBQWQsRUFBb0JtRCxhQUFwQixDQUFSO0FBQ0QsV0FKUztBQUtWd0IsVUFBQUEsUUFBUSxFQUFFLGtCQUFDekcsSUFBRCxFQUFVO0FBQ2xCLFlBQUEsTUFBSSxDQUFDMEcsUUFBTCxDQUFjMUcsSUFBZDtBQUNELFdBUFM7QUFRVnNHLFVBQUFBLFNBQVMsRUFBRSxtQkFBQ3RHLElBQUQsRUFBZTtBQUN4QixnQkFBSUEsSUFBSixhQUFJQSxJQUFKLGVBQUlBLElBQUksQ0FBRThCLE1BQVYsRUFBa0I7QUFDaEJqQixjQUFBQSxlQUFlLENBQUNiLElBQUksQ0FBQzhCLE1BQU4sRUFBY21ELGFBQWQsQ0FBZjtBQUNEO0FBQ0YsV0FaUztBQWFWbEIsVUFBQUEsY0FBYyxvQkFBT0EsY0FBUDtBQWJKLFVBQVo7QUFlRDs7QUFDRDFCLE1BQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLFVBQVosRUFBd0IsS0FBS21CLEtBQUwsQ0FBV3pDLFFBQW5DO0FBQ0EsMEJBQ0UsdURBQ0UsMENBQ00rRSxZQUROLEVBRU1ELFFBRk47QUFHRSxRQUFBLFlBQVksRUFBRSxLQUFLeEIsWUFBTCxDQUFrQjJCLElBQWxCLENBQXVCLElBQXZCLENBSGhCO0FBSUUsUUFBQSxRQUFRLEVBQUUsS0FBS3hDLEtBQUwsQ0FBV3pDLFFBSnZCLENBS0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBZEYsU0FERixDQURGO0FBb0JEOzs7O0VBclpvQ2pCLEtBQUssQ0FBQzZHLGE7O2dCQUF4QjdGLFMsYUFDRkwsZ0I7O1NBREVLLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgVXBsb2FkLCBVcGxvYWRQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBmaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vbWVzc2FnZVwiO1xyXG5pbXBvcnQgd2l0aFpoTG9jYWxlIGZyb20gXCIuLi9jb21tb24vd2l0aFpoTG9jYWxlXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCB7IGdldExlc3MgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IEZpbGVJY29uIGZyb20gXCIuLi9jb21tb24vRmlsZUljb25cIjtcclxuaW1wb3J0IHtcclxuICBEZWxldGVPdXRsaW5lZCxcclxuICBEb3dubG9hZE91dGxpbmVkLFxyXG4gIEV5ZU91dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgUGRmVmlld2VyIGZyb20gXCIuLi9wZGZ2aXdlclwiO1xyXG5pbXBvcnQgTnNjVXBsb2FkRHJhZ2dlciBmcm9tIFwiLi9EcmFnZ2VyXCI7XHJcbmNvbnN0IHsgdXBsb2FkLCBkb3dubG9hZCwgcHJldmlld0RvY3VtZW50LCBwcmV2aWV3SW1hZ2UgfSA9IGZpbGU7XHJcblxyXG5pbnRlcmZhY2UgSVVwbG9hZFByb3BzIGV4dGVuZHMgVXBsb2FkUHJvcHMge1xyXG4gIHNsaWNlU2l6ZT86IG51bWJlcjtcclxuICBtYXhTaXplPzogbnVtYmVyIHwgYm9vbGVhbjtcclxuICBvblByb2Nlc3M/OiAocHJvY2VzcykgPT4gdm9pZDtcclxuICBvbkNvbXBsZXRlPzogKHsgZmlsZSwgZmlsZUlkLCBzdGF0dXMgfSkgPT4gdm9pZDtcclxuICBhbGxvd0ZpbGVTdWZmaXg/OiBBcnJheTxTdHJpbmc+OyAvL+WFgeiuuOS4iuS8oOaJqeWxleWQjSzkuI3luKYuXHJcbiAgdXNlRGVmYXVsdExpc3Q/OiBib29sZWFuOyAvL+aYr+WQpuS9v+eUqOm7mOiupOeahGZpbGVMaXN0XHJcbiAgZmlsZUNhcmQ/OiBib29sZWFuO1xyXG4gIG9uTGlzdENoYW5nZT86IGFueTtcclxuICBjaGVja1NhbWVGaWxlPzogYm9vbGVhbjtcclxuICByZXF1ZXN0Q29uZmlnPzogYW55O1xyXG4gIG5ld1ZlcnNpb24/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY1VwbG9hZCBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8SVVwbG9hZFByb3BzLCBhbnk+IHtcclxuICBzdGF0aWMgRHJhZ2dlciA9IE5zY1VwbG9hZERyYWdnZXI7XHJcbiAgc3RhdGUgPSB7IGZpbGVMaXN0OiBbXSwgdmlld0lkOiBcIlwiLCBmaWxlTGlzdFN0b3JlOiBbXSwgZmlsZU5hbWVzOiBbXSB9O1xyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsZUxpc3QpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJjb21wb25lbnREaWRNb3VudGNvbXBvbmVudERpZE1vdW50XCIpO1xyXG4gICAgICB0aGlzLmNvbnZlcnRGaWxlTGlzdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb252ZXJ0RmlsZUxpc3QobGlzdD86IEFycmF5PE9iamVjdD4pIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMucHJvcHM7XHJcblxyXG4gICAgY29uc3QgbmV3RmlsZUxpc3QgPSBbXTtcclxuICAgIGxldCBvbGRMaXN0ID0gbGlzdCA/IGxpc3QgOiBmaWxlTGlzdDtcclxuICAgIG9sZExpc3QubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgbGV0IHRlbXAgPSB7XHJcbiAgICAgICAgc3RhdHVzOiBpdGVtLnN0YXR1cyxcclxuICAgICAgICBuYW1lOiBpdGVtLm5hbWUgfHwgaXRlbS5maWxlTmFtZSxcclxuICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgc2l6ZTogaXRlbS5zaXplLFxyXG4gICAgICB9IGFzIGFueTtcclxuICAgICAgaWYgKGl0ZW0udXJsKSB7XHJcbiAgICAgICAgdGVtcC51cmwgPSBpdGVtLnVybDtcclxuICAgICAgfVxyXG4gICAgICBuZXdGaWxlTGlzdC5wdXNoKHRlbXApO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdGaWxlTGlzdF0sXHJcbiAgICAgIGZpbGVMaXN0U3RvcmU6IFsuLi5maWxlTGlzdF0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZVByb3BzLCBwcmVTdGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsZUxpc3QpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMuZmlsZUxpc3QpICE9PVxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUuZmlsZUxpc3RTdG9yZSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRGaWxlTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmZpbGVMaXN0O1xyXG4gIH1cclxuICBzZXRGaWxlTGlzdChmaWxlTGlzdDogQXJyYXk8T2JqZWN0Pikge1xyXG4gICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoZmlsZUxpc3QpO1xyXG4gIH1cclxuICBhc3luYyBiZWZvcmVVcGxvYWQoZmlsZSwgb2ZpbGVMaXN0KSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBtYXhTaXplID0gMTAwLFxyXG4gICAgICBhbGxvd0ZpbGVTdWZmaXgsXHJcbiAgICAgIGNoZWNrU2FtZUZpbGUgPSB0cnVlLFxyXG4gICAgICBtYXhDb3VudCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QsXHJcbiAgICAgIGZpbGVMaXN0OiBwcm9wc0xpc3QsXHJcbiAgICAgIG9uTGlzdENoYW5nZSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHsgZmlsZUxpc3QsIGZpbGVMaXN0U3RvcmUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgc2l6ZTogbnVtYmVyO1xyXG4gICAgaWYgKGFsbG93RmlsZVN1ZmZpeCAmJiAhdGhpcy5jaGVja0ZpbGVUeXBlKGZpbGUpKSB7XHJcbiAgICAgIG1lc3NhZ2UuZXJyb3IoXHJcbiAgICAgICAgYCR7ZmlsZS5uYW1lfeaWh+S7tuexu+Wei+S4jeWFgeiuuOS4iuS8oO+8jOivt+S4iuS8oOWQjue8gOS4uiR7YWxsb3dGaWxlU3VmZml4feeahOexu+Wei+aWh+S7tu+8gWBcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKG1heFNpemUgIT09IGZhbHNlKSB7XHJcbiAgICAgIGlmIChtYXhTaXplID09PSB0cnVlKSB7XHJcbiAgICAgICAgbWF4U2l6ZSA9IDEwMDtcclxuICAgICAgfVxyXG4gICAgICBzaXplID0gbWF4U2l6ZSAqIDEwMjQgKiAxMDI0O1xyXG4gICAgICBpZiAoc2l6ZSA8IGZpbGUuc2l6ZSkge1xyXG4gICAgICAgIG1lc3NhZ2UuZXJyb3IoYCR7ZmlsZS5uYW1lfeaWh+S7tuWkp+Wwj+i2hei/hyR7bWF4U2l6ZX1N77yM6K+36YeN5paw5LiK5Lyg77yBYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgZmlsZU5hbWVzID0gW107XHJcbiAgICBpZiAoY2hlY2tTYW1lRmlsZSkge1xyXG4gICAgICBjb25zdCBjaGVja0xpc3QgPSB0aGlzLnByb3BzLmZpbGVMaXN0ID8gZmlsZUxpc3RTdG9yZSA6IGZpbGVMaXN0O1xyXG4gICAgICBjaGVja0xpc3QubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgZmlsZU5hbWVzLnB1c2goaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmIChmaWxlTmFtZXMuaW5kZXhPZihmaWxlLm5hbWUpID4gLTEgJiYgc2hvd1VwbG9hZExpc3QgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgbWVzc2FnZS5lcnJvcihg5paH5Lu2JHtmaWxlLm5hbWV95bey5Zyo5LiK5Lyg5YiX6KGo5Lit77yM6K+36YeN5paw6YCJ5oup5paH5Lu277yBYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucHJvcHMuYmVmb3JlVXBsb2FkKSB7XHJcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucHJvcHMuYmVmb3JlVXBsb2FkKGZpbGUsIG9maWxlTGlzdCk7XHJcbiAgICAgIGlmIChyZXMgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBuZXdMaXN0ID0gWy4uLmZpbGVMaXN0XTtcclxuICAgIG9maWxlTGlzdC5tYXAoYXN5bmMgKGl0ZW0pID0+IHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgICEoXHJcbiAgICAgICAgICAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoaXRlbSkpIHx8XHJcbiAgICAgICAgICBzaXplIDwgaXRlbS5zaXplIHx8XHJcbiAgICAgICAgICAoY2hlY2tTYW1lRmlsZSAmJiBmaWxlTmFtZXMuaW5kZXhPZihpdGVtLm5hbWUpID4gLTEpXHJcbiAgICAgICAgKVxyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCB0ZW1wID0ge1xyXG4gICAgICAgICAgZmlsZU5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICAgIHBlcmNlbnQ6IDAsXHJcbiAgICAgICAgICBzdGF0dXM6IFwidXBsb2FkaW5nXCIsXHJcbiAgICAgICAgICB1aWQ6IGl0ZW0udWlkLFxyXG4gICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgICAgc2l6ZTogaXRlbS5zaXplLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKHRlbXApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAobWF4Q291bnQgJiYgbmV3TGlzdC5sZW5ndGggPiBtYXhDb3VudCkge1xyXG4gICAgICBsZXQgbGVuZ3RoID0gbmV3TGlzdC5sZW5ndGggLSBtYXhDb3VudDtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIG5ld0xpc3Quc3BsaWNlKDAsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGZpbGVMaXN0OiBuZXdMaXN0IH0pO1xyXG4gIH1cclxuICBjaGVja0ZpbGVUeXBlKGZpbGUpIHtcclxuICAgIGNvbnN0IHsgYWxsb3dGaWxlU3VmZml4IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmFtZXMgPSBmaWxlLm5hbWUuc3BsaXQoXCIuXCIpO1xyXG4gICAgY29uc3Qgc3VmZml4ID0gbmFtZXNbbmFtZXMubGVuZ3RoIC0gMV07XHJcbiAgICBpZiAoYWxsb3dGaWxlU3VmZml4LmluZGV4T2Yoc3VmZml4KSA+IC0xKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBvblByb2Nlc3MoeyBwZXJjZW50LCBmaWxlIH06IGFueSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXdGaWxlID0geyAuLi5pdGVtIH07XHJcbiAgICAgIGlmIChmaWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgIG5ld0ZpbGUucGVyY2VudCA9IHBlcmNlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgbmV3TGlzdC5wdXNoKG5ld0ZpbGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UoZmlsZUxpc3QpO1xyXG4gIH1cclxuICBhc3luYyBvbkNvbXBsZXRlKGZpbGUpIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IG5ld1ZlcnNpb24sIHJlcXVlc3RDb25maWcgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0xpc3Q6IGFueSA9IFsuLi5maWxlTGlzdF07XHJcbiAgICBmaWxlTGlzdC5tYXAoYXN5bmMgKGl0ZW06IGFueSwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgbmV3RmlsZSA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAoZmlsZS5maWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgIG5ld0ZpbGUuc3RhdHVzID0gZmlsZS5zdGF0dXMgPT0gXCJzdWNjZXNzXCIgPyBcImRvbmVcIiA6IGZpbGUuc3RhdHVzO1xyXG4gICAgICAgIG5ld0ZpbGUuZmlsZUlkID0gZmlsZS5maWxlSWQ7XHJcbiAgICAgICAgaWYgKG5ld1ZlcnNpb24pIHtcclxuICAgICAgICAgIGxldCByZXM6IGFueSA9IGF3YWl0IHByZXZpZXdJbWFnZShcclxuICAgICAgICAgICAgZmlsZS5maWxlSWQsXHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMucmVxdWVzdENvbmZpZ1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIG5ld0ZpbGUudXJsID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICBuZXdMaXN0W2luZGV4XSA9IG5ld0ZpbGU7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdMaXN0XSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgdXJsID0gYC9qcXVpY2stcmVzb3VyY2Uvb3NzL2VuZHBvaW50L2Rvd25sb2FkLWZpbGVzP2F0dGFjaElkPSR7XHJcbiAgICAgICAgICAgIGZpbGUuZmlsZUlkXHJcbiAgICAgICAgICB9Jl90cGs9JHt3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0b2tlblwiKX1gO1xyXG4gICAgICAgICAgbmV3RmlsZS51cmwgPSByZXF1ZXN0Q29uZmlnLnByZWZpeFxyXG4gICAgICAgICAgICA/IHJlcXVlc3RDb25maWcucHJlZml4ICsgdXJsXHJcbiAgICAgICAgICAgIDogXCIvYXBpXCIgKyB1cmw7XHJcbiAgICAgICAgICBuZXdMaXN0W2luZGV4XSA9IG5ld0ZpbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gIH1cclxuICBjdXN0b21SZXF1ZXN0ID0gYXN5bmMgKG9wdGlvbnMpID0+IHtcclxuICAgIGNvbnN0IGZpbGUgPSBvcHRpb25zLmZpbGU7XHJcbiAgICBjb25zdCB7IG9uQ29tcGxldGUsIG9uUHJvY2Vzcywgc2xpY2VTaXplIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qgb25Qcm9ncmVzcyA9ICh0b3RhbFByb2dyZXNzOiBhbnkpID0+IHtcclxuICAgICAgb3B0aW9ucy5vblByb2dyZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcyB9LCBmaWxlKTtcclxuICAgICAgdGhpcy5vblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgICBvblByb2Nlc3MgJiYgb25Qcm9jZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcywgZmlsZTogZmlsZSB9KTtcclxuICAgIH07XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHVwbG9hZCh7XHJcbiAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICBvblByb2dyZXNzOiBvblByb2dyZXNzLFxyXG4gICAgICAgIHBhcnRTaXplOiBzbGljZVNpemUsXHJcbiAgICAgIH0pO1xyXG4gICAgICBsZXQgZmlsZUlkID0gbnVsbDtcclxuICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIGZpbGVJZCA9IHJlcy5kYXRhLmF0dGFjaElkO1xyXG4gICAgICAgIG9wdGlvbnMub25TdWNjZXNzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgb3B0aW9ucy5vbkVycm9yKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgfSk7XHJcbiAgICAgIG9uQ29tcGxldGUgJiZcclxuICAgICAgICBvbkNvbXBsZXRlKHtcclxuICAgICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICAgIGZpbGVJZDogZmlsZUlkLFxyXG4gICAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgICB9KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBcIlwiLFxyXG4gICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICB9KTtcclxuICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgIG9uQ29tcGxldGUoeyBmaWxlOiBvcHRpb25zLmZpbGUsIGZpbGVJZDogXCJcIiwgc3RhdHVzOiBcImVycm9yXCIgfSk7XHJcbiAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgb25EZWxldGUoZmlsZSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAvL+mAmui/h+aWh+S7tuWQjeWIpOaWre+8jOS4iuS8oOaYr+aWh+S7tuWQjeaYr+WUr+S4gOeahFxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5uYW1lICE9PSBmaWxlLm5hbWUgfHxcclxuICAgICAgICBpdGVtLmZpbGVJZCAhPT0gZmlsZS5maWxlSWQgfHxcclxuICAgICAgICBpdGVtLnVpZCAhPT0gZmlsZS51aWRcclxuICAgICAgKSB7XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgIH0pO1xyXG4gICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShuZXdMaXN0KTtcclxuICB9XHJcbiAgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBmaWxlTGlzdCxcclxuICAgICAgZmlsZUNhcmQsXHJcbiAgICAgIHNob3dVcGxvYWRMaXN0ID0ge1xyXG4gICAgICAgIHNob3dEb3dubG9hZEljb246IHRydWUsXHJcbiAgICAgICAgc2hvd1ByZXZpZXdJY29uOiBmYWxzZSxcclxuICAgICAgICBzaG93UmVtb3ZlSWNvbjogdHJ1ZSxcclxuICAgICAgICBkb3dubG9hZEljb246IG51bGwsXHJcbiAgICAgICAgcmVtb3ZlSWNvbjogbnVsbCxcclxuICAgICAgICBwcmV2aWV3SWNvbjogbnVsbCxcclxuICAgICAgfSBhcyBhbnksXHJcbiAgICAgIHJlcXVlc3RDb25maWcgPSB7fSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3cHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJzbGljZVNpemVcIixcclxuICAgICAgXCJtYXhTaXplXCIsXHJcbiAgICAgIFwib25Db21wbGV0ZVwiLFxyXG4gICAgICBcIm9uUHJvY2Vzc1wiLFxyXG4gICAgICBcImFsbG93RmlsZVN1ZmZpeFwiLFxyXG4gICAgICBcInVzZURlZmF1bHRMaXN0XCIsXHJcbiAgICAgIFwiZmlsZUNhcmRcIixcclxuICAgICAgXCJvbkxpc3RDaGFuZ2VcIixcclxuICAgIF0pO1xyXG4gICAgbGV0IGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgY3VzdG9tUmVxdWVzdDogdGhpcy5jdXN0b21SZXF1ZXN0LmJpbmQodGhpcyksXHJcbiAgICAgIG11bHRpcGxlOiB0cnVlLFxyXG4gICAgfSBhcyBJVXBsb2FkUHJvcHM7XHJcbiAgICBpZiAoZmlsZUNhcmQpIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBpdGVtUmVuZGVyOiAob3JpZ2luTm9kZSwgZmlsZTogYW55LCBjdXJyRmlsZUxpc3QpID0+IHtcclxuICAgICAgICAgIGNvbnN0IG5hbWUgPSBmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZTtcclxuICAgICAgICAgIGNvbnN0IG5hbWVzID0gbmFtZT8uc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgY29uc3Qgc3VmZml4ID0gbmFtZXMgPyBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXSA6IFwiXCI7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZmlsZS1pdGVtXCIpfT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50XCIpLCB7XHJcbiAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50X2Vycm9yXCIpXTogZmlsZS5zdGF0dXMgPT0gXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm1hcmstcGljdHVyZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxGaWxlSWNvbiBzdWZmaXg9e3N1ZmZpeH0gZmlsZUlkPXtmaWxlLmZpbGVJZH0gLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5hbWVcIil9PlxyXG4gICAgICAgICAgICAgICAgICB7ZmlsZS5uYW1lIHx8IGZpbGUuZmlsZU5hbWV9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LnNob3dQcmV2aWV3SWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJldmlldyhmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEV5ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd0Rvd25sb2FkSWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkLCB0cnVlLCByZXF1ZXN0Q29uZmlnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb25cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxEb3dubG9hZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1JlbW92ZUljb24gJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25SZW1vdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RGVsZXRlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB7ZmlsZS5zdGF0dXMgPT0gXCJ1cGxvYWRpbmdcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicHJvY2Vzc1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInBlcmNlbnRcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGZpbGUucGVyY2VudCArIFwiJVwiIH19XHJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBvbkRvd25sb2FkOiAoZmlsZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBkb3dubG9hZChmaWxlLmZpbGVJZCwgdHJ1ZSwgcmVxdWVzdENvbmZpZyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblJlbW92ZTogKGZpbGUpID0+IHtcclxuICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblByZXZpZXc6IChmaWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChmaWxlPy5maWxlSWQpIHtcclxuICAgICAgICAgICAgcHJldmlld0RvY3VtZW50KGZpbGUuZmlsZUlkLCByZXF1ZXN0Q29uZmlnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHNob3dVcGxvYWRMaXN0OiB7IC4uLnNob3dVcGxvYWRMaXN0IH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhcImNvbS0tZGRkXCIsIHRoaXMuc3RhdGUuZmlsZUxpc3QpO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPD5cclxuICAgICAgICA8VXBsb2FkXHJcbiAgICAgICAgICB7Li4uZGVmYXVsdFByb3BzfVxyXG4gICAgICAgICAgey4uLm5ld3Byb3BzfVxyXG4gICAgICAgICAgYmVmb3JlVXBsb2FkPXt0aGlzLmJlZm9yZVVwbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgZmlsZUxpc3Q9e3RoaXMuc3RhdGUuZmlsZUxpc3R9XHJcbiAgICAgICAgICAvLyBvbkNoYW5nZT17KHsgZmlsZSwgZmlsZUxpc3QsIGV2ZW50IH0pID0+IHtcclxuICAgICAgICAgIC8vICAgY29uc29sZS5sb2coXCJvbkNoYW5nZWZpbGVcIiwgZmlsZSk7XHJcbiAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKFwib25DaGFuZ2VmaWxlTGlzdFwiLCBmaWxlTGlzdCk7XHJcbiAgICAgICAgICAvLyAgIGNvbnN0IHsgb25DaGFuZ2UsIG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICAgIC8vICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAvLyAgICAgZmlsZUxpc3Q6IGZpbGVMaXN0LFxyXG4gICAgICAgICAgLy8gICB9KTtcclxuICAgICAgICAgIC8vICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShmaWxlTGlzdCk7XHJcbiAgICAgICAgICAvLyAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKHsgZmlsZSwgZmlsZUxpc3QsIGV2ZW50IH0pO1xyXG4gICAgICAgICAgLy8gfX1cclxuICAgICAgICAvPlxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|