@sd-angular/core 0.0.967 → 0.0.969

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.
@@ -22,13 +22,13 @@ export class SdEditorHandlerRowPipe {
22
22
  if (isDisabled) {
23
23
  return null;
24
24
  }
25
- item.editorHandlerRow = Object.assign(Object.assign({}, item.editorHandlerRow), { visible: !!status, editable: true, removable: false, savable: !!status, cancelable: !!status });
25
+ item.editorHandlerRow = Object.assign(Object.assign({}, item.editorHandlerRow), { visible: !!status, editable: !status, removable: false, savable: !!status, cancelable: !!status });
26
26
  }
27
27
  else if (editor.type === 'popup') {
28
28
  if (isDisabled) {
29
29
  return null;
30
30
  }
31
- item.editorHandlerRow = Object.assign(Object.assign({}, item.editorHandlerRow), { visible: false, editable: true, removable: false, savable: false, cancelable: false });
31
+ item.editorHandlerRow = Object.assign(Object.assign({}, item.editorHandlerRow), { visible: false, editable: !status, removable: false, savable: false, cancelable: false });
32
32
  }
33
33
  const { sdId } = item, remain = __rest(item, ["sdId"]);
34
34
  item.sdId = hash(remain);
@@ -40,4 +40,4 @@ SdEditorHandlerRowPipe.decorators = [
40
40
  name: 'sdEditorHandlerRow'
41
41
  },] }
42
42
  ];
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWhhbmRsZXItcm93LnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9lZGl0b3ItaGFuZGxlci1yb3cucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBTS9CLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsU0FBUyxDQUFDLE1BQTJCLEVBQUUsSUFBWSxFQUFFLFVBQWdDO1FBQ25GLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxPQUFPLENBQUMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFFBQVEsQ0FBQyxLQUFLLFVBQVUsRUFBRTtZQUM1QyxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0wsVUFBVSxHQUFHLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRLENBQUM7U0FDL0I7UUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzVCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDbkMsSUFBSSxDQUFDLGdCQUFnQixtQ0FDaEIsSUFBSSxDQUFDLGdCQUFnQixLQUN4QixPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQ3BCLFFBQVEsRUFBRSxLQUFLLEVBQ2YsU0FBUyxFQUFFLE1BQU0sS0FBSyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUNuRyxPQUFPLEVBQUUsS0FBSyxFQUNkLFVBQVUsRUFBRSxDQUFDLFVBQVUsSUFBSSxNQUFNLEtBQUssUUFBUSxHQUMvQyxDQUFBO1NBQ0Y7YUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ2xDLElBQUksVUFBVSxFQUFFO2dCQUNkLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLG1DQUNoQixJQUFJLENBQUMsZ0JBQWdCLEtBQ3hCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUNqQixRQUFRLEVBQUUsSUFBSSxFQUNkLFNBQVMsRUFBRSxLQUFLLEVBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUNqQixVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FDckIsQ0FBQTtTQUNGO2FBQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNsQyxJQUFJLFVBQVUsRUFBRTtnQkFDZCxPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixtQ0FDaEIsSUFBSSxDQUFDLGdCQUFnQixLQUN4QixPQUFPLEVBQUUsS0FBSyxFQUNkLFFBQVEsRUFBRSxJQUFJLEVBQ2QsU0FBUyxFQUFFLEtBQUssRUFDaEIsT0FBTyxFQUFFLEtBQUssRUFDZCxVQUFVLEVBQUUsS0FBSyxHQUNsQixDQUFBO1NBQ0Y7UUFDRCxNQUFNLEVBQUUsSUFBSSxLQUFnQixJQUFJLEVBQWYsTUFBTSxVQUFLLElBQUksRUFBMUIsUUFBbUIsQ0FBTyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7OztZQXJERixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLG9CQUFvQjthQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbE9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9ncmlkLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEVkaXRvckhhbmRsZXJSb3csIFNkSXRlbSB9IGZyb20gJy4uL21vZGVscy9ncmlkLm1vZGVsJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzZEVkaXRvckhhbmRsZXJSb3cnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZEVkaXRvckhhbmRsZXJSb3dQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKHN0YXR1czogJ2NyZWF0ZScgfCAndXBkYXRlJywgaXRlbTogU2RJdGVtLCBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbik6IEVkaXRvckhhbmRsZXJSb3cge1xyXG4gICAgY29uc3QgeyBlZGl0b3IgfSA9IGdyaWRPcHRpb247XHJcbiAgICBpZiAoIWVkaXRvcikge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGxldCBpc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICBpZiAodHlwZW9mIChlZGl0b3I/LmRpc2FibGVkKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBpc0Rpc2FibGVkID0gZWRpdG9yLmRpc2FibGVkKGl0ZW0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXNEaXNhYmxlZCA9IGVkaXRvcj8uZGlzYWJsZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAoZWRpdG9yLnR5cGUgPT09ICdpbmxpbmUnKSB7XHJcbiAgICAgIGNvbnN0IHJlbW92YWJsZSA9IGVkaXRvci5yZW1vdmFibGU7XHJcbiAgICAgIGl0ZW0uZWRpdG9ySGFuZGxlclJvdyA9IHtcclxuICAgICAgICAuLi5pdGVtLmVkaXRvckhhbmRsZXJSb3csXHJcbiAgICAgICAgdmlzaWJsZTogIWlzRGlzYWJsZWQsXHJcbiAgICAgICAgZWRpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgIHJlbW92YWJsZTogc3RhdHVzICE9PSAnY3JlYXRlJyAmJiAodHlwZW9mIChyZW1vdmFibGUpID09PSAnZnVuY3Rpb24nID8gcmVtb3ZhYmxlKGl0ZW0pIDogcmVtb3ZhYmxlKSxcclxuICAgICAgICBzYXZhYmxlOiBmYWxzZSxcclxuICAgICAgICBjYW5jZWxhYmxlOiAhaXNEaXNhYmxlZCAmJiBzdGF0dXMgPT09ICdjcmVhdGUnXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZWRpdG9yLnR5cGUgPT09ICdmb2N1cycpIHtcclxuICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBpdGVtLmVkaXRvckhhbmRsZXJSb3cgPSB7XHJcbiAgICAgICAgLi4uaXRlbS5lZGl0b3JIYW5kbGVyUm93LFxyXG4gICAgICAgIHZpc2libGU6ICEhc3RhdHVzLFxyXG4gICAgICAgIGVkaXRhYmxlOiB0cnVlLFxyXG4gICAgICAgIHJlbW92YWJsZTogZmFsc2UsXHJcbiAgICAgICAgc2F2YWJsZTogISFzdGF0dXMsXHJcbiAgICAgICAgY2FuY2VsYWJsZTogISFzdGF0dXNcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChlZGl0b3IudHlwZSA9PT0gJ3BvcHVwJykge1xyXG4gICAgICBpZiAoaXNEaXNhYmxlZCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGl0ZW0uZWRpdG9ySGFuZGxlclJvdyA9IHtcclxuICAgICAgICAuLi5pdGVtLmVkaXRvckhhbmRsZXJSb3csXHJcbiAgICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgZWRpdGFibGU6IHRydWUsXHJcbiAgICAgICAgcmVtb3ZhYmxlOiBmYWxzZSxcclxuICAgICAgICBzYXZhYmxlOiBmYWxzZSxcclxuICAgICAgICBjYW5jZWxhYmxlOiBmYWxzZVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IHNkSWQsIC4uLnJlbWFpbiB9ID0gaXRlbTtcclxuICAgIGl0ZW0uc2RJZCA9IGhhc2gocmVtYWluKTtcclxuICAgIHJldHVybiBpdGVtLmVkaXRvckhhbmRsZXJSb3c7XHJcbiAgfVxyXG59XHJcbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWhhbmRsZXItcm93LnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9lZGl0b3ItaGFuZGxlci1yb3cucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBTS9CLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsU0FBUyxDQUFDLE1BQTJCLEVBQUUsSUFBWSxFQUFFLFVBQWdDO1FBQ25GLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxPQUFPLENBQUMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFFBQVEsQ0FBQyxLQUFLLFVBQVUsRUFBRTtZQUM1QyxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0wsVUFBVSxHQUFHLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRLENBQUM7U0FDL0I7UUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzVCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDbkMsSUFBSSxDQUFDLGdCQUFnQixtQ0FDaEIsSUFBSSxDQUFDLGdCQUFnQixLQUN4QixPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQ3BCLFFBQVEsRUFBRSxLQUFLLEVBQ2YsU0FBUyxFQUFFLE1BQU0sS0FBSyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUNuRyxPQUFPLEVBQUUsS0FBSyxFQUNkLFVBQVUsRUFBRSxDQUFDLFVBQVUsSUFBSSxNQUFNLEtBQUssUUFBUSxHQUMvQyxDQUFBO1NBQ0Y7YUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ2xDLElBQUksVUFBVSxFQUFFO2dCQUNkLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLG1DQUNoQixJQUFJLENBQUMsZ0JBQWdCLEtBQ3hCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUNqQixRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQ2pCLFNBQVMsRUFBRSxLQUFLLEVBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUNqQixVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FDckIsQ0FBQTtTQUNGO2FBQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNsQyxJQUFJLFVBQVUsRUFBRTtnQkFDZCxPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixtQ0FDaEIsSUFBSSxDQUFDLGdCQUFnQixLQUN4QixPQUFPLEVBQUUsS0FBSyxFQUNkLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFDakIsU0FBUyxFQUFFLEtBQUssRUFDaEIsT0FBTyxFQUFFLEtBQUssRUFDZCxVQUFVLEVBQUUsS0FBSyxHQUNsQixDQUFBO1NBQ0Y7UUFDRCxNQUFNLEVBQUUsSUFBSSxLQUFnQixJQUFJLEVBQWYsTUFBTSxVQUFLLElBQUksRUFBMUIsUUFBbUIsQ0FBTyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7OztZQXJERixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLG9CQUFvQjthQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbE9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9ncmlkLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEVkaXRvckhhbmRsZXJSb3csIFNkSXRlbSB9IGZyb20gJy4uL21vZGVscy9ncmlkLm1vZGVsJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzZEVkaXRvckhhbmRsZXJSb3cnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZEVkaXRvckhhbmRsZXJSb3dQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKHN0YXR1czogJ2NyZWF0ZScgfCAndXBkYXRlJywgaXRlbTogU2RJdGVtLCBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbik6IEVkaXRvckhhbmRsZXJSb3cge1xyXG4gICAgY29uc3QgeyBlZGl0b3IgfSA9IGdyaWRPcHRpb247XHJcbiAgICBpZiAoIWVkaXRvcikge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGxldCBpc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICBpZiAodHlwZW9mIChlZGl0b3I/LmRpc2FibGVkKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBpc0Rpc2FibGVkID0gZWRpdG9yLmRpc2FibGVkKGl0ZW0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXNEaXNhYmxlZCA9IGVkaXRvcj8uZGlzYWJsZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAoZWRpdG9yLnR5cGUgPT09ICdpbmxpbmUnKSB7XHJcbiAgICAgIGNvbnN0IHJlbW92YWJsZSA9IGVkaXRvci5yZW1vdmFibGU7XHJcbiAgICAgIGl0ZW0uZWRpdG9ySGFuZGxlclJvdyA9IHtcclxuICAgICAgICAuLi5pdGVtLmVkaXRvckhhbmRsZXJSb3csXHJcbiAgICAgICAgdmlzaWJsZTogIWlzRGlzYWJsZWQsXHJcbiAgICAgICAgZWRpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgIHJlbW92YWJsZTogc3RhdHVzICE9PSAnY3JlYXRlJyAmJiAodHlwZW9mIChyZW1vdmFibGUpID09PSAnZnVuY3Rpb24nID8gcmVtb3ZhYmxlKGl0ZW0pIDogcmVtb3ZhYmxlKSxcclxuICAgICAgICBzYXZhYmxlOiBmYWxzZSxcclxuICAgICAgICBjYW5jZWxhYmxlOiAhaXNEaXNhYmxlZCAmJiBzdGF0dXMgPT09ICdjcmVhdGUnXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZWRpdG9yLnR5cGUgPT09ICdmb2N1cycpIHtcclxuICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBpdGVtLmVkaXRvckhhbmRsZXJSb3cgPSB7XHJcbiAgICAgICAgLi4uaXRlbS5lZGl0b3JIYW5kbGVyUm93LFxyXG4gICAgICAgIHZpc2libGU6ICEhc3RhdHVzLFxyXG4gICAgICAgIGVkaXRhYmxlOiAhc3RhdHVzLFxyXG4gICAgICAgIHJlbW92YWJsZTogZmFsc2UsXHJcbiAgICAgICAgc2F2YWJsZTogISFzdGF0dXMsXHJcbiAgICAgICAgY2FuY2VsYWJsZTogISFzdGF0dXNcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChlZGl0b3IudHlwZSA9PT0gJ3BvcHVwJykge1xyXG4gICAgICBpZiAoaXNEaXNhYmxlZCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGl0ZW0uZWRpdG9ySGFuZGxlclJvdyA9IHtcclxuICAgICAgICAuLi5pdGVtLmVkaXRvckhhbmRsZXJSb3csXHJcbiAgICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgZWRpdGFibGU6ICFzdGF0dXMsXHJcbiAgICAgICAgcmVtb3ZhYmxlOiBmYWxzZSxcclxuICAgICAgICBzYXZhYmxlOiBmYWxzZSxcclxuICAgICAgICBjYW5jZWxhYmxlOiBmYWxzZVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IHNkSWQsIC4uLnJlbWFpbiB9ID0gaXRlbTtcclxuICAgIGl0ZW0uc2RJZCA9IGhhc2gocmVtYWluKTtcclxuICAgIHJldHVybiBpdGVtLmVkaXRvckhhbmRsZXJSb3c7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -13,6 +13,14 @@ export class SdEditorValidatePipe {
13
13
  item.editorErrorMessage = null;
14
14
  return;
15
15
  }
