@agilemotion/oui-react-js 2.0.20 → 2.0.22

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.
@@ -37,6 +37,9 @@ const InteractionPortalAppHome = /*#__PURE__*/_react.default.memo((props, ref) =
37
37
  const [loadingColor, setLoadingColor] = _react.default.useState(null);
38
38
  const [loading, setLoading] = _react.default.useState(true);
39
39
  const [hasClientError, setHasClientError] = _react.default.useState(false);
40
+ // Gate render on user details so consumers (e.g. PortalDashboard's greeting)
41
+ // never read applicationManager.getUserDetails() before it is populated.
42
+ const [userDetailsReady, setUserDetailsReady] = _react.default.useState(false);
40
43
  const [avatarUrl, setAvatarUrl] = _react.default.useState(location + props.contextRoot + props.implConfig.authUrl + "/user/avatar?" + "access_token=" + sessionStorage.getItem("accessToken") + "&idToken=" + sessionStorage.getItem("idToken"));
41
44
  const navigate = (0, _reactRouterDom.useNavigate)();
42
45
  _react.default.useEffect(() => {
@@ -56,6 +59,7 @@ const InteractionPortalAppHome = /*#__PURE__*/_react.default.memo((props, ref) =
56
59
  _ApplicationManager.default.setUserDetails(response);
57
60
  _SocketManager.default.init();
58
61
  _ApplicationManager.default.setActiveTenant(_ApplicationManager.default.getUniqueOrgForRole('VENDOR'));
62
+ setUserDetailsReady(true);
59
63
  }, e => {
60
64
  console.log(e);
61
65
  });
@@ -88,7 +92,7 @@ const InteractionPortalAppHome = /*#__PURE__*/_react.default.memo((props, ref) =
88
92
  className: "main w-100 h-100 d-inline-block"
89
93
  }, /*#__PURE__*/_react.default.createElement("div", {
90
94
  className: "w-100 h-100"
91
- }, !loading && !_Utils.default.isNull(dashboardSettings) && !hasClientError ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
95
+ }, !loading && !_Utils.default.isNull(dashboardSettings) && userDetailsReady && !hasClientError ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
92
96
  className: "main w-100 h-100 d-inline-block coj-skin"
93
97
  }, /*#__PURE__*/_react.default.createElement("div", {
94
98
  className: "w-100 h-100"
@@ -152,6 +156,18 @@ const InteractionPortalAppHome = /*#__PURE__*/_react.default.memo((props, ref) =
152
156
  appLogoPath: /*dashboardSettings.logo*/null,
153
157
  logoStyle: {
154
158
  width: '120px'
159
+ },
160
+ homeButtonSettings: {
161
+ icon: 'HOME',
162
+ iconSize: 'small',
163
+ text: 'Home',
164
+ color: 'secondary',
165
+ callback: () => {
166
+ // Load the PortalDashboard (rendered by the
167
+ // view/:id route as the dashboard chrome).
168
+ _ApplicationManager.default.closeAllViews(true);
169
+ _ApplicationManager.default.navigate('/view/dashboard');
170
+ }
155
171
  }
156
172
  }), /*#__PURE__*/_react.default.createElement(_LoadingIndicator.default, {
157
173
  color: loadingColor
@@ -162,4 +178,4 @@ const InteractionPortalAppHome = /*#__PURE__*/_react.default.memo((props, ref) =
162
178
  }));
163
179
  });
164
180
  var _default = exports.default = InteractionPortalAppHome;
