@colijnit/corecomponents_v12 259.1.1 → 259.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { FileTypeInternal } from '../enum/file-type-internal.enum';
3
- import { CoDocument } from '../model/co-document.bo';
4
3
  import { CoDocumentType } from '../enum/co-document-type.enum';
5
4
  import { FileType } from '../enum/file-type.enum';
6
5
  import { StringUtils } from './string-utils';
7
6
  import { NumberUtils } from './number-utils';
7
+ import { CoDocument } from '@colijnit/mainapi/build/model/co-document.bo';
8
8
  const MaxUploadSize = 3145728; // 3Mb
9
9
  // @dynamic
10
10
  export class FileUtils {
@@ -264,4 +264,4 @@ export class FileUtils {
264
264
  document.body.removeChild(link);
265
265
  }
266
266
  }
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29yZS91dGlscy9maWxlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sYUFBYSxHQUFXLE9BQU8sQ0FBQyxDQUFDLE1BQU07QUFFN0MsV0FBVztBQUNYLE1BQU0sT0FBTyxTQUFTO0lBRWxCLHNDQUFzQztJQUMvQixNQUFNLEtBQUssaUJBQWlCO1FBQy9CLE9BQU8sYUFBYSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxZQUFvQixFQUFFLFFBQWdCO1FBQ3RFLE9BQU8sV0FBVyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxHQUFHLFVBQVUsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5RyxDQUFDO0lBRUQsc0hBQXNIO0lBQy9HLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxRQUFnQjtRQUNyRCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsT0FBTyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7U0FDckM7UUFDRCxNQUFNLFdBQVcsR0FBYSxRQUFRLENBQUMsS0FB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LENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRXBGLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDdkI7WUFDTCxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxNQUFNLENBQUMsdUJBQXVCLENBQUMsT0FBZTtRQUNqRCxNQUFNLElBQUksR0FBVyxPQUFPLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsT0FBZTtRQUMxRCxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsT0FBTyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBZSxFQUFFLFFBQWdCO1FBQy9ELE1BQU0sSUFBSSxHQUFRLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZVR5cGVJbnRlcm5hbCB9IGZyb20gJy4uL2VudW0vZmlsZS10eXBlLWludGVybmFsLmVudW0nO1xyXG5pbXBvcnQgeyBDb0RvY3VtZW50IH0gZnJvbSAnLi4vbW9kZWwvY28tZG9jdW1lbnQuYm8nO1xyXG5pbXBvcnQgeyBDb0RvY3VtZW50VHlwZSB9IGZyb20gJy4uL2VudW0vY28tZG9jdW1lbnQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgRmlsZVR5cGUgfSBmcm9tICcuLi9lbnVtL2ZpbGUtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgU3RyaW5nVXRpbHMgfSBmcm9tICcuL3N0cmluZy11dGlscyc7XHJcbmltcG9ydCB7IE51bWJlclV0aWxzIH0gZnJvbSAnLi9udW1iZXItdXRpbHMnO1xyXG5cclxuY29uc3QgTWF4VXBsb2FkU2l6ZTogbnVtYmVyID0gMzE0NTcyODsgLy8gM01iXHJcblxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgRmlsZVV0aWxzIHtcclxuXHJcbiAgICAvLyBSZXR1cm5zIE1heFVwbG9hZFNpemUgaW4gTWVnYWJ5dGVzLlxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQgTWF4VXBsb2FkU2l6ZUluTWIoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gTWF4VXBsb2FkU2l6ZSAvIDEwMjQgLyAxMDI0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgRG9jdW1lbnRCb2R5VG9EYXRhVXJpKGRvY3VtZW50Qm9keTogc3RyaW5nLCBtaW1lVHlwZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gU3RyaW5nVXRpbHMuSXNTdHJpbmdXaXRoTGVuZ3RoKGRvY3VtZW50Qm9keSkgPyBcImRhdGE6XCIgKyBtaW1lVHlwZSArIFwiO2Jhc2U2NCxcIiArIGRvY3VtZW50Qm9keSA6IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmV0dXJucyB0aGUgZmlsZSB0eXBlIG9mIHRoZSBnaXZlbiBmaWxlLCBieSBsb29raW5nIGF0IGl0cyBleHRlbnNpb24uIFJldHVybnMgRmlsZVR5cGUuVW5kZWZpbmVkIGlmIG5vdCByZWNvZ25pc2VkLlxyXG4gICAgcHVibGljIHN0YXRpYyBGaWxlTmFtZVRvRmlsZVR5cGVJbnRlcm5hbChmaWxlTmFtZTogc3RyaW5nKTogRmlsZVR5cGVJbnRlcm5hbCB7XHJcbiAgICAgICAgaWYgKCFmaWxlTmFtZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5VbmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHN0cmluZ1BhcnRzOiBzdHJpbmdbXSA9IGZpbGVOYW1lLnNwbGl0KFwiLlwiKTtcclxuICAgICAgICBjb25zdCBleHRlbnNpb246IHN0cmluZyA9IHN0cmluZ1BhcnRzW3N0cmluZ1BhcnRzLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgIHN3aXRjaCAoZXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgICAgICAgY2FzZSBcInBkblwiOlxyXG4gICAgICAgICAgICBjYXNlIFwiYm1wXCI6XHJcbiAgICAgICAgICAgIGNhc2UgXCJnaWZcIjpcclxuICAgICAgICAgICAgY2FzZSBcImpwZ1wiOlxyXG4gICAgICAgICAgICBjYXNlIFwianBlZ1wiOlxyXG4gICAgICAgICAgICBjYXNlIFwianBlXCI6XHJcbiAgICAgICAgICAgIGNhc2UgXCJqZmlmXCI6XHJcbiAgICAgICAgICAgIGNhc2UgXCJwbmdcIjpcclxuICAgICAgICAgICAgY2FzZSBcInRpZlwiOlxyXG4gICAgICAgICAgICBjYXNlIFwidGlmZlwiOlxyXG4gICAgICAgICAgICBjYXNlIFwidGdhXCI6XHJcbiAgICAgICAgICAgIGNhc2UgXCJkZHNcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVHlwZUludGVybmFsLkltYWdlO1xyXG4gICAgICAgICAgICBjYXNlIFwic3dmXCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5Td2Y7XHJcbiAgICAgICAgICAgIGNhc2UgXCJ4bHNcIjpcclxuICAgICAgICAgICAgY2FzZSBcInhsc3hcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVHlwZUludGVybmFsLkV4Y2VsU2hlZXQ7XHJcbiAgICAgICAgICAgIGNhc2UgXCJkb2NcIjpcclxuICAgICAgICAgICAgY2FzZSBcImRvY3hcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVHlwZUludGVybmFsLldvcmREb2N1bWVudDtcclxuICAgICAgICAgICAgY2FzZSBcInBkZlwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpbGVUeXBlSW50ZXJuYWwuUGRmO1xyXG4gICAgICAgICAgICBjYXNlIFwidHh0XCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5UZXh0RmlsZTtcclxuICAgICAgICAgICAgY2FzZSBcImV4ZVwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpbGVUeXBlSW50ZXJuYWwuRXhlY3V0YWJsZTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVHlwZUludGVybmFsLlVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hlY2tzIGlmIGZpbGV0eXBlIG9mIGdpdmVuIGZpbGUgaXMgb2YgdHlwZSBpbWFnZS4gUG9zc2libGUgZmlsZXR5cGVzOiBpbWFnZS9wbmcsIGltYWdlL2JtcCwgaW1hZ2UvanBlZywgZXRjLlxyXG4gICAgcHVibGljIHN0YXRpYyBJc0ltYWdlRmlsZShmaWxlOiBGaWxlIHwgQ29Eb2N1bWVudCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghZmlsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBmaWxlTmFtZTogc3RyaW5nO1xyXG4gICAgICAgIGxldCBtaW1lVHlwZTogc3RyaW5nO1xyXG4gICAgICAgIGlmIChmaWxlIGluc3RhbmNlb2YgQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgICBmaWxlTmFtZSA9IGZpbGUuZmlsZU5hbWU7XHJcbiAgICAgICAgICAgIG1pbWVUeXBlID0gZmlsZS5taW1lVHlwZUludGVybmFsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZpbGVOYW1lID0gZmlsZS5uYW1lO1xyXG4gICAgICAgICAgICBtaW1lVHlwZSA9IGZpbGUudHlwZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG1pbWVUeXBlICE9PSBcIlwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBtaW1lVHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gKEZpbGVVdGlscy5GaWxlTmFtZVRvRmlsZVR5cGVJbnRlcm5hbChmaWxlTmFtZSkgPT09IEZpbGVUeXBlSW50ZXJuYWwuSW1hZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUcnkgdG8gZGV0ZXJtaW5lIHRoZSBmaWxlIHR5cGUgb2YgZ2l2ZW4gZG9jdW1lbnQuIEZpcnN0IGF0dGVtcHQgaXMgYnkgZmlsZXR5cGUsIHNlY29uZCBieSBmaWxlIG5hbWUuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldEdsb2JhbEZpbGVUeXBlKGRvY3VtZW50OiBDb0RvY3VtZW50KTogRmlsZVR5cGVJbnRlcm5hbCB7XHJcbiAgICAgICAgaWYgKCFkb2N1bWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5VbmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkb2N1bWVudC5taW1lVHlwZSAhPT0gXCJcIikge1xyXG4gICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50Lm1pbWVUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiYXBwbGljYXRpb24vcGRmXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZpbGVUeXBlSW50ZXJuYWwuUGRmO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcImFwcGxpY2F0aW9uL21zd29yZFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVHlwZUludGVybmFsLldvcmREb2N1bWVudDtcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJhcHBsaWNhdGlvbi9leGNlbFwiOlxyXG4gICAgICAgICAgICAgICAgY2FzZSBcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbFwiOlxyXG4gICAgICAgICAgICAgICAgY2FzZSBcImFwcGxpY2F0aW9uL3gtZXhjZWxcIjpcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJhcHBsaWNhdGlvbi94LW1zZXhjZWxcIjpcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5FeGNlbFNoZWV0O1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcInRleHQvcGxhaW5cIjpcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJhcHBsaWNhdGlvbi9wbGFpblwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVHlwZUludGVybmFsLlRleHRGaWxlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5VbmRlZmluZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gRmlsZVV0aWxzLkZpbGVOYW1lVG9GaWxlVHlwZUludGVybmFsKGRvY3VtZW50LmZpbGVOYW1lKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hlY2tzIGZpbGVzaXplIG9mIGdpdmVuIGZpbGUgYW5kIHJldHVybnMgZmFsc2UgaWYgc2l6ZSBleGNlZWRzIG1heGltdW0gdXBsb2FkIHNpemUuXHJcbiAgICBwdWJsaWMgc3RhdGljIENoZWNrTWF4VXBsb2FkU2l6ZShmaWxlOiBDb0RvY3VtZW50IHwgRmlsZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGxldCBmaWxlU2l6ZTogbnVtYmVyID0gMDtcclxuICAgICAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIENvRG9jdW1lbnQpIHtcclxuICAgICAgICAgICAgZmlsZVNpemUgPSBOdW1iZXJVdGlscy5QYXJzZUludChmaWxlLmZpbGVTaXplKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmaWxlU2l6ZSA9IGZpbGUuc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIChmaWxlU2l6ZSA8PSBNYXhVcGxvYWRTaXplKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGFzeW5jIENvbnZlcnRGaWxlVG9EYXRhVXJpKGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIGlmIChmaWxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlUmVhZGVyOiBGaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICAgICAgICAgIGZpbGVSZWFkZXIub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoPHN0cmluZz4gZmlsZVJlYWRlci5yZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIGZpbGVSZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgdGhlIGdpdmVuIGRhdGFVcmkgc3RyaW5nIHN0cmlwcGVkIG9mIHRoZSBtaW1ldHlwZSBwYXJ0LlxyXG4gICAgcHVibGljIHN0YXRpYyBTdHJpcE1pbWVTdHJpbmdGcm9tRGF0YVVyaShkYXRhVXJpOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghZGF0YVVyaSkge1xyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IG1pbWVTdHJpbmc6IHN0cmluZyA9IHRoaXMuR2V0TWltZVN0cmluZ0Zyb21EYXRhVXJpKGRhdGFVcmkpO1xyXG4gICAgICAgIHJldHVybiBkYXRhVXJpLnN1YnN0cihtaW1lU3RyaW5nLmxlbmd0aCArIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0TWltZVN0cmluZ0Zyb21EYXRhVXJpKGRhdGFVcmk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCFkYXRhVXJpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGFVcmkuc3BsaXQoJywnKVswXTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb252ZXJ0cyBnaXZlbiBzdHJpbmcgZGF0YSB0byBhbiBBcnJheUJ1ZmZlci5cclxuICAgIHB1YmxpYyBzdGF0aWMgQ29udmVydFN0cmluZ1RvQXJyYXlCdWZmZXIoc3RyaW5nRGF0YTogc3RyaW5nKTogVWludDhBcnJheSB7XHJcbiAgICAgICAgaWYgKCFzdHJpbmdEYXRhKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGFycmF5QnVmZmVyOiBBcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihzdHJpbmdEYXRhLmxlbmd0aCk7XHJcbiAgICAgICAgY29uc3QgYnVmVmlldzogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KGFycmF5QnVmZmVyKTtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IHN0cmluZ0RhdGEubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgYnVmVmlld1tpXSA9IHN0cmluZ0RhdGEuY2hhckNvZGVBdChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGJ1ZlZpZXc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBDb252ZXJ0Qnl0ZUFycmF5VG9TdHJpbmcoYnl0ZUFycmF5OiBudW1iZXJbXSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHN0cjogc3RyaW5nID0gXCJcIjtcclxuICAgICAgICBpZiAoYnl0ZUFycmF5KSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gYnl0ZUFycmF5Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlQXJyYXlbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzdHI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmV0dXJucyB0cnVlIGlmIGdpdmVuIHN0cmluZyBjb250YWlucyBhIGRhdGEtdXJpL2Jhc2U2NC5cclxuICAgIHB1YmxpYyBzdGF0aWMgU3RyaW5nQ29udGFpbnNEYXRhVXJpKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFzdHIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBtaW1lU3RyaW5nOiBzdHJpbmcgPSBzdHIuc3BsaXQoJywnKVswXTtcclxuICAgICAgICByZXR1cm4gbWltZVN0cmluZy5pbmRleE9mKCdiYXNlNjQnKSA+IC0xO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlcmUgaXMgc29tZSBkaXNjcmVwYW5jeSByZWdhcmRpbmcgbG9jYXRpb25zIG9mIGgzZCBvYmplY3RzXHJcbiAgICAgKiBUaGVyZWZvciB3ZSBuZWVkIHRvICh0ZW1wb3JhcmlseT8hKSBmaXggdGhlIGNvbnRlbnQgdXJsXHJcbiAgICAgKiBBbHNvIHdlIG5lZWQgdG8gY2hhbmdlIHNvbWUgYWRkaXRpb25hbHNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBGaXhBc3NldFVybChhc3NldFVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWFzc2V0VXJsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZml4ZWRVcmw6IHN0cmluZztcclxuICAgICAgICBpZiAoYXNzZXRVcmwuaW5kZXhPZignX3dlYnBsYXllcicpID09PSAtMSkge1xyXG4gICAgICAgICAgICBmaXhlZFVybCA9IGFzc2V0VXJsLnJlcGxhY2UoJy51bml0eTNkJywgJ193ZWJwbGF5ZXIuaW9uZTNkJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZml4ZWRVcmwgPSBhc3NldFVybC5yZXBsYWNlKCdfd2VicGxheWVyLnVuaXR5M2QnLCAnX3dlYnBsYXllci5pb25lM2QnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZml4ZWRVcmwgPSBmaXhlZFVybC5yZXBsYWNlKCdjb250ZW50LycsICdjb250ZW50NDMvJyk7XHJcbiAgICAgICAgaWYgKCFmaXhlZFVybC5lbmRzV2l0aCgnLmd6JykpIHtcclxuICAgICAgICAgICAgZml4ZWRVcmwgPSBmaXhlZFVybC5jb25jYXQoJy5neicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZml4ZWRVcmw7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmV0dXJuIHRoZSBtaW1ldHlwZSBvZiB0aGUgZ2l2ZW4gZmlsZW5hbWUuXHJcbiAgICBwdWJsaWMgc3RhdGljIE1pbWVUeXBlRnJvbUZpbGVuYW1lKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHJlZ0V4OiBSZWdFeHAgPSAvKD86XFwuKFteLl0rKSk/JC87IC8vIHJlZ2V4IHRvIGZpbmQgZXh0ZW5zaW9uXHJcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uOiBhbnkgPSByZWdFeC5leGVjKGZpbGVOYW1lKVsxXTtcclxuICAgICAgICBzd2l0Y2ggKGV4dGVuc2lvbikge1xyXG4gICAgICAgICAgICBjYXNlIFwianBnXCI6XHJcbiAgICAgICAgICAgIGNhc2UgXCJqcGVnXCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJpbWFnZS9qcGVnXCI7XHJcbiAgICAgICAgICAgIGNhc2UgXCJwbmdcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBcImltYWdlL3BuZ1wiO1xyXG4gICAgICAgICAgICBjYXNlIFwiYm1wXCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJpbWFnZS9ibXBcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBEb3dubG9hZEZpbGUoXHJcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcclxuICAgICAgICBjb250ZW50OiBzdHJpbmcsXHJcbiAgICAgICAgbWltZVR5cGU6IHN0cmluZyA9IFwidGV4dC9wbGFpblwiXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBlbGVtZW50OiBIVE1MQW5jaG9yRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcImhyZWZcIiwgXCJkYXRhOlwiICsgbWltZVR5cGUgKyBcIjtjaGFyc2V0PXV0Zi04LFwiICsgZW5jb2RlVVJJQ29tcG9uZW50KGNvbnRlbnQpKTtcclxuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsIGZpbGVOYW1lKTtcclxuXHJcbiAgICAgICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTtcclxuXHJcbiAgICAgICAgZWxlbWVudC5jbGljaygpO1xyXG5cclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgdGhlIGNvbnRlbnRzIG9mIGdpdmVuIGZpbGUgYXMgYSB0ZXh0IHN0cmluZy5cclxuICAgIHB1YmxpYyBzdGF0aWMgUmVhZEFzVGV4dChmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZTogRnVuY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcmVhZGVyOiBGaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7XHJcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlID09PSAyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShldmVudC50YXJnZXQucmVzdWx0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFJlYWRGaWxlQXNOZXdDb0RvY3VtZW50KGZpbGU6IEZpbGUpOiBQcm9taXNlPENvRG9jdW1lbnQ+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8Q29Eb2N1bWVudD4oKHJlc29sdmU6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlYWRlcjogRmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG4gICAgICAgICAgICByZWFkZXIub25sb2FkZW5kID0gKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChldmVudC50YXJnZXQucmVhZHlTdGF0ZSA9PT0gMikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvRG9jdW1lbnQ6IENvRG9jdW1lbnQgPSBuZXcgQ29Eb2N1bWVudCgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb0RvY3VtZW50LmZpbGVTaXplID0gZmlsZS5zaXplLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29Eb2N1bWVudC5taW1lVHlwZUludGVybmFsID0gZmlsZS50eXBlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvRG9jdW1lbnQubWltZVR5cGUgPSBmaWxlLnR5cGU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29Eb2N1bWVudC5maWxlTmFtZSA9IGZpbGUubmFtZTtcclxuICAgICAgICAgICAgICAgICAgICBjb0RvY3VtZW50LmRvY3VtZW50VHlwZSA9IENvRG9jdW1lbnRUeXBlLlNhdmVBc0RvY3VtZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvRG9jdW1lbnQuZmlsZVR5cGUgPSBGaWxlVXRpbHMuSXNJbWFnZUZpbGUoZmlsZSkgPyBGaWxlVHlwZS5JbWFnZSA6IEZpbGVUeXBlLkRvY3VtZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvRG9jdW1lbnQuZGVzY3JpcHRpb24gPSBmaWxlLm5hbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29Eb2N1bWVudC5kb2N1bWVudEJvZHkgPSBGaWxlVXRpbHMuU3RyaXBNaW1lU3RyaW5nRnJvbURhdGFVcmkoZXZlbnQudGFyZ2V0LnJlc3VsdCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoY29Eb2N1bWVudCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBHZXRFeHRlbnNpb25Gcm9tRGF0YVVyaShkYXRhVXJpOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGRhdGE6IHN0cmluZyA9IGRhdGFVcmk7XHJcbiAgICAgICAgcmV0dXJuIGRhdGEucmVwbGFjZSgvKGRhdGE6aW1hZ2VcXC8pKC4qPykoO2Jhc2U2NC4qKS9naSwgJyQyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBDcmVhdGVEb3dubG9hZEZpbGVOYW1lRnJvbUJhc2U2NChkYXRhVXJpOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGV4dDogc3RyaW5nID0gdGhpcy5HZXRFeHRlbnNpb25Gcm9tRGF0YVVyaShkYXRhVXJpKTtcclxuICAgICAgICByZXR1cm4gJ3ByZXZpZXcuJyArIGV4dDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIERvd25sb2FkRnJvbURhdGFVcmkoZGF0YVVyaTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbGluazogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XHJcbiAgICAgICAgbGluay5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG4gICAgICAgIGxpbmsuaHJlZiA9IGRhdGFVcmk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgICAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcclxuICAgIH1cclxufVxyXG4iXX0=
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29yZS91dGlscy9maWxlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBRXhFLE1BQU0sYUFBYSxHQUFXLE9BQU8sQ0FBQyxDQUFDLE1BQU07QUFFN0MsV0FBVztBQUNYLE1BQU0sT0FBTyxTQUFTO0lBRWxCLHNDQUFzQztJQUMvQixNQUFNLEtBQUssaUJBQWlCO1FBQy9CLE9BQU8sYUFBYSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxZQUFvQixFQUFFLFFBQWdCO1FBQ3RFLE9BQU8sV0FBVyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxHQUFHLFVBQVUsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5RyxDQUFDO0lBRUQsc0hBQXNIO0lBQy9HLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxRQUFnQjtRQUNyRCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsT0FBTyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7U0FDckM7UUFDRCxNQUFNLFdBQVcsR0FBYSxRQUFRLENBQUMsS0FB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LENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRXBGLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDdkI7WUFDTCxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxNQUFNLENBQUMsdUJBQXVCLENBQUMsT0FBZTtRQUNqRCxNQUFNLElBQUksR0FBVyxPQUFPLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsT0FBZTtRQUMxRCxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsT0FBTyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBZSxFQUFFLFFBQWdCO1FBQy9ELE1BQU0sSUFBSSxHQUFRLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZVR5cGVJbnRlcm5hbCB9IGZyb20gJy4uL2VudW0vZmlsZS10eXBlLWludGVybmFsLmVudW0nO1xyXG5pbXBvcnQgeyBDb0RvY3VtZW50VHlwZSB9IGZyb20gJy4uL2VudW0vY28tZG9jdW1lbnQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgRmlsZVR5cGUgfSBmcm9tICcuLi9lbnVtL2ZpbGUtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgU3RyaW5nVXRpbHMgfSBmcm9tICcuL3N0cmluZy11dGlscyc7XHJcbmltcG9ydCB7IE51bWJlclV0aWxzIH0gZnJvbSAnLi9udW1iZXItdXRpbHMnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50LmJvJztcclxuXHJcbmNvbnN0IE1heFVwbG9hZFNpemU6IG51bWJlciA9IDMxNDU3Mjg7IC8vIDNNYlxyXG5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEZpbGVVdGlscyB7XHJcblxyXG4gICAgLy8gUmV0dXJucyBNYXhVcGxvYWRTaXplIGluIE1lZ2FieXRlcy5cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IE1heFVwbG9hZFNpemVJbk1iKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIE1heFVwbG9hZFNpemUgLyAxMDI0IC8gMTAyNDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIERvY3VtZW50Qm9keVRvRGF0YVVyaShkb2N1bWVudEJvZHk6IHN0cmluZywgbWltZVR5cGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIFN0cmluZ1V0aWxzLklzU3RyaW5nV2l0aExlbmd0aChkb2N1bWVudEJvZHkpID8gXCJkYXRhOlwiICsgbWltZVR5cGUgKyBcIjtiYXNlNjQsXCIgKyBkb2N1bWVudEJvZHkgOiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgdGhlIGZpbGUgdHlwZSBvZiB0aGUgZ2l2ZW4gZmlsZSwgYnkgbG9va2luZyBhdCBpdHMgZXh0ZW5zaW9uLiBSZXR1cm5zIEZpbGVUeXBlLlVuZGVmaW5lZCBpZiBub3QgcmVjb2duaXNlZC5cclxuICAgIHB1YmxpYyBzdGF0aWMgRmlsZU5hbWVUb0ZpbGVUeXBlSW50ZXJuYWwoZmlsZU5hbWU6IHN0cmluZyk6IEZpbGVUeXBlSW50ZXJuYWwge1xyXG4gICAgICAgIGlmICghZmlsZU5hbWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIEZpbGVUeXBlSW50ZXJuYWwuVW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBzdHJpbmdQYXJ0czogc3RyaW5nW10gPSBmaWxlTmFtZS5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uOiBzdHJpbmcgPSBzdHJpbmdQYXJ0c1tzdHJpbmdQYXJ0cy5sZW5ndGggLSAxXTtcclxuICAgICAgICBzd2l0Y2ggKGV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCJwZG5cIjpcclxuICAgICAgICAgICAgY2FzZSBcImJtcFwiOlxyXG4gICAgICAgICAgICBjYXNlIFwiZ2lmXCI6XHJcbiAgICAgICAgICAgIGNhc2UgXCJqcGdcIjpcclxuICAgICAgICAgICAgY2FzZSBcImpwZWdcIjpcclxuICAgICAgICAgICAgY2FzZSBcImpwZVwiOlxyXG4gICAgICAgICAgICBjYXNlIFwiamZpZlwiOlxyXG4gICAgICAgICAgICBjYXNlIFwicG5nXCI6XHJcbiAgICAgICAgICAgIGNhc2UgXCJ0aWZcIjpcclxuICAgICAgICAgICAgY2FzZSBcInRpZmZcIjpcclxuICAgICAgICAgICAgY2FzZSBcInRnYVwiOlxyXG4gICAgICAgICAgICBjYXNlIFwiZGRzXCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5JbWFnZTtcclxuICAgICAgICAgICAgY2FzZSBcInN3ZlwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpbGVUeXBlSW50ZXJuYWwuU3dmO1xyXG4gICAgICAgICAgICBjYXNlIFwieGxzXCI6XHJcbiAgICAgICAgICAgIGNhc2UgXCJ4bHN4XCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5FeGNlbFNoZWV0O1xyXG4gICAgICAgICAgICBjYXNlIFwiZG9jXCI6XHJcbiAgICAgICAgICAgIGNhc2UgXCJkb2N4XCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5Xb3JkRG9jdW1lbnQ7XHJcbiAgICAgICAgICAgIGNhc2UgXCJwZGZcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVHlwZUludGVybmFsLlBkZjtcclxuICAgICAgICAgICAgY2FzZSBcInR4dFwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpbGVUeXBlSW50ZXJuYWwuVGV4dEZpbGU7XHJcbiAgICAgICAgICAgIGNhc2UgXCJleGVcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVHlwZUludGVybmFsLkV4ZWN1dGFibGU7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5VbmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENoZWNrcyBpZiBmaWxldHlwZSBvZiBnaXZlbiBmaWxlIGlzIG9mIHR5cGUgaW1hZ2UuIFBvc3NpYmxlIGZpbGV0eXBlczogaW1hZ2UvcG5nLCBpbWFnZS9ibXAsIGltYWdlL2pwZWcsIGV0Yy5cclxuICAgIHB1YmxpYyBzdGF0aWMgSXNJbWFnZUZpbGUoZmlsZTogRmlsZSB8IENvRG9jdW1lbnQpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIWZpbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZmlsZU5hbWU6IHN0cmluZztcclxuICAgICAgICBsZXQgbWltZVR5cGU6IHN0cmluZztcclxuICAgICAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIENvRG9jdW1lbnQpIHtcclxuICAgICAgICAgICAgZmlsZU5hbWUgPSBmaWxlLmZpbGVOYW1lO1xyXG4gICAgICAgICAgICBtaW1lVHlwZSA9IGZpbGUubWltZVR5cGVJbnRlcm5hbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmaWxlTmFtZSA9IGZpbGUubmFtZTtcclxuICAgICAgICAgICAgbWltZVR5cGUgPSBmaWxlLnR5cGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChtaW1lVHlwZSAhPT0gXCJcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gbWltZVR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIChGaWxlVXRpbHMuRmlsZU5hbWVUb0ZpbGVUeXBlSW50ZXJuYWwoZmlsZU5hbWUpID09PSBGaWxlVHlwZUludGVybmFsLkltYWdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVHJ5IHRvIGRldGVybWluZSB0aGUgZmlsZSB0eXBlIG9mIGdpdmVuIGRvY3VtZW50LiBGaXJzdCBhdHRlbXB0IGlzIGJ5IGZpbGV0eXBlLCBzZWNvbmQgYnkgZmlsZSBuYW1lLlxyXG4gICAgcHVibGljIHN0YXRpYyBHZXRHbG9iYWxGaWxlVHlwZShkb2N1bWVudDogQ29Eb2N1bWVudCk6IEZpbGVUeXBlSW50ZXJuYWwge1xyXG4gICAgICAgIGlmICghZG9jdW1lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIEZpbGVUeXBlSW50ZXJuYWwuVW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZG9jdW1lbnQubWltZVR5cGUgIT09IFwiXCIpIHtcclxuICAgICAgICAgICAgc3dpdGNoIChkb2N1bWVudC5taW1lVHlwZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcImFwcGxpY2F0aW9uL3BkZlwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVHlwZUludGVybmFsLlBkZjtcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJhcHBsaWNhdGlvbi9tc3dvcmRcIjpcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5Xb3JkRG9jdW1lbnQ7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiYXBwbGljYXRpb24vZXhjZWxcIjpcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWxcIjpcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJhcHBsaWNhdGlvbi94LWV4Y2VsXCI6XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiYXBwbGljYXRpb24veC1tc2V4Y2VsXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZpbGVUeXBlSW50ZXJuYWwuRXhjZWxTaGVldDtcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJ0ZXh0L3BsYWluXCI6XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiYXBwbGljYXRpb24vcGxhaW5cIjpcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVR5cGVJbnRlcm5hbC5UZXh0RmlsZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZpbGVUeXBlSW50ZXJuYWwuVW5kZWZpbmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIEZpbGVVdGlscy5GaWxlTmFtZVRvRmlsZVR5cGVJbnRlcm5hbChkb2N1bWVudC5maWxlTmFtZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENoZWNrcyBmaWxlc2l6ZSBvZiBnaXZlbiBmaWxlIGFuZCByZXR1cm5zIGZhbHNlIGlmIHNpemUgZXhjZWVkcyBtYXhpbXVtIHVwbG9hZCBzaXplLlxyXG4gICAgcHVibGljIHN0YXRpYyBDaGVja01heFVwbG9hZFNpemUoZmlsZTogQ29Eb2N1bWVudCB8IEZpbGUpOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgZmlsZVNpemU6IG51bWJlciA9IDA7XHJcbiAgICAgICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBDb0RvY3VtZW50KSB7XHJcbiAgICAgICAgICAgIGZpbGVTaXplID0gTnVtYmVyVXRpbHMuUGFyc2VJbnQoZmlsZS5maWxlU2l6ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZmlsZVNpemUgPSBmaWxlLnNpemU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAoZmlsZVNpemUgPD0gTWF4VXBsb2FkU2l6ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBhc3luYyBDb252ZXJ0RmlsZVRvRGF0YVVyaShmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBpZiAoZmlsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZVJlYWRlcjogRmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgICAgICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKDxzdHJpbmc+IGZpbGVSZWFkZXIucmVzdWx0KTtcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm5zIHRoZSBnaXZlbiBkYXRhVXJpIHN0cmluZyBzdHJpcHBlZCBvZiB0aGUgbWltZXR5cGUgcGFydC5cclxuICAgIHB1YmxpYyBzdGF0aWMgU3RyaXBNaW1lU3RyaW5nRnJvbURhdGFVcmkoZGF0YVVyaTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWRhdGFVcmkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBtaW1lU3RyaW5nOiBzdHJpbmcgPSB0aGlzLkdldE1pbWVTdHJpbmdGcm9tRGF0YVVyaShkYXRhVXJpKTtcclxuICAgICAgICByZXR1cm4gZGF0YVVyaS5zdWJzdHIobWltZVN0cmluZy5sZW5ndGggKyAxKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldE1pbWVTdHJpbmdGcm9tRGF0YVVyaShkYXRhVXJpOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghZGF0YVVyaSkge1xyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRhVXJpLnNwbGl0KCcsJylbMF07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29udmVydHMgZ2l2ZW4gc3RyaW5nIGRhdGEgdG8gYW4gQXJyYXlCdWZmZXIuXHJcbiAgICBwdWJsaWMgc3RhdGljIENvbnZlcnRTdHJpbmdUb0FycmF5QnVmZmVyKHN0cmluZ0RhdGE6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xyXG4gICAgICAgIGlmICghc3RyaW5nRGF0YSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBhcnJheUJ1ZmZlcjogQXJyYXlCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoc3RyaW5nRGF0YS5sZW5ndGgpO1xyXG4gICAgICAgIGNvbnN0IGJ1ZlZpZXc6IFVpbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcik7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSBzdHJpbmdEYXRhLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGJ1ZlZpZXdbaV0gPSBzdHJpbmdEYXRhLmNoYXJDb2RlQXQoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBidWZWaWV3O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgQ29udmVydEJ5dGVBcnJheVRvU3RyaW5nKGJ5dGVBcnJheTogbnVtYmVyW10pOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBzdHI6IHN0cmluZyA9IFwiXCI7XHJcbiAgICAgICAgaWYgKGJ5dGVBcnJheSkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IGJ5dGVBcnJheS5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgc3RyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZUFycmF5W2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBnaXZlbiBzdHJpbmcgY29udGFpbnMgYSBkYXRhLXVyaS9iYXNlNjQuXHJcbiAgICBwdWJsaWMgc3RhdGljIFN0cmluZ0NvbnRhaW5zRGF0YVVyaShzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghc3RyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbWltZVN0cmluZzogc3RyaW5nID0gc3RyLnNwbGl0KCcsJylbMF07XHJcbiAgICAgICAgcmV0dXJuIG1pbWVTdHJpbmcuaW5kZXhPZignYmFzZTY0JykgPiAtMTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZXJlIGlzIHNvbWUgZGlzY3JlcGFuY3kgcmVnYXJkaW5nIGxvY2F0aW9ucyBvZiBoM2Qgb2JqZWN0c1xyXG4gICAgICogVGhlcmVmb3Igd2UgbmVlZCB0byAodGVtcG9yYXJpbHk/ISkgZml4IHRoZSBjb250ZW50IHVybFxyXG4gICAgICogQWxzbyB3ZSBuZWVkIHRvIGNoYW5nZSBzb21lIGFkZGl0aW9uYWxzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgRml4QXNzZXRVcmwoYXNzZXRVcmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCFhc3NldFVybCkge1xyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGZpeGVkVXJsOiBzdHJpbmc7XHJcbiAgICAgICAgaWYgKGFzc2V0VXJsLmluZGV4T2YoJ193ZWJwbGF5ZXInKSA9PT0gLTEpIHtcclxuICAgICAgICAgICAgZml4ZWRVcmwgPSBhc3NldFVybC5yZXBsYWNlKCcudW5pdHkzZCcsICdfd2VicGxheWVyLmlvbmUzZCcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZpeGVkVXJsID0gYXNzZXRVcmwucmVwbGFjZSgnX3dlYnBsYXllci51bml0eTNkJywgJ193ZWJwbGF5ZXIuaW9uZTNkJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpeGVkVXJsID0gZml4ZWRVcmwucmVwbGFjZSgnY29udGVudC8nLCAnY29udGVudDQzLycpO1xyXG4gICAgICAgIGlmICghZml4ZWRVcmwuZW5kc1dpdGgoJy5neicpKSB7XHJcbiAgICAgICAgICAgIGZpeGVkVXJsID0gZml4ZWRVcmwuY29uY2F0KCcuZ3onKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZpeGVkVXJsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybiB0aGUgbWltZXR5cGUgb2YgdGhlIGdpdmVuIGZpbGVuYW1lLlxyXG4gICAgcHVibGljIHN0YXRpYyBNaW1lVHlwZUZyb21GaWxlbmFtZShmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCByZWdFeDogUmVnRXhwID0gLyg/OlxcLihbXi5dKykpPyQvOyAvLyByZWdleCB0byBmaW5kIGV4dGVuc2lvblxyXG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbjogYW55ID0gcmVnRXguZXhlYyhmaWxlTmFtZSlbMV07XHJcbiAgICAgICAgc3dpdGNoIChleHRlbnNpb24pIHtcclxuICAgICAgICAgICAgY2FzZSBcImpwZ1wiOlxyXG4gICAgICAgICAgICBjYXNlIFwianBlZ1wiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiaW1hZ2UvanBlZ1wiO1xyXG4gICAgICAgICAgICBjYXNlIFwicG5nXCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJpbWFnZS9wbmdcIjtcclxuICAgICAgICAgICAgY2FzZSBcImJtcFwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiaW1hZ2UvYm1wXCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgRG93bmxvYWRGaWxlKFxyXG4gICAgICAgIGZpbGVOYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgY29udGVudDogc3RyaW5nLFxyXG4gICAgICAgIG1pbWVUeXBlOiBzdHJpbmcgPSBcInRleHQvcGxhaW5cIlxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudDogSFRNTEFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsIFwiZGF0YTpcIiArIG1pbWVUeXBlICsgXCI7Y2hhcnNldD11dGYtOCxcIiArIGVuY29kZVVSSUNvbXBvbmVudChjb250ZW50KSk7XHJcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkb3dubG9hZFwiLCBmaWxlTmFtZSk7XHJcblxyXG4gICAgICAgIGVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XHJcblxyXG4gICAgICAgIGVsZW1lbnQuY2xpY2soKTtcclxuXHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm5zIHRoZSBjb250ZW50cyBvZiBnaXZlbiBmaWxlIGFzIGEgdGV4dCBzdHJpbmcuXHJcbiAgICBwdWJsaWMgc3RhdGljIFJlYWRBc1RleHQoZmlsZTogRmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmU6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlYWRlcjogRmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUpO1xyXG4gICAgICAgICAgICByZWFkZXIub25sb2FkZW5kID0gKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChldmVudC50YXJnZXQucmVhZHlTdGF0ZSA9PT0gMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZXZlbnQudGFyZ2V0LnJlc3VsdCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBSZWFkRmlsZUFzTmV3Q29Eb2N1bWVudChmaWxlOiBGaWxlKTogUHJvbWlzZTxDb0RvY3VtZW50PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPENvRG9jdW1lbnQ+KChyZXNvbHZlOiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCByZWFkZXI6IEZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9IChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgPT09IDIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb0RvY3VtZW50OiBDb0RvY3VtZW50ID0gbmV3IENvRG9jdW1lbnQoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29Eb2N1bWVudC5maWxlU2l6ZSA9IGZpbGUuc2l6ZS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvRG9jdW1lbnQubWltZVR5cGVJbnRlcm5hbCA9IGZpbGUudHlwZTtcclxuICAgICAgICAgICAgICAgICAgICBjb0RvY3VtZW50Lm1pbWVUeXBlID0gZmlsZS50eXBlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvRG9jdW1lbnQuZmlsZU5hbWUgPSBmaWxlLm5hbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29Eb2N1bWVudC5kb2N1bWVudFR5cGUgPSBDb0RvY3VtZW50VHlwZS5TYXZlQXNEb2N1bWVudDtcclxuICAgICAgICAgICAgICAgICAgICBjb0RvY3VtZW50LmZpbGVUeXBlID0gRmlsZVV0aWxzLklzSW1hZ2VGaWxlKGZpbGUpID8gRmlsZVR5cGUuSW1hZ2UgOiBGaWxlVHlwZS5Eb2N1bWVudDtcclxuICAgICAgICAgICAgICAgICAgICBjb0RvY3VtZW50LmRlc2NyaXB0aW9uID0gZmlsZS5uYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvRG9jdW1lbnQuZG9jdW1lbnRCb2R5ID0gRmlsZVV0aWxzLlN0cmlwTWltZVN0cmluZ0Zyb21EYXRhVXJpKGV2ZW50LnRhcmdldC5yZXN1bHQpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGNvRG9jdW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0RXh0ZW5zaW9uRnJvbURhdGFVcmkoZGF0YVVyaTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBkYXRhOiBzdHJpbmcgPSBkYXRhVXJpO1xyXG4gICAgICAgIHJldHVybiBkYXRhLnJlcGxhY2UoLyhkYXRhOmltYWdlXFwvKSguKj8pKDtiYXNlNjQuKikvZ2ksICckMicpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgQ3JlYXRlRG93bmxvYWRGaWxlTmFtZUZyb21CYXNlNjQoZGF0YVVyaTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBleHQ6IHN0cmluZyA9IHRoaXMuR2V0RXh0ZW5zaW9uRnJvbURhdGFVcmkoZGF0YVVyaSk7XHJcbiAgICAgICAgcmV0dXJuICdwcmV2aWV3LicgKyBleHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBEb3dubG9hZEZyb21EYXRhVXJpKGRhdGFVcmk6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGxpbms6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgICAgICBsaW5rLmhyZWYgPSBkYXRhVXJpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICAgICAgbGluay5jbGljaygpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -13,6 +13,7 @@ import { CSS3DObject, CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRe
13
13
  import * as TWEEN from '@tweenjs/tween.js';
14
14
  import 'hammerjs';
15
15
  import { DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';
16
+ import { CoDocument } from '@colijnit/mainapi/build/model/co-document.bo';
16
17
  import * as i1 from '@angular/cdk/overlay';
17
18
  import { OverlayConfig, Overlay } from '@angular/cdk/overlay';
18
19
  import { ComponentPortal } from '@angular/cdk/portal';
@@ -8093,146 +8094,6 @@ var FileTypeInternal;
8093
8094
  FileTypeInternal[FileTypeInternal["Undefined"] = 8] = "Undefined";
8094
8095
  })(FileTypeInternal || (FileTypeInternal = {}));