16
+ if (editor.type === 'popup') {
17
+ item.editorErrorMessage = null;
18
+ return;
19
+ }
20
+ if (editor.type === 'focus' && !item.editorStatus) {
21
+ item.editorErrorMessage = null;
22
+ return;
23
+ }
16
24
  __classPrivateFieldSet(this, _previous, new Date());
17
25
  yield new Promise(resolve => setTimeout(resolve, __classPrivateFieldGet(this, _delay)));
18
26
  const now = new Date();
@@ -38,4 +46,4 @@ SdEditorValidatePipe.decorators = [
38
46
  name: 'sdEditorValidate'
39
47
  },] }
40
48
  ];
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXZhbGlkYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9lZGl0b3ItdmFsaWRhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBTXBELE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFJRSw0QkFBZ0I7UUFDaEIsaUJBQVMsSUFBSSxFQUFDLENBQUMsMEZBQTBGO0lBdUIzRyxDQUFDO0lBdEJPLFNBQVMsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLFVBQWdDOztZQUMxRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUNwQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO2dCQUMvQixPQUFPO2FBQ1I7WUFDRCx1QkFBQSxJQUFJLGFBQWEsSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM1QixNQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sdUNBQWMsQ0FBQyxDQUFDO1lBQy9ELE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLHdDQUFlLE9BQU8sRUFBRSxDQUFDO1lBQ3JELElBQUksR0FBRyx1Q0FBYyxFQUFFO2dCQUNyQixPQUFPO2FBQ1I7WUFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLElBQUksTUFBTSxZQUFZLE9BQU8sRUFBRTtnQkFDN0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sTUFBTSxDQUFDO2dCQUN2QyxPQUFPO2FBQ1I7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztnQkFDakMsT0FBTzthQUNSO1FBQ0gsQ0FBQztLQUFBOzs7O1lBM0JGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsa0JBQWtCO2FBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbE9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9ncmlkLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkSXRlbSB9IGZyb20gJy4uL21vZGVscy9ncmlkLm1vZGVsJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzZEVkaXRvclZhbGlkYXRlJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RFZGl0b3JWYWxpZGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAjcHJldmlvdXM6IERhdGU7XHJcbiAgI2RlbGF5ID0gMTAwMDsgLy8gU2F1IGtob+G6o25nIHRo4budaSBnaWFuIGRlbGF5IG7hur91IGtow7RuZyBjw7MgdGhheSDEkeG7lWkgdGjDrCB0aMOsIG3hu5tpIGLhuq90IMSR4bqndSB0aOG7sWMgaGnhu4duIHZhbGlkYXRlXHJcbiAgYXN5bmMgdHJhbnNmb3JtKHNkSWQ6IHN0cmluZywgaXRlbTogU2RJdGVtLCBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCB7IGVkaXRvciB9ID0gZ3JpZE9wdGlvbjtcclxuICAgIGlmICghZWRpdG9yLnZhbGlkYXRlKSB7XHJcbiAgICAgIGl0ZW0uZWRpdG9yRXJyb3JNZXNzYWdlID0gbnVsbDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy4jcHJldmlvdXMgPSBuZXcgRGF0ZSgpO1xyXG4gICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHRoaXMuI2RlbGF5KSk7XHJcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgZGlmID0gbm93LmdldFRpbWUoKSAtIHRoaXMuI3ByZXZpb3VzLmdldFRpbWUoKTtcclxuICAgIGlmIChkaWYgPCB0aGlzLiNkZWxheSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCByZXN1bHQgPSBlZGl0b3IudmFsaWRhdGUoaXRlbSk7XHJcbiAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xyXG4gICAgICBpdGVtLmVkaXRvckVycm9yTWVzc2FnZSA9IGF3YWl0IHJlc3VsdDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXRlbS5lZGl0b3JFcnJvck1lc3NhZ2UgPSByZXN1bHQ7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXZhbGlkYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9lZGl0b3ItdmFsaWRhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBTXBELE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFJRSw0QkFBZ0I7UUFDaEIsaUJBQVMsSUFBSSxFQUFDLENBQUMsMEZBQTBGO0lBK0IzRyxDQUFDO0lBOUJPLFNBQVMsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLFVBQWdDOztZQUMxRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUNwQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO2dCQUMvQixPQUFPO2FBQ1I7WUFDRCxJQUFHLE1BQU0sQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUMxQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO2dCQUMvQixPQUFPO2FBQ1I7WUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztnQkFDL0IsT0FBTzthQUNSO1lBQ0QsdUJBQUEsSUFBSSxhQUFhLElBQUksSUFBSSxFQUFFLEVBQUM7WUFDNUIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLHVDQUFjLENBQUMsQ0FBQztZQUMvRCxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyx3Q0FBZSxPQUFPLEVBQUUsQ0FBQztZQUNyRCxJQUFJLEdBQUcsdUNBQWMsRUFBRTtnQkFDckIsT0FBTzthQUNSO1lBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxJQUFJLE1BQU0sWUFBWSxPQUFPLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLE1BQU0sQ0FBQztnQkFDdkMsT0FBTzthQUNSO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUM7Z0JBQ2pDLE9BQU87YUFDUjtRQUNILENBQUM7S0FBQTs7OztZQW5DRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGtCQUFrQjthQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC5tb2RlbCc7XHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc2RFZGl0b3JWYWxpZGF0ZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRWRpdG9yVmFsaWRhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgI3ByZXZpb3VzOiBEYXRlO1xyXG4gICNkZWxheSA9IDEwMDA7IC8vIFNhdSBraG/huqNuZyB0aOG7nWkgZ2lhbiBkZWxheSBu4bq/dSBraMO0bmcgY8OzIHRoYXkgxJHhu5VpIHRow6wgdGjDrCBt4bubaSBi4bqvdCDEkeG6p3UgdGjhu7FjIGhp4buHbiB2YWxpZGF0ZVxyXG4gIGFzeW5jIHRyYW5zZm9ybShzZElkOiBzdHJpbmcsIGl0ZW06IFNkSXRlbSwgZ3JpZE9wdGlvbjogU2RHcmlkTWF0ZXJpYWxPcHRpb24pOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgeyBlZGl0b3IgfSA9IGdyaWRPcHRpb247XHJcbiAgICBpZiAoIWVkaXRvci52YWxpZGF0ZSkge1xyXG4gICAgICBpdGVtLmVkaXRvckVycm9yTWVzc2FnZSA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmKGVkaXRvci50eXBlID09PSAncG9wdXAnKSB7XHJcbiAgICAgIGl0ZW0uZWRpdG9yRXJyb3JNZXNzYWdlID0gbnVsbDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGVkaXRvci50eXBlID09PSAnZm9jdXMnICYmICFpdGVtLmVkaXRvclN0YXR1cykge1xyXG4gICAgICBpdGVtLmVkaXRvckVycm9yTWVzc2FnZSA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuI3ByZXZpb3VzID0gbmV3IERhdGUoKTtcclxuICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCB0aGlzLiNkZWxheSkpO1xyXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnN0IGRpZiA9IG5vdy5nZXRUaW1lKCkgLSB0aGlzLiNwcmV2aW91cy5nZXRUaW1lKCk7XHJcbiAgICBpZiAoZGlmIDwgdGhpcy4jZGVsYXkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVzdWx0ID0gZWRpdG9yLnZhbGlkYXRlKGl0ZW0pO1xyXG4gICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgaXRlbS5lZGl0b3JFcnJvck1lc3NhZ2UgPSBhd2FpdCByZXN1bHQ7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGl0ZW0uZWRpdG9yRXJyb3JNZXNzYWdlID0gcmVzdWx0O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -252,7 +252,8 @@ export class SdGridConfigurationService {
252
252
  multipleHeader: false
253
253
  };
