@esfaenza/extensions 11.2.36 → 11.2.37

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.
@@ -52,21 +52,31 @@ export class ClipboardService {
52
52
  return;
53
53
  }
54
54
  if (window.clipboardData) {
55
+ console.log("[@esfaenza/extensions] Found clipboardData");
55
56
  let data = window.clipboardData.getData("Text");
57
+ console.log("[@esfaenza/extensions] Retrieved clipboard values: " + data);
56
58
  var value = style == "array" ? this.getClipboardLines(data) :
57
59
  style == "matrix" ? this.getClipboardMatrix(data) : [];
60
+ console.log(`[@esfaenza/extensions] Adapted for ${style}: ${JSON.stringify(value)}`);
58
61
  if (valueFoundCallback)
59
62
  valueFoundCallback(value);
60
63
  }
61
64
  else if (window.navigator.clipboard) {
65
+ console.log("[@esfaenza/extensions] Found navigator clipboard");
62
66
  window.navigator.permissions.query({ name: 'clipboard-read' }).then(result => {
63
- if (!(result.state === 'granted' || result.state === 'prompt'))
67
+ if (!(result.state === 'granted' || result.state === 'prompt')) {
68
+ console.error("[@esfaenza/extensions] Clipboard permission not granted");
64
69
  if (valueFoundCallback)
65
70
  valueFoundCallback([]);
71
+ return;
72
+ }
73
+ console.log("[@esfaenza/extensions] Clipboard permission granted, retrieving values");
66
74
  window.navigator.clipboard.readText()
67
75
  .then(t => {
76
+ console.log("[@esfaenza/extensions] Retrieved clipboard values: " + t);
68
77
  var value = style == "array" ? this.getClipboardLines(t) :
69
78
  style == "matrix" ? this.getClipboardMatrix(t) : [];
79
+ console.log(`[@esfaenza/extensions] Adapted for ${style}: ${JSON.stringify(value)}`);
70
80
  if (valueFoundCallback)
71
81
  valueFoundCallback(value);
72
82
  })
@@ -162,4 +172,4 @@ ClipboardService.ctorParameters = () => [
162
172
  { type: MessageService },
163
173
  { type: String, decorators: [{ type: Optional }, { type: Inject, args: [EXT_LOCALE,] }] }
164
174
  ];
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5jbGlwYm9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLmNsaXBib2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsVUFBVTtBQUNWLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXZDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGdCQUFnQjtJQXdCekI7Ozs7T0FJRztJQUNILFlBQTJCLFVBQTBCLEVBQTBDLE1BQWM7UUFBbEYsZUFBVSxHQUFWLFVBQVUsQ0FBZ0I7UUFBMEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTNCN0c7O1dBRUc7UUFDSyxRQUFHLEdBQUc7WUFDVixpSUFBaUksRUFBRTtnQkFDL0gsT0FBTyxFQUFFLGlJQUFpSTtnQkFDMUksT0FBTyxFQUFFLGlJQUFpSTthQUM3STtZQUNELCtDQUErQyxFQUFFO2dCQUM3QyxPQUFPLEVBQUUsK0NBQStDO2dCQUN4RCxPQUFPLEVBQUUseURBQXlEO2FBQ3JFO1lBQ0QsK0NBQStDLEVBQUU7Z0JBQzdDLE9BQU8sRUFBRSwrQ0FBK0M7Z0JBQ3hELE9BQU8sRUFBRSxvREFBb0Q7YUFDaEU7WUFDRCwrQ0FBK0MsRUFBQztnQkFDNUMsT0FBTyxFQUFFLCtDQUErQztnQkFDeEQsT0FBTyxFQUFFLHNEQUFzRDthQUNsRTtTQUNKLENBQUM7SUFPK0csQ0FBQztJQUVsSDs7Ozs7O09BTUc7SUFDSSxZQUFZLENBQUMsS0FBeUIsRUFBRSxrQkFBNEQ7O1FBQ3ZHLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDOUMscUVBQXFFO1lBQ3JFLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsaUlBQWlJLENBQUMsT0FBQyxJQUFJLENBQUMsTUFBTSxtQ0FBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2pNLE9BQU87U0FDVjtRQUVELElBQVUsTUFBTyxDQUFDLGFBQWEsRUFBRTtZQUM3QixJQUFJLElBQUksR0FBUyxNQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RCxJQUFJLEtBQUssR0FBRyxLQUFLLElBQUksT0FBTyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDaEQsS0FBSyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbkUsSUFBSSxrQkFBa0I7Z0JBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckQ7YUFFSSxJQUFVLE1BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQ2xDLE1BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNoRixJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQztvQkFDMUQsSUFBSSxrQkFBa0I7d0JBQUUsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBRTdDLE1BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtxQkFDdkMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUNOLElBQUksS0FBSyxHQUFHLEtBQUssSUFBSSxPQUFPLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUM3QyxLQUFLLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDaEUsSUFBSSxrQkFBa0I7d0JBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RELENBQUMsQ0FBQztxQkFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7O29CQUNULElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsK0NBQStDLENBQUMsT0FBQyxJQUFJLENBQUMsTUFBTSxtQ0FBSSxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzlILENBQUMsQ0FBQyxDQUFDO1lBQ1osQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxpQkFBaUIsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssa0JBQWtCLENBQUMsSUFBWTtRQUNuQyxJQUFJLEdBQUcsR0FBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QiwwSEFBMEg7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxtQkFBbUIsQ0FBQyxJQUFZOztRQUNuQyxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWxELEVBQUU7UUFDRixzRUFBc0U7UUFDdEUsRUFBRTtRQUNGLDZCQUE2QjtRQUM3QixzREFBc0Q7UUFDdEQsa0VBQWtFO1FBQ2xFLHdFQUF3RTtRQUN4RSwwQ0FBMEM7UUFDMUMsRUFBRTtRQUNGLHFFQUFxRTtRQUNyRSxtRUFBbUU7UUFDbkUscUVBQXFFO1FBQ3JFLHlDQUF5QztRQUN6QyxFQUFFO1FBRUYsb0VBQW9FO1FBQ3BFLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUNsQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDekIsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBRTFCLCtEQUErRDtRQUMvRCw4REFBOEQ7UUFDOUQsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzdCLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUU5QixvRUFBb0U7UUFDcEUsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBRTdCLHdCQUF3QjtRQUN4QixRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDL0IsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUVsQyx1REFBdUQ7UUFDdkQsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1FBRTFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRXRCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFbEIsSUFBSTtZQUNBLElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsSUFBRyxDQUFDLFVBQVU7Z0JBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsQ0FBQyxPQUFDLElBQUksQ0FBQyxNQUFNLG1DQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDdEg7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsK0NBQStDLENBQUMsT0FBQyxJQUFJLENBQUMsTUFBTSxtQ0FBSSxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUUsR0FBRyxDQUFDLENBQUM7U0FDOUg7UUFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs7WUE5SkosVUFBVTs7O1lBTkYsY0FBYzt5Q0FvQ3FDLFFBQVEsWUFBSSxNQUFNLFNBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBNb2RlbGxpXHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9leHRlbnNpb25zLm1lc3NhZ2VzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFWFRfTE9DQUxFIH0gZnJvbSBcIi4uL3Rva2Vuc1wiO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgY2hlIGZvcm5pc2NlIHVuIGFjY2Vzc28gYmFzZSBpbiBsZXR0dXJhL3Njcml0dHVyYSBzdWxsYSBjbGlwYm9hcmRcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENsaXBib2FyZFNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2dnZXR0byBzdGF0aWNvIGRpIGxvY2FsaXp6YXppb25lIHBlciBpIG1lc3NhZ2dpIGRpIHF1ZXN0YSBTZXJ2aWNlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgbG9jID0ge1xyXG4gICAgICAgIFwiVW5mb3J0dW5hdGVseSBGaXJlZm94IGRvZXNuJ3QgeWV0IHN1cHBvcnQgZGlyZWN0IENsaXBib2FyZCBhY2Nlc3MgaWYgbm90IHZpYSBleHRlbnNpb25zLCBQbGVhc2UgdXNlIENocm9tZSB0byBkbyB0aGlzIG9wZXJhdGlvblwiOiB7XHJcbiAgICAgICAgICAgICdlbi1VUyc6IFwiVW5mb3J0dW5hdGVseSBGaXJlZm94IGRvZXNuJ3QgeWV0IHN1cHBvcnQgZGlyZWN0IENsaXBib2FyZCBhY2Nlc3MgaWYgbm90IHZpYSBleHRlbnNpb25zLCBQbGVhc2UgdXNlIENocm9tZSB0byBkbyB0aGlzIG9wZXJhdGlvblwiLFxyXG4gICAgICAgICAgICAnaXQtSVQnOiBcIk1pIGRpc3BpYWNlIG1hIEZpcmVmb3ggbm9uIHN1cHBvcnRhIGwnYWNjZXNzbyBkaXJldHRvIGFsbGEgQ2xpcGJvYXJkLCBzZSBub24gYXR0cmF2ZXJzbyBsZSBlc3RlbnNpb25pLiBTaSBwcmVnYSBkaSB1c2FyZSBDaHJvbWVcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJHZW5lcmljIGVycm9yIGR1cmluZyAnY29weScgY29tbWFuZCBleGVjdXRpb25cIjoge1xyXG4gICAgICAgICAgICAnZW4tVVMnOiBcIkdlbmVyaWMgZXJyb3IgZHVyaW5nICdjb3B5JyBjb21tYW5kIGV4ZWN1dGlvblwiLFxyXG4gICAgICAgICAgICAnaXQtSVQnOiBcIkVycm9yZSBnZW5lcmljbyBkdXJhbnRlIGwnZXNlY3V6aW9uZSBkZWwgY29tYW5kbyAnY29weSdcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJFcnJvciBkdXJpbmcgQ2xpcGJvYXJkIGNvbnRlbnQgcmVhZCBvcGVyYXRpb25cIjoge1xyXG4gICAgICAgICAgICAnZW4tVVMnOiBcIkVycm9yIGR1cmluZyBDbGlwYm9hcmQgY29udGVudCByZWFkIG9wZXJhdGlvblwiLFxyXG4gICAgICAgICAgICAnaXQtSVQnOiBcIkVycm9yZSBuZWxsYSBsZXR0dXJhIGRlbCBjb250ZW51dG8gZGVsbGEgQ2xpcGJvYXJkXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwiRXJyb3IgZHVyaW5nIENsaXBib2FyZCBjb250ZW50IGNvcHkgb3BlcmF0aW9uXCI6e1xyXG4gICAgICAgICAgICAnZW4tVVMnOiBcIkVycm9yIGR1cmluZyBDbGlwYm9hcmQgY29udGVudCBjb3B5IG9wZXJhdGlvblwiLFxyXG4gICAgICAgICAgICAnaXQtSVQnOiBcIkVycm9yZSBuZWxsYSBzY3JpdHR1cmEgZGVsIGNvbnRlbnV0byBuZWxsYSBDbGlwYm9hcmRcIlxyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZVxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIG1zZ1NlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBAT3B0aW9uYWwoKSBASW5qZWN0KEVYVF9MT0NBTEUpIHByaXZhdGUgTE9DQUxFOiBzdHJpbmcpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJlbmRlIGlsIHZhbG9yZSBkZWxsYSBjbGlwYm9hcmQuIFxyXG4gICAgICogU2kgcHXDsiBzcGVjaWZpY2FyZSBzZSBjaSBzaSBhc3BldHRhIHVuYSBsaXN0YSBvIHVuYSBtYXRyaWNlIGRpIHZhbG9yaSBpbiBtb2RvIGRhIHJpY2V2ZXJlIGdpw6AgdW4gcmlzdWx0YXRvIHV0aWxpenphYmlsZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0geydhcnJheScgfCAnbWF0cml4J30gc3R5bGUgU3RpbGUgZGVsbCdvdXRwdXQgZGVzaWRlcmF0bywgc2UgYXJyYXkgbyBtYXRyaWNlXHJcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB2YWx1ZUZvdW5kQ2FsbGJhY2sgQ2FsbGJhY2sgY2hlIHF1ZXN0YSBmdW56aW9uZSBjaGlhbWVyw6AgdW5hIHZvbHRhIG90dGVudXRvIGkgdmFsb3JpIHJpY2hpZXN0aSBkYWxsYSBjbGlwYm9hcmRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldENsaXBib2FyZChzdHlsZTogJ2FycmF5JyB8ICdtYXRyaXgnLCB2YWx1ZUZvdW5kQ2FsbGJhY2sgOiAodmFsdWVzOiBzdHJpbmdbXSB8IHN0cmluZ1tdW10pID0+IHZvaWQpIHtcclxuICAgICAgICBpZiAobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKFwiRmlyZWZveFwiKSAhPSAtMSkge1xyXG4gICAgICAgICAgICAvL2h0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9DbGlwYm9hcmQvcmVhZFRleHRcclxuICAgICAgICAgICAgdGhpcy5tc2dTZXJ2aWNlLnNpbXBsZUVycm9yKHRoaXMubG9jW1wiVW5mb3J0dW5hdGVseSBGaXJlZm94IGRvZXNuJ3QgeWV0IHN1cHBvcnQgZGlyZWN0IENsaXBib2FyZCBhY2Nlc3MgaWYgbm90IHZpYSBleHRlbnNpb25zLCBQbGVhc2UgdXNlIENocm9tZSB0byBkbyB0aGlzIG9wZXJhdGlvblwiXVt0aGlzLkxPQ0FMRSA/PyAnaXQtSVQnXSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICgoPGFueT53aW5kb3cpLmNsaXBib2FyZERhdGEpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGEgPSAoPGFueT53aW5kb3cpLmNsaXBib2FyZERhdGEuZ2V0RGF0YShcIlRleHRcIik7XHJcbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IHN0eWxlID09IFwiYXJyYXlcIj8gdGhpcy5nZXRDbGlwYm9hcmRMaW5lcyhkYXRhKSA6IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSA9PSBcIm1hdHJpeFwiID8gdGhpcy5nZXRDbGlwYm9hcmRNYXRyaXgoZGF0YSkgOiBbXTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlRm91bmRDYWxsYmFjaykgdmFsdWVGb3VuZENhbGxiYWNrKHZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2UgaWYgKCg8YW55PndpbmRvdykubmF2aWdhdG9yLmNsaXBib2FyZCkge1xyXG4gICAgICAgICAgICAoPGFueT53aW5kb3cpLm5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSh7IG5hbWU6ICdjbGlwYm9hcmQtcmVhZCcgfSkudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCEocmVzdWx0LnN0YXRlID09PSAnZ3JhbnRlZCcgfHwgcmVzdWx0LnN0YXRlID09PSAncHJvbXB0JykpXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlRm91bmRDYWxsYmFjaykgdmFsdWVGb3VuZENhbGxiYWNrKFtdKTtcclxuXHJcbiAgICAgICAgICAgICAgICAoPGFueT53aW5kb3cpLm5hdmlnYXRvci5jbGlwYm9hcmQucmVhZFRleHQoKVxyXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBzdHlsZSA9PSBcImFycmF5XCI/IHRoaXMuZ2V0Q2xpcGJvYXJkTGluZXModCkgOiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUgPT0gXCJtYXRyaXhcIiA/IHRoaXMuZ2V0Q2xpcGJvYXJkTWF0cml4KHQpIDogW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZUZvdW5kQ2FsbGJhY2spIHZhbHVlRm91bmRDYWxsYmFjayh2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZXJyID0+IHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubXNnU2VydmljZS5zaW1wbGVFcnJvcih0aGlzLmxvY1tcIkVycm9yIGR1cmluZyBDbGlwYm9hcmQgY29udGVudCByZWFkIG9wZXJhdGlvblwiXVt0aGlzLkxPQ0FMRSA/PyAnaXQtSVQnXSArIFwiOiBcIisgZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaWwgY29udGVudXRvIGRlbGxhIGNsaXBib2FyZCBkaXZpc28gcGVyIHJpZ2hlIChzZXBhcmF0ZSBkYSBuZXdsaW5lKVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZGF0YSBjb250ZW51dG8gbGV0dG8gZGFsbGEgY2xpcGJvYXJkXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmdbXX0gQXJyYXkgY29udGVuZW50ZSBpbCB0ZXN0byBwcmVzbyBkYWxsYSBjbGlwYm9hcmQgZGl2aXNvIHBlciByaWdhXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0Q2xpcGJvYXJkTGluZXMoZGF0YTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgICAgIHJldHVybiBkYXRhLnRyaW0oKS5zcGxpdChcIlxcclxcblwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaWwgY29udGVudXRvIGRlbGxhIGNsaXBib2FyZCBkaXZpc28gcGVyIHJpZ2hlIChzZXBhcmF0ZSBkYSBuZXdsaW5lKSBlIGNvbG9ubmUgKHNlcGFyYXRlIGRhIHRhYilcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgY29udGVudXRvIGxldHRvIGRhbGxhIGNsaXBib2FyZFxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nW11bXX0gTWF0cmljZSBjb250ZW5lbnRlIGlsIHRlc3RvIHByZXNvIGRhbGxhIGNsaXBib2FyZCBkaXZpc28gcGVyIHJpZ2EgZSBjb2xvbm5hXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0Q2xpcGJvYXJkTWF0cml4KGRhdGE6IHN0cmluZyk6IHN0cmluZ1tdW10ge1xyXG4gICAgICAgIHZhciByZXQ6IHN0cmluZ1tdW10gPSBbXTtcclxuICAgICAgICB2YXIgcm93cyA9IGRhdGEuc3BsaXQoXCJcXHJcXG5cIik7XHJcblxyXG4gICAgICAgIC8vIEEgcXVhbnRvIHBhcmUgb2duaSB2YWxvcmUgw6ggc2VwYXJhdG8gZGEgdW4gXFx0Li4uIHNwZXJvIGNoZSBzaWEgdW5vIHN0YW5kYXJkIGRpIHF1YW5kbyBzaSBjb3BpYSBkYSBleGNlbCBhbHRyaW1lbnRpIGNpYW9cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIHJldC5wdXNoKHJvd3NbaV0uc3BsaXQoJ1xcdCcpLm1hcCh0ID0+IHQudHJpbSgpKSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1ldG9kbyBjaGUgY29waWEgdW4gdGVzdG8gYWxsJ2ludGVybm8gZGVsbGEgY2xpcGJvYXJkXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IFRlc3RvIGRhIGluc2VyaXJlIG5lbGxhIGNsaXBib2FyZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29weVRleHRUb0NsaXBib2FyZCh0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgdGV4dEFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGV4dGFyZWFcIik7XHJcblxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gKioqIFRoaXMgc3R5bGluZyBpcyBhbiBleHRyYSBzdGVwIHdoaWNoIGlzIGxpa2VseSBub3QgcmVxdWlyZWQuICoqKlxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gV2h5IGlzIGl0IGhlcmU/IFRvIGVuc3VyZTpcclxuICAgICAgICAvLyAxLiB0aGUgZWxlbWVudCBpcyBhYmxlIHRvIGhhdmUgZm9jdXMgYW5kIHNlbGVjdGlvbi5cclxuICAgICAgICAvLyAyLiBpZiBlbGVtZW50IHdhcyB0byBmbGFzaCByZW5kZXIgaXQgaGFzIG1pbmltYWwgdmlzdWFsIGltcGFjdC5cclxuICAgICAgICAvLyAzLiBsZXNzIGZsYWt5bmVzcyB3aXRoIHNlbGVjdGlvbiBhbmQgY29weWluZyB3aGljaCAqKm1pZ2h0Kiogb2NjdXIgaWZcclxuICAgICAgICAvLyAgICB0aGUgdGV4dGFyZWEgZWxlbWVudCBpcyBub3QgdmlzaWJsZS5cclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vIFRoZSBsaWtlbGlob29kIGlzIHRoZSBlbGVtZW50IHdvbid0IGV2ZW4gcmVuZGVyLCBub3QgZXZlbiBhIGZsYXNoLFxyXG4gICAgICAgIC8vIHNvIHNvbWUgb2YgdGhlc2UgYXJlIGp1c3QgcHJlY2F1dGlvbnMuIEhvd2V2ZXIgaW4gSUUgdGhlIGVsZW1lbnRcclxuICAgICAgICAvLyBpcyB2aXNpYmxlIHdoaWxzdCB0aGUgcG9wdXAgYm94IGFza2luZyB0aGUgdXNlciBmb3IgcGVybWlzc2lvbiBmb3JcclxuICAgICAgICAvLyB0aGUgd2ViIHBhZ2UgdG8gY29weSB0byB0aGUgY2xpcGJvYXJkLlxyXG4gICAgICAgIC8vXHJcblxyXG4gICAgICAgIC8vIFBsYWNlIGluIHRvcC1sZWZ0IGNvcm5lciBvZiBzY3JlZW4gcmVnYXJkbGVzcyBvZiBzY3JvbGwgcG9zaXRpb24uXHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCI7XHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUudG9wID0gXCIwXCI7XHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUubGVmdCA9IFwiMFwiO1xyXG5cclxuICAgICAgICAvLyBFbnN1cmUgaXQgaGFzIGEgc21hbGwgd2lkdGggYW5kIGhlaWdodC4gU2V0dGluZyB0byAxcHggLyAxZW1cclxuICAgICAgICAvLyBkb2Vzbid0IHdvcmsgYXMgdGhpcyBnaXZlcyBhIG5lZ2F0aXZlIHcvaCBvbiBzb21lIGJyb3dzZXJzLlxyXG4gICAgICAgIHRleHRBcmVhLnN0eWxlLndpZHRoID0gXCIyZW1cIjtcclxuICAgICAgICB0ZXh0QXJlYS5zdHlsZS5oZWlnaHQgPSBcIjJlbVwiO1xyXG5cclxuICAgICAgICAvLyBXZSBkb24ndCBuZWVkIHBhZGRpbmcsIHJlZHVjaW5nIHRoZSBzaXplIGlmIGl0IGRvZXMgZmxhc2ggcmVuZGVyLlxyXG4gICAgICAgIHRleHRBcmVhLnN0eWxlLnBhZGRpbmcgPSBcIjBcIjtcclxuXHJcbiAgICAgICAgLy8gQ2xlYW4gdXAgYW55IGJvcmRlcnMuXHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUuYm9yZGVyID0gXCJub25lXCI7XHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUub3V0bGluZSA9IFwibm9uZVwiO1xyXG4gICAgICAgIHRleHRBcmVhLnN0eWxlLmJveFNoYWRvdyA9IFwibm9uZVwiO1xyXG5cclxuICAgICAgICAvLyBBdm9pZCBmbGFzaCBvZiB3aGl0ZSBib3ggaWYgcmVuZGVyZWQgZm9yIGFueSByZWFzb24uXHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUuYmFja2dyb3VuZCA9IFwidHJhbnNwYXJlbnRcIjtcclxuXHJcbiAgICAgICAgdGV4dEFyZWEudmFsdWUgPSB0ZXh0O1xyXG5cclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRBcmVhKTtcclxuICAgICAgICB0ZXh0QXJlYS5mb2N1cygpO1xyXG4gICAgICAgIHRleHRBcmVhLnNlbGVjdCgpO1xyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICB2YXIgc3VjY2Vzc2Z1bCA9IGRvY3VtZW50LmV4ZWNDb21tYW5kKFwiY29weVwiKTtcclxuICAgICAgICAgICAgaWYoIXN1Y2Nlc3NmdWwpXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1zZ1NlcnZpY2Uuc2ltcGxlRXJyb3IodGhpcy5sb2NbXCJHZW5lcmljIGVycm9yIGR1cmluZyAnY29weScgY29tbWFuZCBleGVjdXRpb25cIl1bdGhpcy5MT0NBTEUgPz8gJ2l0LUlUJ10pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICB0aGlzLm1zZ1NlcnZpY2Uuc2ltcGxlRXJyb3IodGhpcy5sb2NbXCJFcnJvciBkdXJpbmcgQ2xpcGJvYXJkIGNvbnRlbnQgY29weSBvcGVyYXRpb25cIl1bdGhpcy5MT0NBTEUgPz8gJ2l0LUlUJ10gKyBcIjogXCIrIGVycik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRBcmVhKTtcclxuICAgIH1cclxufSJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5jbGlwYm9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLmNsaXBib2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsVUFBVTtBQUNWLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXZDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGdCQUFnQjtJQXdCekI7Ozs7T0FJRztJQUNILFlBQTJCLFVBQTBCLEVBQTBDLE1BQWM7UUFBbEYsZUFBVSxHQUFWLFVBQVUsQ0FBZ0I7UUFBMEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTNCN0c7O1dBRUc7UUFDSyxRQUFHLEdBQUc7WUFDVixpSUFBaUksRUFBRTtnQkFDL0gsT0FBTyxFQUFFLGlJQUFpSTtnQkFDMUksT0FBTyxFQUFFLGlJQUFpSTthQUM3STtZQUNELCtDQUErQyxFQUFFO2dCQUM3QyxPQUFPLEVBQUUsK0NBQStDO2dCQUN4RCxPQUFPLEVBQUUseURBQXlEO2FBQ3JFO1lBQ0QsK0NBQStDLEVBQUU7Z0JBQzdDLE9BQU8sRUFBRSwrQ0FBK0M7Z0JBQ3hELE9BQU8sRUFBRSxvREFBb0Q7YUFDaEU7WUFDRCwrQ0FBK0MsRUFBQztnQkFDNUMsT0FBTyxFQUFFLCtDQUErQztnQkFDeEQsT0FBTyxFQUFFLHNEQUFzRDthQUNsRTtTQUNKLENBQUM7SUFPK0csQ0FBQztJQUVsSDs7Ozs7O09BTUc7SUFDSSxZQUFZLENBQUMsS0FBeUIsRUFBRSxrQkFBNEQ7O1FBQ3ZHLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxP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Q0FBSSxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUUsR0FBRyxDQUFDLENBQUM7U0FDOUg7UUFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs7WUF6S0osVUFBVTs7O1lBTkYsY0FBYzt5Q0FvQ3FDLFFBQVEsWUFBSSxNQUFNLFNBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBNb2RlbGxpXHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9leHRlbnNpb25zLm1lc3NhZ2VzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFWFRfTE9DQUxFIH0gZnJvbSBcIi4uL3Rva2Vuc1wiO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgY2hlIGZvcm5pc2NlIHVuIGFjY2Vzc28gYmFzZSBpbiBsZXR0dXJhL3Njcml0dHVyYSBzdWxsYSBjbGlwYm9hcmRcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENsaXBib2FyZFNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2dnZXR0byBzdGF0aWNvIGRpIGxvY2FsaXp6YXppb25lIHBlciBpIG1lc3NhZ2dpIGRpIHF1ZXN0YSBTZXJ2aWNlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgbG9jID0ge1xyXG4gICAgICAgIFwiVW5mb3J0dW5hdGVseSBGaXJlZm94IGRvZXNuJ3QgeWV0IHN1cHBvcnQgZGlyZWN0IENsaXBib2FyZCBhY2Nlc3MgaWYgbm90IHZpYSBleHRlbnNpb25zLCBQbGVhc2UgdXNlIENocm9tZSB0byBkbyB0aGlzIG9wZXJhdGlvblwiOiB7XHJcbiAgICAgICAgICAgICdlbi1VUyc6IFwiVW5mb3J0dW5hdGVseSBGaXJlZm94IGRvZXNuJ3QgeWV0IHN1cHBvcnQgZGlyZWN0IENsaXBib2FyZCBhY2Nlc3MgaWYgbm90IHZpYSBleHRlbnNpb25zLCBQbGVhc2UgdXNlIENocm9tZSB0byBkbyB0aGlzIG9wZXJhdGlvblwiLFxyXG4gICAgICAgICAgICAnaXQtSVQnOiBcIk1pIGRpc3BpYWNlIG1hIEZpcmVmb3ggbm9uIHN1cHBvcnRhIGwnYWNjZXNzbyBkaXJldHRvIGFsbGEgQ2xpcGJvYXJkLCBzZSBub24gYXR0cmF2ZXJzbyBsZSBlc3RlbnNpb25pLiBTaSBwcmVnYSBkaSB1c2FyZSBDaHJvbWVcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJHZW5lcmljIGVycm9yIGR1cmluZyAnY29weScgY29tbWFuZCBleGVjdXRpb25cIjoge1xyXG4gICAgICAgICAgICAnZW4tVVMnOiBcIkdlbmVyaWMgZXJyb3IgZHVyaW5nICdjb3B5JyBjb21tYW5kIGV4ZWN1dGlvblwiLFxyXG4gICAgICAgICAgICAnaXQtSVQnOiBcIkVycm9yZSBnZW5lcmljbyBkdXJhbnRlIGwnZXNlY3V6aW9uZSBkZWwgY29tYW5kbyAnY29weSdcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJFcnJvciBkdXJpbmcgQ2xpcGJvYXJkIGNvbnRlbnQgcmVhZCBvcGVyYXRpb25cIjoge1xyXG4gICAgICAgICAgICAnZW4tVVMnOiBcIkVycm9yIGR1cmluZyBDbGlwYm9hcmQgY29udGVudCByZWFkIG9wZXJhdGlvblwiLFxyXG4gICAgICAgICAgICAnaXQtSVQnOiBcIkVycm9yZSBuZWxsYSBsZXR0dXJhIGRlbCBjb250ZW51dG8gZGVsbGEgQ2xpcGJvYXJkXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwiRXJyb3IgZHVyaW5nIENsaXBib2FyZCBjb250ZW50IGNvcHkgb3BlcmF0aW9uXCI6e1xyXG4gICAgICAgICAgICAnZW4tVVMnOiBcIkVycm9yIGR1cmluZyBDbGlwYm9hcmQgY29udGVudCBjb3B5IG9wZXJhdGlvblwiLFxyXG4gICAgICAgICAgICAnaXQtSVQnOiBcIkVycm9yZSBuZWxsYSBzY3JpdHR1cmEgZGVsIGNvbnRlbnV0byBuZWxsYSBDbGlwYm9hcmRcIlxyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZVxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIG1zZ1NlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBAT3B0aW9uYWwoKSBASW5qZWN0KEVYVF9MT0NBTEUpIHByaXZhdGUgTE9DQUxFOiBzdHJpbmcpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJlbmRlIGlsIHZhbG9yZSBkZWxsYSBjbGlwYm9hcmQuIFxyXG4gICAgICogU2kgcHXDsiBzcGVjaWZpY2FyZSBzZSBjaSBzaSBhc3BldHRhIHVuYSBsaXN0YSBvIHVuYSBtYXRyaWNlIGRpIHZhbG9yaSBpbiBtb2RvIGRhIHJpY2V2ZXJlIGdpw6AgdW4gcmlzdWx0YXRvIHV0aWxpenphYmlsZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0geydhcnJheScgfCAnbWF0cml4J30gc3R5bGUgU3RpbGUgZGVsbCdvdXRwdXQgZGVzaWRlcmF0bywgc2UgYXJyYXkgbyBtYXRyaWNlXHJcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB2YWx1ZUZvdW5kQ2FsbGJhY2sgQ2FsbGJhY2sgY2hlIHF1ZXN0YSBmdW56aW9uZSBjaGlhbWVyw6AgdW5hIHZvbHRhIG90dGVudXRvIGkgdmFsb3JpIHJpY2hpZXN0aSBkYWxsYSBjbGlwYm9hcmRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldENsaXBib2FyZChzdHlsZTogJ2FycmF5JyB8ICdtYXRyaXgnLCB2YWx1ZUZvdW5kQ2FsbGJhY2sgOiAodmFsdWVzOiBzdHJpbmdbXSB8IHN0cmluZ1tdW10pID0+IHZvaWQpIHtcclxuICAgICAgICBpZiAobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKFwiRmlyZWZveFwiKSAhPSAtMSkge1xyXG4gICAgICAgICAgICAvL2h0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9DbGlwYm9hcmQvcmVhZFRleHRcclxuICAgICAgICAgICAgdGhpcy5tc2dTZXJ2aWNlLnNpbXBsZUVycm9yKHRoaXMubG9jW1wiVW5mb3J0dW5hdGVseSBGaXJlZm94IGRvZXNuJ3QgeWV0IHN1cHBvcnQgZGlyZWN0IENsaXBib2FyZCBhY2Nlc3MgaWYgbm90IHZpYSBleHRlbnNpb25zLCBQbGVhc2UgdXNlIENocm9tZSB0byBkbyB0aGlzIG9wZXJhdGlvblwiXVt0aGlzLkxPQ0FMRSA/PyAnaXQtSVQnXSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICgoPGFueT53aW5kb3cpLmNsaXBib2FyZERhdGEpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJbQGVzZmFlbnphL2V4dGVuc2lvbnNdIEZvdW5kIGNsaXBib2FyZERhdGFcIik7XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0gKDxhbnk+d2luZG93KS5jbGlwYm9hcmREYXRhLmdldERhdGEoXCJUZXh0XCIpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIltAZXNmYWVuemEvZXh0ZW5zaW9uc10gUmV0cmlldmVkIGNsaXBib2FyZCB2YWx1ZXM6IFwiICsgZGF0YSk7XHJcbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IHN0eWxlID09IFwiYXJyYXlcIj8gdGhpcy5nZXRDbGlwYm9hcmRMaW5lcyhkYXRhKSA6IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSA9PSBcIm1hdHJpeFwiID8gdGhpcy5nZXRDbGlwYm9hcmRNYXRyaXgoZGF0YSkgOiBbXTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYFtAZXNmYWVuemEvZXh0ZW5zaW9uc10gQWRhcHRlZCBmb3IgJHtzdHlsZX06ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApOyAgXHJcbiAgICAgICAgICAgIGlmICh2YWx1ZUZvdW5kQ2FsbGJhY2spIHZhbHVlRm91bmRDYWxsYmFjayh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIGlmICgoPGFueT53aW5kb3cpLm5hdmlnYXRvci5jbGlwYm9hcmQpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJbQGVzZmFlbnphL2V4dGVuc2lvbnNdIEZvdW5kIG5hdmlnYXRvciBjbGlwYm9hcmRcIik7XHJcbiAgICAgICAgICAgICg8YW55PndpbmRvdykubmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KHsgbmFtZTogJ2NsaXBib2FyZC1yZWFkJyB9KS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIShyZXN1bHQuc3RhdGUgPT09ICdncmFudGVkJyB8fCByZXN1bHQuc3RhdGUgPT09ICdwcm9tcHQnKSlcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0Blc2ZhZW56YS9leHRlbnNpb25zXSBDbGlwYm9hcmQgcGVybWlzc2lvbiBub3QgZ3JhbnRlZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWVGb3VuZENhbGxiYWNrKSB2YWx1ZUZvdW5kQ2FsbGJhY2soW10pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIltAZXNmYWVuemEvZXh0ZW5zaW9uc10gQ2xpcGJvYXJkIHBlcm1pc3Npb24gZ3JhbnRlZCwgcmV0cmlldmluZyB2YWx1ZXNcIik7XHJcbiAgICAgICAgICAgICAgICAoPGFueT53aW5kb3cpLm5hdmlnYXRvci5jbGlwYm9hcmQucmVhZFRleHQoKVxyXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIltAZXNmYWVuemEvZXh0ZW5zaW9uc10gUmV0cmlldmVkIGNsaXBib2FyZCB2YWx1ZXM6IFwiICsgdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IHN0eWxlID09IFwiYXJyYXlcIj8gdGhpcy5nZXRDbGlwYm9hcmRMaW5lcyh0KSA6IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSA9PSBcIm1hdHJpeFwiID8gdGhpcy5nZXRDbGlwYm9hcmRNYXRyaXgodCkgOiBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFtAZXNmYWVuemEvZXh0ZW5zaW9uc10gQWRhcHRlZCBmb3IgJHtzdHlsZX06ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZUZvdW5kQ2FsbGJhY2spIHZhbHVlRm91bmRDYWxsYmFjayh2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZXJyID0+IHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubXNnU2VydmljZS5zaW1wbGVFcnJvcih0aGlzLmxvY1tcIkVycm9yIGR1cmluZyBDbGlwYm9hcmQgY29udGVudCByZWFkIG9wZXJhdGlvblwiXVt0aGlzLkxPQ0FMRSA/PyAnaXQtSVQnXSArIFwiOiBcIisgZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaWwgY29udGVudXRvIGRlbGxhIGNsaXBib2FyZCBkaXZpc28gcGVyIHJpZ2hlIChzZXBhcmF0ZSBkYSBuZXdsaW5lKVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZGF0YSBjb250ZW51dG8gbGV0dG8gZGFsbGEgY2xpcGJvYXJkXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmdbXX0gQXJyYXkgY29udGVuZW50ZSBpbCB0ZXN0byBwcmVzbyBkYWxsYSBjbGlwYm9hcmQgZGl2aXNvIHBlciByaWdhXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0Q2xpcGJvYXJkTGluZXMoZGF0YTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgICAgIHJldHVybiBkYXRhLnRyaW0oKS5zcGxpdChcIlxcclxcblwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaWwgY29udGVudXRvIGRlbGxhIGNsaXBib2FyZCBkaXZpc28gcGVyIHJpZ2hlIChzZXBhcmF0ZSBkYSBuZXdsaW5lKSBlIGNvbG9ubmUgKHNlcGFyYXRlIGRhIHRhYilcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgY29udGVudXRvIGxldHRvIGRhbGxhIGNsaXBib2FyZFxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nW11bXX0gTWF0cmljZSBjb250ZW5lbnRlIGlsIHRlc3RvIHByZXNvIGRhbGxhIGNsaXBib2FyZCBkaXZpc28gcGVyIHJpZ2EgZSBjb2xvbm5hXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0Q2xpcGJvYXJkTWF0cml4KGRhdGE6IHN0cmluZyk6IHN0cmluZ1tdW10ge1xyXG4gICAgICAgIHZhciByZXQ6IHN0cmluZ1tdW10gPSBbXTtcclxuICAgICAgICB2YXIgcm93cyA9IGRhdGEuc3BsaXQoXCJcXHJcXG5cIik7XHJcblxyXG4gICAgICAgIC8vIEEgcXVhbnRvIHBhcmUgb2duaSB2YWxvcmUgw6ggc2VwYXJhdG8gZGEgdW4gXFx0Li4uIHNwZXJvIGNoZSBzaWEgdW5vIHN0YW5kYXJkIGRpIHF1YW5kbyBzaSBjb3BpYSBkYSBleGNlbCBhbHRyaW1lbnRpIGNpYW9cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIHJldC5wdXNoKHJvd3NbaV0uc3BsaXQoJ1xcdCcpLm1hcCh0ID0+IHQudHJpbSgpKSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1ldG9kbyBjaGUgY29waWEgdW4gdGVzdG8gYWxsJ2ludGVybm8gZGVsbGEgY2xpcGJvYXJkXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IFRlc3RvIGRhIGluc2VyaXJlIG5lbGxhIGNsaXBib2FyZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29weVRleHRUb0NsaXBib2FyZCh0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgdGV4dEFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGV4dGFyZWFcIik7XHJcblxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gKioqIFRoaXMgc3R5bGluZyBpcyBhbiBleHRyYSBzdGVwIHdoaWNoIGlzIGxpa2VseSBub3QgcmVxdWlyZWQuICoqKlxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gV2h5IGlzIGl0IGhlcmU/IFRvIGVuc3VyZTpcclxuICAgICAgICAvLyAxLiB0aGUgZWxlbWVudCBpcyBhYmxlIHRvIGhhdmUgZm9jdXMgYW5kIHNlbGVjdGlvbi5cclxuICAgICAgICAvLyAyLiBpZiBlbGVtZW50IHdhcyB0byBmbGFzaCByZW5kZXIgaXQgaGFzIG1pbmltYWwgdmlzdWFsIGltcGFjdC5cclxuICAgICAgICAvLyAzLiBsZXNzIGZsYWt5bmVzcyB3aXRoIHNlbGVjdGlvbiBhbmQgY29weWluZyB3aGljaCAqKm1pZ2h0Kiogb2NjdXIgaWZcclxuICAgICAgICAvLyAgICB0aGUgdGV4dGFyZWEgZWxlbWVudCBpcyBub3QgdmlzaWJsZS5cclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vIFRoZSBsaWtlbGlob29kIGlzIHRoZSBlbGVtZW50IHdvbid0IGV2ZW4gcmVuZGVyLCBub3QgZXZlbiBhIGZsYXNoLFxyXG4gICAgICAgIC8vIHNvIHNvbWUgb2YgdGhlc2UgYXJlIGp1c3QgcHJlY2F1dGlvbnMuIEhvd2V2ZXIgaW4gSUUgdGhlIGVsZW1lbnRcclxuICAgICAgICAvLyBpcyB2aXNpYmxlIHdoaWxzdCB0aGUgcG9wdXAgYm94IGFza2luZyB0aGUgdXNlciBmb3IgcGVybWlzc2lvbiBmb3JcclxuICAgICAgICAvLyB0aGUgd2ViIHBhZ2UgdG8gY29weSB0byB0aGUgY2xpcGJvYXJkLlxyXG4gICAgICAgIC8vXHJcblxyXG4gICAgICAgIC8vIFBsYWNlIGluIHRvcC1sZWZ0IGNvcm5lciBvZiBzY3JlZW4gcmVnYXJkbGVzcyBvZiBzY3JvbGwgcG9zaXRpb24uXHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCI7XHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUudG9wID0gXCIwXCI7XHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUubGVmdCA9IFwiMFwiO1xyXG5cclxuICAgICAgICAvLyBFbnN1cmUgaXQgaGFzIGEgc21hbGwgd2lkdGggYW5kIGhlaWdodC4gU2V0dGluZyB0byAxcHggLyAxZW1cclxuICAgICAgICAvLyBkb2Vzbid0IHdvcmsgYXMgdGhpcyBnaXZlcyBhIG5lZ2F0aXZlIHcvaCBvbiBzb21lIGJyb3dzZXJzLlxyXG4gICAgICAgIHRleHRBcmVhLnN0eWxlLndpZHRoID0gXCIyZW1cIjtcclxuICAgICAgICB0ZXh0QXJlYS5zdHlsZS5oZWlnaHQgPSBcIjJlbVwiO1xyXG5cclxuICAgICAgICAvLyBXZSBkb24ndCBuZWVkIHBhZGRpbmcsIHJlZHVjaW5nIHRoZSBzaXplIGlmIGl0IGRvZXMgZmxhc2ggcmVuZGVyLlxyXG4gICAgICAgIHRleHRBcmVhLnN0eWxlLnBhZGRpbmcgPSBcIjBcIjtcclxuXHJcbiAgICAgICAgLy8gQ2xlYW4gdXAgYW55IGJvcmRlcnMuXHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUuYm9yZGVyID0gXCJub25lXCI7XHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUub3V0bGluZSA9IFwibm9uZVwiO1xyXG4gICAgICAgIHRleHRBcmVhLnN0eWxlLmJveFNoYWRvdyA9IFwibm9uZVwiO1xyXG5cclxuICAgICAgICAvLyBBdm9pZCBmbGFzaCBvZiB3aGl0ZSBib3ggaWYgcmVuZGVyZWQgZm9yIGFueSByZWFzb24uXHJcbiAgICAgICAgdGV4dEFyZWEuc3R5bGUuYmFja2dyb3VuZCA9IFwidHJhbnNwYXJlbnRcIjtcclxuXHJcbiAgICAgICAgdGV4dEFyZWEudmFsdWUgPSB0ZXh0O1xyXG5cclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRBcmVhKTtcclxuICAgICAgICB0ZXh0QXJlYS5mb2N1cygpO1xyXG4gICAgICAgIHRleHRBcmVhLnNlbGVjdCgpO1xyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICB2YXIgc3VjY2Vzc2Z1bCA9IGRvY3VtZW50LmV4ZWNDb21tYW5kKFwiY29weVwiKTtcclxuICAgICAgICAgICAgaWYoIXN1Y2Nlc3NmdWwpXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1zZ1NlcnZpY2Uuc2ltcGxlRXJyb3IodGhpcy5sb2NbXCJHZW5lcmljIGVycm9yIGR1cmluZyAnY29weScgY29tbWFuZCBleGVjdXRpb25cIl1bdGhpcy5MT0NBTEUgPz8gJ2l0LUlUJ10pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICB0aGlzLm1zZ1NlcnZpY2Uuc2ltcGxlRXJyb3IodGhpcy5sb2NbXCJFcnJvciBkdXJpbmcgQ2xpcGJvYXJkIGNvbnRlbnQgY29weSBvcGVyYXRpb25cIl1bdGhpcy5MT0NBTEUgPz8gJ2l0LUlUJ10gKyBcIjogXCIrIGVycik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRBcmVhKTtcclxuICAgIH1cclxufSJdfQ==
@@ -412,21 +412,31 @@ class ClipboardService {
412
412
  return;
413
413
  }
414
414
  if (window.clipboardData) {
415
+ console.log("[@esfaenza/extensions] Found clipboardData");
415
416
  let data = window.clipboardData.getData("Text");
417
+ console.log("[@esfaenza/extensions] Retrieved clipboard values: " + data);
416
418
  var value = style == "array" ? this.getClipboardLines(data) :
417
419
  style == "matrix" ? this.getClipboardMatrix(data) : [];
420
+ console.log(`[@esfaenza/extensions] Adapted for ${style}: ${JSON.stringify(value)}`);
418
421
  if (valueFoundCallback)
419
422
  valueFoundCallback(value);
420
423
  }
421
424
  else if (window.navigator.clipboard) {
425
+ console.log("[@esfaenza/extensions] Found navigator clipboard");
422
426
  window.navigator.permissions.query({ name: 'clipboard-read' }).then(result => {
423
- if (!(result.state === 'granted' || result.state === 'prompt'))
427
+ if (!(result.state === 'granted' || result.state === 'prompt')) {
428
+ console.error("[@esfaenza/extensions] Clipboard permission not granted");
424
429
  if (valueFoundCallback)
425
430
  valueFoundCallback([]);
431
+ return;
432
+ }
433
+ console.log("[@esfaenza/extensions] Clipboard permission granted, retrieving values");
426
434
  window.navigator.clipboard.readText()
427
435
  .then(t => {
436
+ console.log("[@esfaenza/extensions] Retrieved clipboard values: " + t);
428
437
  var value = style == "array" ? this.getClipboardLines(t) :
429
438
  style == "matrix" ? this.getClipboardMatrix(t) : [];
439
+ console.log(`[@esfaenza/extensions] Adapted for ${style}: ${JSON.stringify(value)}`);
430
440
  if (valueFoundCallback)
431
441
  valueFoundCallback(value);
432
442
  })