@edugouvfr/ngx-dsfr-ext
Version:
NgxDsfrExt est une extension au package @edugouvfr/ngx-dsfr (portage Angular des éléments DSFR)
200 lines • 27 kB
JavaScript
import { Pipe } from '@angular/core';
import { FileSizeUnitEnum } from './file-size-unit.model';
import * as i0 from "@angular/core";
export class FileDetailsPipe {
constructor() {
this.kiloOctets = 1024;
this.megaOctets = this.kiloOctets * 1024;
this.gigaOctets = this.megaOctets * 1024;
this.fileSizeUnit = FileSizeUnitEnum;
}
transform(value, sizeUnit) {
return this.convertMimeType2FileFormat(value.type) + ' - ' + this.fileSizeToString(value.size, sizeUnit);
}
convertMimeType2FileFormat(mineType) {
return mimeType2FileFormat[mineType];
}
fileSizeToString(bytes, sizeUnit) {
if (!bytes)
return '';
const bytesUnit = sizeUnit === 'bytes';
let fileSize;
let fileSizeUnit;
if (bytes < this.kiloOctets) {
fileSize = bytes;
fileSizeUnit = bytesUnit ? this.fileSizeUnit.BYTES : this.fileSizeUnit.OCTETS;
}
else if (bytes < this.megaOctets) {
fileSize = bytes / 1024;
fileSizeUnit = bytesUnit ? this.fileSizeUnit.KB : this.fileSizeUnit.KO;
}
else if (bytes < this.gigaOctets) {
fileSize = bytes / 1048576;
fileSizeUnit = bytesUnit ? this.fileSizeUnit.MB : this.fileSizeUnit.MO;
}
else {
fileSize = bytes / 1073741824;
fileSizeUnit = bytesUnit ? this.fileSizeUnit.GB : this.fileSizeUnit.GO;
}
fileSize = Math.round(fileSize * 100) / 100;
// since 1.8, les options régionales sont prise en compte pour les décimales
//FIXME: ne devrait-ton pas transmettre la locale depuis l'extérieur de manière à pouvoir la transmettre depuis i18nService ?
const localSize = fileSize.toLocaleString();
return localSize + ' ' + fileSizeUnit;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileDetailsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FileDetailsPipe, isStandalone: true, name: "fileDetails" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileDetailsPipe, decorators: [{
type: Pipe,
args: [{
name: 'fileDetails',
standalone: true,
}]
}] });
export var DsfrMimeTypeConst;
(function (DsfrMimeTypeConst) {
// TEXT
DsfrMimeTypeConst["TEXT_CSS"] = "text/css";
DsfrMimeTypeConst["TEXT_CSV"] = "text/csv";
DsfrMimeTypeConst["TEXT_HTML"] = "text/html";
DsfrMimeTypeConst["TEXT_CALENDAR"] = "text/calendar";
DsfrMimeTypeConst["TEXT_PLAIN"] = "text/plain";
DsfrMimeTypeConst["TEXT_XML"] = "text/xml";
// FONT
DsfrMimeTypeConst["FONT_OTF"] = "font/otf";
DsfrMimeTypeConst["FONT_TTF"] = "font/ttf";
DsfrMimeTypeConst["FONT_WOFF"] = "font/woff";
DsfrMimeTypeConst["FONT_WOFF2"] = "font/woff2";
// IMAGE
DsfrMimeTypeConst["IMAGE_BMP"] = "image/bmp";
DsfrMimeTypeConst["IMAGE_GIF"] = "image/gif";
DsfrMimeTypeConst["IMAGE_ICON"] = "image/x-icon";
DsfrMimeTypeConst["IMAGE_JPEG"] = "image/jpeg";
DsfrMimeTypeConst["IMAGE_PNG"] = "image/png";
DsfrMimeTypeConst["IMAGE_SVG"] = "image/svg+xml";
DsfrMimeTypeConst["IMAGE_TIFF"] = "image/tiff";
DsfrMimeTypeConst["IMAGE_WEBP"] = "image/webp";
// AUDIO
DsfrMimeTypeConst["AUDIO_3GPP"] = "audio/3gpp";
DsfrMimeTypeConst["AUDIO_3GPP2"] = "audio/3gpp2";
DsfrMimeTypeConst["AUDIO_ACC"] = "audio/aac";
DsfrMimeTypeConst["AUDIO_OGG"] = "audio/ogg";
DsfrMimeTypeConst["AUDIO_MIDI"] = "audio/midi";
DsfrMimeTypeConst["AUDIO_WAV"] = "audio/x-wav";
DsfrMimeTypeConst["AUDIO_WEBM"] = "audio/webm";
// VIDEO
DsfrMimeTypeConst["VIDEO_3GPP"] = "video/3gpp";
DsfrMimeTypeConst["VIDEO_3GPP2"] = "video/3gpp2";
DsfrMimeTypeConst["VIDEO_MPEG"] = "video/mpeg";
DsfrMimeTypeConst["VIDEO_OGG"] = "video/ogg";
DsfrMimeTypeConst["VIDEO_WEBM"] = "video/webm";
// APPLICATION
DsfrMimeTypeConst["APPLICATION_ABIWORD"] = "application/x-abiword";
DsfrMimeTypeConst["APPLICATION_CSH"] = "application/x-csh";
DsfrMimeTypeConst["APPLICATION_EPUB"] = "application/epub+zip";
DsfrMimeTypeConst["APPLICATION_FLASH"] = "application/x-shockwave-flash";
DsfrMimeTypeConst["APPLICATION_FORM_URLENCODED"] = "application/x-www-form-urlencoded";
DsfrMimeTypeConst["APPLICATION_JAVASCRIPT"] = "application/javascript";
DsfrMimeTypeConst["APPLICATION_JSON"] = "application/json";
DsfrMimeTypeConst["APPLICATION_OCTET_STREAM"] = "application/octet-stream";
DsfrMimeTypeConst["APPLICATION_OGG"] = "application/ogg";
DsfrMimeTypeConst["APPLICATION_PDF"] = "application/pdf";
DsfrMimeTypeConst["APPLICATION_RTF"] = "application/rtf";
DsfrMimeTypeConst["APPLICATION_TYPESCRIPT"] = "application/typescript";
DsfrMimeTypeConst["APPLICATION_XML"] = "application/xml";
DsfrMimeTypeConst["APPLICATION_XML_ATOM"] = "application/atom+xml";
DsfrMimeTypeConst["APPLICATION_XML_SVG"] = "application/svg+xml";
DsfrMimeTypeConst["APPLICATION_XML_XHTML"] = "application/xhtml+xml";
DsfrMimeTypeConst["APPLICATION_XML_XUL"] = "application/vnd.mozilla.xul+xml";
// ARCHIVE
DsfrMimeTypeConst["ARCHIVE_7Z_COMPRESSED"] = "application/x-7z-compressed";
DsfrMimeTypeConst["ARCHIVE_BZIP"] = "application/x-bzip";
DsfrMimeTypeConst["ARCHIVE_BZIP2"] = "application/x-bzip2";
DsfrMimeTypeConst["ARCHIVE_JAVA"] = "application/java-archive";
DsfrMimeTypeConst["ARCHIVE_GZIP"] = "application/gzip";
DsfrMimeTypeConst["ARCHIVE_RAR_COMPRESSED"] = "application/x-rar-compressed";
DsfrMimeTypeConst["ARCHIVE_TAR"] = "application/x-tar";
DsfrMimeTypeConst["ARCHIVE_RAR"] = "application/vnd.rar";
DsfrMimeTypeConst["ARCHIVE_ZIP"] = "application/zip";
DsfrMimeTypeConst["ARCHIVE_ZIP_COMPRESSED"] = "application/x-zip-compressed";
// MICROSOFT
DsfrMimeTypeConst["MS_FONT_OBJECT"] = "application/vnd.ms-fontobject";
DsfrMimeTypeConst["MS_EXCEL"] = "application/vnd.ms-excel";
DsfrMimeTypeConst["MS_EXCEL_XML"] = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
DsfrMimeTypeConst["MS_POWERPOINT"] = "application/vnd.ms-powerpoint";
DsfrMimeTypeConst["MS_POWERPOINT_XML"] = "application/vnd.openxmlformats-officedocument.presentationml.presentation";
DsfrMimeTypeConst["MS_VIDEO"] = "video/x-msvideo";
DsfrMimeTypeConst["MS_VISIO"] = "application/vnd.visio";
DsfrMimeTypeConst["MS_WORD"] = "application/msword";
DsfrMimeTypeConst["MS_WORD_XML"] = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
// Autres
DsfrMimeTypeConst["MULTIPART_FORM_DATA"] = "multipart/form-data";
DsfrMimeTypeConst["SCRIPT_SHELL"] = "application/x-sh";
DsfrMimeTypeConst["OPEN_PRESENTATION"] = "application/vnd.oasis.opendocument.presentation";
DsfrMimeTypeConst["OPEN_SPREADSHEET"] = "application/vnd.oasis.opendocument.spreadsheet";
DsfrMimeTypeConst["OPEN_TEXT"] = "application/vnd.oasis.opendocument.text";
})(DsfrMimeTypeConst || (DsfrMimeTypeConst = {}));
var FileFormat;
(function (FileFormat) {
FileFormat["XLS"] = "XLS";
FileFormat["XLSX"] = "XLSX";
FileFormat["PPT"] = "PPT";
FileFormat["PPTX"] = "PPTX";
FileFormat["DOC"] = "DOC";
FileFormat["DOCX"] = "DOCX";
FileFormat["ODS"] = "ODS";
FileFormat["ODP"] = "ODP";
FileFormat["ODT"] = "ODT";
FileFormat["XML"] = "XML";
FileFormat["JPG"] = "JPG";
FileFormat["PNG"] = "PNG";
FileFormat["PDF"] = "PDF";
FileFormat["CSV"] = "CSV";
FileFormat["HTML"] = "HTML";
FileFormat["SVG"] = "SVG";
FileFormat["TXT"] = "TXT";
FileFormat["ZIP"] = "ZIP";
FileFormat["SEVEN_ZIP"] = "7Z";
FileFormat["RAR"] = "RAR";
FileFormat["XHTML"] = "XHTML";
FileFormat["BMP"] = "BMP";
FileFormat["GIF"] = "GIF";
FileFormat["TIF"] = "TIF";
FileFormat["RTF"] = "RTF";
FileFormat["GZIP"] = "GZIP";
FileFormat["TAR"] = "TAR";
})(FileFormat || (FileFormat = {}));
const mimeType2FileFormat = {
[DsfrMimeTypeConst.APPLICATION_PDF]: FileFormat.PDF,
[DsfrMimeTypeConst.APPLICATION_RTF]: FileFormat.RTF,
[DsfrMimeTypeConst.APPLICATION_XML]: FileFormat.XML,
[DsfrMimeTypeConst.APPLICATION_XML_ATOM]: FileFormat.XML,
[DsfrMimeTypeConst.APPLICATION_XML_XHTML]: FileFormat.XHTML,
[DsfrMimeTypeConst.ARCHIVE_7Z_COMPRESSED]: FileFormat.SEVEN_ZIP,
[DsfrMimeTypeConst.ARCHIVE_GZIP]: FileFormat.GZIP,
[DsfrMimeTypeConst.ARCHIVE_RAR]: FileFormat.RAR,
[DsfrMimeTypeConst.ARCHIVE_TAR]: FileFormat.TAR,
[DsfrMimeTypeConst.ARCHIVE_ZIP]: FileFormat.ZIP,
[DsfrMimeTypeConst.ARCHIVE_ZIP_COMPRESSED]: FileFormat.ZIP,
[DsfrMimeTypeConst.IMAGE_BMP]: FileFormat.BMP,
[DsfrMimeTypeConst.IMAGE_GIF]: FileFormat.GIF,
[DsfrMimeTypeConst.IMAGE_JPEG]: FileFormat.JPG,
[DsfrMimeTypeConst.IMAGE_PNG]: FileFormat.PNG,
[DsfrMimeTypeConst.IMAGE_SVG]: FileFormat.SVG,
[DsfrMimeTypeConst.IMAGE_TIFF]: FileFormat.TIF,
[DsfrMimeTypeConst.MS_EXCEL]: FileFormat.XLS,
[DsfrMimeTypeConst.MS_EXCEL_XML]: FileFormat.XLSX,
[DsfrMimeTypeConst.MS_POWERPOINT]: FileFormat.PPT,
[DsfrMimeTypeConst.MS_POWERPOINT_XML]: FileFormat.PPTX,
[DsfrMimeTypeConst.MS_WORD]: FileFormat.DOC,
[DsfrMimeTypeConst.MS_WORD_XML]: FileFormat.DOCX,
[DsfrMimeTypeConst.OPEN_PRESENTATION]: FileFormat.ODP,
[DsfrMimeTypeConst.OPEN_SPREADSHEET]: FileFormat.ODS,
[DsfrMimeTypeConst.OPEN_TEXT]: FileFormat.ODT,
[DsfrMimeTypeConst.TEXT_CSV]: FileFormat.CSV,
[DsfrMimeTypeConst.TEXT_HTML]: FileFormat.HTML,
[DsfrMimeTypeConst.TEXT_PLAIN]: FileFormat.TXT,
[DsfrMimeTypeConst.TEXT_XML]: FileFormat.XML,
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kZXRhaWxzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHNmci1leHQvc3JjL2xpYi91cGxvYWQtZG5kL2ZpbGUtZGV0YWlscy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU0xRCxNQUFNLE9BQU8sZUFBZTtJQUo1QjtRQUtFLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsZUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNwQyxpQkFBWSxHQUFHLGdCQUFnQixDQUFDO0tBdUNqQztJQXJDQyxTQUFTLENBQUMsS0FBVyxFQUFFLFFBQTBCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVPLDBCQUEwQixDQUFDLFFBQWdCO1FBQ2pELE9BQU8sbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWEsRUFBRSxRQUEyQjtRQUNqRSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLE1BQU0sU0FBUyxHQUFHLFFBQVEsS0FBSyxPQUFPLENBQUM7UUFFdkMsSUFBSSxRQUFnQixDQUFDO1FBQ3JCLElBQUksWUFBb0IsQ0FBQztRQUV6QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFH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QUFFLFVBQVUsQ0FBQyxHQUFHO0lBQzlDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsVUFBVSxDQUFDLEdBQUc7Q0FDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERzZnJGaWxlU2l6ZVVuaXQgfSBmcm9tICdAZWR1Z291dmZyL25neC1kc2ZyJztcbmltcG9ydCB7IEZpbGVTaXplVW5pdEVudW0gfSBmcm9tICcuL2ZpbGUtc2l6ZS11bml0Lm1vZGVsJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZmlsZURldGFpbHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRGV0YWlsc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAga2lsb09jdGV0cyA9IDEwMjQ7XG4gIG1lZ2FPY3RldHMgPSB0aGlzLmtpbG9PY3RldHMgKiAxMDI0O1xuICBnaWdhT2N0ZXRzID0gdGhpcy5tZWdhT2N0ZXRzICogMTAyNDtcbiAgZmlsZVNpemVVbml0ID0gRmlsZVNpemVVbml0RW51bTtcblxuICB0cmFuc2Zvcm0odmFsdWU6IEZpbGUsIHNpemVVbml0OiBEc2ZyRmlsZVNpemVVbml0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb252ZXJ0TWltZVR5cGUyRmlsZUZvcm1hdCh2YWx1ZS50eXBlKSArICcgLSAnICsgdGhpcy5maWxlU2l6ZVRvU3RyaW5nKHZhbHVlLnNpemUsIHNpemVVbml0KTtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydE1pbWVUeXBlMkZpbGVGb3JtYXQobWluZVR5cGU6IHN0cmluZyk6IEZpbGVGb3JtYXQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBtaW1lVHlwZTJGaWxlRm9ybWF0W21pbmVUeXBlXTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsZVNpemVUb1N0cmluZyhieXRlczogbnVtYmVyLCBzaXplVW5pdD86IERzZnJGaWxlU2l6ZVVuaXQpOiBzdHJpbmcge1xuICAgIGlmICghYnl0ZXMpIHJldHVybiAnJztcblxuICAgIGNvbnN0IGJ5dGVzVW5pdCA9IHNpemVVbml0ID09PSAnYnl0ZXMnO1xuXG4gICAgbGV0IGZpbGVTaXplOiBudW1iZXI7XG4gICAgbGV0IGZpbGVTaXplVW5pdDogc3RyaW5nO1xuXG4gICAgaWYgKGJ5dGVzIDwgdGhpcy5raWxvT2N0ZXRzKSB7XG4gICAgICBmaWxlU2l6ZSA9IGJ5dGVzO1xuICAgICAgZmlsZVNpemVVbml0ID0gYnl0ZXNVbml0ID8gdGhpcy5maWxlU2l6ZVVuaXQuQllURVMgOiB0aGlzLmZpbGVTaXplVW5pdC5PQ1RFVFM7XG4gICAgfSBlbHNlIGlmIChieXRlcyA8IHRoaXMubWVnYU9jdGV0cykge1xuICAgICAgZmlsZVNpemUgPSBieXRlcyAvIDEwMjQ7XG4gICAgICBmaWxlU2l6ZVVuaXQgPSBieXRlc1VuaXQgPyB0aGlzLmZpbGVTaXplVW5pdC5LQiA6IHRoaXMuZmlsZVNpemVVbml0LktPO1xuICAgIH0gZWxzZSBpZiAoYnl0ZXMgPCB0aGlzLmdpZ2FPY3RldHMpIHtcbiAgICAgIGZpbGVTaXplID0gYnl0ZXMgLyAxMDQ4NTc2O1xuICAgICAgZmlsZVNpemVVbml0ID0gYnl0ZXNVbml0ID8gdGhpcy5maWxlU2l6ZVVuaXQuTUIgOiB0aGlzLmZpbGVTaXplVW5pdC5NTztcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZVNpemUgPSBieXRlcyAvIDEwNzM3NDE4MjQ7XG4gICAgICBmaWxlU2l6ZVVuaXQgPSBieXRlc1VuaXQgPyB0aGlzLmZpbGVTaXplVW5pdC5HQiA6IHRoaXMuZmlsZVNpemVVbml0LkdPO1xuICAgIH1cblxuICAgIGZpbGVTaXplID0gTWF0aC5yb3VuZChmaWxlU2l6ZSAqIDEwMCkgLyAxMDA7XG5cbiAgICAvLyBzaW5jZSAxLjgsIGxlcyBvcHRpb25zIHLDqWdpb25hbGVzIHNvbnQgcHJpc2UgZW4gY29tcHRlIHBvdXIgbGVzIGTDqWNpbWFsZXNcbiAgICAvL0ZJWE1FOiBuZSBkZXZyYWl0LXRvbiBwYXMgdHJhbnNtZXR0cmUgbGEgbG9jYWxlIGRlcHVpcyBsJ2V4dMOpcmlldXIgZGUgbWFuacOocmUgw6AgcG91dm9pciBsYSB0cmFuc21ldHRyZSBkZXB1aXMgaTE4blNlcnZpY2UgP1xuICAgIGNvbnN0IGxvY2FsU2l6ZSA9IGZpbGVTaXplLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgcmV0dXJuIGxvY2FsU2l6ZSArICcgJyArIGZpbGVTaXplVW5pdDtcbiAgfVxufVxuXG5leHBvcnQgZW51bSBEc2ZyTWltZVR5cGVDb25zdCB7XG4gIC8vIFRFWFRcbiAgVEVYVF9DU1MgPSAndGV4dC9jc3MnLFxuICBURVhUX0NTViA9ICd0ZXh0L2NzdicsXG4gIFRFWFRfSFRNTCA9ICd0ZXh0L2h0bWwnLFxuICBURVhUX0NBTEVOREFSID0gJ3RleHQvY2FsZW5kYXInLFxuICBURVhUX1BMQUlOID0gJ3RleHQvcGxhaW4nLFxuICBURVhUX1hNTCA9ICd0ZXh0L3htbCcsXG5cbiAgLy8gRk9OVFxuICBGT05UX09URiA9ICdmb250L290ZicsXG4gIEZPTlRfVFRGID0gJ2ZvbnQvdHRmJyxcbiAgRk9OVF9XT0ZGID0gJ2ZvbnQvd29mZicsXG4gIEZPTlRfV09GRjIgPSAnZm9udC93b2ZmMicsXG5cbiAgLy8gSU1BR0VcbiAgSU1BR0VfQk1QID0gJ2ltYWdlL2JtcCcsXG4gIElNQUdFX0dJRiA9ICdpbWFnZS9naWYnLFxuICBJTUFHRV9JQ09OID0gJ2ltYWdlL3gtaWNvbicsXG4gIElNQUdFX0pQRUcgPSAnaW1hZ2UvanBlZycsXG4gIElNQUdFX1BORyA9ICdpbWFnZS9wbmcnLFxuICBJTUFHRV9TVkcgPSAnaW1hZ2Uvc3ZnK3htbCcsXG4gIElNQUdFX1RJRkYgPSAnaW1hZ2UvdGlmZicsXG4gIElNQUdFX1dFQlAgPSAnaW1hZ2Uvd2VicCcsXG5cbiAgLy8gQVVESU9cbiAgQVVESU9fM0dQUCA9ICdhdWRpby8zZ3BwJyxcbiAgQVVESU9fM0dQUDIgPSAnYXVkaW8vM2dwcDInLFxuICBBVURJT19BQ0MgPSAnYXVkaW8vYWFjJyxcbiAgQVVESU9fT0dHID0gJ2F1ZGlvL29nZycsXG4gIEFVRElPX01JREkgPSAnYXVkaW8vbWlkaScsXG4gIEFVRElPX1dBViA9ICdhdWRpby94LXdhdicsXG4gIEFVRElPX1dFQk0gPSAnYXVkaW8vd2VibScsXG5cbiAgLy8gVklERU9cbiAgVklERU9fM0dQUCA9ICd2aWRlby8zZ3BwJyxcbiAgVklERU9fM0dQUDIgPSAndmlkZW8vM2dwcDInLFxuICBWSURFT19NUEVHID0gJ3ZpZGVvL21wZWcnLFxuICBWSURFT19PR0cgPSAndmlkZW8vb2dnJyxcbiAgVklERU9fV0VCTSA9ICd2aWRlby93ZWJtJyxcblxuICAvLyBBUFBMSUNBVElPTlxuICBBUFBMSUNBVElPTl9BQklXT1JEID0gJ2FwcGxpY2F0aW9uL3gtYWJpd29yZCcsXG4gIEFQUExJQ0FUSU9OX0NTSCA9ICdhcHBsaWNhdGlvbi94LWNzaCcsXG4gIEFQUExJQ0FUSU9OX0VQVUIgPSAnYXBwbGljYXRpb24vZXB1Yit6aXAnLFxuICBBUFBMSUNBVElPTl9GTEFTSCA9ICdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcsXG4gIEFQUExJQ0FUSU9OX0ZPUk1fVVJMRU5DT0RFRCA9ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxuICBBUFBMSUNBVElPTl9KQVZBU0NSSVBUID0gJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnLFxuICBBUFBMSUNBVElPTl9KU09OID0gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICBBUFBMSUNBVElPTl9PQ1RFVF9TVFJFQU0gPSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyxcbiAgQVBQTElDQVRJT05fT0dHID0gJ2FwcGxpY2F0aW9uL29nZycsXG4gIEFQUExJQ0FUSU9OX1BERiA9ICdhcHBsaWNhdGlvbi9wZGYnLFxuICBBUFBMSUNBVElPTl9SVEYgPSAnYXBwbGljYXRpb24vcnRmJyxcbiAgQVBQTElDQVRJT05fVFlQRVNDUklQVCA9ICdhcHBsaWNhdGlvbi90eXBlc2NyaXB0JyxcbiAgQVBQTElDQVRJT05fWE1MID0gJ2FwcGxpY2F0aW9uL3htbCcsXG4gIEFQUExJQ0FUSU9OX1hNTF9BVE9NID0gJ2FwcGxpY2F0aW9uL2F0b20reG1sJyxcbiAgQVBQTElDQVRJT05fWE1MX1NWRyA9ICdhcHBsaWNhdGlvbi9zdmcreG1sJyxcbiAgQVBQTElDQVRJT05fWE1MX1hIVE1MID0gJ2FwcGxpY2F0aW9uL3hodG1sK3htbCcsXG4gIEFQUExJQ0FUSU9OX1hNTF9YVUwgPSAnYXBwbGljYXRpb24vdm5kLm1vemlsbGEueHVsK3htbCcsXG5cbiAgLy8gQVJDSElWRVxuICBBUkNISVZFXzdaX0NPTVBSRVNTRUQgPSAnYXBwbGljYXRpb24veC03ei1jb21wcmVzc2VkJyxcbiAgQVJDSElWRV9CWklQID0gJ2FwcGxpY2F0aW9uL3gtYnppcCcsXG4gIEFSQ0hJVkVfQlpJUDIgPSAnYXBwbGljYXRpb24veC1iemlwMicsXG4gIEFSQ0hJVkVfSkFWQSA9ICdhcHBsaWNhdGlvbi9qYXZhLWFyY2hpdmUnLFxuICBBUkNISVZFX0daSVAgPSAnYXBwbGljYXRpb24vZ3ppcCcsXG4gIEFSQ0hJVkVfUkFSX0NPTVBSRVNTRUQgPSAnYXBwbGljYXRpb24veC1yYXItY29tcHJlc3NlZCcsXG4gIEFSQ0hJVkVfVEFSID0gJ2FwcGxpY2F0aW9uL3gtdGFyJyxcbiAgQVJDSElWRV9SQVIgPSAnYXBwbGljYXRpb24vdm5kLnJhcicsXG4gIEFSQ0hJVkVfWklQID0gJ2FwcGxpY2F0aW9uL3ppcCcsXG4gIEFSQ0hJVkVfWklQX0NPTVBSRVNTRUQgPSAnYXBwbGljYXRpb24veC16aXAtY29tcHJlc3NlZCcsXG5cbiAgLy8gTUlDUk9TT0ZUXG4gIE1TX0ZPTlRfT0JKRUNUID0gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1mb250b2JqZWN0JyxcbiAgTVNfRVhDRUwgPSAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgTVNfRVhDRUxfWE1MID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgTVNfUE9XRVJQT0lOVCA9ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCcsXG4gIE1TX1BPV0VSUE9JTlRfWE1MID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb24nLFxuICBNU19WSURFTyA9ICd2aWRlby94LW1zdmlkZW8nLFxuICBNU19WSVNJTyA9ICdhcHBsaWNhdGlvbi92bmQudmlzaW8nLFxuICBNU19XT1JEID0gJ2FwcGxpY2F0aW9uL21zd29yZCcsXG4gIE1TX1dPUkRfWE1MID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JyxcblxuICAvLyBBdXRyZXNcbiAgTVVMVElQQVJUX0ZPUk1fREFUQSA9ICdtdWx0aXBhcnQvZm9ybS1kYXRhJyxcbiAgU0NSSVBUX1NIRUxMID0gJ2FwcGxpY2F0aW9uL3gtc2gnLFxuICBPUEVOX1BSRVNFTlRBVElPTiA9ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnByZXNlbnRhdGlvbicsXG4gIE9QRU5fU1BSRUFEU0hFRVQgPSAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5zcHJlYWRzaGVldCcsXG4gIE9QRU5fVEVYVCA9ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQnLFxufVxuXG5lbnVtIEZpbGVGb3JtYXQge1xuICBYTFMgPSAnWExTJyxcbiAgWExTWCA9ICdYTFNYJyxcbiAgUFBUID0gJ1BQVCcsXG4gIFBQVFggPSAnUFBUWCcsXG4gIERPQyA9ICdET0MnLFxuICBET0NYID0gJ0RPQ1gnLFxuICBPRFMgPSAnT0RTJyxcbiAgT0RQID0gJ09EUCcsXG4gIE9EVCA9ICdPRFQnLFxuICBYTUwgPSAnWE1MJyxcbiAgSlBHID0gJ0pQRycsXG4gIFBORyA9ICdQTkcnLFxuICBQREYgPSAnUERGJyxcbiAgQ1NWID0gJ0NTVicsXG4gIEhUTUwgPSAnSFRNTCcsXG4gIFNWRyA9ICdTVkcnLFxuICBUWFQgPSAnVFhUJyxcbiAgWklQID0gJ1pJUCcsXG4gIFNFVkVOX1pJUCA9ICc3WicsXG4gIFJBUiA9ICdSQVInLFxuICBYSFRNTCA9ICdYSFRNTCcsXG4gIEJNUCA9ICdCTVAnLFxuICBHSUYgPSAnR0lGJyxcbiAgVElGID0gJ1RJRicsXG4gIFJURiA9ICdSVEYnLFxuICBHWklQID0gJ0daSVAnLFxuICBUQVIgPSAnVEFSJyxcbn1cblxuY29uc3QgbWltZVR5cGUyRmlsZUZvcm1hdDogUmVjb3JkPHN0cmluZywgRmlsZUZvcm1hdD4gPSB7XG4gIFtEc2ZyTWltZVR5cGVDb25zdC5BUFBMSUNBVElPTl9QREZdOiBGaWxlRm9ybWF0LlBERixcbiAgW0RzZnJNaW1lVHlwZUNvbnN0LkFQUExJQ0FUSU9OX1JURl06IEZpbGVGb3JtYXQuUlRGLFxuICBbRHNmck1pbWVUeXBlQ29uc3QuQVBQTElDQVRJT05fWE1MXTogRmlsZUZvcm1hdC5YTUwsXG4gIFtEc2ZyTWltZVR5cGVDb25zdC5BUFBMSUNBVElPTl9YTUxfQVRPTV06IEZpbGVGb3JtYXQuWE1MLFxuICBbRHNmck1pbWVUeXBlQ29uc3QuQVBQTElDQVRJT05fWE1MX1hIVE1MXTogRmlsZUZvcm1hdC5YSFRNTCxcblxuICBbRHNmck1pbWVUeXBlQ29uc3QuQVJDSElWRV83Wl9DT01QUkVTU0VEXTogRmlsZUZvcm1hdC5TRVZFTl9aSVAsXG4gIFtEc2ZyTWltZVR5cGVDb25zdC5BUkNISVZFX0daSVBdOiBGaWxlRm9ybWF0LkdaSVAsXG4gIFtEc2ZyTWltZVR5cGVDb25zdC5BUkNISVZFX1JBUl06IEZpbGVGb3JtYXQuUkFSLFxuICBbRHNmck1pbWVUeXBlQ29uc3QuQVJDSElWRV9UQVJdOiBGaWxlRm9ybWF0LlRBUixcbiAgW0RzZnJNaW1lVHlwZUNvbnN0LkFSQ0hJVkVfWklQXTogRmlsZUZvcm1hdC5aSVAsXG4gIFtEc2ZyTWltZVR5cGVDb25zdC5BUkNISVZFX1pJUF9DT01QUkVTU0VEXTogRmlsZUZvcm1hdC5aSVAsXG5cbiAgW0RzZnJNaW1lVHlwZUNvbnN0LklNQUdFX0JNUF06IEZpbGVGb3JtYXQuQk1QLFxuICBbRHNmck1pbWVUeXBlQ29uc3QuSU1BR0VfR0lGXTogRmlsZUZvcm1hdC5HSUYsXG4gIFtEc2ZyTWltZVR5cGVDb25zdC5JTUFHRV9KUEVHXTogRmlsZUZvcm1hdC5KUEcsXG4gIFtEc2ZyTWltZVR5cGVDb25zdC5JTUFHRV9QTkddOiBGaWxlRm9ybWF0LlBORyxcbiAgW0RzZnJNaW1lVHlwZUNvbnN0LklNQUdFX1NWR106IEZpbGVGb3JtYXQuU1ZHLFxuICBbRHNmck1pbWVUeXBlQ29uc3QuSU1BR0VfVElGRl06IEZpbGVGb3JtYXQuVElGLFxuXG4gIFtEc2ZyTWltZVR5cGVDb25zdC5NU19FWENFTF06IEZpbGVGb3JtYXQuWExTLFxuICBbRHNmck1pbWVUeXBlQ29uc3QuTVNfRVhDRUxfWE1MXTogRmlsZUZvcm1hdC5YTFNYLFxuICBbRHNmck1pbWVUeXBlQ29uc3QuTVNfUE9XRVJQT0lOVF06IEZpbGVGb3JtYXQuUFBULFxuICBbRHNmck1pbWVUeXBlQ29uc3QuTVNfUE9XRVJQT0lOVF9YTUxdOiBGaWxlRm9ybWF0LlBQVFgsXG4gIFtEc2ZyTWltZVR5cGVDb25zdC5NU19XT1JEXTogRmlsZUZvcm1hdC5ET0MsXG4gIFtEc2ZyTWltZVR5cGVDb25zdC5NU19XT1JEX1hNTF06IEZpbGVGb3JtYXQuRE9DWCxcblxuICBbRHNmck1pbWVUeXBlQ29uc3QuT1BFTl9QUkVTRU5UQVRJT05dOiBGaWxlRm9ybWF0Lk9EUCxcbiAgW0RzZnJNaW1lVHlwZUNvbnN0Lk9QRU5fU1BSRUFEU0hFRVRdOiBGaWxlRm9ybWF0Lk9EUyxcbiAgW0RzZnJNaW1lVHlwZUNvbnN0Lk9QRU5fVEVYVF06IEZpbGVGb3JtYXQuT0RULFxuXG4gIFtEc2ZyTWltZVR5cGVDb25zdC5URVhUX0NTVl06IEZpbGVGb3JtYXQuQ1NWLFxuICBbRHNmck1pbWVUeXBlQ29uc3QuVEVYVF9IVE1MXTogRmlsZUZvcm1hdC5IVE1MLFxuICBbRHNmck1pbWVUeXBlQ29uc3QuVEVYVF9QTEFJTl06IEZpbGVGb3JtYXQuVFhULFxuICBbRHNmck1pbWVUeXBlQ29uc3QuVEVYVF9YTUxdOiBGaWxlRm9ybWF0LlhNTCxcbn07XG4iXX0=