254
254
  const { selection, commands, editor } = gridOption || {};
255
- if ((editor === null || editor === void 0 ? void 0 : editor.addable) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'inline' && (editor === null || editor === void 0 ? void 0 : editor.removable)) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'focus' && (editor === null || editor === void 0 ? void 0 : editor.disabled))) {
255
+ if ((editor === null || editor === void 0 ? void 0 : editor.addable) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'inline' && (editor === null || editor === void 0 ? void 0 : editor.removable))
256
+ || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'focus' && (typeof (editor === null || editor === void 0 ? void 0 : editor.disabled) === 'function' || !(editor === null || editor === void 0 ? void 0 : editor.disabled)))) {
256
257
  result.firstHeaders.push(__classPrivateFieldGet(this, _COLUMNS).EDITORVALIDATION);
257
258
  result.displayedColumns.push(__classPrivateFieldGet(this, _COLUMNS).EDITORVALIDATION);
258
259
  }
@@ -260,7 +261,9 @@ export class SdGridConfigurationService {
260
261
  result.firstHeaders.push(__classPrivateFieldGet(this, _COLUMNS).SELECTION);
261
262
  result.displayedColumns.push(__classPrivateFieldGet(this, _COLUMNS).SELECTION);
262
263
  }
263
- if ((editor === null || editor === void 0 ? void 0 : editor.addable) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'inline' && (editor === null || editor === void 0 ? void 0 : editor.removable)) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'focus' && (editor === null || editor === void 0 ? void 0 : editor.disabled)) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'popup' && (editor === null || editor === void 0 ? void 0 : editor.disabled))) {
264
+ if ((editor === null || editor === void 0 ? void 0 : editor.addable) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'inline' && (editor === null || editor === void 0 ? void 0 : editor.removable))
265
+ || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'focus' && (typeof (editor === null || editor === void 0 ? void 0 : editor.disabled) === 'function' || !(editor === null || editor === void 0 ? void 0 : editor.disabled)))
266
+ || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'popup' && (typeof (editor === null || editor === void 0 ? void 0 : editor.disabled) === 'function' || !(editor === null || editor === void 0 ? void 0 : editor.disabled)))) {
264
267
  result.firstHeaders.push(__classPrivateFieldGet(this, _COLUMNS).EDITOR);
265
268
  result.displayedColumns.push(__classPrivateFieldGet(this, _COLUMNS).EDITOR);
266
269
  }
@@ -347,4 +350,4 @@ SdGridConfigurationService.ctorParameters = () => [
347
350
  { type: SdSettingService },
348
351
  { type: undefined, decorators: [{ type: Inject, args: [GRID_MATERIAL_CONFIG,] }, { type: Optional }] }
349
352
  ];