165
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Mb2FkaW5nSW5kaWNhdG9yIiwiX0FwcGxpY2F0aW9uTWFuYWdlciIsIl9Ub2tlbk1hbmFnZXIiLCJfVXRpbHMiLCJfcmVhY3RSb3V0ZXJEb20iLCJfUmVzdFV0aWxzIiwiX1NpZGVNZW51TW9kdWxlRGFzaGJvYXJkIiwiX1NvY2tldE1hbmFnZXIiLCJfRm9sZGluZ1NpZGVUYWJEYXNoYm9hcmQiLCJfbWF0ZXJpYWwiLCJfVGhlbWVQcm92aWRlciIsIl9yZWFjdDIiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJsb2NhdGlvbiIsIndpbmRvdyIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJzdGF0dXMiLCJyZXNwb25zZSIsIm9rIiwiUHJvbWlzZSIsInJlc29sdmUiLCJlcnJvciIsIkVycm9yIiwic3RhdHVzVGV4dCIsImNvZGUiLCJyZWplY3QiLCJqc29uIiwidGV4dCIsIkludGVyYWN0aW9uUG9ydGFsQXBwSG9tZSIsIlJlYWN0IiwibWVtbyIsInByb3BzIiwicmVmIiwiZGFzaGJvYXJkU2V0dGluZ3MiLCJzZXREYXNoYm9hcmRTZXR0aW5ncyIsInVzZVN0YXRlIiwidG9rZW5SZWZyZXNoTW9uaXRvclN0YXJ0ZWQiLCJzZXRUb2tlblJlZnJlc2hNb25pdG9yU3RhcnRlZCIsImxvYWRpbmdDb2xvciIsInNldExvYWRpbmdDb2xvciIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiaGFzQ2xpZW50RXJyb3IiLCJzZXRIYXNDbGllbnRFcnJvciIsImF2YXRhclVybCIsInNldEF2YXRhclVybCIsImNvbnRleHRSb290IiwiaW1wbENvbmZpZyIsImF1dGhVcmwiLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJuYXZpZ2F0ZSIsInVzZU5hdmlnYXRlIiwidXNlRWZmZWN0IiwiYXBwbGljYXRpb01hbmFnZXIiLCJzZXRTZXJ2aWNlQXBpUGF0aCIsInNlcnZpY2VBcGlQYXRoIiwic2V0VUlDb25maWdQYXRoIiwidWlDb25maWdQYXRoIiwic2V0Q29udGV4dFJvb3QiLCJzZXRGaWxlc0FwaVBhdGgiLCJmaWxlc0FwaVBhdGgiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJzZXROYXZpZ2F0b3IiLCJwYXRoIiwic2VuZFJlcXVlc3QiLCJnZXRDb250ZXh0Um9vdCIsImNpZCIsImNvbnNvbGUiLCJsb2ciLCJzZXRVc2VyRGV0YWlscyIsIlNvY2tldHMiLCJpbml0Iiwic2V0QWN0aXZlVGVuYW50IiwiZ2V0VW5pcXVlT3JnRm9yUm9sZSIsInRva2VuTWFuYWdlciIsInN0YXJ0VG9rZW5SZWZyZXNoTW9uaXRvciIsInVzZXJOYW1lIiwiVXRpbHMiLCJpc051bGwiLCJ1c2VyQXZhdGFyIiwidXJsIiwic2V0QXBwbGljYXRpb25UaGVtZUNvbG9ycyIsInByaW1hcnlDb2xvciIsInNlY29uZGFyeUNvbG9yIiwibG9nb3V0IiwicmVtb3ZlSXRlbSIsImNsZWFyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIkZyYWdtZW50IiwiVGhlbWVQcm92aWRlciIsInRoZW1lIiwiY3JlYXRlVGhlbWUiLCJwYWxldHRlIiwicHJpbWFyeSIsIm1haW4iLCJzZWNvbmRhcnkiLCJzeXN0ZW1Qcm9maWxlRHRvIiwiZmlyc3RDb3Jwb3JhdGVCcmFuZENvbG9yIiwic2Vjb25kQ29ycG9yYXRlQnJhbmRDb2xvciIsImNvbXBvbmVudHMiLCJNdWlDc3NCYXNlbGluZSIsInN0eWxlT3ZlcnJpZGVzIiwiYm9keSIsInNjcm9sbGJhckNvbG9yIiwic2Nyb2xsYmFyV2lkdGgiLCJ3aWR0aCIsImhlaWdodCIsImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXJSYWRpdXMiLCJ0cmFuc2l0aW9uIiwiQ3NzQmFzZWxpbmUiLCJsb2dvdXRDYWxsQmFjayIsInNldHRpbmdzIiwiYXZhdGFyIiwibG9nbyIsInNob3dEYXNoYm9hcmRNZW51IiwiYXBwTG9nb1BhdGgiLCJsb2dvU3R5bGUiLCJjb2xvciIsInN0eWxlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL2xpYi9JbnRlcmFjdGlvblBvcnRhbEFwcEhvbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IExvYWRpbmdJbmRpY2F0b3IgZnJvbSAnLi9jb21wb25lbnRzL0xvYWRpbmdJbmRpY2F0b3InO1xuaW1wb3J0IGFwcGxpY2F0aW9NYW5hZ2VyIGZyb20gXCIuL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tIFwiLi9BcHBsaWNhdGlvbk1hbmFnZXJcIjtcbmltcG9ydCB0b2tlbk1hbmFnZXIgZnJvbSBcIi4vc2VjdXJpdHkvVG9rZW5NYW5hZ2VyXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4vVXRpbHNcIjtcbmltcG9ydCB7dXNlTmF2aWdhdGV9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQge3NlbmRSZXF1ZXN0fSBmcm9tIFwiLi9SZXN0VXRpbHNcIjtcbmltcG9ydCBTaWRlTWVudU1vZHVsZURhc2hib2FyZCBmcm9tIFwiLi9jb21wb25lbnRzL2Rhc2hib2FyZC9TaWRlTWVudU1vZHVsZURhc2hib2FyZFwiO1xuaW1wb3J0IFNvY2tldHMgZnJvbSBcIi4vY29tcG9uZW50cy9Tb2NrZXRNYW5hZ2VyXCI7XG5pbXBvcnQgRm9sZGluZ1NpZGVUYWJEYXNoYm9hcmQgZnJvbSBcIi4vY29tcG9uZW50cy9kYXNoYm9hcmQvRm9sZGluZ1NpZGVUYWJEYXNoYm9hcmRcIjtcbmltcG9ydCB7Y3JlYXRlVGhlbWUsIENzc0Jhc2VsaW5lfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IFRoZW1lUHJvdmlkZXIgZnJvbSBcIkBtdWkvc3R5bGVzL1RoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB7VGhlbWVQcm92aWRlciBhcyBFbW90aW9uVGhlbWVQcm92aWRlcn0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5jb25zdCBsb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTtcblxuY29uc3Qgc3RhdHVzID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzcG9uc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBlcnJvciA9IG5ldyBFcnJvcihyZXNwb25zZS5zdGF0dXNUZXh0KTtcbiAgICAgICAgZXJyb3IuY29kZSA9IHJlc3BvbnNlLnN0YXR1cztcblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgIH1cbn07XG5cbmNvbnN0IGpzb24gPSAocmVzcG9uc2UpID0+IHtcbiAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpO1xufTtcblxuY29uc3QgSW50ZXJhY3Rpb25Qb3J0YWxBcHBIb21lID0gUmVhY3QubWVtbygoKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCBbZGFzaGJvYXJkU2V0dGluZ3MsIHNldERhc2hib2FyZFNldHRpbmdzXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFt0b2tlblJlZnJlc2hNb25pdG9yU3RhcnRlZCwgc2V0VG9rZW5SZWZyZXNoTW9uaXRvclN0YXJ0ZWRdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW2xvYWRpbmdDb2xvciwgc2V0TG9hZGluZ0NvbG9yXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IFJlYWN0LnVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFtoYXNDbGllbnRFcnJvciwgc2V0SGFzQ2xpZW50RXJyb3JdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFthdmF0YXJVcmwsIHNldEF2YXRhclVybF0gPSBSZWFjdC51c2VTdGF0ZShsb2NhdGlvbiArIHByb3BzLmNvbnRleHRSb290XG4gICAgICAgICsgcHJvcHMuaW1wbENvbmZpZy5hdXRoVXJsICsgXCIvdXNlci9hdmF0YXI/XCJcbiAgICAgICAgKyBcImFjY2Vzc190b2tlbj1cIiArIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJhY2Nlc3NUb2tlblwiKVxuICAgICAgICArIFwiJmlkVG9rZW49XCIgKyBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwiaWRUb2tlblwiKSk7XG5cbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0U2VydmljZUFwaVBhdGgocHJvcHMuaW1wbENvbmZpZy5zZXJ2aWNlQXBpUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldFVJQ29uZmlnUGF0aChwcm9wcy5pbXBsQ29uZmlnLnVpQ29uZmlnUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldENvbnRleHRSb290KHByb3BzLmNvbnRleHRSb290KTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0RmlsZXNBcGlQYXRoKHByb3BzLmltcGxDb25maWcuZmlsZXNBcGlQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnNldE5hdmlnYXRvcigocGF0aCkgPT4ge1xuICAgICAgICAgICAgbmF2aWdhdGUocGF0aCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNlbmRSZXF1ZXN0KGxvY2F0aW9uICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCkgKyAnL3N5c3RlbS9hcGkvdjEvc2V0dXAvJyArIHByb3BzLmltcGxDb25maWcuY2lkLCAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHNldERhc2hib2FyZFNldHRpbmdzKHJlc3BvbnNlKTtcbiAgICAgICAgfSwgKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBzZW5kUmVxdWVzdChsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpICsgJy9hdXRoL2FwaS92MS91c2VyL2ZpbmQnLCAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5zZXRVc2VyRGV0YWlscyhyZXNwb25zZSk7XG4gICAgICAgICAgICBTb2NrZXRzLmluaXQoKTtcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5zZXRBY3RpdmVUZW5hbnQoYXBwbGljYXRpb25NYW5hZ2VyLmdldFVuaXF1ZU9yZ0ZvclJvbGUoJ1ZFTkRPUicpKTtcbiAgICAgICAgfSwgKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICB9LCBbXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoZGFzaGJvYXJkU2V0dGluZ3MgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmICghdG9rZW5SZWZyZXNoTW9uaXRvclN0YXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICB0b2tlbk1hbmFnZXIuc3RhcnRUb2tlblJlZnJlc2hNb25pdG9yKGxvY2F0aW9uICsgcHJvcHMuY29udGV4dFJvb3QgKyBwcm9wcy5pbXBsQ29uZmlnLmF1dGhVcmwgKyBcIi9yZWZyZXNoXCIsXG4gICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZFNldHRpbmdzLnVzZXJOYW1lKTtcbiAgICAgICAgICAgICAgICBzZXRUb2tlblJlZnJlc2hNb25pdG9yU3RhcnRlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwoZGFzaGJvYXJkU2V0dGluZ3MudXNlckF2YXRhcikpIHtcbiAgICAgICAgICAgICAgICBzZXRBdmF0YXJVcmwoZGFzaGJvYXJkU2V0dGluZ3MudXNlckF2YXRhci51cmwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhcHBsaWNhdGlvTWFuYWdlci5zZXRBcHBsaWNhdGlvblRoZW1lQ29sb3JzKFxuICAgICAgICAgICAgICAgIGRhc2hib2FyZFNldHRpbmdzLnByaW1hcnlDb2xvcixcbiAgICAgICAgICAgICAgICBkYXNoYm9hcmRTZXR0aW5ncy5zZWNvbmRhcnlDb2xvcixcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHNldExvYWRpbmdDb2xvcihkYXNoYm9hcmRTZXR0aW5ncy5wcmltYXJ5Q29sb3IpO1xuICAgICAgICB9XG4gICAgfSwgW2Rhc2hib2FyZFNldHRpbmdzXSk7XG5cblxuICAgIGNvbnN0IGxvZ291dCA9ICgpID0+IHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShcImFjY2Vzc1Rva2VuXCIpO1xuICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFwicmVmcmVzaFRva2VuXCIpO1xuICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFwiaWRUb2tlblwiKTtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShcImxhc3RMb2dpblwiKTtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShcInVzZXJuYW1lXCIpO1xuICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFwidXNlckF2YXRhcklkXCIpO1xuXG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLmNsZWFyKCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLm5hdmlnYXRlKCcvbG9naW4nKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYWluIHctMTAwIGgtMTAwIGQtaW5saW5lLWJsb2NrXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTAwIGgtMTAwXCI+XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAhbG9hZGluZyAmJiAhVXRpbHMuaXNOdWxsKGRhc2hib2FyZFNldHRpbmdzKSAmJiAhaGFzQ2xpZW50RXJyb3IgP1xuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YG1haW4gdy0xMDAgaC0xMDAgZC1pbmxpbmUtYmxvY2sgY29qLXNraW5gfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEwMCBoLTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEVtb3Rpb25UaGVtZVByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWU9e2NyZWF0ZVRoZW1lKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcucHJpbWFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcuc2Vjb25kYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lPXtjcmVhdGVUaGVtZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWxldHRlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBkYXNoYm9hcmRTZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLmZpcnN0Q29ycG9yYXRlQnJhbmRDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBkYXNoYm9hcmRTZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLnNlY29uZENvcnBvcmF0ZUJyYW5kQ29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVpQ3NzQmFzZWxpbmU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVPdmVycmlkZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGaXJlZm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyQ29sb3I6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCkgdHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhcldpZHRoOiAndGhpbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2ViS2l0IGJyb3dzZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhcic6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhci10cmFjayc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC40KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnYmFja2dyb3VuZC1jb2xvciAwLjNzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcic6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNiknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDc3NCYXNlbGluZSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9sZGluZ1NpZGVUYWJEYXNoYm9hcmQgbG9nb3V0Q2FsbEJhY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ291dCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncz17ZGFzaGJvYXJkU2V0dGluZ3N9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmF0YXI9eyFVdGlscy5pc051bGwoYXZhdGFyVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gYXZhdGFyVXJsIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ289e2Rhc2hib2FyZFNldHRpbmdzLmxvZ299XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93RGFzaGJvYXJkTWVudT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBMb2dvUGF0aD17LypkYXNoYm9hcmRTZXR0aW5ncy5sb2dvKi9udWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nb1N0eWxlPXt7d2lkdGg6ICcxMjBweCd9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TG9hZGluZ0luZGljYXRvciBjb2xvcj17bG9hZGluZ0NvbG9yfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRW1vdGlvblRoZW1lUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNDbGllbnRFcnJvciA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17XCJtYXJnaW46IDEyOHB4OyBjb2xvcjogcmVkOyBmb250LXNpemU6IDI0cHhcIn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbSBlcnJvciAtIFVua25vd24gY2xpZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxMb2FkaW5nSW5kaWNhdG9yIGNvbG9yPXtsb2FkaW5nQ29sb3J9Lz5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn0pKTtcblxuZXhwb3J0IGRlZmF1bHQgSW50ZXJhY3Rpb25Qb3J0YWxBcHBIb21lO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsbUJBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFHLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLGVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLHdCQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFULHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUyx3QkFBQSxHQUFBVixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVUsU0FBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsY0FBQSxHQUFBWixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVksT0FBQSxHQUFBWixPQUFBO0FBQXFFLFNBQUFELHVCQUFBYyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRXJFLE1BQU1HLFFBQVEsR0FBR0MsTUFBTSxDQUFDRCxRQUFRLENBQUNFLFFBQVEsR0FBRyxJQUFJLEdBQUdELE1BQU0sQ0FBQ0QsUUFBUSxDQUFDRyxRQUFRO0FBRTNFLE1BQU1DLE1BQU0sR0FBSUMsUUFBUSxJQUFLO0VBQ3pCLElBQUlBLFFBQVEsQ0FBQ0MsRUFBRSxFQUFFO0lBQ2IsT0FBT0MsT0FBTyxDQUFDQyxPQUFPLENBQUNILFFBQVEsQ0FBQztFQUNwQyxDQUFDLE1BQU07SUFDSCxJQUFJSSxLQUFLLEdBQUcsSUFBSUMsS0FBSyxDQUFDTCxRQUFRLENBQUNNLFVBQVUsQ0FBQztJQUMxQ0YsS0FBSyxDQUFDRyxJQUFJLEdBQUdQLFFBQVEsQ0FBQ0QsTUFBTTtJQUU1QixPQUFPRyxPQUFPLENBQUNNLE1BQU0sQ0FBQ0osS0FBSyxDQUFDO0VBQ2hDO0FBQ0osQ0FBQztBQUVELE1BQU1LLElBQUksR0FBSVQsUUFBUSxJQUFLO0VBQ3ZCLE9BQU9BLFFBQVEsQ0FBQ1UsSUFBSSxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU1DLHdCQUF3QixnQkFBR0MsY0FBSyxDQUFDQyxJQUFJLENBQUUsQ0FBQ0MsS0FBSyxFQUFFQyxHQUFHLEtBQUs7RUFDekQsTUFBTSxDQUFDQyxpQkFBaUIsRUFBRUMsb0JBQW9CLENBQUMsR0FBR0wsY0FBSyxDQUFDTSxRQUFRLENBQUMsSUFBSSxDQUFDO0VBQ3RFLE1BQU0sQ0FBQ0MsMEJBQTBCLEVBQUVDLDZCQUE2QixDQUFDLEdBQUdSLGNBQUssQ0FBQ00sUUFBUSxDQUFDLElBQUksQ0FBQztFQUN4RixNQUFNLENBQUNHLFlBQVksRUFBRUMsZUFBZSxDQUFDLEdBQUdWLGNBQUssQ0FBQ00sUUFBUSxDQUFDLElBQUksQ0FBQztFQUM1RCxNQUFNLENBQUNLLE9BQU8sRUFBRUMsVUFBVSxDQUFDLEdBQUdaLGNBQUssQ0FBQ00sUUFBUSxDQUFDLElBQUksQ0FBQztFQUNsRCxNQUFNLENBQUNPLGNBQWMsRUFBRUMsaUJBQWlCLENBQUMsR0FBR2QsY0FBSyxDQUFDTSxRQUFRLENBQUMsS0FBSyxDQUFDO0VBQ2pFLE1BQU0sQ0FBQ1MsU0FBUyxFQUFFQyxZQUFZLENBQUMsR0FBR2hCLGNBQUssQ0FBQ00sUUFBUSxDQUFDdkIsUUFBUSxHQUFHbUIsS0FBSyxDQUFDZSxXQUFXLEdBQ3ZFZixLQUFLLENBQUNnQixVQUFVLENBQUNDLE9BQU8sR0FBRyxlQUFlLEdBQzFDLGVBQWUsR0FBR0MsY0FBYyxDQUFDQyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQ3ZELFdBQVcsR0FBR0QsY0FBYyxDQUFDQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7RUFFdEQsTUFBTUMsUUFBUSxHQUFHLElBQUFDLDJCQUFXLEVBQUMsQ0FBQztFQUM5QnZCLGNBQUssQ0FBQ3dCLFNBQVMsQ0FBQyxNQUFNO0lBQ2xCQywyQkFBaUIsQ0FBQ0MsaUJBQWlCLENBQUN4QixLQUFLLENBQUNnQixVQUFVLENBQUNTLGNBQWMsQ0FBQztJQUNwRUYsMkJBQWlCLENBQUNHLGVBQWUsQ0FBQzFCLEtBQUssQ0FBQ2dCLFVBQVUsQ0FBQ1csWUFBWSxDQUFDO0lBQ2hFSiwyQkFBaUIsQ0FBQ0ssY0FBYyxDQUFDNUIsS0FBSyxDQUFDZSxXQUFXLENBQUM7SUFDbkRRLDJCQUFpQixDQUFDTSxlQUFlLENBQUM3QixLQUFLLENBQUNnQixVQUFVLENBQUNjLFlBQVksQ0FBQztJQUNoRUMsMkJBQWtCLENBQUNDLFlBQVksQ0FBRUMsSUFBSSxJQUFLO01BQ3RDYixRQUFRLENBQUNhLElBQUksQ0FBQztJQUNsQixDQUFDLENBQUM7SUFFRixJQUFBQyxzQkFBVyxFQUFDckQsUUFBUSxHQUFHa0QsMkJBQWtCLENBQUNJLGNBQWMsQ0FBQyxDQUFDLEdBQUcsdUJBQXVCLEdBQUduQyxLQUFLLENBQUNnQixVQUFVLENBQUNvQixHQUFHLEVBQUdsRCxRQUFRLElBQUs7TUFDdkhpQixvQkFBb0IsQ0FBQ2pCLFFBQVEsQ0FBQztJQUNsQyxDQUFDLEVBQUdSLENBQUMsSUFBSztNQUNOMkQsT0FBTyxDQUFDQyxHQUFHLENBQUM1RCxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRUYsSUFBQXdELHNCQUFXLEVBQUNyRCxRQUFRLEdBQUdrRCwyQkFBa0IsQ0FBQ0ksY0FBYyxDQUFDLENBQUMsR0FBRyx3QkFBd0IsRUFBR2pELFFBQVEsSUFBSztNQUNqRzZDLDJCQUFrQixDQUFDUSxjQUFjLENBQUNyRCxRQUFRLENBQUM7TUFDM0NzRCxzQkFBTyxDQUFDQyxJQUFJLENBQUMsQ0FBQztNQUNkViwyQkFBa0IsQ0FBQ1csZUFBZSxDQUFDWCwyQkFBa0IsQ0FBQ1ksbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEYsQ0FBQyxFQUFHakUsQ0FBQyxJQUFLO01BQ04yRCxPQUFPLENBQUNDLEdBQUcsQ0FBQzVELENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUM7SUFFRmdDLFVBQVUsQ0FBQyxLQUFLLENBQUM7RUFDckIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOWixjQUFLLENBQUN3QixTQUFTLENBQUMsTUFBTTtJQUNsQixJQUFJcEIsaUJBQWlCLEtBQUssSUFBSSxFQUFFO01BQzVCLElBQUksQ0FBQ0csMEJBQTBCLEVBQUU7UUFDN0J1QyxxQkFBWSxDQUFDQyx3QkFBd0IsQ0FBQ2hFLFFBQVEsR0FBR21CLEtBQUssQ0FBQ2UsV0FBVyxHQUFHZixLQUFLLENBQUNnQixVQUFVLENBQUNDLE9BQU8sR0FBRyxVQUFVLEVBQ3RHZixpQkFBaUIsQ0FBQzRDLFFBQVEsQ0FBQztRQUMvQnhDLDZCQUE2QixDQUFDLElBQUksQ0FBQztNQUN2QztNQUVBLElBQUksQ0FBQ3lDLGNBQUssQ0FBQ0MsTUFBTSxDQUFDOUMsaUJBQWlCLENBQUMrQyxVQUFVLENBQUMsRUFBRTtRQUM3Q25DLFlBQVksQ0FBQ1osaUJBQWlCLENBQUMrQyxVQUFVLENBQUNDLEdBQUcsQ0FBQztNQUNsRDtNQUVBM0IsMkJBQWlCLENBQUM0Qix5QkFBeUIsQ0FDdkNqRCxpQkFBaUIsQ0FBQ2tELFlBQVksRUFDOUJsRCxpQkFBaUIsQ0FBQ21ELGNBQ3RCLENBQUM7TUFFRDdDLGVBQWUsQ0FBQ04saUJBQWlCLENBQUNrRCxZQUFZLENBQUM7SUFDbkQ7RUFDSixDQUFDLEVBQUUsQ0FBQ2xELGlCQUFpQixDQUFDLENBQUM7RUFHdkIsTUFBTW9ELE1BQU0sR0FBR0EsQ0FBQSxLQUFNO0lBQ2pCcEMsY0FBYyxDQUFDcUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN4Q3JDLGNBQWMsQ0FBQ3FDLFVBQVUsQ0FBQyxjQUFjLENBQUM7SUFDekNyQyxjQUFjLENBQUNxQyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQ3BDckMsY0FBYyxDQUFDcUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztJQUN0Q3JDLGNBQWMsQ0FBQ3FDLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDckNyQyxjQUFjLENBQUNxQyxVQUFVLENBQUMsY0FBYyxDQUFDO0lBRXpDaEMsMkJBQWlCLENBQUNpQyxLQUFLLENBQUMsQ0FBQztJQUN6QmpDLDJCQUFpQixDQUFDSCxRQUFRLENBQUMsUUFBUSxDQUFDO0VBQ3hDLENBQUM7RUFFRCxvQkFDSXpELE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQTZFLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQWlDLGdCQUM1Qy9GLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQTZFLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQWEsR0FFcEIsQ0FBQ2pELE9BQU8sSUFBSSxDQUFDc0MsY0FBSyxDQUFDQyxNQUFNLENBQUM5QyxpQkFBaUIsQ0FBQyxJQUFJLENBQUNTLGNBQWMsZ0JBQzNEaEQsTUFBQSxDQUFBaUIsT0FBQSxDQUFBNkUsYUFBQSxDQUFBOUYsTUFBQSxDQUFBaUIsT0FBQSxDQUFBK0UsUUFBQSxxQkFDSWhHLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQTZFLGFBQUE7SUFDSUMsU0FBUztFQUE2QyxnQkFDdEQvRixNQUFBLENBQUFpQixPQUFBLENBQUE2RSxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFhLGdCQUN4Qi9GLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQTZFLGFBQUEsQ0FBQ2hGLE9BQUEsQ0FBQW1GLGFBQW9CO0lBQ2pCQyxLQUFLLEVBQUUsSUFBQUMscUJBQVcsRUFBQztNQUNmQyxPQUFPLEVBQUU7UUFDTEMsT0FBTyxFQUFFO1VBQ0xDLElBQUksRUFBRWpFLEtBQUssQ0FBQ2dCLFVBQVUsQ0FBQ29DO1FBQzNCLENBQUM7UUFDRGMsU0FBUyxFQUFFO1VBQ1BELElBQUksRUFBRWpFLEtBQUssQ0FBQ2dCLFVBQVUsQ0FBQ3FDO1FBQzNCO01BQ0o7SUFDSixDQUFDO0VBQUUsZ0JBRUgxRixNQUFBLENBQUFpQixPQUFBLENBQUE2RSxhQUFBLENBQUNqRixjQUFBLENBQUFJLE9BQWE7SUFDVmlGLEtBQUssRUFBRSxJQUFBQyxxQkFBVyxFQUFDO01BQ2ZDLE9BQU8sRUFBRTtRQUNMQyxPQUFPLEVBQUU7VUFDTEMsSUFBSSxFQUFFL0QsaUJBQWlCLENBQUNpRSxnQkFBZ0IsQ0FBQ0M7UUFDN0MsQ0FBQztRQUNERixTQUFTLEVBQUU7VUFDUEQsSUFBSSxFQUFFL0QsaUJBQWlCLENBQUNpRSxnQkFBZ0IsQ0FBQ0U7UUFDN0M7TUFDSixDQUFDO01BQ0RDLFVBQVUsRUFBRTtRQUNSQyxjQUFjLEVBQUU7VUFDWkMsY0FBYyxFQUFFO1lBQ1pDLElBQUksRUFBRTtjQUNGO2NBQ0FDLGNBQWMsRUFBRSxzQ0FBc0M7Y0FDdERDLGNBQWMsRUFBRTtZQUNwQixDQUFDO1lBQ0Q7WUFDQSxxQkFBcUIsRUFBRTtjQUNuQkMsS0FBSyxFQUFFLEtBQUs7Y0FDWkMsTUFBTSxFQUFFO1lBQ1osQ0FBQztZQUNELDJCQUEyQixFQUFFO2NBQ3pCQyxVQUFVLEVBQUU7WUFDaEIsQ0FBQztZQUNELDJCQUEyQixFQUFFO2NBQ3pCQyxlQUFlLEVBQUUsMEJBQTBCO2NBQzNDQyxZQUFZLEVBQUUsS0FBSztjQUNuQkMsVUFBVSxFQUFFO1lBQ2hCLENBQUM7WUFDRCxpQ0FBaUMsRUFBRTtjQUMvQkYsZUFBZSxFQUFFO1lBQ3JCO1VBQ0o7UUFDSjtNQUNKO0lBQ0osQ0FBQztFQUFFLGdCQUVIcEgsTUFBQSxDQUFBaUIsT0FBQSxDQUFBNkUsYUFBQSxDQUFDbEYsU0FBQSxDQUFBMkcsV0FBVyxNQUFFLENBQUMsZUFDZnZILE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQTZFLGFBQUEsQ0FBQ25GLHdCQUFBLENBQUFNLE9BQXVCO0lBQUN1RyxjQUFjLEVBQUVBLENBQUEsS0FBTTtNQUMzQzdCLE1BQU0sQ0FBQyxDQUFDO0lBQ1osQ0FBRTtJQUN1QjhCLFFBQVEsRUFBRWxGLGlCQUFrQjtJQUM1Qm1GLE1BQU0sRUFBRSxDQUFDdEMsY0FBSyxDQUFDQyxNQUFNLENBQUNuQyxTQUFTLENBQUMsR0FDMUJBLFNBQVMsR0FBRyxJQUFLO0lBQ3ZCeUUsSUFBSSxFQUFFcEYsaUJBQWlCLENBQUNvRixJQUFLO0lBQzdCQyxpQkFBaUIsRUFBRSxLQUFNO0lBQ3pCQyxXQUFXLEVBQUUsMEJBQTBCLElBQUs7SUFDNUNDLFNBQVMsRUFBRTtNQUFDYixLQUFLLEVBQUU7SUFBTztFQUFFLENBQ3BELENBQUMsZUFDRmpILE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQTZFLGFBQUEsQ0FBQzNGLGlCQUFBLENBQUFjLE9BQWdCO0lBQUM4RyxLQUFLLEVBQUVuRjtFQUFhLENBQUUsQ0FDN0IsQ0FDRyxDQUNyQixDQUNKLENBQ1AsQ0FBQyxHQUVISSxjQUFjLGdCQUNWaEQsTUFBQSxDQUFBaUIsT0FBQSxDQUFBNkUsYUFBQTtJQUFLa0MsS0FBSyxFQUFFO0VBQTZDLEdBQUMsK0JBRXJELENBQUMsR0FFTixJQUVYLENBQUMsZUFDTmhJLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQTZFLGFBQUEsQ0FBQzNGLGlCQUFBLENBQUFjLE9BQWdCO0lBQUM4RyxLQUFLLEVBQUVuRjtFQUFhLENBQUMsQ0FDdEMsQ0FBQztBQUVkLENBQUUsQ0FBQztBQUFDLElBQUFxRixRQUFBLEdBQUFDLE9BQUEsQ0FBQWpILE9BQUEsR0FFV2lCLHdCQUF3QiIsImlnbm9yZUxpc3QiOltdfQ==
181
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Mb2FkaW5nSW5kaWNhdG9yIiwiX0FwcGxpY2F0aW9uTWFuYWdlciIsIl9Ub2tlbk1hbmFnZXIiLCJfVXRpbHMiLCJfcmVhY3RSb3V0ZXJEb20iLCJfUmVzdFV0aWxzIiwiX1NpZGVNZW51TW9kdWxlRGFzaGJvYXJkIiwiX1NvY2tldE1hbmFnZXIiLCJfRm9sZGluZ1NpZGVUYWJEYXNoYm9hcmQiLCJfbWF0ZXJpYWwiLCJfVGhlbWVQcm92aWRlciIsIl9yZWFjdDIiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJsb2NhdGlvbiIsIndpbmRvdyIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJzdGF0dXMiLCJyZXNwb25zZSIsIm9rIiwiUHJvbWlzZSIsInJlc29sdmUiLCJlcnJvciIsIkVycm9yIiwic3RhdHVzVGV4dCIsImNvZGUiLCJyZWplY3QiLCJqc29uIiwidGV4dCIsIkludGVyYWN0aW9uUG9ydGFsQXBwSG9tZSIsIlJlYWN0IiwibWVtbyIsInByb3BzIiwicmVmIiwiZGFzaGJvYXJkU2V0dGluZ3MiLCJzZXREYXNoYm9hcmRTZXR0aW5ncyIsInVzZVN0YXRlIiwidG9rZW5SZWZyZXNoTW9uaXRvclN0YXJ0ZWQiLCJzZXRUb2tlblJlZnJlc2hNb25pdG9yU3RhcnRlZCIsImxvYWRpbmdDb2xvciIsInNldExvYWRpbmdDb2xvciIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiaGFzQ2xpZW50RXJyb3IiLCJzZXRIYXNDbGllbnRFcnJvciIsInVzZXJEZXRhaWxzUmVhZHkiLCJzZXRVc2VyRGV0YWlsc1JlYWR5IiwiYXZhdGFyVXJsIiwic2V0QXZhdGFyVXJsIiwiY29udGV4dFJvb3QiLCJpbXBsQ29uZmlnIiwiYXV0aFVybCIsInNlc3Npb25TdG9yYWdlIiwiZ2V0SXRlbSIsIm5hdmlnYXRlIiwidXNlTmF2aWdhdGUiLCJ1c2VFZmZlY3QiLCJhcHBsaWNhdGlvTWFuYWdlciIsInNldFNlcnZpY2VBcGlQYXRoIiwic2VydmljZUFwaVBhdGgiLCJzZXRVSUNvbmZpZ1BhdGgiLCJ1aUNvbmZpZ1BhdGgiLCJzZXRDb250ZXh0Um9vdCIsInNldEZpbGVzQXBpUGF0aCIsImZpbGVzQXBpUGF0aCIsImFwcGxpY2F0aW9uTWFuYWdlciIsInNldE5hdmlnYXRvciIsInBhdGgiLCJzZW5kUmVxdWVzdCIsImdldENvbnRleHRSb290IiwiY2lkIiwiY29uc29sZSIsImxvZyIsInNldFVzZXJEZXRhaWxzIiwiU29ja2V0cyIsImluaXQiLCJzZXRBY3RpdmVUZW5hbnQiLCJnZXRVbmlxdWVPcmdGb3JSb2xlIiwidG9rZW5NYW5hZ2VyIiwic3RhcnRUb2tlblJlZnJlc2hNb25pdG9yIiwidXNlck5hbWUiLCJVdGlscyIsImlzTnVsbCIsInVzZXJBdmF0YXIiLCJ1cmwiLCJzZXRBcHBsaWNhdGlvblRoZW1lQ29sb3JzIiwicHJpbWFyeUNvbG9yIiwic2Vjb25kYXJ5Q29sb3IiLCJsb2dvdXQiLCJyZW1vdmVJdGVtIiwiY2xlYXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiRnJhZ21lbnQiLCJUaGVtZVByb3ZpZGVyIiwidGhlbWUiLCJjcmVhdGVUaGVtZSIsInBhbGV0dGUiLCJwcmltYXJ5IiwibWFpbiIsInNlY29uZGFyeSIsInN5c3RlbVByb2ZpbGVEdG8iLCJmaXJzdENvcnBvcmF0ZUJyYW5kQ29sb3IiLCJzZWNvbmRDb3Jwb3JhdGVCcmFuZENvbG9yIiwiY29tcG9uZW50cyIsIk11aUNzc0Jhc2VsaW5lIiwic3R5bGVPdmVycmlkZXMiLCJib2R5Iiwic2Nyb2xsYmFyQ29sb3IiLCJzY3JvbGxiYXJXaWR0aCIsIndpZHRoIiwiaGVpZ2h0IiwiYmFja2dyb3VuZCIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclJhZGl1cyIsInRyYW5zaXRpb24iLCJDc3NCYXNlbGluZSIsImxvZ291dENhbGxCYWNrIiwic2V0dGluZ3MiLCJhdmF0YXIiLCJsb2dvIiwic2hvd0Rhc2hib2FyZE1lbnUiLCJhcHBMb2dvUGF0aCIsImxvZ29TdHlsZSIsImhvbWVCdXR0b25TZXR0aW5ncyIsImljb24iLCJpY29uU2l6ZSIsImNvbG9yIiwiY2FsbGJhY2siLCJjbG9zZUFsbFZpZXdzIiwic3R5bGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi9zcmMvbGliL0ludGVyYWN0aW9uUG9ydGFsQXBwSG9tZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgTG9hZGluZ0luZGljYXRvciBmcm9tICcuL2NvbXBvbmVudHMvTG9hZGluZ0luZGljYXRvcic7XG5pbXBvcnQgYXBwbGljYXRpb01hbmFnZXIgZnJvbSBcIi4vQXBwbGljYXRpb25NYW5hZ2VyXCI7XG5pbXBvcnQgYXBwbGljYXRpb25NYW5hZ2VyIGZyb20gXCIuL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IHRva2VuTWFuYWdlciBmcm9tIFwiLi9zZWN1cml0eS9Ub2tlbk1hbmFnZXJcIjtcbmltcG9ydCBVdGlscyBmcm9tIFwiLi9VdGlsc1wiO1xuaW1wb3J0IHt1c2VOYXZpZ2F0ZX0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7c2VuZFJlcXVlc3R9IGZyb20gXCIuL1Jlc3RVdGlsc1wiO1xuaW1wb3J0IFNpZGVNZW51TW9kdWxlRGFzaGJvYXJkIGZyb20gXCIuL2NvbXBvbmVudHMvZGFzaGJvYXJkL1NpZGVNZW51TW9kdWxlRGFzaGJvYXJkXCI7XG5pbXBvcnQgU29ja2V0cyBmcm9tIFwiLi9jb21wb25lbnRzL1NvY2tldE1hbmFnZXJcIjtcbmltcG9ydCBGb2xkaW5nU2lkZVRhYkRhc2hib2FyZCBmcm9tIFwiLi9jb21wb25lbnRzL2Rhc2hib2FyZC9Gb2xkaW5nU2lkZVRhYkRhc2hib2FyZFwiO1xuaW1wb3J0IHtjcmVhdGVUaGVtZSwgQ3NzQmFzZWxpbmV9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgVGhlbWVQcm92aWRlciBmcm9tIFwiQG11aS9zdHlsZXMvVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHtUaGVtZVByb3ZpZGVyIGFzIEVtb3Rpb25UaGVtZVByb3ZpZGVyfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmNvbnN0IGxvY2F0aW9uID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xuXG5jb25zdCBzdGF0dXMgPSAocmVzcG9uc2UpID0+IHtcbiAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXNwb25zZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGVycm9yID0gbmV3IEVycm9yKHJlc3BvbnNlLnN0YXR1c1RleHQpO1xuICAgICAgICBlcnJvci5jb2RlID0gcmVzcG9uc2Uuc3RhdHVzO1xuXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gICAgfVxufTtcblxuY29uc3QganNvbiA9IChyZXNwb25zZSkgPT4ge1xuICAgIHJldHVybiByZXNwb25zZS50ZXh0KCk7XG59O1xuXG5jb25zdCBJbnRlcmFjdGlvblBvcnRhbEFwcEhvbWUgPSBSZWFjdC5tZW1vKCgocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IFtkYXNoYm9hcmRTZXR0aW5ncywgc2V0RGFzaGJvYXJkU2V0dGluZ3NdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW3Rva2VuUmVmcmVzaE1vbml0b3JTdGFydGVkLCBzZXRUb2tlblJlZnJlc2hNb25pdG9yU3RhcnRlZF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbbG9hZGluZ0NvbG9yLCBzZXRMb2FkaW5nQ29sb3JdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gUmVhY3QudXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW2hhc0NsaWVudEVycm9yLCBzZXRIYXNDbGllbnRFcnJvcl0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgLy8gR2F0ZSByZW5kZXIgb24gdXNlciBkZXRhaWxzIHNvIGNvbnN1bWVycyAoZS5nLiBQb3J0YWxEYXNoYm9hcmQncyBncmVldGluZylcbiAgICAvLyBuZXZlciByZWFkIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRVc2VyRGV0YWlscygpIGJlZm9yZSBpdCBpcyBwb3B1bGF0ZWQuXG4gICAgY29uc3QgW3VzZXJEZXRhaWxzUmVhZHksIHNldFVzZXJEZXRhaWxzUmVhZHldID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFthdmF0YXJVcmwsIHNldEF2YXRhclVybF0gPSBSZWFjdC51c2VTdGF0ZShsb2NhdGlvbiArIHByb3BzLmNvbnRleHRSb290XG4gICAgICAgICsgcHJvcHMuaW1wbENvbmZpZy5hdXRoVXJsICsgXCIvdXNlci9hdmF0YXI/XCJcbiAgICAgICAgKyBcImFjY2Vzc190b2tlbj1cIiArIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJhY2Nlc3NUb2tlblwiKVxuICAgICAgICArIFwiJmlkVG9rZW49XCIgKyBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwiaWRUb2tlblwiKSk7XG5cbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0U2VydmljZUFwaVBhdGgocHJvcHMuaW1wbENvbmZpZy5zZXJ2aWNlQXBpUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldFVJQ29uZmlnUGF0aChwcm9wcy5pbXBsQ29uZmlnLnVpQ29uZmlnUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldENvbnRleHRSb290KHByb3BzLmNvbnRleHRSb290KTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0RmlsZXNBcGlQYXRoKHByb3BzLmltcGxDb25maWcuZmlsZXNBcGlQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnNldE5hdmlnYXRvcigocGF0aCkgPT4ge1xuICAgICAgICAgICAgbmF2aWdhdGUocGF0aCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNlbmRSZXF1ZXN0KGxvY2F0aW9uICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCkgKyAnL3N5c3RlbS9hcGkvdjEvc2V0dXAvJyArIHByb3BzLmltcGxDb25maWcuY2lkLCAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHNldERhc2hib2FyZFNldHRpbmdzKHJlc3BvbnNlKTtcbiAgICAgICAgfSwgKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBzZW5kUmVxdWVzdChsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpICsgJy9hdXRoL2FwaS92MS91c2VyL2ZpbmQnLCAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5zZXRVc2VyRGV0YWlscyhyZXNwb25zZSk7XG4gICAgICAgICAgICBTb2NrZXRzLmluaXQoKTtcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5zZXRBY3RpdmVUZW5hbnQoYXBwbGljYXRpb25NYW5hZ2VyLmdldFVuaXF1ZU9yZ0ZvclJvbGUoJ1ZFTkRPUicpKTtcbiAgICAgICAgICAgIHNldFVzZXJEZXRhaWxzUmVhZHkodHJ1ZSk7XG4gICAgICAgIH0sIChlKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgfSwgW10pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKGRhc2hib2FyZFNldHRpbmdzICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAoIXRva2VuUmVmcmVzaE1vbml0b3JTdGFydGVkKSB7XG4gICAgICAgICAgICAgICAgdG9rZW5NYW5hZ2VyLnN0YXJ0VG9rZW5SZWZyZXNoTW9uaXRvcihsb2NhdGlvbiArIHByb3BzLmNvbnRleHRSb290ICsgcHJvcHMuaW1wbENvbmZpZy5hdXRoVXJsICsgXCIvcmVmcmVzaFwiLFxuICAgICAgICAgICAgICAgICAgICBkYXNoYm9hcmRTZXR0aW5ncy51c2VyTmFtZSk7XG4gICAgICAgICAgICAgICAgc2V0VG9rZW5SZWZyZXNoTW9uaXRvclN0YXJ0ZWQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKGRhc2hib2FyZFNldHRpbmdzLnVzZXJBdmF0YXIpKSB7XG4gICAgICAgICAgICAgICAgc2V0QXZhdGFyVXJsKGRhc2hib2FyZFNldHRpbmdzLnVzZXJBdmF0YXIudXJsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0QXBwbGljYXRpb25UaGVtZUNvbG9ycyhcbiAgICAgICAgICAgICAgICBkYXNoYm9hcmRTZXR0aW5ncy5wcmltYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgZGFzaGJvYXJkU2V0dGluZ3Muc2Vjb25kYXJ5Q29sb3IsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBzZXRMb2FkaW5nQ29sb3IoZGFzaGJvYXJkU2V0dGluZ3MucHJpbWFyeUNvbG9yKTtcbiAgICAgICAgfVxuICAgIH0sIFtkYXNoYm9hcmRTZXR0aW5nc10pO1xuXG5cbiAgICBjb25zdCBsb2dvdXQgPSAoKSA9PiB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oXCJhY2Nlc3NUb2tlblwiKTtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShcInJlZnJlc2hUb2tlblwiKTtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShcImlkVG9rZW5cIik7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oXCJsYXN0TG9naW5cIik7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oXCJ1c2VybmFtZVwiKTtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShcInVzZXJBdmF0YXJJZFwiKTtcblxuICAgICAgICBhcHBsaWNhdGlvTWFuYWdlci5jbGVhcigpO1xuICAgICAgICBhcHBsaWNhdGlvTWFuYWdlci5uYXZpZ2F0ZSgnL2xvZ2luJyk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFpbiB3LTEwMCBoLTEwMCBkLWlubGluZS1ibG9ja1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEwMCBoLTEwMFwiPlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgIWxvYWRpbmcgJiYgIVV0aWxzLmlzTnVsbChkYXNoYm9hcmRTZXR0aW5ncykgJiYgdXNlckRldGFpbHNSZWFkeSAmJiAhaGFzQ2xpZW50RXJyb3IgP1xuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YG1haW4gdy0xMDAgaC0xMDAgZC1pbmxpbmUtYmxvY2sgY29qLXNraW5gfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEwMCBoLTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEVtb3Rpb25UaGVtZVByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWU9e2NyZWF0ZVRoZW1lKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcucHJpbWFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcuc2Vjb25kYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lPXtjcmVhdGVUaGVtZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWxldHRlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBkYXNoYm9hcmRTZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLmZpcnN0Q29ycG9yYXRlQnJhbmRDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBkYXNoYm9hcmRTZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLnNlY29uZENvcnBvcmF0ZUJyYW5kQ29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVpQ3NzQmFzZWxpbmU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVPdmVycmlkZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGaXJlZm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyQ29sb3I6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCkgdHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhcldpZHRoOiAndGhpbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2ViS2l0IGJyb3dzZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhcic6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhci10cmFjayc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC40KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnYmFja2dyb3VuZC1jb2xvciAwLjNzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcic6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNiknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDc3NCYXNlbGluZSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9sZGluZ1NpZGVUYWJEYXNoYm9hcmQgbG9nb3V0Q2FsbEJhY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ291dCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncz17ZGFzaGJvYXJkU2V0dGluZ3N9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmF0YXI9eyFVdGlscy5pc051bGwoYXZhdGFyVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gYXZhdGFyVXJsIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ289e2Rhc2hib2FyZFNldHRpbmdzLmxvZ299XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93RGFzaGJvYXJkTWVudT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBMb2dvUGF0aD17LypkYXNoYm9hcmRTZXR0aW5ncy5sb2dvKi9udWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nb1N0eWxlPXt7d2lkdGg6ICcxMjBweCd9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9tZUJ1dHRvblNldHRpbmdzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ0hPTUUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TaXplOiAnc21hbGwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdIb21lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTG9hZCB0aGUgUG9ydGFsRGFzaGJvYXJkIChyZW5kZXJlZCBieSB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmlldy86aWQgcm91dGUgYXMgdGhlIGRhc2hib2FyZCBjaHJvbWUpLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuY2xvc2VBbGxWaWV3cyh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLm5hdmlnYXRlKCcvdmlldy9kYXNoYm9hcmQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TG9hZGluZ0luZGljYXRvciBjb2xvcj17bG9hZGluZ0NvbG9yfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRW1vdGlvblRoZW1lUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNDbGllbnRFcnJvciA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17XCJtYXJnaW46IDEyOHB4OyBjb2xvcjogcmVkOyBmb250LXNpemU6IDI0cHhcIn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbSBlcnJvciAtIFVua25vd24gY2xpZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxMb2FkaW5nSW5kaWNhdG9yIGNvbG9yPXtsb2FkaW5nQ29sb3J9Lz5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn0pKTtcblxuZXhwb3J0IGRlZmF1bHQgSW50ZXJhY3Rpb25Qb3J0YWxBcHBIb21lO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsbUJBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFHLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLGVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLHdCQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFULHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUyx3QkFBQSxHQUFBVixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVUsU0FBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsY0FBQSxHQUFBWixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVksT0FBQSxHQUFBWixPQUFBO0FBQXFFLFNBQUFELHVCQUFBYyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRXJFLE1BQU1HLFFBQVEsR0FBR0MsTUFBTSxDQUFDRCxRQUFRLENBQUNFLFFBQVEsR0FBRyxJQUFJLEdBQUdELE1BQU0sQ0FBQ0QsUUFBUSxDQUFDRyxRQUFRO0FBRTNFLE1BQU1DLE1BQU0sR0FBSUMsUUFBUSxJQUFLO0VBQ3pC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LFNBQUEsQ0FBQTZHLFdBQVcsTUFBRSxDQUFDLGVBQ2Z6SCxNQUFBLENBQUFpQixPQUFBLENBQUErRSxhQUFBLENBQUNyRix3QkFBQSxDQUFBTSxPQUF1QjtJQUFDeUcsY0FBYyxFQUFFQSxDQUFBLEtBQU07TUFDM0M3QixNQUFNLENBQUMsQ0FBQztJQUNaLENBQUU7SUFDdUI4QixRQUFRLEVBQUVwRixpQkFBa0I7SUFDNUJxRixNQUFNLEVBQUUsQ0FBQ3RDLGNBQUssQ0FBQ0MsTUFBTSxDQUFDbkMsU0FBUyxDQUFDLEdBQzFCQSxTQUFTLEdBQUcsSUFBSztJQUN2QnlFLElBQUksRUFBRXRGLGlCQUFpQixDQUFDc0YsSUFBSztJQUM3QkMsaUJBQWlCLEVBQUUsS0FBTTtJQUN6QkMsV0FBVyxFQUFFLDBCQUEwQixJQUFLO0lBQzVDQyxTQUFTLEVBQUU7TUFBQ2IsS0FBSyxFQUFFO0lBQU8sQ0FBRTtJQUM1QmMsa0JBQWtCLEVBQUU7TUFDaEJDLElBQUksRUFBRSxNQUFNO01BQ1pDLFFBQVEsRUFBRSxPQUFPO01BQ2pCbEcsSUFBSSxFQUFFLE1BQU07TUFDWm1HLEtBQUssRUFBRSxXQUFXO01BQ2xCQyxRQUFRLEVBQUVBLENBQUEsS0FBTTtRQUNaO1FBQ0E7UUFDQS9ELDJCQUFrQixDQUFDZ0UsYUFBYSxDQUFDLElBQUksQ0FBQztRQUN0Q2hFLDJCQUFrQixDQUFDWCxRQUFRLENBQUMsaUJBQWlCLENBQUM7TUFDbEQ7SUFDSjtFQUFFLENBQzFCLENBQUMsZUFDRjNELE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQStFLGFBQUEsQ0FBQzdGLGlCQUFBLENBQUFjLE9BQWdCO0lBQUNtSCxLQUFLLEVBQUV4RjtFQUFhLENBQUUsQ0FDN0IsQ0FDRyxDQUNyQixDQUNKLENBQ1AsQ0FBQyxHQUVISSxjQUFjLGdCQUNWaEQsTUFBQSxDQUFBaUIsT0FBQSxDQUFBK0UsYUFBQTtJQUFLdUMsS0FBSyxFQUFFO0VBQTZDLEdBQUMsK0JBRXJELENBQUMsR0FFTixJQUVYLENBQUMsZUFDTnZJLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQStFLGFBQUEsQ0FBQzdGLGlCQUFBLENBQUFjLE9BQWdCO0lBQUNtSCxLQUFLLEVBQUV4RjtFQUFhLENBQUMsQ0FDdEMsQ0FBQztBQUVkLENBQUUsQ0FBQztBQUFDLElBQUE0RixRQUFBLEdBQUFDLE9BQUEsQ0FBQXhILE9BQUEsR0FFV2lCLHdCQUF3QiIsImlnbm9yZUxpc3QiOltdfQ==