ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
102 lines • 30.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/* tslint:disable:max-line-length */
// inspried by https://github.com/kisenka/svg-sprite-loader/blob/master/runtime/browser-sprite.js
// Much simplified, do make sure run this after document ready
import { Injectable } from '@angular/core';
/** @type {?} */
var svgSprite = (/**
* @param {?} contents
* @return {?}
*/
function (contents) { return "\n<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"https://www.w3.org/1999/xlink\"\n id=\"__ANTD_MOBILE_SVG_SPRITE_NODE__\"\n style=\"position:absolute;width:0;height:0\"\n>\n <defs>\n " + contents + "\n </defs>\n</svg>\n"; });
var ɵ0 = svgSprite;
var IconHandler = /** @class */ (function () {
function IconHandler() {
this.contents = [];
// both minified by https://github.com/svg/svgo
this.icons = {
check: '<svg viewBox="0 0 44 44"><path fill-rule="evenodd" d="M34.538 8L38 11.518 17.808 32 8 22.033l3.462-3.518 6.346 6.45z"/></svg>',
'check-circle': '<svg viewBox="0 0 48 48"><path d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24zM13.1 23.2l-2.2 2.1 10 9.9L38.1 15l-2.2-2-15.2 17.8-7.6-7.6z" fill-rule="evenodd"/></svg>',
'check-circle-o': '<svg viewBox="0 0 48 48"><g fill-rule="evenodd"><path d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24zm0-3c11.598 0 21-9.402 21-21S35.598 3 24 3 3 12.402 3 24s9.402 21 21 21z"/><path d="M12.2 23.2L10 25.3l10 9.9L37.2 15 35 13 19.8 30.8z"/></g></svg>',
cross: '<svg viewBox="0 0 44 44"><path fill-rule="evenodd" d="M24.008 21.852l8.97-8.968L31.092 11l-8.97 8.968L13.157 11l-1.884 1.884 8.968 8.968-9.24 9.24 1.884 1.885 9.24-9.24 9.24 9.24 1.885-1.884-9.24-9.24z"/></svg>',
'cross-circle': '<svg viewBox="0 0 48 48"><g fill-rule="evenodd"><path d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24zm0-3c11.598 0 21-9.402 21-21S35.598 3 24 3 3 12.402 3 24s9.402 21 21 21z"/><path d="M24.34 22.22l-7.775-7.775a1.5 1.5 0 1 0-2.12 2.12l7.773 7.775-7.774 7.775a1.5 1.5 0 1 0 2.12 2.12l7.775-7.773 7.774 7.774a1.5 1.5 0 1 0 2.12-2.12L26.46 24.34l7.774-7.774a1.5 1.5 0 1 0-2.12-2.12l-7.776 7.773z"/></g></svg>',
'cross-circle-o': '<svg viewBox="0 0 48 48"><path d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24zm.353-25.77l-7.593-7.593c-.797-.8-1.538-.822-2.263-.207-.724.614-.56 1.617-.124 2.067l7.852 7.847-7.72 7.723c-.727.728-.56 1.646-.066 2.177.493.532 1.553.683 2.31-.174l7.588-7.584 7.644 7.623c.796.798 1.608.724 2.21.145.605-.58.72-1.442-.074-2.24l-7.657-7.67 7.545-7.52c.81-.697.9-1.76.297-2.34-.92-.885-1.85-.338-2.264.078l-7.685 7.667z" fill-rule="evenodd"/></svg>',
// Todo: simplify direction to 2, use css transform
left: '<svg viewBox="0 0 44 44"><defs><path id="a" d="M-129-845h24v24h-24z"/></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"/></clipPath><g clip-path="url(#b)"><defs><path id="c" d="M-903-949H947V996H-903z"/></defs></g><path d="M16.247 21.4L28.48 9.165l2.12 2.12-10.117 10.12L30.6 31.524l-2.12 2.12-12.233-12.232.007-.006z"/></svg>',
right: '<svg viewBox="0 0 44 44"><defs><path id="a" d="M-129-845h24v24h-24z"/></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"/></clipPath><g clip-path="url(#b)"><defs><path id="c" d="M-903-949H947V996H-903z"/></defs></g><path d="M30.6 21.4L18.37 9.165l-2.12 2.12 10.117 10.12-10.118 10.118 2.12 2.12 12.234-12.232-.005-.006z"/></svg>',
down: '<svg viewBox="0 0 44 44"><path d="M22.355 28.237l-11.483-10.9c-.607-.576-1.714-.396-2.48.41l.674-.71c-.763.802-.73 2.07-.282 2.496l11.37 10.793-.04.04 2.088 2.195L23.3 31.52l12.308-11.682c.447-.425.48-1.694-.282-2.496l.674.71c-.766-.806-1.873-.986-2.48-.41L22.355 28.237z" fill-rule="evenodd"/></svg>',
up: '<svg viewBox="0 0 44 44"><path fill="none" d="M-1-1h46v46H-1z"/><defs><path id="a" d="M-129-845h24v24h-24z"/></defs><clipPath id="b"><use xlink:href="#a"/></clipPath><g clip-path="url(#b)"><defs><path id="c" d="M-903-949H947V996H-903z"/></defs></g><path d="M23.417 14.23L11.184 26.46l2.12 2.12 10.12-10.117 10.118 10.118 2.12-2.12L23.43 14.228l-.006.005z"/></svg>',
loading: '<svg viewBox="0 -2 59.75 60.25"><path fill="#ccc" d="M29.69-.527C14.044-.527 1.36 12.158 1.36 27.806S14.043 56.14 29.69 56.14c15.65 0 28.334-12.686 28.334-28.334S45.34-.527 29.69-.527zm.185 53.75c-14.037 0-25.417-11.38-25.417-25.417S15.838 2.39 29.875 2.39s25.417 11.38 25.417 25.417-11.38 25.416-25.417 25.416z"/><path fill="none" stroke="#108ee9" stroke-width="3" stroke-linecap="round" stroke-miterlimit="10" d="M56.587 29.766c.37-7.438-1.658-14.7-6.393-19.552"/></svg>',
search: '<svg viewBox="0 0 44 44"><path d="M32.98 29.255l8.915 8.293L39.603 40l-8.86-8.242a15.952 15.952 0 0 1-10.753 4.147C11.16 35.905 4 28.763 4 19.952 4 11.142 11.16 4 19.99 4s15.99 7.142 15.99 15.952c0 3.472-1.112 6.685-3 9.303zm.05-9.21c0 7.123-5.7 12.918-12.88 12.918-7.176 0-13.015-5.795-13.015-12.918 0-7.12 5.84-12.917 13.017-12.917 7.178 0 12.88 5.797 12.88 12.917z" fill-rule="evenodd"/></svg>',
ellipsis: '<svg viewBox="0 0 44 44"><circle cx="21.888" cy="22" r="4.045"/><circle cx="5.913" cy="22" r="4.045"/><circle cx="37.863" cy="22" r="4.045"/></svg>',
'ellipsis-circle': '<svg viewBox="0 0 44 44"><g fill-rule="evenodd"><path d="M22.13.11C10.05.11.255 9.902.255 21.983S10.05 43.86 22.13 43.86s21.875-9.795 21.875-21.876S34.21.11 22.13.11zm0 40.7c-10.396 0-18.825-8.43-18.825-18.826S11.735 3.16 22.13 3.16c10.396 0 18.825 8.428 18.825 18.824S32.525 40.81 22.13 40.81z"/><circle cx="21.888" cy="22.701" r="2.445"/><circle cx="12.23" cy="22.701" r="2.445"/><circle cx="31.546" cy="22.701" r="2.445"/></g></svg>',
'exclamation-circle': '<svg viewBox="0 0 64 64"><path d="M59.58 40.89L41.193 9.11C39.135 5.382 35.723 3 31.387 3c-3.11 0-6.52 2.382-8.58 6.11L4.42 40.89c-2.788 4.635-3.126 8.81-1.225 12.22C5.015 56.208 7.572 58 13 58h36.773c5.428 0 9.21-1.792 11.03-4.89 1.9-3.41 1.565-7.583-1.224-12.22zm-2.452 11c-.635 1.694-3.802 2.443-7.354 2.443H13c-3.59 0-5.493-.75-6.13-2.444-1.71-2.41-1.374-5.263 0-8.557l18.387-31.777c2.116-3.168 4.394-4.89 6.13-4.89 2.96 0 5.238 1.722 7.354 4.89l18.387 31.777c1.374 3.294 1.713 6.146 0 8.556zm-25.74-33c-.405 0-1.227.835-1.227 2.443v15.89c0 1.608.823 2.444 1.227 2.444 1.628 0 2.452-.836 2.452-2.445v-15.89c0-1.607-.825-2.443-2.453-2.443zm0 23.22c-.405 0-1.227.79-1.227 1.223v2.445c0 .434.823 1.222 1.227 1.222 1.628 0 2.452-.788 2.452-1.222v-2.445c0-.434-.825-1.222-2.453-1.222z" fill-rule="evenodd"/></svg>',
'info-circle': '<svg viewBox="0 0 44 44"><circle cx="13.828" cy="19.63" r="1.938"/><circle cx="21.767" cy="19.63" r="1.938"/><circle cx="29.767" cy="19.63" r="1.938"/><path d="M22.102 4.16c-9.918 0-17.958 7.147-17.958 15.962 0 4.935 2.522 9.345 6.48 12.273v5.667l.04.012a2.627 2.627 0 1 0 4.5 1.455h.002l5.026-3.54c.628.06 1.265.094 1.91.094 9.92 0 17.96-7.146 17.96-15.96C40.06 11.306 32.02 4.16 22.1 4.16zm-.04 29.902c-.902 0-1.78-.08-2.642-.207l-5.882 4.234c-.024.024-.055.04-.083.06l-.008.005a.51.51 0 0 1-.284.095.525.525 0 0 1-.525-.525l.005-6.375c-3.91-2.516-6.456-6.544-6.456-11.1 0-7.628 7.107-13.812 15.875-13.812s15.875 6.184 15.875 13.812-7.107 13.812-15.875 13.812z"/></svg>',
'question-circle': '<svg viewBox="0 0 44 44"><g fill-rule="evenodd"><path d="M21.186 3c-10.853 0-19.36 8.506-19.36 19.358C1.827 32.494 10.334 41 21.187 41c10.133 0 18.64-8.506 18.64-18.642C39.827 11.506 31.32 3 21.187 3m15.64 19c0 8.823-7.178 16-16 16s-16-7.177-16-16 7.178-16 16-16 16 7.177 16 16z"/><path d="M22.827 31.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m4-15.48c0 .957-.203 1.822-.61 2.593-.427.792-1.117 1.612-2.073 2.457-.867.734-1.453 1.435-1.754 2.096-.302.7-.453 1.693-.453 2.98a.828.828 0 0 1-.823.854.828.828 0 0 1-.584-.22.877.877 0 0 1-.24-.635c0-1.305.168-2.38.506-3.227.336-.883.93-1.682 1.78-2.4 1.01-.883 1.71-1.692 2.1-2.428.336-.645.503-1.38.503-2.21-.02-.935-.3-1.7-.85-2.288-.655-.717-1.62-1.075-2.897-1.075-1.506 0-2.596.535-3.27 1.6-.46.754-.688 1.645-.688 2.677a.92.92 0 0 1-.266.66.747.747 0 0 1-.56.25.73.73 0 0 1-.584-.194c-.16-.164-.24-.393-.24-.69 0-1.82.585-3.272 1.755-4.357C18.645 11.486 19.928 11 21.434 11h.293c1.452 0 2.638.414 3.56 1.24 1.028.903 1.54 2.163 1.54 3.78z"/></g></svg>',
voice: '<svg viewBox="0 0 38 33"><g fill-rule="evenodd"><path d="M17.838 28.8c-.564-.468-1.192-.983-1.836-1.496-4.244-3.385-5.294-3.67-6.006-3.67-.014 0-.027.005-.04.005-.015 0-.028-.006-.042-.006H3.562c-.734 0-.903-.203-.903-.928v-12.62c0-.49.057-.8.66-.8H9.1c.694 0 1.76-.28 6.4-3.63.83-.596 1.638-1.196 2.337-1.722V28.8zM19.682.19c-.463-.22-1.014-.158-1.417.157-.02.016-1.983 1.552-4.152 3.125C10.34 6.21 9.243 6.664 9.02 6.737H3.676c-.027 0-.053.003-.08.004H1.183c-.608 0-1.1.487-1.1 1.086V25.14c0 .598.492 1.084 1.1 1.084h8.71c.22.08 1.257.55 4.605 3.24 1.947 1.562 3.694 3.088 3.712 3.103.25.22.568.333.89.333.186 0 .373-.038.55-.116.48-.213.79-.684.79-1.204V1.38c0-.506-.294-.968-.758-1.19z" mask="url(#mask-2)"/><path d="M31.42 16.475c0-3.363-1.854-6.297-4.606-7.876-.125-.067-.42-.193-.625-.193-.613 0-1.11.488-1.11 1.09 0 .404.22.764.55.952 2.13 1.19 3.566 3.44 3.566 6.024 0 2.627-1.486 4.913-3.677 6.087-.32.19-.53.54-.53.935 0 .602.495 1.09 1.106 1.09.26.002.568-.15.568-.15 2.835-1.556 4.754-4.538 4.754-7.96" mask="url(#mask-4)"/><path d="M30.14 3.057c-.205-.122-.41-.22-.658-.22-.608 0-1.1.485-1.1 1.084 0 .434.26.78.627.978 4.042 2.323 6.76 6.636 6.76 11.578 0 4.938-2.715 9.248-6.754 11.572-.354.19-.66.55-.66.993 0 .6.494 1.085 1.102 1.085.243 0 .438-.092.65-.213 4.692-2.695 7.848-7.7 7.848-13.435 0-5.723-3.142-10.718-7.817-13.418" mask="url(#mask-6)"/></g></svg>',
plus: '<svg viewBox="0 0 30 30"><path d="M14 14H0v2h14v14h2V16h14v-2H16V0h-2v14z" fill-rule="evenodd"/></svg>',
minus: '<svg viewBox="0 0 30 2"><path d="M0 0h30v2H0z" fill-rule="evenodd"/></svg>',
dislike: '<svg viewBox="0 0 72 72"><g fill="none" fill-rule="evenodd"><path d="M36 72c19.882 0 36-16.118 36-36S55.882 0 36 0 0 16.118 0 36s16.118 36 36 36zm0-2c18.778 0 34-15.222 34-34S54.778 2 36 2 2 17.222 2 36s15.222 34 34 34z" fill="#FFF"/><path fill="#FFF" d="M47 22h2v6h-2zm-24 0h2v6h-2z"/><path d="M21 51s4.6-7 15-7 15 7 15 7" stroke="#FFF" stroke-width="2"/></g></svg>',
fail: '<svg viewBox="0 0 72 72"><g fill="none" fill-rule="evenodd"><path d="M36 72c19.882 0 36-16.118 36-36S55.882 0 36 0 0 16.118 0 36s16.118 36 36 36zm0-2c18.778 0 34-15.222 34-34S54.778 2 36 2 2 17.222 2 36s15.222 34 34 34z" fill="#FFF"/><path d="M22 22l28.304 28.304m-28.304 0L50.304 22" stroke="#FFF" stroke-width="2"/></g></svg>',
success: '<svg viewBox="0 0 72 72"><g fill="none" fill-rule="evenodd"><path d="M36 72c19.882 0 36-16.118 36-36S55.882 0 36 0 0 16.118 0 36s16.118 36 36 36zm0-2c18.778 0 34-15.222 34-34S54.778 2 36 2 2 17.222 2 36s15.222 34 34 34z" fill="#FFF"/><path stroke="#FFF" stroke-width="2" d="M19 34.54l11.545 11.923L52.815 24"/></g></svg>'
};
}
/**
* @return {?}
*/
IconHandler.prototype.renderSvgSprite = /**
* @return {?}
*/
function () {
var _this = this;
/** @type {?} */
var symbols = Object.keys(this.icons)
.map((/**
* @param {?} iconName
* @return {?}
*/
function (iconName) {
/** @type {?} */
var svgContent = _this.icons[iconName].split('svg')[1];
return "<symbol id=" + iconName + svgContent + "symbol>";
}))
.join('');
return svgSprite(symbols);
};
/**
* @return {?}
*/
IconHandler.prototype.load = /**
* @return {?}
*/
function () {
if (!document) {
return;
}
/** @type {?} */
var existing = document.getElementById('__ANTD_MOBILE_SVG_SPRITE_NODE__');
/** @type {?} */
var mountNode = document.body;
if (!existing) {
mountNode.insertAdjacentHTML('afterbegin', this.renderSvgSprite());
}
};
IconHandler.decorators = [
{ type: Injectable }
];
/** @nocollapse */
IconHandler.ctorParameters = function () { return []; };
return IconHandler;
}());
export { IconHandler };
if (false) {
/** @type {?} */
IconHandler.prototype.contents;
/** @type {?} */
IconHandler.prototype.icons;
}
export { ɵ0 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQtbW9iaWxlLyIsInNvdXJjZXMiOlsiY29yZS91dGlsL2ljb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0lBRXJDLFNBQVM7Ozs7QUFBRyxVQUFBLFFBQVEsSUFBSSxPQUFBLGlOQVF4QixRQUFRLDBCQUdiLEVBWDZCLENBVzdCLENBQUE7O0FBRUQ7SUFFRTtRQUNBLGFBQVEsR0FBRyxFQUFFLENBQUM7O1FBRWQsVUFBSyxHQUFHO1lBQ04sS0FBSyxFQUNILCtIQUErSDtZQUNqSSxjQUFjLEVBQ1oseU1BQXlNO1lBQzNNLGdCQUFnQixFQUNkLDBSQUEwUjtZQUU1UixLQUFLLEVBQ0gsb05BQW9OO1lBQ3ROLGNBQWMsRUFDWix1YkFBdWI7WUFDemIsZ0JBQWdCLEVBQ2QsOGRBQThkOztZQUdoZSxJQUFJLEVBQ0Ysc1ZBQXNWO1lBQ3hWLEtBQUssRUFDSCx1VkFBdVY7WUFDelYsSUFBSSxFQUNGLDhTQUE4UztZQUNoVCxFQUFFLEVBQ0EsNldBQTZXO1lBRS9XLE9BQU8sRUFDTCwwZEFBMGQ7WUFDNWQsTUFBTSxFQUNKLDhZQUE4WTtZQUVoWixRQUFRLEVBQ04scUpBQXFKO1lBQ3ZKLGlCQUFpQixFQUNmLHFiQUFxYjtZQUV2YixvQkFBb0IsRUFDbEIsOHlCQUE4eUI7WUFDaHpCLGFBQWEsRUFDWCxpcUJBQWlxQjtZQUNucUIsaUJBQWlCLEVBQ2YsdytCQUF3K0I7WUFFMStCLEtBQUssRUFDSCxrMkNBQWsyQztZQUVwMkMsSUFBSSxFQUFFLHdHQUF3RztZQUM5RyxLQUFLLEVBQUUsNEVBQTRFO1lBRW5GLE9BQU8sRUFDTCxnWEFBZ1g7WUFDbFgsSUFBSSxFQUNGLHlVQUF5VTtZQUMzVSxPQUFPLEVBQ0wsa1VBQWtVO1NBQ3JVLENBQUM7SUF6RGEsQ0FBQzs7OztJQTJEaEIscUNBQWU7OztJQUFmO1FBQUEsaUJBUUM7O1lBUE8sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUNwQyxHQUFHOzs7O1FBQUMsVUFBQSxRQUFROztnQkFDTCxVQUFVLEdBQUcsS0FBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sZ0JBQWMsUUFBUSxHQUFHLFVBQVUsWUFBUyxDQUFDO1FBQ3RELENBQUMsRUFBQzthQUNELElBQUksQ0FBQyxFQUFFLENBQUM7UUFDWCxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7O0lBRUQsMEJBQUk7OztJQUFKO1FBQ0UsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU87U0FDUjs7WUFDSyxRQUFRLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxpQ0FBaUMsQ0FBQzs7WUFDckUsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJO1FBRS9CLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixTQUFTLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQzs7Z0JBakZGLFVBQVU7Ozs7SUFrRlgsa0JBQUM7Q0FBQSxBQWxGRCxJQWtGQztTQWpGWSxXQUFXOzs7SUFFdEIsK0JBQWM7O0lBRWQsNEJBc0RFIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGU6bWF4LWxpbmUtbGVuZ3RoICovXG4vLyBpbnNwcmllZCBieSBodHRwczovL2dpdGh1Yi5jb20va2lzZW5rYS9zdmctc3ByaXRlLWxvYWRlci9ibG9iL21hc3Rlci9ydW50aW1lL2Jyb3dzZXItc3ByaXRlLmpzXG4vLyBNdWNoIHNpbXBsaWZpZWQsIGRvIG1ha2Ugc3VyZSBydW4gdGhpcyBhZnRlciBkb2N1bWVudCByZWFkeVxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBzdmdTcHJpdGUgPSBjb250ZW50cyA9PiBgXG48c3ZnXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICB4bWxuczp4bGluaz1cImh0dHBzOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgaWQ9XCJfX0FOVERfTU9CSUxFX1NWR19TUFJJVEVfTk9ERV9fXCJcbiAgc3R5bGU9XCJwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowXCJcbj5cbiAgPGRlZnM+XG4gICAgJHtjb250ZW50c31cbiAgPC9kZWZzPlxuPC9zdmc+XG5gO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSWNvbkhhbmRsZXIge1xuICBjb25zdHJ1Y3RvcigpIHt9XG4gIGNvbnRlbnRzID0gW107XG4gIC8vIGJvdGggbWluaWZpZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL3N2Zy9zdmdvXG4gIGljb25zID0ge1xuICAgIGNoZWNrOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA0NCA0NFwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTM0LjUzOCA4TDM4IDExLjUxOCAxNy44MDggMzIgOCAyMi4wMzNsMy40NjItMy41MTggNi4zNDYgNi40NXpcIi8+PC9zdmc+JyxcbiAgICAnY2hlY2stY2lyY2xlJzpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIDAgNDggNDhcIj48cGF0aCBkPVwiTTI0IDQ4YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFMzNy4yNTUgMCAyNCAwIDAgMTAuNzQ1IDAgMjRzMTAuNzQ1IDI0IDI0IDI0ek0xMy4xIDIzLjJsLTIuMiAyLjEgMTAgOS45TDM4LjEgMTVsLTIuMi0yLTE1LjIgMTcuOC03LjYtNy42elwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIi8+PC9zdmc+JyxcbiAgICAnY2hlY2stY2lyY2xlLW8nOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA0OCA0OFwiPjxnIGZpbGwtcnVsZT1cImV2ZW5vZGRcIj48cGF0aCBkPVwiTTI0IDQ4YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFMzNy4yNTUgMCAyNCAwIDAgMTAuNzQ1IDAgMjRzMTAuNzQ1IDI0IDI0IDI0em0wLTNjMTEuNTk4IDAgMjEtOS40MDIgMjEtMjFTMzUuNTk4IDMgMjQgMyAzIDEyLjQwMiAzIDI0czkuNDAyIDIxIDIxIDIxelwiLz48cGF0aCBkPVwiTTEyLjIgMjMuMkwxMCAyNS4zbDEwIDkuOUwzNy4yIDE1IDM1IDEzIDE5LjggMzAuOHpcIi8+PC9nPjwvc3ZnPicsXG5cbiAgICBjcm9zczpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIDAgNDQgNDRcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0yNC4wMDggMjEuODUybDguOTctOC45NjhMMzEuMDkyIDExbC04Ljk3IDguOTY4TDEzLjE1NyAxMWwtMS44ODQgMS44ODQgOC45NjggOC45NjgtOS4yNCA5LjI0IDEuODg0IDEuODg1IDkuMjQtOS4yNCA5LjI0IDkuMjQgMS44ODUtMS44ODQtOS4yNC05LjI0elwiLz48L3N2Zz4nLFxuICAgICdjcm9zcy1jaXJjbGUnOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA0OCA0OFwiPjxnIGZpbGwtcnVsZT1cImV2ZW5vZGRcIj48cGF0aCBkPVwiTTI0IDQ4YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFMzNy4yNTUgMCAyNCAwIDAgMTAuNzQ1IDAgMjRzMTAuNzQ1IDI0IDI0IDI0em0wLTNjMTEuNTk4IDAgMjEtOS40MDIgMjEtMjFTMzUuNTk4IDMgMjQgMyAzIDEyLjQwMiAzIDI0czkuNDAyIDIxIDIxIDIxelwiLz48cGF0aCBkPVwiTTI0LjM0IDIyLjIybC03Ljc3NS03Ljc3NWExLjUgMS41IDAgMSAwLTIuMTIgMi4xMmw3Ljc3MyA3Ljc3NS03Ljc3NCA3Ljc3NWExLjUgMS41IDAgMSAwIDIuMTIgMi4xMmw3Ljc3NS03Ljc3MyA3Ljc3NCA3Ljc3NGExLjUgMS41IDAgMSAwIDIuMTItMi4xMkwyNi40NiAyNC4zNGw3Ljc3NC03Ljc3NGExLjUgMS41IDAgMSAwLTIuMTItMi4xMmwtNy43NzYgNy43NzN6XCIvPjwvZz48L3N2Zz4nLFxuICAgICdjcm9zcy1jaXJjbGUtbyc6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDQ4IDQ4XCI+PHBhdGggZD1cIk0yNCA0OGMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjRTMzcuMjU1IDAgMjQgMCAwIDEwLjc0NSAwIDI0czEwLjc0NSAyNCAyNCAyNHptLjM1My0yNS43N2wtNy41OTMtNy41OTNjLS43OTctLjgtMS41MzgtLjgyMi0yLjI2My0uMjA3LS43MjQuNjE0LS41NiAxLjYxNy0uMTI0IDIuMDY3bDcuODUyIDcuODQ3LTcuNzIgNy43MjNjLS43MjcuNzI4LS41NiAxLjY0Ni0uMDY2IDIuMTc3LjQ5My41MzIgMS41NTMuNjgzIDIuMzEtLjE3NGw3LjU4OC03LjU4NCA3LjY0NCA3LjYyM2MuNzk2Ljc5OCAxLjYwOC43MjQgMi4yMS4xNDUuNjA1LS41OC43Mi0xLjQ0Mi0uMDc0LTIuMjRsLTcuNjU3LTcuNjcgNy41NDUtNy41MmMuODEtLjY5Ny45LTEuNzYuMjk3LTIuMzQtLjkyLS44ODUtMS44NS0uMzM4LTIuMjY0LjA3OGwtNy42ODUgNy42Njd6XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiLz48L3N2Zz4nLFxuXG4gICAgLy8gVG9kbzogc2ltcGxpZnkgZGlyZWN0aW9uIHRvIDIsIHVzZSBjc3MgdHJhbnNmb3JtXG4gICAgbGVmdDpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIDAgNDQgNDRcIj48ZGVmcz48cGF0aCBpZD1cImFcIiBkPVwiTS0xMjktODQ1aDI0djI0aC0yNHpcIi8+PC9kZWZzPjxjbGlwUGF0aCBpZD1cImJcIj48dXNlIHhsaW5rOmhyZWY9XCIjYVwiIG92ZXJmbG93PVwidmlzaWJsZVwiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD1cInVybCgjYilcIj48ZGVmcz48cGF0aCBpZD1cImNcIiBkPVwiTS05MDMtOTQ5SDk0N1Y5OTZILTkwM3pcIi8+PC9kZWZzPjwvZz48cGF0aCBkPVwiTTE2LjI0NyAyMS40TDI4LjQ4IDkuMTY1bDIuMTIgMi4xMi0xMC4xMTcgMTAuMTJMMzAuNiAzMS41MjRsLTIuMTIgMi4xMi0xMi4yMzMtMTIuMjMyLjAwNy0uMDA2elwiLz48L3N2Zz4nLFxuICAgIHJpZ2h0OlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA0NCA0NFwiPjxkZWZzPjxwYXRoIGlkPVwiYVwiIGQ9XCJNLTEyOS04NDVoMjR2MjRoLTI0elwiLz48L2RlZnM+PGNsaXBQYXRoIGlkPVwiYlwiPjx1c2UgeGxpbms6aHJlZj1cIiNhXCIgb3ZlcmZsb3c9XCJ2aXNpYmxlXCIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPVwidXJsKCNiKVwiPjxkZWZzPjxwYXRoIGlkPVwiY1wiIGQ9XCJNLTkwMy05NDlIOTQ3Vjk5NkgtOTAzelwiLz48L2RlZnM+PC9nPjxwYXRoIGQ9XCJNMzAuNiAyMS40TDE4LjM3IDkuMTY1bC0yLjEyIDIuMTIgMTAuMTE3IDEwLjEyLTEwLjExOCAxMC4xMTggMi4xMiAyLjEyIDEyLjIzNC0xMi4yMzItLjAwNS0uMDA2elwiLz48L3N2Zz4nLFxuICAgIGRvd246XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCI+PHBhdGggZD1cIk0yMi4zNTUgMjguMjM3bC0xMS40ODMtMTAuOWMtLjYwNy0uNTc2LTEuNzE0LS4zOTYtMi40OC40MWwuNjc0LS43MWMtLjc2My44MDItLjczIDIuMDctLjI4MiAyLjQ5NmwxMS4zNyAxMC43OTMtLjA0LjA0IDIuMDg4IDIuMTk1TDIzLjMgMzEuNTJsMTIuMzA4LTExLjY4MmMuNDQ3LS40MjUuNDgtMS42OTQtLjI4Mi0yLjQ5NmwuNjc0LjcxYy0uNzY2LS44MDYtMS44NzMtLjk4Ni0yLjQ4LS40MUwyMi4zNTUgMjguMjM3elwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIi8+PC9zdmc+JyxcbiAgICB1cDpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIDAgNDQgNDRcIj48cGF0aCBmaWxsPVwibm9uZVwiIGQ9XCJNLTEtMWg0NnY0NkgtMXpcIi8+PGRlZnM+PHBhdGggaWQ9XCJhXCIgZD1cIk0tMTI5LTg0NWgyNHYyNGgtMjR6XCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9XCJiXCI+PHVzZSB4bGluazpocmVmPVwiI2FcIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9XCJ1cmwoI2IpXCI+PGRlZnM+PHBhdGggaWQ9XCJjXCIgZD1cIk0tOTAzLTk0OUg5NDdWOTk2SC05MDN6XCIvPjwvZGVmcz48L2c+PHBhdGggZD1cIk0yMy40MTcgMTQuMjNMMTEuMTg0IDI2LjQ2bDIuMTIgMi4xMiAxMC4xMi0xMC4xMTcgMTAuMTE4IDEwLjExOCAyLjEyLTIuMTJMMjMuNDMgMTQuMjI4bC0uMDA2LjAwNXpcIi8+PC9zdmc+JyxcblxuICAgIGxvYWRpbmc6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAtMiA1OS43NSA2MC4yNVwiPjxwYXRoIGZpbGw9XCIjY2NjXCIgZD1cIk0yOS42OS0uNTI3QzE0LjA0NC0uNTI3IDEuMzYgMTIuMTU4IDEuMzYgMjcuODA2UzE0LjA0MyA1Ni4xNCAyOS42OSA1Ni4xNGMxNS42NSAwIDI4LjMzNC0xMi42ODYgMjguMzM0LTI4LjMzNFM0NS4zNC0uNTI3IDI5LjY5LS41Mjd6bS4xODUgNTMuNzVjLTE0LjAzNyAwLTI1LjQxNy0xMS4zOC0yNS40MTctMjUuNDE3UzE1LjgzOCAyLjM5IDI5Ljg3NSAyLjM5czI1LjQxNyAxMS4zOCAyNS40MTcgMjUuNDE3LTExLjM4IDI1LjQxNi0yNS40MTcgMjUuNDE2elwiLz48cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiMxMDhlZTlcIiBzdHJva2Utd2lkdGg9XCIzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBkPVwiTTU2LjU4NyAyOS43NjZjLjM3LTcuNDM4LTEuNjU4LTE0LjctNi4zOTMtMTkuNTUyXCIvPjwvc3ZnPicsXG4gICAgc2VhcmNoOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA0NCA0NFwiPjxwYXRoIGQ9XCJNMzIuOTggMjkuMjU1bDguOTE1IDguMjkzTDM5LjYwMyA0MGwtOC44Ni04LjI0MmExNS45NTIgMTUuOTUyIDAgMCAxLTEwLjc1MyA0LjE0N0MxMS4xNiAzNS45MDUgNCAyOC43NjMgNCAxOS45NTIgNCAxMS4xNDIgMTEuMTYgNCAxOS45OSA0czE1Ljk5IDcuMTQyIDE1Ljk5IDE1Ljk1MmMwIDMuNDcyLTEuMTEyIDYuNjg1LTMgOS4zMDN6bS4wNS05LjIxYzAgNy4xMjMtNS43IDEyLjkxOC0xMi44OCAxMi45MTgtNy4xNzYgMC0xMy4wMTUtNS43OTUtMTMuMDE1LTEyLjkxOCAwLTcuMTIgNS44NC0xMi45MTcgMTMuMDE3LTEyLjkxNyA3LjE3OCAwIDEyLjg4IDUuNzk3IDEyLjg4IDEyLjkxN3pcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIvPjwvc3ZnPicsXG5cbiAgICBlbGxpcHNpczpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIDAgNDQgNDRcIj48Y2lyY2xlIGN4PVwiMjEuODg4XCIgY3k9XCIyMlwiIHI9XCI0LjA0NVwiLz48Y2lyY2xlIGN4PVwiNS45MTNcIiBjeT1cIjIyXCIgcj1cIjQuMDQ1XCIvPjxjaXJjbGUgY3g9XCIzNy44NjNcIiBjeT1cIjIyXCIgcj1cIjQuMDQ1XCIvPjwvc3ZnPicsXG4gICAgJ2VsbGlwc2lzLWNpcmNsZSc6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCI+PGcgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPjxwYXRoIGQ9XCJNMjIuMTMuMTFDMTAuMDUuMTEuMjU1IDkuOTAyLjI1NSAyMS45ODNTMTAuMDUgNDMuODYgMjIuMTMgNDMuODZzMjEuODc1LTkuNzk1IDIxLjg3NS0yMS44NzZTMzQuMjEuMTEgMjIuMTMuMTF6bTAgNDAuN2MtMTAuMzk2IDAtMTguODI1LTguNDMtMTguODI1LTE4LjgyNlMxMS43MzUgMy4xNiAyMi4xMyAzLjE2YzEwLjM5NiAwIDE4LjgyNSA4LjQyOCAxOC44MjUgMTguODI0UzMyLjUyNSA0MC44MSAyMi4xMyA0MC44MXpcIi8+PGNpcmNsZSBjeD1cIjIxLjg4OFwiIGN5PVwiMjIuNzAxXCIgcj1cIjIuNDQ1XCIvPjxjaXJjbGUgY3g9XCIxMi4yM1wiIGN5PVwiMjIuNzAxXCIgcj1cIjIuNDQ1XCIvPjxjaXJjbGUgY3g9XCIzMS41NDZcIiBjeT1cIjIyLjcwMVwiIHI9XCIyLjQ0NVwiLz48L2c+PC9zdmc+JyxcblxuICAgICdleGNsYW1hdGlvbi1jaXJjbGUnOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA2NCA2NFwiPjxwYXRoIGQ9XCJNNTkuNTggNDAuODlMNDEuMTkzIDkuMTFDMzkuMTM1IDUuMzgyIDM1LjcyMyAzIDMxLjM4NyAzYy0zLjExIDAtNi41MiAyLjM4Mi04LjU4IDYuMTFMNC40MiA0MC44OWMtMi43ODggNC42MzUtMy4xMjYgOC44MS0xLjIyNSAxMi4yMkM1LjAxNSA1Ni4yMDggNy41NzIgNTggMTMgNThoMzYuNzczYzUuNDI4IDAgOS4yMS0xLjc5MiAxMS4wMy00Ljg5IDEuOS0zLjQxIDEuNTY1LTcuNTgzLTEuMjI0LTEyLjIyem0tMi40NTIgMTFjLS42MzUgMS42OTQtMy44MDIgMi40NDMtNy4zNTQgMi40NDNIMTNjLTMuNTkgMC01LjQ5My0uNzUtNi4xMy0yLjQ0NC0xLjcxLTIuNDEtMS4zNzQtNS4yNjMgMC04LjU1N2wxOC4zODctMzEuNzc3YzIuMTE2LTMuMTY4IDQuMzk0LTQuODkgNi4xMy00Ljg5IDIuOTYgMCA1LjIzOCAxLjcyMiA3LjM1NCA0Ljg5bDE4LjM4NyAzMS43NzdjMS4zNzQgMy4yOTQgMS43MTMgNi4xNDYgMCA4LjU1NnptLTI1Ljc0LTMzYy0uNDA1IDAtMS4yMjcuODM1LTEuMjI3IDIuNDQzdjE1Ljg5YzAgMS42MDguODIzIDIuNDQ0IDEuMjI3IDIuNDQ0IDEuNjI4IDAgMi40NTItLjgzNiAyLjQ1Mi0yLjQ0NXYtMTUuODljMC0xLjYwNy0uODI1LTIuNDQzLTIuNDUzLTIuNDQzem0wIDIzLjIyYy0uNDA1IDAtMS4yMjcuNzktMS4yMjcgMS4yMjN2Mi40NDVjMCAuNDM0LjgyMyAxLjIyMiAxLjIyNyAxLjIyMiAxLjYyOCAwIDIuNDUyLS43ODggMi40NTItMS4yMjJ2LTIuNDQ1YzAtLjQzNC0uODI1LTEuMjIyLTIuNDUzLTEuMjIyelwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIi8+PC9zdmc+JyxcbiAgICAnaW5mby1jaXJjbGUnOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA0NCA0NFwiPjxjaXJjbGUgY3g9XCIxMy44MjhcIiBjeT1cIjE5LjYzXCIgcj1cIjEuOTM4XCIvPjxjaXJjbGUgY3g9XCIyMS43NjdcIiBjeT1cIjE5LjYzXCIgcj1cIjEuOTM4XCIvPjxjaXJjbGUgY3g9XCIyOS43NjdcIiBjeT1cIjE5LjYzXCIgcj1cIjEuOTM4XCIvPjxwYXRoIGQ9XCJNMjIuMTAyIDQuMTZjLTkuOTE4IDAtMTcuOTU4IDcuMTQ3LTE3Ljk1OCAxNS45NjIgMCA0LjkzNSAyLjUyMiA5LjM0NSA2LjQ4IDEyLjI3M3Y1LjY2N2wuMDQuMDEyYTIuNjI3IDIuNjI3IDAgMSAwIDQuNSAxLjQ1NWguMDAybDUuMDI2LTMuNTRjLjYyOC4wNiAxLjI2NS4wOTQgMS45MS4wOTQgOS45MiAwIDE3Ljk2LTcuMTQ2IDE3Ljk2LTE1Ljk2QzQwLjA2IDExLjMwNiAzMi4wMiA0LjE2IDIyLjEgNC4xNnptLS4wNCAyOS45MDJjLS45MDIgMC0xLjc4LS4wOC0yLjY0Mi0uMjA3bC01Ljg4MiA0LjIzNGMtLjAyNC4wMjQtLjA1NS4wNC0uMDgzLjA2bC0uMDA4LjAwNWEuNTEuNTEgMCAwIDEtLjI4NC4wOTUuNTI1LjUyNSAwIDAgMS0uNTI1LS41MjVsLjAwNS02LjM3NWMtMy45MS0yLjUxNi02LjQ1Ni02LjU0NC02LjQ1Ni0xMS4xIDAtNy42MjggNy4xMDctMTMuODEyIDE1Ljg3NS0xMy44MTJzMTUuODc1IDYuMTg0IDE1Ljg3NSAxMy44MTItNy4xMDcgMTMuODEyLTE1Ljg3NSAxMy44MTJ6XCIvPjwvc3ZnPicsXG4gICAgJ3F1ZXN0aW9uLWNpcmNsZSc6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCI+PGcgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPjxwYXRoIGQ9XCJNMjEuMTg2IDNjLTEwLjg1MyAwLTE5LjM2IDguNTA2LTE5LjM2IDE5LjM1OEMxLjgyNyAzMi40OTQgMTAuMzM0IDQxIDIxLjE4NyA0MWMxMC4xMzMgMCAxOC42NC04LjUwNiAxOC42NC0xOC42NDJDMzkuODI3IDExLjUwNiAzMS4zMiAzIDIxLjE4NyAzbTE1LjY0IDE5YzAgOC44MjMtNy4xNzggMTYtMTYgMTZzLTE2LTcuMTc3LTE2LTE2IDcuMTc4LTE2IDE2LTE2IDE2IDcuMTc3IDE2IDE2elwiLz48cGF0aCBkPVwiTTIyLjgyNyAzMS41YTEuNSAxLjUgMCAxIDEtMyAwIDEuNSAxLjUgMCAwIDEgMyAwbTQtMTUuNDhjMCAuOTU3LS4yMDMgMS44MjItLjYxIDIuNTkzLS40MjcuNzkyLTEuMTE3IDEuNjEyLTIuMDczIDIuNDU3LS44NjcuNzM0LTEuNDUzIDEuNDM1LTEuNzU0IDIuMDk2LS4zMDIuNy0uNDUzIDEuNjkzLS40NTMgMi45OGEuODI4LjgyOCAwIDAgMS0uODIzLjg1NC44MjguODI4IDAgMCAxLS41ODQtLjIyLjg3Ny44NzcgMCAwIDEtLjI0LS42MzVjMC0xLjMwNS4xNjgtMi4zOC41MDYtMy4yMjcuMzM2LS44ODMuOTMtMS42ODIgMS43OC0yLjQgMS4wMS0uODgzIDEuNzEtMS42OTIgMi4xLTIuNDI4LjMzNi0uNjQ1LjUwMy0xLjM4LjUwMy0yLjIxLS4wMi0uOTM1LS4zLTEuNy0uODUtMi4yODgtLjY1NS0uNzE3LTEuNjItMS4wNzUtMi44OTctMS4wNzUtMS41MDYgMC0yLjU5Ni41MzUtMy4yNyAxLjYtLjQ2Ljc1NC0uNjg4IDEuNjQ1LS42ODggMi42NzdhLjkyLjkyIDAgMCAxLS4yNjYuNjYuNzQ3Ljc0NyAwIDAgMS0uNTYuMjUuNzMuNzMgMCAwIDEtLjU4NC0uMTk0Yy0uMTYtLjE2NC0uMjQtLjM5My0uMjQtLjY5IDAtMS44Mi41ODUtMy4yNzIgMS43NTUtNC4zNTdDMTguNjQ1IDExLjQ4NiAxOS45MjggMTEgMjEuNDM0IDExaC4yOTNjMS40NTIgMCAyLjYzOC40MTQgMy41NiAxLjI0IDEuMDI4LjkwMyAxLjU0IDIuMTYzIDEuNTQgMy43OHpcIi8+PC9nPjwvc3ZnPicsXG5cbiAgICB2b2ljZTpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIDAgMzggMzNcIj48ZyBmaWxsLXJ1bGU9XCJldmVub2RkXCI+PHBhdGggZD1cIk0xNy44MzggMjguOGMtLjU2NC0uNDY4LTEuMTkyLS45ODMtMS44MzYtMS40OTYtNC4yNDQtMy4zODUtNS4yOTQtMy42Ny02LjAwNi0zLjY3LS4wMTQgMC0uMDI3LjAwNS0uMDQuMDA1LS4wMTUgMC0uMDI4LS4wMDYtLjA0Mi0uMDA2SDMuNTYyYy0uNzM0IDAtLjkwMy0uMjAzLS45MDMtLjkyOHYtMTIuNjJjMC0uNDkuMDU3LS44LjY2LS44SDkuMWMuNjk0IDAgMS43Ni0uMjggNi40LTMuNjMuODMtLjU5NiAxLjYzOC0xLjE5NiAyLjMzNy0xLjcyMlYyOC44ek0xOS42ODIuMTljLS40NjMtLjIyLTEuMDE0LS4xNTgtMS40MTcuMTU3LS4wMi4wMTYtMS45ODMgMS41NTItNC4xNTIgMy4xMjVDMTAuMzQgNi4yMSA5LjI0MyA2LjY2NCA5LjAyIDYuNzM3SDMuNjc2Yy0uMDI3IDAtLjA1My4wMDMtLjA4LjAwNEgxLjE4M2MtLjYwOCAwLTEuMS40ODctMS4xIDEuMDg2VjI1LjE0YzAgLjU5OC40OTIgMS4wODQgMS4xIDEuMDg0aDguNzFjLjIyLjA4IDEuMjU3LjU1IDQuNjA1IDMuMjQgMS45NDcgMS41NjIgMy42OTQgMy4wODggMy43MTIgMy4xMDMuMjUuMjIuNTY4LjMzMy44OS4zMzMuMTg2IDAgLjM3My0uMDM4LjU1LS4xMTYuNDgtLjIxMy43OS0uNjg0Ljc5LTEuMjA0VjEuMzhjMC0uNTA2LS4yOTQtLjk2OC0uNzU4LTEuMTl6XCIgbWFzaz1cInVybCgjbWFzay0yKVwiLz48cGF0aCBkPVwiTTMxLjQyIDE2LjQ3NWMwLTMuMzYzLTEuODU0LTYuMjk3LTQuNjA2LTcuODc2LS4xMjUtLjA2Ny0uNDItLjE5My0uNjI1LS4xOTMtLjYxMyAwLTEuMTEuNDg4LTEuMTEgMS4wOSAwIC40MDQuMjIuNzY0LjU1Ljk1MiAyLjEzIDEuMTkgMy41NjYgMy40NCAzLjU2NiA2LjAyNCAwIDIuNjI3LTEuNDg2IDQuOTEzLTMuNjc3IDYuMDg3LS4zMi4xOS0uNTMuNTQtLjUzLjkzNSAwIC42MDIuNDk1IDEuMDkgMS4xMDYgMS4wOS4yNi4wMDIuNTY4LS4xNS41NjgtLjE1IDIuODM1LTEuNTU2IDQuNzU0LTQuNTM4IDQuNzU0LTcuOTZcIiBtYXNrPVwidXJsKCNtYXNrLTQpXCIvPjxwYXRoIGQ9XCJNMzAuMTQgMy4wNTdjLS4yMDUtLjEyMi0uNDEtLjIyLS42NTgtLjIyLS42MDggMC0xLjEuNDg1LTEuMSAxLjA4NCAwIC40MzQuMjYuNzguNjI3Ljk3OCA0LjA0MiAyLjMyMyA2Ljc2IDYuNjM2IDYuNzYgMTEuNTc4IDAgNC45MzgtMi43MTUgOS4yNDgtNi43NTQgMTEuNTcyLS4zNTQuMTktLjY2LjU1LS42Ni45OTMgMCAuNi40OTQgMS4wODUgMS4xMDIgMS4wODUuMjQzIDAgLjQzOC0uMDkyLjY1LS4yMTMgNC42OTItMi42OTUgNy44NDgtNy43IDcuODQ4LTEzLjQzNSAwLTUuNzIzLTMuMTQyLTEwLjcxOC03LjgxNy0xMy40MThcIiBtYXNrPVwidXJsKCNtYXNrLTYpXCIvPjwvZz48L3N2Zz4nLFxuXG4gICAgcGx1czogJzxzdmcgdmlld0JveD1cIjAgMCAzMCAzMFwiPjxwYXRoIGQ9XCJNMTQgMTRIMHYyaDE0djE0aDJWMTZoMTR2LTJIMTZWMGgtMnYxNHpcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIvPjwvc3ZnPicsXG4gICAgbWludXM6ICc8c3ZnIHZpZXdCb3g9XCIwIDAgMzAgMlwiPjxwYXRoIGQ9XCJNMCAwaDMwdjJIMHpcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIvPjwvc3ZnPicsXG5cbiAgICBkaXNsaWtlOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA3MiA3MlwiPjxnIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPjxwYXRoIGQ9XCJNMzYgNzJjMTkuODgyIDAgMzYtMTYuMTE4IDM2LTM2UzU1Ljg4MiAwIDM2IDAgMCAxNi4xMTggMCAzNnMxNi4xMTggMzYgMzYgMzZ6bTAtMmMxOC43NzggMCAzNC0xNS4yMjIgMzQtMzRTNTQuNzc4IDIgMzYgMiAyIDE3LjIyMiAyIDM2czE1LjIyMiAzNCAzNCAzNHpcIiBmaWxsPVwiI0ZGRlwiLz48cGF0aCBmaWxsPVwiI0ZGRlwiIGQ9XCJNNDcgMjJoMnY2aC0yem0tMjQgMGgydjZoLTJ6XCIvPjxwYXRoIGQ9XCJNMjEgNTFzNC42LTcgMTUtNyAxNSA3IDE1IDdcIiBzdHJva2U9XCIjRkZGXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48L2c+PC9zdmc+JyxcbiAgICBmYWlsOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA3MiA3MlwiPjxnIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPjxwYXRoIGQ9XCJNMzYgNzJjMTkuODgyIDAgMzYtMTYuMTE4IDM2LTM2UzU1Ljg4MiAwIDM2IDAgMCAxNi4xMTggMCAzNnMxNi4xMTggMzYgMzYgMzZ6bTAtMmMxOC43NzggMCAzNC0xNS4yMjIgMzQtMzRTNTQuNzc4IDIgMzYgMiAyIDE3LjIyMiAyIDM2czE1LjIyMiAzNCAzNCAzNHpcIiBmaWxsPVwiI0ZGRlwiLz48cGF0aCBkPVwiTTIyIDIybDI4LjMwNCAyOC4zMDRtLTI4LjMwNCAwTDUwLjMwNCAyMlwiIHN0cm9rZT1cIiNGRkZcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjwvZz48L3N2Zz4nLFxuICAgIHN1Y2Nlc3M6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDcyIDcyXCI+PGcgZmlsbD1cIm5vbmVcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCI+PHBhdGggZD1cIk0zNiA3MmMxOS44ODIgMCAzNi0xNi4xMTggMzYtMzZTNTUuODgyIDAgMzYgMCAwIDE2LjExOCAwIDM2czE2LjExOCAzNiAzNiAzNnptMC0yYzE4Ljc3OCAwIDM0LTE1LjIyMiAzNC0zNFM1NC43NzggMiAzNiAyIDIgMTcuMjIyIDIgMzZzMTUuMjIyIDM0IDM0IDM0elwiIGZpbGw9XCIjRkZGXCIvPjxwYXRoIHN0cm9rZT1cIiNGRkZcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk0xOSAzNC41NGwxMS41NDUgMTEuOTIzTDUyLjgxNSAyNFwiLz48L2c+PC9zdmc+J1xuICB9O1xuXG4gIHJlbmRlclN2Z1Nwcml0ZSgpIHtcbiAgICBjb25zdCBzeW1ib2xzID0gT2JqZWN0LmtleXModGhpcy5pY29ucylcbiAgICAgIC5tYXAoaWNvbk5hbWUgPT4ge1xuICAgICAgICBjb25zdCBzdmdDb250ZW50ID0gdGhpcy5pY29uc1tpY29uTmFtZV0uc3BsaXQoJ3N2ZycpWzFdO1xuICAgICAgICByZXR1cm4gYDxzeW1ib2wgaWQ9JHtpY29uTmFtZX0ke3N2Z0NvbnRlbnR9c3ltYm9sPmA7XG4gICAgICB9KVxuICAgICAgLmpvaW4oJycpO1xuICAgIHJldHVybiBzdmdTcHJpdGUoc3ltYm9scyk7XG4gIH1cblxuICBsb2FkKCkge1xuICAgIGlmICghZG9jdW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZXhpc3RpbmcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX19BTlREX01PQklMRV9TVkdfU1BSSVRFX05PREVfXycpO1xuICAgIGNvbnN0IG1vdW50Tm9kZSA9IGRvY3VtZW50LmJvZHk7XG5cbiAgICBpZiAoIWV4aXN0aW5nKSB7XG4gICAgICBtb3VudE5vZGUuaW5zZXJ0QWRqYWNlbnRIVE1MKCdhZnRlcmJlZ2luJywgdGhpcy5yZW5kZXJTdmdTcHJpdGUoKSk7XG4gICAgfVxuICB9XG59XG4iXX0=