350
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9zZXJ2aWNlcy9ncmlkLWNvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsb0JBQW9CLEVBQWdDLE1BQU0sb0NBQW9DLENBQUM7QUFHeEcsTUFBTSxPQUFPLDBCQUEwQjtJQVdyQyxZQUNVLGNBQWdDLEVBQ1MseUJBQXVEO1FBRGhHLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNTLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBOEI7UUFaMUcsbUJBQVc7WUFDVCxnQkFBZ0IsRUFBRSxvQkFBb0I7WUFDdEMsTUFBTSxFQUFFLFVBQVU7WUFDbEIsY0FBYyxFQUFFLHdCQUF3QjtZQUN4QyxPQUFPLEVBQUUsV0FBVztZQUNwQixTQUFTLEVBQUUsYUFBYTtTQUN6QixFQUFDO1FBQ0YsaUJBRUksRUFBRSxFQUFDO1FBTVAsU0FBSSxHQUFHLENBQUMsR0FBVyxFQUFFLFVBQWdDLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMscUNBQVksR0FBRyxDQUFDLEVBQUU7Z0JBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO2dCQUNuRCxxQ0FBWSxHQUFHLENBQUMsR0FBRztvQkFDakIsSUFBSSxFQUFFLHlDQUFB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Y0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUN4RCxxQ0FBcUM7WUFDckMsTUFBTSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssdUNBQWMsY0FBYyxDQUFDLENBQUM7WUFDdEcsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFBO0lBblNELENBQUM7Ozs7WUFmRixVQUFVOzs7WUFSRixnQkFBZ0I7NENBc0JwQixNQUFNLFNBQUMsb0JBQW9CLGNBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBTZFNldHRpbmdTZXJ2aWNlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9zZXR0aW5nJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZENvbHVtbkNvbmZpZ3VyYXRpb24sIFNkR3JpZENvbmZpZ3VyYXRpb24sIFNkR3JpZENvbmZpZ3VyYXRpb25DYWNoZSwgU2RHcmlkQ29uZmlndXJhdGlvblJlc3VsdCB9IGZyb20gJy4uL21vZGVscy9ncmlkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtc3ViLWluZm9ybWF0aW9uLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtY29sdW1uLm1vZGVsJztcclxuaW1wb3J0IHsgR1JJRF9NQVRFUklBTF9DT05GSUcsIElTZEdyaWRNYXRlcmlhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1jb25maWd1cmF0aW9uLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNkR3JpZENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcclxuICAjQ09MVU1OUyA9IHtcclxuICAgIEVESVRPUlZBTElEQVRJT046ICdzZEVkaXRvclZhbGlkYXRpb24nLFxyXG4gICAgRURJVE9SOiAnc2RFZGl0b3InLFxyXG4gICAgU1VCSU5GT1JNQVRJT046ICdzZFN1YkluZm9ybWF0aW9uQWN0aW9uJyxcclxuICAgIENPTU1BTkQ6ICdzZENvbW1hbmQnLFxyXG4gICAgU0VMRUNUSU9OOiAnc2RTZWxlY3Rpb24nXHJcbiAgfTtcclxuICAjY2FjaGU6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IFNkR3JpZENvbmZpZ3VyYXRpb25DYWNoZVxyXG4gIH0gPSB7fTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2V0dGluZ1NlcnZpY2U6IFNkU2V0dGluZ1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KEdSSURfTUFURVJJQUxfQ09ORklHKSBAT3B0aW9uYWwoKSBwdWJsaWMgZ3JpZE1hdGVyaWFsQ29uZmlndXJhdGlvbjogSVNkR3JpZE1hdGVyaWFsQ29uZmlndXJhdGlvbikge1xyXG4gIH1cclxuXHJcbiAgaW5pdCA9IChrZXk6IHN0cmluZywgZ3JpZE9wdGlvbjogU2RHcmlkTWF0ZXJpYWxPcHRpb24pID0+IHtcclxuICAgIGlmICghdGhpcy4jY2FjaGVba2V5XSkge1xyXG4gICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8U2RHcmlkQ29uZmlndXJhdGlvbj4oKTtcclxuICAgICAgdGhpcy4jY2FjaGVba2V5XSA9IHtcclxuICAgICAgICBsb2FkOiB0aGlzLiNsb2FkKGdyaWRPcHRpb24sIHN1YmplY3QpLFxyXG4gICAgICAgIGdldDogdGhpcy4jZ2V0KGdyaWRPcHRpb24pLFxyXG4gICAgICAgIHNldDogKGNvbmZpZ3VyYXRpb246IFNkR3JpZENvbmZpZ3VyYXRpb24pID0+IHtcclxuICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSB0aGlzLiNzZXQoZ3JpZE9wdGlvbiwgY29uZmlndXJhdGlvbik7XHJcbiAgICAgICAgICBzdWJqZWN0Lm5leHQoeyAuLi5jb25maWd1cmF0aW9uIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247XHJcbiAgICAgICAgfSxcclxuICAgICAgICByZW1vdmU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuI3JlbW92ZShncmlkT3B0aW9uKSgpO1xyXG4gICAgICAgICAgc3ViamVjdC5uZXh0KHRoaXMuI2RlZmF1bHQoZ3JpZE9wdGlvbikpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb2JzZXJ2ZXI6IHN1YmplY3RcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLiNjYWNoZVtrZXldO1xyXG4gIH1cclxuXHJcbiAgI2dldEtleSA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbikgPT4ge1xyXG4gICAgY29uc3QgcHJlZml4ID0gJ2M5ZTk0ODM2LTZhY2UtNGFlYi1iMTQ4LTRmMGJlNjM1ODllZSc7XHJcbiAgICBpZiAoIWdyaWRPcHRpb24/LmNvbmZpZz8ua2V5ICYmICFncmlkT3B0aW9uPy5rZXkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaGFzaCh7XHJcbiAgICAgIHByZWZpeCxcclxuICAgICAga2V5OiBncmlkT3B0aW9uPy5jb25maWc/LmtleSB8fCAhZ3JpZE9wdGlvbj8ua2V5XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gICNkZWZhdWx0ID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uKTogU2RHcmlkQ29uZmlndXJhdGlvbiA9PiB7XHJcbiAgICBjb25zdCBjb2x1bW5zOiBTZENvbHVtbkNvbmZpZ3VyYXRpb25bXSA9IGdyaWRPcHRpb24/LmNvbHVtbnM/LmZpbHRlcihlID0+ICFlLmhpZGRlbikubWFwKGUgPT4gKHtcclxuICAgICAgb3JpZ2luOiB7XHJcbiAgICAgICAgZmllbGQ6IGUuZmllbGQsXHJcbiAgICAgICAgdGl0bGU6IGUudGl0bGUsXHJcbiAgICAgICAgd2lkdGg6IGUud2lkdGgsXHJcbiAgICAgICAgaW52aXNpYmxlOiBlLmludmlzaWJsZVxyXG4gICAgICB9LFxyXG4gICAgICBpbnZpc2libGU6IGUuaW52aXNpYmxlLFxyXG4gICAgICBmaXhlZDogZmFsc2VcclxuICAgIH0pKSB8fCBbXTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNvbHVtbnNcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjbG9hZCA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbiwgc3ViamVjdDogU3ViamVjdDxTZEdyaWRDb25maWd1cmF0aW9uPikgPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3QgZ2V0ID0gdGhpcy4jZ2V0KGdyaWRPcHRpb24pO1xyXG4gICAgICBjb25zdCBjb25maWd1cmF0aW9uID0gYXdhaXQgZ2V0KCk7XHJcbiAgICAgIHN1YmplY3QubmV4dCh7IC4uLmNvbmZpZ3VyYXRpb24gfSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgI2dldCA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbikgPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3Qga2V5ID0gdGhpcy4jZ2V0S2V5KGdyaWRPcHRpb24pO1xyXG4gICAgICBpZiAoIWtleSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNkZWZhdWx0KGdyaWRPcHRpb24pO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHsgY29sdW1ucywgY29uZmlnIH0gPSBncmlkT3B0aW9uO1xyXG4gICAgICBjb25zdCB7IGdldCwgcmVtb3ZlIH0gPSB0aGlzLnNldHRpbmdTZXJ2aWNlLmNyZWF0ZTxTZEdyaWRDb25maWd1cmF0aW9uPihrZXksIHtcclxuICAgICAgICB0eXBlOiBjb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgYXJnczogY29uZmlnPy5hcmdzXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uID0gYXdhaXQgZ2V0KCkuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKTtcclxuICAgICAgaWYgKCFjb25maWd1cmF0aW9uPy5jb2x1bW5zKSB7XHJcbiAgICAgICAgcmVtb3ZlKCkuY2F0Y2goY29uc29sZS5lcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI2RlZmF1bHQoZ3JpZE9wdGlvbik7XHJcbiAgICAgIH1cclxuICAgICAgY29uZmlndXJhdGlvbi5jb2x1bW5zID0gY29uZmlndXJhdGlvbi5jb2x1bW5zXHJcbiAgICAgICAgLmZpbHRlcihjb2x1bW4gPT4gY29sdW1uLmlzR2VuZXJhdGVkQ29sdW1uIHx8IGNvbHVtbnMuc29tZShlID0+ICFlLmhpZGRlbiAmJiBlLmZpZWxkID09PSBjb2x1bW4ub3JpZ2luLmZpZWxkKSk7XHJcbiAgICAgIC8vIFRow6ptIG5o4buvbmcgY29sdW1uIG3hu5tpIHbDoG8gc3RvcmFnZSBu4bq/dSBjw7NcclxuICAgICAgY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XHJcbiAgICAgICAgY29uc3QgY29sID0gY29uZmlndXJhdGlvbi5jb2x1bW5zLmZpbmQoZSA9PiBlLm9yaWdpbj8uZmllbGQgPT09IGNvbHVtbi5maWVsZCk7XHJcbiAgICAgICAgaWYgKCFjb2wpIHtcclxuICAgICAgICAgIGNvbmZpZ3VyYXRpb24uY29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgICAgb3JpZ2luOiB7XHJcbiAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5maWVsZCxcclxuICAgICAgICAgICAgICB0aXRsZTogY29sdW1uLnRpdGxlLFxyXG4gICAgICAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgICAgICAgICAgICAgaW52aXNpYmxlOiBjb2x1bW4uaW52aXNpYmxlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbnZpc2libGU6IGNvbHVtbi5pbnZpc2libGUsXHJcbiAgICAgICAgICAgIGZpeGVkOiBmYWxzZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbC5vcmlnaW4gPSB7XHJcbiAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uZmllbGQsXHJcbiAgICAgICAgICAgIHRpdGxlOiBjb2x1bW4udGl0bGUsXHJcbiAgICAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgICAgICAgICAgIGludmlzaWJsZTogY29sdW1uLmludmlzaWJsZVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gY29uZmlndXJhdGlvbjtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjc2V0ID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uLCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uKSA9PiB7XHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLiNnZXRLZXkoZ3JpZE9wdGlvbik7XHJcbiAgICBpZiAoa2V5KSB7XHJcbiAgICAgIGNvbnN0IHsgc2V0IH0gPSB0aGlzLnNldHRpbmdTZXJ2aWNlLmNyZWF0ZTxTZEdyaWRDb25maWd1cmF0aW9uPihrZXksIHtcclxuICAgICAgICB0eXBlOiBncmlkT3B0aW9uPy5jb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgYXJnczogZ3JpZE9wdGlvbj8uY29uZmlnPy5hcmdzXHJcbiAgICAgIH0pO1xyXG4gICAgICBzZXQoY29uZmlndXJhdGlvbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjb25maWd1cmF0aW9uKSk7XHJcbiAgfVxyXG5cclxuICAjcmVtb3ZlID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uKSA9PiB7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICBjb25zdCBrZXkgPSB0aGlzLiNnZXRLZXkoZ3JpZE9wdGlvbik7XHJcbiAgICAgIGlmIChrZXkpIHtcclxuICAgICAgICBjb25zdCB7IHJlbW92ZSB9ID0gdGhpcy5zZXR0aW5nU2VydmljZS5jcmVhdGU8U2RHcmlkQ29uZmlndXJhdGlvbj4oa2V5LCB7XHJcbiAgICAgICAgICB0eXBlOiBncmlkT3B0aW9uPy5jb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgICBhcmdzOiBncmlkT3B0aW9uPy5jb25maWc/LmFyZ3NcclxuICAgICAgICB9KTtcclxuICAgICAgICByZW1vdmUoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8vIGdldCA9IGFzeW5jIChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbik6IFByb21pc2U8U2RHcmlkQ29uZmlndXJhdGlvbj4gPT4ge1xyXG4gIC8vICAgaWYgKCFncmlkT3B0aW9uPy5rZXkpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuI2dldERlZmF1bHRDb25maWd1cmF0aW9uKGdyaWRPcHRpb24pO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgY29uc3QgeyBrZXksIGNvbHVtbnMgfSA9IGdyaWRPcHRpb247XHJcbiAgLy8gICBjb25zdCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uID0gYXdhaXQgdGhpcy5zZXR0aW5nU2VydmljZS5nZXQodGhpcy4jZ2V0S2V5KGtleSkpLmNhdGNoKCgpID0+IHVuZGVmaW5lZCk7XHJcbiAgLy8gICBpZiAoIWNvbmZpZ3VyYXRpb24/LmNvbHVtbnMpIHtcclxuICAvLyAgICAgdGhpcy5zZXR0aW5nU2VydmljZS5yZW1vdmUodGhpcy4jZ2V0S2V5KGtleSkpLmNhdGNoKGNvbnNvbGUuZXJyb3IpO1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy4jZ2V0RGVmYXVsdENvbmZpZ3VyYXRpb24oZ3JpZE9wdGlvbik7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBjb25maWd1cmF0aW9uLmNvbHVtbnMgPSBjb25maWd1cmF0aW9uLmNvbHVtbnNcclxuICAvLyAgICAgLmZpbHRlcihjb2x1bW4gPT4gY29sdW1ucy5zb21lKGUgPT4gIWUuaGlkZGVuICYmIGUuZmllbGQgPT09IGNvbHVtbi5vcmlnaW4uZmllbGQpKTtcclxuICAvLyAgIC8vIFRow6ptIG5o4buvbmcgY29sdW1uIG3hu5tpIHbDoG8gc3RvcmFnZSBu4bq/dSBjw7NcclxuICAvLyAgIGNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4ge1xyXG4gIC8vICAgICBjb25zdCBjb2wgPSBjb25maWd1cmF0aW9uLmNvbHVtbnMuZmluZChlID0+IGUub3JpZ2luPy5maWVsZCA9PT0gY29sdW1uLmZpZWxkKTtcclxuICAvLyAgICAgaWYgKCFjb2wpIHtcclxuICAvLyAgICAgICBjb25maWd1cmF0aW9uLmNvbHVtbnMucHVzaCh7XHJcbiAgLy8gICAgICAgICBvcmlnaW46IHtcclxuICAvLyAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5maWVsZCxcclxuICAvLyAgICAgICAgICAgdGl0bGU6IGNvbHVtbi50aXRsZSxcclxuICAvLyAgICAgICAgICAgd2lkdGg6IGNvbHVtbi53aWR0aCxcclxuICAvLyAgICAgICAgICAgaW52aXNpYmxlOiBjb2x1bW4uaW52aXNpYmxlLFxyXG4gIC8vICAgICAgICAgfSxcclxuICAvLyAgICAgICAgIGludmlzaWJsZTogY29sdW1uLmludmlzaWJsZSxcclxuICAvLyAgICAgICAgIGZpeGVkOiBmYWxzZVxyXG4gIC8vICAgICAgIH0pO1xyXG4gIC8vICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgIGNvbC5vcmlnaW4gPSB7XHJcbiAgLy8gICAgICAgICBmaWVsZDogY29sdW1uLmZpZWxkLFxyXG4gIC8vICAgICAgICAgdGl0bGU6IGNvbHVtbi50aXRsZSxcclxuICAvLyAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgLy8gICAgICAgICBpbnZpc2libGU6IGNvbHVtbi5pbnZpc2libGVcclxuICAvLyAgICAgICB9O1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9KTtcclxuICAvLyAgIHJldHVybiBjb25maWd1cmF0aW9uO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gc2V0ID0gYXN5bmMgKGtleTogc3RyaW5nLCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uKTogUHJvbWlzZTxTZEdyaWRDb25maWd1cmF0aW9uPiA9PiB7XHJcbiAgLy8gICBpZiAoa2V5KSB7XHJcbiAgLy8gICAgIHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2V0KHRoaXMuI2dldEtleShrZXkpLCBjb25maWd1cmF0aW9uKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBjb25maWd1cmF0aW9uO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcmVtb3ZlID0gKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgLy8gICBpZiAoa2V5KSB7XHJcbiAgLy8gICAgIHRoaXMuc2V0dGluZ1NlcnZpY2UucmVtb3ZlKHRoaXMuI2dldEtleShrZXkpKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIGdlbmVyYXRlQ29uZmlndXJhdGlvblJlc3VsdCA9IChcclxuICAgIGNvbmZpZ3VyYXRpb246IFNkR3JpZENvbmZpZ3VyYXRpb24sXHJcbiAgICBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbixcclxuICAgIHNkU3ViSW5mb3JtYXRpb246IFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZSkgPT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBTZEdyaWRDb25maWd1cmF0aW9uUmVzdWx0ID0ge1xyXG4gICAgICBjb2x1bW46IHt9LFxyXG4gICAgICBmaXhlZENvbHVtbjoge30sXHJcbiAgICAgIGZpcnN0Q29sdW1uczogW10sXHJcbiAgICAgIHNlY29uZENvbHVtbnM6IFtdLFxyXG4gICAgICBmaXJzdEhlYWRlcnM6IFtdLFxyXG4gICAgICBzZWNvbmRIZWFkZXJzOiBbXSxcclxuICAgICAgZGlzcGxheWVkQ29sdW1uczogW10sXHJcbiAgICAgIGRpc3BsYXllZEZvb3RlcnM6IFtdLFxyXG4gICAgICBtdWx0aXBsZUhlYWRlcjogZmFsc2VcclxuICAgIH07XHJcbiAgICBjb25zdCB7IHNlbGVjdGlvbiwgY29tbWFuZHMsIGVkaXRvciB9ID0gZ3JpZE9wdGlvbiB8fCB7fTtcclxuICAgIGlmIChlZGl0b3I/LmFkZGFibGUgfHwgKGVkaXRvcj8udHlwZSA9PT0gJ2lubGluZScgJiYgZWRpdG9yPy5yZW1vdmFibGUpIHx8IChlZGl0b3I/LnR5cGUgPT09ICdmb2N1cycgJiYgZWRpdG9yPy5kaXNhYmxlZCkpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuRURJVE9SVkFMSURBVElPTik7XHJcbiAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2godGhpcy4jQ09MVU1OUy5FRElUT1JWQUxJREFUSU9OKTtcclxuICAgIH1cclxuICAgIGlmIChzZWxlY3Rpb24/LnZpc2libGUpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuU0VMRUNUSU9OKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLlNFTEVDVElPTik7XHJcbiAgICB9XHJcbiAgICBpZiAoZWRpdG9yPy5hZGRhYmxlIHx8IChlZGl0b3I/LnR5cGUgPT09ICdpbmxpbmUnICYmIGVkaXRvcj8ucmVtb3ZhYmxlKSB8fCAoZWRpdG9yPy50eXBlID09PSAnZm9jdXMnICYmIGVkaXRvcj8uZGlzYWJsZWQpIHx8IChlZGl0b3I/LnR5cGUgPT09ICdwb3B1cCcgJiYgZWRpdG9yPy5kaXNhYmxlZCkpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuRURJVE9SKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLkVESVRPUik7XHJcbiAgICB9XHJcbiAgICBpZiAoY29tbWFuZHM/Lmxlbmd0aCkge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5DT01NQU5EKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLkNPTU1BTkQpO1xyXG4gICAgfVxyXG4gICAgY29uZmlndXJhdGlvbj8uY29sdW1ucz8uZmlsdGVyKGNvbCA9PiAhY29sLmludmlzaWJsZSkuZm9yRWFjaChjb2wgPT4ge1xyXG4gICAgICBpZiAoY29sLmlzR2VuZXJhdGVkQ29sdW1uKSB7XHJcbiAgICAgICAgcmVzdWx0LmNvbHVtbltjb2wub3JpZ2luLmZpZWxkXSA9IHtcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChjb2wuZml4ZWQpIHtcclxuICAgICAgICAgIHJlc3VsdC5maXhlZENvbHVtbltjb2wub3JpZ2luLmZpZWxkXSA9IHtcclxuICAgICAgICAgICAgdGl0bGU6IGNvbC50aXRsZSB8fCBjb2wub3JpZ2luLnRpdGxlLFxyXG4gICAgICAgICAgICB3aWR0aDogY29sLndpZHRoIHx8IGNvbC5vcmlnaW4ud2lkdGgsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBnZW5lcmF0ZWRDb2x1bW46IFNkR3JpZE1hdGVyaWFsQ29sdW1uID0ge1xyXG4gICAgICAgICAgdHlwZTogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGZpZWxkOiBjb2wub3JpZ2luLmZpZWxkLFxyXG4gICAgICAgICAgdGl0bGU6IGNvbC5vcmlnaW4udGl0bGUsXHJcbiAgICAgICAgICBjaGlsZHJlbjogW11cclxuICAgICAgICB9O1xyXG4gICAgICAgIGZvciAoY29uc3Qgc3ViQ29sdW1uIG9mIGdyaWRPcHRpb24/LmNvbHVtbnMuZmlsdGVyKGUxID0+IGNvbC5nZW5lcmF0ZWRDb2x1bW5zLmluY2x1ZGVzKGUxLmZpZWxkKSkpIHtcclxuICAgICAgICAgIGlmIChzdWJDb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuJyB8fCBzdWJDb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuLWNvbCcpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZENvbHVtbiBvZiBzdWJDb2x1bW4uY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICBnZW5lcmF0ZWRDb2x1bW4uY2hpbGRyZW4ucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAuLi5jaGlsZENvbHVtbixcclxuICAgICAgICAgICAgICAgIGNvbFNwYW46IDJcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZ2VuZXJhdGVkQ29sdW1uLmNoaWxkcmVuLnB1c2goe1xyXG4gICAgICAgICAgICAgIC4uLnN1YkNvbHVtbixcclxuICAgICAgICAgICAgICBjb2xTcGFuOiAyXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0LmZpcnN0Q29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgIC4uLmdlbmVyYXRlZENvbHVtbixcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaChjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgICByZXN1bHQuZGlzcGxheWVkQ29sdW1ucy5wdXNoKGNvbC5vcmlnaW4uZmllbGQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBjb2x1bW4gPSBncmlkT3B0aW9uPy5jb2x1bW5zLmZpbmQoZSA9PiBlLmZpZWxkID09PSBjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgaWYgKGNvbHVtbikge1xyXG4gICAgICAgIHJlc3VsdC5jb2x1bW5bY29sLm9yaWdpbi5maWVsZF0gPSB7XHJcbiAgICAgICAgICB0aXRsZTogY29sLnRpdGxlIHx8IGNvbC5vcmlnaW4udGl0bGUsXHJcbiAgICAgICAgICB3aWR0aDogY29sLndpZHRoIHx8IGNvbC5vcmlnaW4ud2lkdGgsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAoY29sLmZpeGVkKSB7XHJcbiAgICAgICAgICByZXN1bHQuZml4ZWRDb2x1bW5bY29sLm9yaWdpbi5maWVsZF0gPSB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgICAgd2lkdGg6IGNvbC53aWR0aCB8fCBjb2wub3JpZ2luLndpZHRoLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0LmZpcnN0Q29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgIC4uLmNvbHVtbixcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaChjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdjaGlsZHJlbi1jb2wnKSB7XHJcbiAgICAgICAgICBjb2x1bW4uY2hpbGRyZW4/LmZvckVhY2goY2hpbGRDb2x1bW4gPT4ge1xyXG4gICAgICAgICAgICByZXN1bHQuc2Vjb25kQ29sdW1ucy5wdXNoKGNoaWxkQ29sdW1uKTtcclxuICAgICAgICAgICAgcmVzdWx0LnNlY29uZEhlYWRlcnMucHVzaChjaGlsZENvbHVtbi5maWVsZCk7XHJcbiAgICAgICAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY2hpbGRDb2x1bW4uZmllbGQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY29sLm9yaWdpbi5maWVsZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmIChzZFN1YkluZm9ybWF0aW9uPy50ZW1wbGF0ZVJlZikge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5TVUJJTkZPUk1BVElPTik7XHJcbiAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2godGhpcy4jQ09MVU1OUy5TVUJJTkZPUk1BVElPTik7XHJcbiAgICB9XHJcbiAgICByZXN1bHQubXVsdGlwbGVIZWFkZXIgPSByZXN1bHQuc2Vjb25kSGVhZGVycy5sZW5ndGggPiAwO1xyXG4gICAgLy8gU3ViIGluZm9tYXRpb24ga2jDtG5nIHRo4buDIGPDsyBmb290ZXJcclxuICAgIHJlc3VsdC5kaXNwbGF5ZWRGb290ZXJzID0gcmVzdWx0LmRpc3BsYXllZENvbHVtbnMuZmlsdGVyKHZhbCA9PiB2YWwgIT09IHRoaXMuI0NPTFVNTlMuU1VCSU5GT1JNQVRJT04pO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
353
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9zZXJ2aWNlcy9ncmlkLWNvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsb0JBQW9CLEVBQWdDLE1BQU0sb0NBQW9DLENBQUM7QUFHeEcsTUFBTSxPQUFPLDBCQUEwQjtJQVdyQyxZQUNVLGNBQWdDLEVBQ1MseUJBQXVEO1FBRGhHLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNTLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBOEI7UUFaMUcsbUJBQVc7WUFDVCxnQkFBZ0IsRUFBRSxvQkFBb0I7WUFDdEMsTUFBTSxFQUFFLFVBQVU7WUFDbEIsY0FBYyxFQUFFLHdCQUF3QjtZQUN4QyxPQUFPLEVBQUUsV0FBVztZQUNwQixTQUFTLEVBQUUsYUFBYTtTQUN6QixFQUFDO1FBQ0YsaUJBRUksRUFBRSxFQUFDO1FBTVAsU0FBSSxHQUFHLENBQUMsR0FBVyxFQUFFLFVBQWdDLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMscUNBQVksR0FBRyxDQUFDLEVBQUU7Z0JBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO2dCQUNuRCxxQ0FBWSxHQUFHLENBQUMsR0FBRztvQkFDakIsSUFBSSxFQUFFLHlDQUFB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QU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDaEQ7aUJBQ0Y7WUFDSCxDQUFDLEVBQUU7WUFDSCxJQUFJLGdCQUFnQixhQUFoQixnQkFBZ0IsdUJBQWhCLGdCQUFnQixDQUFFLFdBQVcsRUFBRTtnQkFDakMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsdUNBQWMsY0FBYyxDQUFDLENBQUM7Z0JBQ3ZELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsdUNBQWMsY0FBYyxDQUFDLENBQUM7YUFDNUQ7WUFDRCxNQUFNLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUN4RCxxQ0FBcUM7WUFDckMsTUFBTSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssdUNBQWMsY0FBYyxDQUFDLENBQUM7WUFDdEcsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFBO0lBdFNELENBQUM7Ozs7WUFmRixVQUFVOzs7WUFSRixnQkFBZ0I7NENBc0JwQixNQUFNLFNBQUMsb0JBQW9CLGNBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBTZFNldHRpbmdTZXJ2aWNlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9zZXR0aW5nJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZENvbHVtbkNvbmZpZ3VyYXRpb24sIFNkR3JpZENvbmZpZ3VyYXRpb24sIFNkR3JpZENvbmZpZ3VyYXRpb25DYWNoZSwgU2RHcmlkQ29uZmlndXJhdGlvblJlc3VsdCB9IGZyb20gJy4uL21vZGVscy9ncmlkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtc3ViLWluZm9ybWF0aW9uLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtY29sdW1uLm1vZGVsJztcclxuaW1wb3J0IHsgR1JJRF9NQVRFUklBTF9DT05GSUcsIElTZEdyaWRNYXRlcmlhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1jb25maWd1cmF0aW9uLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNkR3JpZENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcclxuICAjQ09MVU1OUyA9IHtcclxuICAgIEVESVRPUlZBTElEQVRJT046ICdzZEVkaXRvclZhbGlkYXRpb24nLFxyXG4gICAgRURJVE9SOiAnc2RFZGl0b3InLFxyXG4gICAgU1VCSU5GT1JNQVRJT046ICdzZFN1YkluZm9ybWF0aW9uQWN0aW9uJyxcclxuICAgIENPTU1BTkQ6ICdzZENvbW1hbmQnLFxyXG4gICAgU0VMRUNUSU9OOiAnc2RTZWxlY3Rpb24nXHJcbiAgfTtcclxuICAjY2FjaGU6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IFNkR3JpZENvbmZpZ3VyYXRpb25DYWNoZVxyXG4gIH0gPSB7fTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2V0dGluZ1NlcnZpY2U6IFNkU2V0dGluZ1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KEdSSURfTUFURVJJQUxfQ09ORklHKSBAT3B0aW9uYWwoKSBwdWJsaWMgZ3JpZE1hdGVyaWFsQ29uZmlndXJhdGlvbjogSVNkR3JpZE1hdGVyaWFsQ29uZmlndXJhdGlvbikge1xyXG4gIH1cclxuXHJcbiAgaW5pdCA9IChrZXk6IHN0cmluZywgZ3JpZE9wdGlvbjogU2RHcmlkTWF0ZXJpYWxPcHRpb24pID0+IHtcclxuICAgIGlmICghdGhpcy4jY2FjaGVba2V5XSkge1xyXG4gICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8U2RHcmlkQ29uZmlndXJhdGlvbj4oKTtcclxuICAgICAgdGhpcy4jY2FjaGVba2V5XSA9IHtcclxuICAgICAgICBsb2FkOiB0aGlzLiNsb2FkKGdyaWRPcHRpb24sIHN1YmplY3QpLFxyXG4gICAgICAgIGdldDogdGhpcy4jZ2V0KGdyaWRPcHRpb24pLFxyXG4gICAgICAgIHNldDogKGNvbmZpZ3VyYXRpb246IFNkR3JpZENvbmZpZ3VyYXRpb24pID0+IHtcclxuICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSB0aGlzLiNzZXQoZ3JpZE9wdGlvbiwgY29uZmlndXJhdGlvbik7XHJcbiAgICAgICAgICBzdWJqZWN0Lm5leHQoeyAuLi5jb25maWd1cmF0aW9uIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247XHJcbiAgICAgICAgfSxcclxuICAgICAgICByZW1vdmU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuI3JlbW92ZShncmlkT3B0aW9uKSgpO1xyXG4gICAgICAgICAgc3ViamVjdC5uZXh0KHRoaXMuI2RlZmF1bHQoZ3JpZE9wdGlvbikpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb2JzZXJ2ZXI6IHN1YmplY3RcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLiNjYWNoZVtrZXldO1xyXG4gIH1cclxuXHJcbiAgI2dldEtleSA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbikgPT4ge1xyXG4gICAgY29uc3QgcHJlZml4ID0gJ2M5ZTk0ODM2LTZhY2UtNGFlYi1iMTQ4LTRmMGJlNjM1ODllZSc7XHJcbiAgICBpZiAoIWdyaWRPcHRpb24/LmNvbmZpZz8ua2V5ICYmICFncmlkT3B0aW9uPy5rZXkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaGFzaCh7XHJcbiAgICAgIHByZWZpeCxcclxuICAgICAga2V5OiBncmlkT3B0aW9uPy5jb25maWc/LmtleSB8fCAhZ3JpZE9wdGlvbj8ua2V5XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gICNkZWZhdWx0ID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uKTogU2RHcmlkQ29uZmlndXJhdGlvbiA9PiB7XHJcbiAgICBjb25zdCBjb2x1bW5zOiBTZENvbHVtbkNvbmZpZ3VyYXRpb25bXSA9IGdyaWRPcHRpb24/LmNvbHVtbnM/LmZpbHRlcihlID0+ICFlLmhpZGRlbikubWFwKGUgPT4gKHtcclxuICAgICAgb3JpZ2luOiB7XHJcbiAgICAgICAgZmllbGQ6IGUuZmllbGQsXHJcbiAgICAgICAgdGl0bGU6IGUudGl0bGUsXHJcbiAgICAgICAgd2lkdGg6IGUud2lkdGgsXHJcbiAgICAgICAgaW52aXNpYmxlOiBlLmludmlzaWJsZVxyXG4gICAgICB9LFxyXG4gICAgICBpbnZpc2libGU6IGUuaW52aXNpYmxlLFxyXG4gICAgICBmaXhlZDogZmFsc2VcclxuICAgIH0pKSB8fCBbXTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNvbHVtbnNcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjbG9hZCA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbiwgc3ViamVjdDogU3ViamVjdDxTZEdyaWRDb25maWd1cmF0aW9uPikgPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3QgZ2V0ID0gdGhpcy4jZ2V0KGdyaWRPcHRpb24pO1xyXG4gICAgICBjb25zdCBjb25maWd1cmF0aW9uID0gYXdhaXQgZ2V0KCk7XHJcbiAgICAgIHN1YmplY3QubmV4dCh7IC4uLmNvbmZpZ3VyYXRpb24gfSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgI2dldCA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbikgPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3Qga2V5ID0gdGhpcy4jZ2V0S2V5KGdyaWRPcHRpb24pO1xyXG4gICAgICBpZiAoIWtleSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNkZWZhdWx0KGdyaWRPcHRpb24pO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHsgY29sdW1ucywgY29uZmlnIH0gPSBncmlkT3B0aW9uO1xyXG4gICAgICBjb25zdCB7IGdldCwgcmVtb3ZlIH0gPSB0aGlzLnNldHRpbmdTZXJ2aWNlLmNyZWF0ZTxTZEdyaWRDb25maWd1cmF0aW9uPihrZXksIHtcclxuICAgICAgICB0eXBlOiBjb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgYXJnczogY29uZmlnPy5hcmdzXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uID0gYXdhaXQgZ2V0KCkuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKTtcclxuICAgICAgaWYgKCFjb25maWd1cmF0aW9uPy5jb2x1bW5zKSB7XHJcbiAgICAgICAgcmVtb3ZlKCkuY2F0Y2goY29uc29sZS5lcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI2RlZmF1bHQoZ3JpZE9wdGlvbik7XHJcbiAgICAgIH1cclxuICAgICAgY29uZmlndXJhdGlvbi5jb2x1bW5zID0gY29uZmlndXJhdGlvbi5jb2x1bW5zXHJcbiAgICAgICAgLmZpbHRlcihjb2x1bW4gPT4gY29sdW1uLmlzR2VuZXJhdGVkQ29sdW1uIHx8IGNvbHVtbnMuc29tZShlID0+ICFlLmhpZGRlbiAmJiBlLmZpZWxkID09PSBjb2x1bW4ub3JpZ2luLmZpZWxkKSk7XHJcbiAgICAgIC8vIFRow6ptIG5o4buvbmcgY29sdW1uIG3hu5tpIHbDoG8gc3RvcmFnZSBu4bq/dSBjw7NcclxuICAgICAgY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XHJcbiAgICAgICAgY29uc3QgY29sID0gY29uZmlndXJhdGlvbi5jb2x1bW5zLmZpbmQoZSA9PiBlLm9yaWdpbj8uZmllbGQgPT09IGNvbHVtbi5maWVsZCk7XHJcbiAgICAgICAgaWYgKCFjb2wpIHtcclxuICAgICAgICAgIGNvbmZpZ3VyYXRpb24uY29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgICAgb3JpZ2luOiB7XHJcbiAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5maWVsZCxcclxuICAgICAgICAgICAgICB0aXRsZTogY29sdW1uLnRpdGxlLFxyXG4gICAgICAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgICAgICAgICAgICAgaW52aXNpYmxlOiBjb2x1bW4uaW52aXNpYmxlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbnZpc2libGU6IGNvbHVtbi5pbnZpc2libGUsXHJcbiAgICAgICAgICAgIGZpeGVkOiBmYWxzZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbC5vcmlnaW4gPSB7XHJcbiAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uZmllbGQsXHJcbiAgICAgICAgICAgIHRpdGxlOiBjb2x1bW4udGl0bGUsXHJcbiAgICAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgICAgICAgICAgIGludmlzaWJsZTogY29sdW1uLmludmlzaWJsZVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gY29uZmlndXJhdGlvbjtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjc2V0ID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uLCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uKSA9PiB7XHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLiNnZXRLZXkoZ3JpZE9wdGlvbik7XHJcbiAgICBpZiAoa2V5KSB7XHJcbiAgICAgIGNvbnN0IHsgc2V0IH0gPSB0aGlzLnNldHRpbmdTZXJ2aWNlLmNyZWF0ZTxTZEdyaWRDb25maWd1cmF0aW9uPihrZXksIHtcclxuICAgICAgICB0eXBlOiBncmlkT3B0aW9uPy5jb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgYXJnczogZ3JpZE9wdGlvbj8uY29uZmlnPy5hcmdzXHJcbiAgICAgIH0pO1xyXG4gICAgICBzZXQoY29uZmlndXJhdGlvbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjb25maWd1cmF0aW9uKSk7XHJcbiAgfVxyXG5cclxuICAjcmVtb3ZlID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uKSA9PiB7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICBjb25zdCBrZXkgPSB0aGlzLiNnZXRLZXkoZ3JpZE9wdGlvbik7XHJcbiAgICAgIGlmIChrZXkpIHtcclxuICAgICAgICBjb25zdCB7IHJlbW92ZSB9ID0gdGhpcy5zZXR0aW5nU2VydmljZS5jcmVhdGU8U2RHcmlkQ29uZmlndXJhdGlvbj4oa2V5LCB7XHJcbiAgICAgICAgICB0eXBlOiBncmlkT3B0aW9uPy5jb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgICBhcmdzOiBncmlkT3B0aW9uPy5jb25maWc/LmFyZ3NcclxuICAgICAgICB9KTtcclxuICAgICAgICByZW1vdmUoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8vIGdldCA9IGFzeW5jIChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbik6IFByb21pc2U8U2RHcmlkQ29uZmlndXJhdGlvbj4gPT4ge1xyXG4gIC8vICAgaWYgKCFncmlkT3B0aW9uPy5rZXkpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuI2dldERlZmF1bHRDb25maWd1cmF0aW9uKGdyaWRPcHRpb24pO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgY29uc3QgeyBrZXksIGNvbHVtbnMgfSA9IGdyaWRPcHRpb247XHJcbiAgLy8gICBjb25zdCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uID0gYXdhaXQgdGhpcy5zZXR0aW5nU2VydmljZS5nZXQodGhpcy4jZ2V0S2V5KGtleSkpLmNhdGNoKCgpID0+IHVuZGVmaW5lZCk7XHJcbiAgLy8gICBpZiAoIWNvbmZpZ3VyYXRpb24/LmNvbHVtbnMpIHtcclxuICAvLyAgICAgdGhpcy5zZXR0aW5nU2VydmljZS5yZW1vdmUodGhpcy4jZ2V0S2V5KGtleSkpLmNhdGNoKGNvbnNvbGUuZXJyb3IpO1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy4jZ2V0RGVmYXVsdENvbmZpZ3VyYXRpb24oZ3JpZE9wdGlvbik7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBjb25maWd1cmF0aW9uLmNvbHVtbnMgPSBjb25maWd1cmF0aW9uLmNvbHVtbnNcclxuICAvLyAgICAgLmZpbHRlcihjb2x1bW4gPT4gY29sdW1ucy5zb21lKGUgPT4gIWUuaGlkZGVuICYmIGUuZmllbGQgPT09IGNvbHVtbi5vcmlnaW4uZmllbGQpKTtcclxuICAvLyAgIC8vIFRow6ptIG5o4buvbmcgY29sdW1uIG3hu5tpIHbDoG8gc3RvcmFnZSBu4bq/dSBjw7NcclxuICAvLyAgIGNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4ge1xyXG4gIC8vICAgICBjb25zdCBjb2wgPSBjb25maWd1cmF0aW9uLmNvbHVtbnMuZmluZChlID0+IGUub3JpZ2luPy5maWVsZCA9PT0gY29sdW1uLmZpZWxkKTtcclxuICAvLyAgICAgaWYgKCFjb2wpIHtcclxuICAvLyAgICAgICBjb25maWd1cmF0aW9uLmNvbHVtbnMucHVzaCh7XHJcbiAgLy8gICAgICAgICBvcmlnaW46IHtcclxuICAvLyAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5maWVsZCxcclxuICAvLyAgICAgICAgICAgdGl0bGU6IGNvbHVtbi50aXRsZSxcclxuICAvLyAgICAgICAgICAgd2lkdGg6IGNvbHVtbi53aWR0aCxcclxuICAvLyAgICAgICAgICAgaW52aXNpYmxlOiBjb2x1bW4uaW52aXNpYmxlLFxyXG4gIC8vICAgICAgICAgfSxcclxuICAvLyAgICAgICAgIGludmlzaWJsZTogY29sdW1uLmludmlzaWJsZSxcclxuICAvLyAgICAgICAgIGZpeGVkOiBmYWxzZVxyXG4gIC8vICAgICAgIH0pO1xyXG4gIC8vICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgIGNvbC5vcmlnaW4gPSB7XHJcbiAgLy8gICAgICAgICBmaWVsZDogY29sdW1uLmZpZWxkLFxyXG4gIC8vICAgICAgICAgdGl0bGU6IGNvbHVtbi50aXRsZSxcclxuICAvLyAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgLy8gICAgICAgICBpbnZpc2libGU6IGNvbHVtbi5pbnZpc2libGVcclxuICAvLyAgICAgICB9O1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9KTtcclxuICAvLyAgIHJldHVybiBjb25maWd1cmF0aW9uO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gc2V0ID0gYXN5bmMgKGtleTogc3RyaW5nLCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uKTogUHJvbWlzZTxTZEdyaWRDb25maWd1cmF0aW9uPiA9PiB7XHJcbiAgLy8gICBpZiAoa2V5KSB7XHJcbiAgLy8gICAgIHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2V0KHRoaXMuI2dldEtleShrZXkpLCBjb25maWd1cmF0aW9uKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBjb25maWd1cmF0aW9uO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcmVtb3ZlID0gKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgLy8gICBpZiAoa2V5KSB7XHJcbiAgLy8gICAgIHRoaXMuc2V0dGluZ1NlcnZpY2UucmVtb3ZlKHRoaXMuI2dldEtleShrZXkpKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIGdlbmVyYXRlQ29uZmlndXJhdGlvblJlc3VsdCA9IChcclxuICAgIGNvbmZpZ3VyYXRpb246IFNkR3JpZENvbmZpZ3VyYXRpb24sXHJcbiAgICBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbixcclxuICAgIHNkU3ViSW5mb3JtYXRpb246IFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZSkgPT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBTZEdyaWRDb25maWd1cmF0aW9uUmVzdWx0ID0ge1xyXG4gICAgICBjb2x1bW46IHt9LFxyXG4gICAgICBmaXhlZENvbHVtbjoge30sXHJcbiAgICAgIGZpcnN0Q29sdW1uczogW10sXHJcbiAgICAgIHNlY29uZENvbHVtbnM6IFtdLFxyXG4gICAgICBmaXJzdEhlYWRlcnM6IFtdLFxyXG4gICAgICBzZWNvbmRIZWFkZXJzOiBbXSxcclxuICAgICAgZGlzcGxheWVkQ29sdW1uczogW10sXHJcbiAgICAgIGRpc3BsYXllZEZvb3RlcnM6IFtdLFxyXG4gICAgICBtdWx0aXBsZUhlYWRlcjogZmFsc2VcclxuICAgIH07XHJcbiAgICBjb25zdCB7IHNlbGVjdGlvbiwgY29tbWFuZHMsIGVkaXRvciB9ID0gZ3JpZE9wdGlvbiB8fCB7fTtcclxuICAgIGlmIChlZGl0b3I/LmFkZGFibGUgfHwgKGVkaXRvcj8udHlwZSA9PT0gJ2lubGluZScgJiYgZWRpdG9yPy5yZW1vdmFibGUpXHJcbiAgICAgIHx8IChlZGl0b3I/LnR5cGUgPT09ICdmb2N1cycgJiYgKHR5cGVvZiAoZWRpdG9yPy5kaXNhYmxlZCkgPT09ICdmdW5jdGlvbicgfHwgIWVkaXRvcj8uZGlzYWJsZWQpKSkge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5FRElUT1JWQUxJREFUSU9OKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLkVESVRPUlZBTElEQVRJT04pO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlbGVjdGlvbj8udmlzaWJsZSkge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5TRUxFQ1RJT04pO1xyXG4gICAgICByZXN1bHQuZGlzcGxheWVkQ29sdW1ucy5wdXNoKHRoaXMuI0NPTFVNTlMuU0VMRUNUSU9OKTtcclxuICAgIH1cclxuICAgIGlmIChlZGl0b3I/LmFkZGFibGUgfHwgKGVkaXRvcj8udHlwZSA9PT0gJ2lubGluZScgJiYgZWRpdG9yPy5yZW1vdmFibGUpXHJcbiAgICAgIHx8IChlZGl0b3I/LnR5cGUgPT09ICdmb2N1cycgJiYgKHR5cGVvZiAoZWRpdG9yPy5kaXNhYmxlZCkgPT09ICdmdW5jdGlvbicgfHwgIWVkaXRvcj8uZGlzYWJsZWQpKVxyXG4gICAgICB8fCAoZWRpdG9yPy50eXBlID09PSAncG9wdXAnICYmICh0eXBlb2YgKGVkaXRvcj8uZGlzYWJsZWQpID09PSAnZnVuY3Rpb24nIHx8ICFlZGl0b3I/LmRpc2FibGVkKSkpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuRURJVE9SKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLkVESVRPUik7XHJcbiAgICB9XHJcbiAgICBpZiAoY29tbWFuZHM/Lmxlbmd0aCkge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5DT01NQU5EKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLkNPTU1BTkQpO1xyXG4gICAgfVxyXG4gICAgY29uZmlndXJhdGlvbj8uY29sdW1ucz8uZmlsdGVyKGNvbCA9PiAhY29sLmludmlzaWJsZSkuZm9yRWFjaChjb2wgPT4ge1xyXG4gICAgICBpZiAoY29sLmlzR2VuZXJhdGVkQ29sdW1uKSB7XHJcbiAgICAgICAgcmVzdWx0LmNvbHVtbltjb2wub3JpZ2luLmZpZWxkXSA9IHtcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChjb2wuZml4ZWQpIHtcclxuICAgICAgICAgIHJlc3VsdC5maXhlZENvbHVtbltjb2wub3JpZ2luLmZpZWxkXSA9IHtcclxuICAgICAgICAgICAgdGl0bGU6IGNvbC50aXRsZSB8fCBjb2wub3JpZ2luLnRpdGxlLFxyXG4gICAgICAgICAgICB3aWR0aDogY29sLndpZHRoIHx8IGNvbC5vcmlnaW4ud2lkdGgsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBnZW5lcmF0ZWRDb2x1bW46IFNkR3JpZE1hdGVyaWFsQ29sdW1uID0ge1xyXG4gICAgICAgICAgdHlwZTogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGZpZWxkOiBjb2wub3JpZ2luLmZpZWxkLFxyXG4gICAgICAgICAgdGl0bGU6IGNvbC5vcmlnaW4udGl0bGUsXHJcbiAgICAgICAgICBjaGlsZHJlbjogW11cclxuICAgICAgICB9O1xyXG4gICAgICAgIGZvciAoY29uc3Qgc3ViQ29sdW1uIG9mIGdyaWRPcHRpb24/LmNvbHVtbnMuZmlsdGVyKGUxID0+IGNvbC5nZW5lcmF0ZWRDb2x1bW5zLmluY2x1ZGVzKGUxLmZpZWxkKSkpIHtcclxuICAgICAgICAgIGlmIChzdWJDb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuJyB8fCBzdWJDb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuLWNvbCcpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZENvbHVtbiBvZiBzdWJDb2x1bW4uY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICBnZW5lcmF0ZWRDb2x1bW4uY2hpbGRyZW4ucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAuLi5jaGlsZENvbHVtbixcclxuICAgICAgICAgICAgICAgIGNvbFNwYW46IDJcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZ2VuZXJhdGVkQ29sdW1uLmNoaWxkcmVuLnB1c2goe1xyXG4gICAgICAgICAgICAgIC4uLnN1YkNvbHVtbixcclxuICAgICAgICAgICAgICBjb2xTcGFuOiAyXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0LmZpcnN0Q29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgIC4uLmdlbmVyYXRlZENvbHVtbixcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaChjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgICByZXN1bHQuZGlzcGxheWVkQ29sdW1ucy5wdXNoKGNvbC5vcmlnaW4uZmllbGQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBjb2x1bW4gPSBncmlkT3B0aW9uPy5jb2x1bW5zLmZpbmQoZSA9PiBlLmZpZWxkID09PSBjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgaWYgKGNvbHVtbikge1xyXG4gICAgICAgIHJlc3VsdC5jb2x1bW5bY29sLm9yaWdpbi5maWVsZF0gPSB7XHJcbiAgICAgICAgICB0aXRsZTogY29sLnRpdGxlIHx8IGNvbC5vcmlnaW4udGl0bGUsXHJcbiAgICAgICAgICB3aWR0aDogY29sLndpZHRoIHx8IGNvbC5vcmlnaW4ud2lkdGgsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAoY29sLmZpeGVkKSB7XHJcbiAgICAgICAgICByZXN1bHQuZml4ZWRDb2x1bW5bY29sLm9yaWdpbi5maWVsZF0gPSB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgICAgd2lkdGg6IGNvbC53aWR0aCB8fCBjb2wub3JpZ2luLndpZHRoLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0LmZpcnN0Q29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgIC4uLmNvbHVtbixcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaChjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdjaGlsZHJlbi1jb2wnKSB7XHJcbiAgICAgICAgICBjb2x1bW4uY2hpbGRyZW4/LmZvckVhY2goY2hpbGRDb2x1bW4gPT4ge1xyXG4gICAgICAgICAgICByZXN1bHQuc2Vjb25kQ29sdW1ucy5wdXNoKGNoaWxkQ29sdW1uKTtcclxuICAgICAgICAgICAgcmVzdWx0LnNlY29uZEhlYWRlcnMucHVzaChjaGlsZENvbHVtbi5maWVsZCk7XHJcbiAgICAgICAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY2hpbGRDb2x1bW4uZmllbGQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY29sLm9yaWdpbi5maWVsZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmIChzZFN1YkluZm9ybWF0aW9uPy50ZW1wbGF0ZVJlZikge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5TVUJJTkZPUk1BVElPTik7XHJcbiAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2godGhpcy4jQ09MVU1OUy5TVUJJTkZPUk1BVElPTik7XHJcbiAgICB9XHJcbiAgICByZXN1bHQubXVsdGlwbGVIZWFkZXIgPSByZXN1bHQuc2Vjb25kSGVhZGVycy5sZW5ndGggPiAwO1xyXG4gICAgLy8gU3ViIGluZm9tYXRpb24ga2jDtG5nIHRo4buDIGPDsyBmb290ZXJcclxuICAgIHJlc3VsdC5kaXNwbGF5ZWRGb290ZXJzID0gcmVzdWx0LmRpc3BsYXllZENvbHVtbnMuZmlsdGVyKHZhbCA9PiB2YWwgIT09IHRoaXMuI0NPTFVNTlMuU1VCSU5GT1JNQVRJT04pO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
@@ -973,7 +973,8 @@ class SdGridConfigurationService {
973
973
  multipleHeader: false
974
974
  };