8095
8096
 
8096
- // DOM_BESTANDSSOORT
8097
- var FileType;
8098
- (function (FileType) {
8099
- // DOC: Document
8100
- FileType["Document"] = "DOC";
8101
- // IMG: Afbeelding
8102
- FileType["Image"] = "IMG";
8103
- // SDWEB: Digitale handtekening
8104
- FileType["DigitalSignature"] = "SDWEB";
8105
- })(FileType || (FileType = {}));
8106
-
8107
- var CoDocumentImageDisplayKind;
8108
- (function (CoDocumentImageDisplayKind) {
8109
- CoDocumentImageDisplayKind["NormalImage"] = "N";
8110
- CoDocumentImageDisplayKind["LayeredImage"] = "L";
8111
- CoDocumentImageDisplayKind["Avatar"] = "A";
8112
- })(CoDocumentImageDisplayKind || (CoDocumentImageDisplayKind = {}));
8113
-
8114
- var ObjectRightType;
8115
- (function (ObjectRightType) {
8116
- ObjectRightType[ObjectRightType["NoAccess"] = 0] = "NoAccess";
8117
- ObjectRightType[ObjectRightType["ReadOnly"] = 1] = "ReadOnly";
8118
- ObjectRightType[ObjectRightType["ReadWrite"] = 2] = "ReadWrite";
8119
- })(ObjectRightType || (ObjectRightType = {}));
8120
-
8121
- // See DocumentDTO.
8122
- class CoDocument {
8123
- constructor() {
8124
- // @ComplexArray(CoDocumentRight)
8125
- this.rights = [];
8126
- this.retailFormulas = [];
8127
- //
8128
- // @NoDbField()
8129
- // @ComplexField(Subject)
8130
- this.documentBodyChange = new Subject();
8131
- }
8132
- set documentId(value) {
8133
- this._documentId = value;
8134
- // this._idObject.docId = value;
8135
- }
8136
- get documentId() {
8137
- return this._documentId;
8138
- }
8139
- set documentBody(documentBody) {
8140
- const prev = this._documentBody;
8141
- this._documentBody = documentBody;
8142
- if (prev !== this._documentBody) {
8143
- this.documentBodyChange.next(this._documentBody);
8144
- }
8145
- }
8146
- get documentBody() {
8147
- return this._documentBody;
8148
- }
8149
- // @NoDbField()
8150
- // public idForLink: number;
8151
- // The internal file type of this document (the MimeType iOneJS uses internally)
8152
- get fileTypeInternal() {
8153
- if (!this._fileTypeInternal) {
8154
- const fileType = FileUtils.FileNameToFileTypeInternal(this.fileName);
8155
- if (fileType) {
8156
- this._fileTypeInternal = fileType;
8157
- }
8158
- }
8159
- return this._fileTypeInternal;
8160
- }
8161
- /**
8162
- * The mimetype of this document: uses database-fetched this.mimeType, or calculates / guesses the mime type of the document
8163
- * if that was not set.
8164
- */
8165
- get mimeTypeInternal() {
8166
- if (this._mimeTypeInternal) {
8167
- return this._mimeTypeInternal;
8168
- }
8169
- else {
8170
- this._initMimetypeInternal();
8171
- return this._mimeTypeInternal;
8172
- }
8173
- }
8174
- set mimeTypeInternal(value) {
8175
- this._mimeTypeInternal = value;
8176
- }
8177
- // Gives either the document-(prio) or the thumbnail body. Or undefined if not exist.
8178
- get bodyAsDataUri() {
8179
- if (this._documentBody) {
8180
- return this.documentBodyAsDataUri;
8181
- }
8182
- else if (this.thumbnailBody) {
8183
- return this.thumbnailBodyAsDataUri;
8184
- }
8185
- }
8186
- // The body of this document as a data uri. The data uri also contains the mimetype in its string, and the fact that it's base64.
8187
- get documentBodyAsDataUri() {
8188
- try {
8189
- return FileUtils.DocumentBodyToDataUri(this.documentBody, this.mimeTypeInternal);
8190
- }
8191
- catch (error) {
8192
- return "";
8193
- }
8194
- }
8195
- // The Thumbnailbody of this document as a data uri. The data uri also contains the mimetype in its string, and the fact that it's base64.
8196
- get thumbnailBodyAsDataUri() {
8197
- try {
8198
- return FileUtils.DocumentBodyToDataUri(this.thumbnailBody, this.mimeTypeInternal);
8199
- }
8200
- catch (error) {
8201
- return "";
8202
- }
8203
- }
8204
- get isAvatar() {
8205
- return this.imageDisplayKind === CoDocumentImageDisplayKind.Avatar;
8206
- }
8207
- //
8208
- // @NoDbField()
8209
- // private _idObject: any = {};
8210
- get readonly() {
8211
- return this.rightLevel === ObjectRightType.ReadOnly;
8212
- }
8213
- getId() {
8214
- return this.documentId;
8215
- }
8216
- // Returns whether this is an image document or not.
8217
- isImageDocument() {
8218
- return (this.fileTypeInternal === FileTypeInternal.Image);
8219
- }
8220
- // @BoSerializerStep()
8221
- preventOverridingThumbnailToEmpty() {
8222
- if (!this.thumbnailBody) {
8223
- this.thumbnailBody = this._documentBody;
8224
- }
8225
- }
8226
- // POSTCONDITION: this._mimeTypeInternal contains, to our best abilities, the true mimeType of this document, a-la "image/jpg"
8227
- _initMimetypeInternal() {
8228
- // if no fileType, default to FileType.Image for internal mimetype initialization
8229
- if ((this.fileType === FileType.Image || !this.fileType) && this.fileName) {
8230
- const fileExtension = this.fileName.substr(this.fileName.lastIndexOf(".") + 1);
8231
- this._mimeTypeInternal = "image/" + fileExtension;
8232
- }
8233
- }
8234
- }
8235
-
8236
8097
  // for refcode CV_DOCUMENTATIE.DOC_TYPE
8237
8098
  var CoDocumentType;
8238
8099
  (function (CoDocumentType) {
@@ -8244,6 +8105,17 @@ var CoDocumentType;
8244
8105
  CoDocumentType["SaveAsLinkOnDefaultLocation"] = "LW";
8245
8106
  })(CoDocumentType || (CoDocumentType = {}));
8246
8107
 
8108
+ // DOM_BESTANDSSOORT
8109
+ var FileType;
8110
+ (function (FileType) {
8111
+ // DOC: Document
8112
+ FileType["Document"] = "DOC";
8113
+ // IMG: Afbeelding
8114
+ FileType["Image"] = "IMG";
8115
+ // SDWEB: Digitale handtekening
8116
+ FileType["DigitalSignature"] = "SDWEB";
8117
+ })(FileType || (FileType = {}));
8118
+
8247
8119
  const MaxUploadSize = 3145728; // 3Mb
8248
8120
  // @dynamic
8249
8121
  class FileUtils {