975
975
  const { selection, commands, editor } = gridOption || {};
976
- if ((editor === null || editor === void 0 ? void 0 : editor.addable) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'inline' && (editor === null || editor === void 0 ? void 0 : editor.removable)) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'focus' && (editor === null || editor === void 0 ? void 0 : editor.disabled))) {
976
+ if ((editor === null || editor === void 0 ? void 0 : editor.addable) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'inline' && (editor === null || editor === void 0 ? void 0 : editor.removable))
977
+ || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'focus' && (typeof (editor === null || editor === void 0 ? void 0 : editor.disabled) === 'function' || !(editor === null || editor === void 0 ? void 0 : editor.disabled)))) {
977
978
  result.firstHeaders.push(__classPrivateFieldGet(this, _COLUMNS).EDITORVALIDATION);
978
979
  result.displayedColumns.push(__classPrivateFieldGet(this, _COLUMNS).EDITORVALIDATION);
979
980
  }
@@ -981,7 +982,9 @@ class SdGridConfigurationService {
981
982
  result.firstHeaders.push(__classPrivateFieldGet(this, _COLUMNS).SELECTION);
982
983
  result.displayedColumns.push(__classPrivateFieldGet(this, _COLUMNS).SELECTION);
983
984
  }
984
- if ((editor === null || editor === void 0 ? void 0 : editor.addable) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'inline' && (editor === null || editor === void 0 ? void 0 : editor.removable)) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'focus' && (editor === null || editor === void 0 ? void 0 : editor.disabled)) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'popup' && (editor === null || editor === void 0 ? void 0 : editor.disabled))) {
985
+ if ((editor === null || editor === void 0 ? void 0 : editor.addable) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'inline' && (editor === null || editor === void 0 ? void 0 : editor.removable))
986
+ || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'focus' && (typeof (editor === null || editor === void 0 ? void 0 : editor.disabled) === 'function' || !(editor === null || editor === void 0 ? void 0 : editor.disabled)))
987
+ || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'popup' && (typeof (editor === null || editor === void 0 ? void 0 : editor.disabled) === 'function' || !(editor === null || editor === void 0 ? void 0 : editor.disabled)))) {
985
988
  result.firstHeaders.push(__classPrivateFieldGet(this, _COLUMNS).EDITOR);
986
989
  result.displayedColumns.push(__classPrivateFieldGet(this, _COLUMNS).EDITOR);
987
990
  }
@@ -2833,13 +2836,13 @@ class SdEditorHandlerRowPipe {
2833
2836
  if (isDisabled) {
2834
2837
  return null;
2835
2838
  }
2836
- item.editorHandlerRow = Object.assign(Object.assign({}, item.editorHandlerRow), { visible: !!status, editable: true, removable: false, savable: !!status, cancelable: !!status });
2839
+ item.editorHandlerRow = Object.assign(Object.assign({}, item.editorHandlerRow), { visible: !!status, editable: !status, removable: false, savable: !!status, cancelable: !!status });
2837
2840
  }
2838
2841
  else if (editor.type === 'popup') {
2839
2842
  if (isDisabled) {
2840
2843
  return null;
2841
2844
  }
2842
- item.editorHandlerRow = Object.assign(Object.assign({}, item.editorHandlerRow), { visible: false, editable: true, removable: false, savable: false, cancelable: false });
2845
+ item.editorHandlerRow = Object.assign(Object.assign({}, item.editorHandlerRow), { visible: false, editable: !status, removable: false, savable: false, cancelable: false });
2843
2846
  }
2844
2847
  const { sdId } = item, remain = __rest(item, ["sdId"]);
2845
2848
  item.sdId = hash__default(remain);
@@ -2904,6 +2907,14 @@ class SdEditorValidatePipe {
2904
2907
  item.editorErrorMessage = null;
2905
2908
  return;
2906
2909
  }
2910
+ if (editor.type === 'popup') {
2911
+ item.editorErrorMessage = null;
2912
+ return;
2913
+ }
2914
+ if (editor.type === 'focus' && !item.editorStatus) {
2915
+ item.editorErrorMessage = null;
2916
+ return;
2917
+ }
2907
2918
  __classPrivateFieldSet(this, _previous, new Date());
2908
2919
  yield new Promise(resolve => setTimeout(resolve, __classPrivateFieldGet(this, _delay)));
2909
2920
  const now = new Date();