UNPKG

ngx-pluto

Version:
205 lines 18.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ViewEncapsulation, Input, ElementRef, ViewChild } from "@angular/core"; /** * 盒子组件 - 常用于展示汇总数据等的面板 * * <example-url>https://stackblitz.com/edit/np-box-sample?embed=1&file=src/app/app.component.html</example-url> */ var NpBox = /** @class */ (function () { function NpBox() { this.defaultBgColors = ['blue', 'green', 'red', 'orange']; this.showCustomHoverColor = false; } /** * @return {?} */ NpBox.prototype.ngOnInit = /** * @return {?} */ function () { this.initOptions(); this.buildCustomBg(); }; /** * @private * @return {?} */ NpBox.prototype.initOptions = /** * @private * @return {?} */ function () { if (this.options) { if (!this.options.bg) { this.options.bg = 'blue'; } if (!this.options.layout) { this.options.layout = 'center'; } } }; /** * @private * @return {?} */ NpBox.prototype.buildCustomBg = /** * @private * @return {?} */ function () { if (this.options.bg && this.defaultBgColors.indexOf(this.options.bg) === -1 && this.npBoxHeader.nativeElement) { if (this.options.bg.indexOf('//') > -1 || this.options.bg.indexOf('http') > -1) { this.npBoxHeader.nativeElement.style.backgroundImage = 'url(' + this.options.bg + ')'; this.npBoxHeader.nativeElement.style.backgroundPosition = '0% 0%'; this.npBoxHeader.nativeElement.style.backgroundRepeat = 'no-repeat'; this.npBoxHeader.nativeElement.style.backgroundSize = '100% 100%'; } else { this.npBoxHeader.nativeElement.style.backgroundColor = this.options.bg; } } }; /** * 构建NpBoxOptions中设置的鼠标hover颜色hoverColor * @param isHover 鼠标是否hover */ /** * 构建NpBoxOptions中设置的鼠标hover颜色hoverColor * @param {?} isHover 鼠标是否hover * @return {?} */ NpBox.prototype.buildCustomHoverColor = /** * 构建NpBoxOptions中设置的鼠标hover颜色hoverColor * @param {?} isHover 鼠标是否hover * @return {?} */ function (isHover) { if (this.options.bg && this.options.hoverColor && this.defaultBgColors.indexOf(this.options.bg) === -1) { this.showCustomHoverColor = isHover; } }; NpBox.decorators = [ { type: Component, args: [{ selector: "np-box", template: "<div #npBoxWrapper class=\"np-box-wrapper flex-wrap col-flex\" [ngClass]=\"{\r\n 'blue-shadow': options.bg === 'blue', \r\n 'green-shadow': options.bg === 'green', \r\n 'red-shadow': options.bg === 'red', \r\n 'orange-shadow': options.bg === 'orange'\r\n }\" [ngStyle]=\"{'box-shadow': showCustomHoverColor ? '0px 8px 16px 0px rgba(' + options.hoverColor + ', 0.2)' : ''}\"\r\n (mouseenter)=\"buildCustomHoverColor(true)\" (mouseleave)=\"buildCustomHoverColor(false)\">\r\n <div #npBoxHeader class=\"np-box-header flex-wrap row-flex\" [ngClass]=\"{\r\n 'blue': options.bg === 'blue', \r\n 'green': options.bg === 'green', \r\n 'red': options.bg === 'red', \r\n 'orange': options.bg === 'orange'\r\n }\">\r\n <i [ngClass]=\"options.faIcon\"></i>\r\n &nbsp;&nbsp;\r\n <span>{{ options.title }}</span>\r\n </div>\r\n <div class=\"np-box-content flex-wrap row-flex\" *ngIf=\"options.layout === 'leftRight'\"\r\n [ngStyle]=\"{'height.px': options.height}\">\r\n <div class=\"flex-wrap col-flex\" [ngClass]=\"{'left-right': options.layout === 'leftRight'}\">\r\n <span>{{ options.lCaption }}</span>\r\n <span [style.color]=\"options.lColor\">{{ options.lContent }}</span>\r\n </div>\r\n <span class=\"vertical-line\"></span>\r\n <div class=\"flex-wrap col-flex\" [ngClass]=\"{'left-right': options.layout === 'leftRight'}\">\r\n <span>{{ options.rCaption }}</span>\r\n <span [style.color]=\"options.rColor\">{{ options.rContent }}</span>\r\n </div>\r\n </div>\r\n <div class=\"np-box-content flex-wrap row-flex\" *ngIf=\"options.layout === 'center'\"\r\n [ngStyle]=\"{'height.px': options.height}\">\r\n <div class=\"flex-wrap col-flex\" [ngClass]=\"{'center': options.layout === 'center'}\">\r\n <span>{{ options.cCaption }}</span>\r\n <span [style.color]=\"options.cColor\">{{ options.cContent }}</span>\r\n </div>\r\n </div>\r\n <div class=\"np-box-content flex-wrap row-flex\" *ngIf=\"options.layout === 'custom'\"\r\n [ngStyle]=\"{'height.px': options.height}\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", encapsulation: ViewEncapsulation.None, styles: [".np-box-wrapper{box-shadow:0 8px 16px 0 rgba(174,180,180,.16);border-radius:10px;min-height:155px;transition:box-shadow .5s}.np-box-wrapper:hover.blue-shadow{box-shadow:0 8px 16px 0 rgba(78,136,221,.2)!important}.np-box-wrapper:hover.green-shadow{box-shadow:0 8px 16px 0 rgba(44,197,198,.2)!important}.np-box-wrapper:hover.red-shadow{box-shadow:0 8px 16px 0 rgba(244,107,120,.2)!important}.np-box-wrapper:hover.orange-shadow{box-shadow:0 8px 16px 0 rgba(253,137,34,.2)!important}.np-box-wrapper .np-box-header{justify-content:center;align-items:baseline;border-top-left-radius:10px;border-top-right-radius:10px;font-size:17px;line-height:48px}.np-box-wrapper .np-box-header.blue{background:url(//image.ipay.so/upload/voucher/assets/images/activity/pin-order_amt.png) 0 0/100% 100% no-repeat}.np-box-wrapper .np-box-header.green{background:url(//image.ipay.so/upload/voucher/assets/images/activity/pin-order_count.png) 0 0/100% 100% no-repeat}.np-box-wrapper .np-box-header.red{background:url(//image.ipay.so/upload/voucher/assets/images/activity/pin-user_count.png) 0 0/100% 100% no-repeat}.np-box-wrapper .np-box-header.orange{background:url(//image.ipay.so/upload/voucher/assets/images/activity/pin-product_count.png) 0 0/100% 100% no-repeat}.np-box-wrapper .np-box-content{margin:auto 0;justify-content:space-evenly;align-items:center}.np-box-wrapper .np-box-content>div.center,.np-box-wrapper .np-box-content>div.left-right{align-items:center}.np-box-wrapper .np-box-content>div.center>span:first-child,.np-box-wrapper .np-box-content>div.left-right>span:first-child{text-align:center;font-size:14px;margin-bottom:10px}.np-box-wrapper .np-box-content>div.center>span:last-child,.np-box-wrapper .np-box-content>div.left-right>span:last-child{font-weight:700;font-size:35px}.np-box-wrapper .np-box-content .vertical-line{width:1px;height:51px}"] }] } ]; /** @nocollapse */ NpBox.ctorParameters = function () { return []; }; NpBox.propDecorators = { options: [{ type: Input }], npBoxHeader: [{ type: ViewChild, args: ['npBoxHeader',] }] }; return NpBox; }()); export { NpBox }; if (false) { /** * 输入参数选项 * @type {?} */ NpBox.prototype.options; /** * @type {?} * @private */ NpBox.prototype.npBoxHeader; /** * @type {?} * @private */ NpBox.prototype.defaultBgColors; /** @type {?} */ NpBox.prototype.showCustomHoverColor; } /** * @ignore * @record */ export function NpBoxOptions() { } if (false) { /** * 'blue' | 'green' | 'red' | 'orange' 默认提供四种头部背景颜色 * 另外也可以直接传背景图片url或者其他颜色 * default = 'blue' * @type {?|undefined} */ NpBoxOptions.prototype.bg; /** * 头部的标题文字 * @type {?} */ NpBoxOptions.prototype.title; /** * 头部标题icon * @type {?} */ NpBoxOptions.prototype.faIcon; /** * 当传入的不是默认的四种颜色值之一的时候需要提供hover的阴影颜色,只支持传入rgb颜色值,eg. '100, 100, 100' * @type {?|undefined} */ NpBoxOptions.prototype.hoverColor; /** * box内容布局:左右布局 | 居中布局 | 自定义布局 * default = 'center' * @type {?|undefined} */ NpBoxOptions.prototype.layout; /** * 内容部分的高度像素, 如传入'300'则为300px * @type {?|undefined} */ NpBoxOptions.prototype.height; /** * 如果内容部分为左右布局,则此参数为左边标题 * @type {?|undefined} */ NpBoxOptions.prototype.lCaption; /** * 如果内容部分为左右布局,则此参数为左边内容 * @type {?|undefined} */ NpBoxOptions.prototype.lContent; /** * 如果内容部分为左右布局,则此参数为左边内容文字颜色 * @type {?|undefined} */ NpBoxOptions.prototype.lColor; /** * 如果内容部分为左右布局,则此参数为右边标题 * @type {?|undefined} */ NpBoxOptions.prototype.rCaption; /** * 如果内容部分为左右布局,则此参数为右边内容 * @type {?|undefined} */ NpBoxOptions.prototype.rContent; /** * 如果内容部分为左右布局,则此参数为右边内容文字颜色 * @type {?|undefined} */ NpBoxOptions.prototype.rColor; /** * 如果内容部分为居中布局,则此参数为居中内容标题 * @type {?|undefined} */ NpBoxOptions.prototype.cCaption; /** * 如果内容部分为居中布局,则此参数为居中内容 * @type {?|undefined} */ NpBoxOptions.prototype.cContent; /** * 如果内容部分为居中布局,则此参数为居中内容文字颜色 * @type {?|undefined} */ NpBoxOptions.prototype.cColor; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXBsdXRvLyIsInNvdXJjZXMiOlsibGliL2JveC9ib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQVUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU9uRztJQWlCRTtRQUhRLG9CQUFlLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM3RCx5QkFBb0IsR0FBRyxLQUFLLENBQUM7SUFFYixDQUFDOzs7O0lBRWpCLHdCQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFTywyQkFBVzs7OztJQUFuQjtRQUNFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQzthQUMxQjtZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO2FBQ2hDO1NBQ0Y7SUFDSCxDQUFDOzs7OztJQUVPLDZCQUFhOzs7O0lBQXJCO1FBQ0UsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFO1lBQzdHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDOUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO2dCQUN0RixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDO2dCQUNsRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQzthQUNuRTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2FBQ3hFO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7OztPQUdHOzs7Ozs7SUFDSCxxQ0FBcUI7Ozs7O0lBQXJCLFVBQXNCLE9BQWdCO1FBQ3BDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUN0RyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQzs7Z0JBekRGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsMm5FQUF1QjtvQkFFdkIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2lCQUN0Qzs7Ozs7MEJBS0UsS0FBSzs4QkFFTCxTQUFTLFNBQUMsYUFBYTs7SUE4QzFCLFlBQUM7Q0FBQSxBQTFERCxJQTBEQztTQW5EWSxLQUFLOzs7Ozs7SUFHaEIsd0JBQStCOzs7OztJQUUvQiw0QkFBdUU7Ozs7O0lBRXZFLGdDQUE2RDs7SUFDN0QscUNBQTZCOzs7Ozs7QUFnRC9CLGtDQXdDQzs7Ozs7Ozs7SUFsQ0MsMEJBQVk7Ozs7O0lBRVosNkJBQWM7Ozs7O0lBRWQsOEJBQWU7Ozs7O0lBSWYsa0NBQW9COzs7Ozs7SUFLcEIsOEJBQTJDOzs7OztJQUUzQyw4QkFBZ0I7Ozs7O0lBRWhCLGdDQUFrQjs7Ozs7SUFFbEIsZ0NBQWU7Ozs7O0lBRWYsOEJBQWdCOzs7OztJQUVoQixnQ0FBa0I7Ozs7O0lBRWxCLGdDQUFlOzs7OztJQUVmLDhCQUFnQjs7Ozs7SUFFaEIsZ0NBQWtCOzs7OztJQUVsQixnQ0FBZTs7Ozs7SUFFZiw4QkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkluaXQsIElucHV0LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqXHJcbiAqIOebkuWtkOe7hOS7tiAtIOW4uOeUqOS6juWxleekuuaxh+aAu+aVsOaNruetieeahOmdouadv1xyXG4gKiBcclxuICogPGV4YW1wbGUtdXJsPmh0dHBzOi8vc3RhY2tibGl0ei5jb20vZWRpdC9ucC1ib3gtc2FtcGxlP2VtYmVkPTEmZmlsZT1zcmMvYXBwL2FwcC5jb21wb25lbnQuaHRtbDwvZXhhbXBsZS11cmw+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYG5wLWJveGAsXHJcbiAgdGVtcGxhdGVVcmw6ICdib3guaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJ2JveC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE5wQm94IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgLyoq6L6T5YWl5Y+C5pWw6YCJ6aG5ICovXHJcbiAgQElucHV0KCkgb3B0aW9uczogTnBCb3hPcHRpb25zO1xyXG5cclxuICBAVmlld0NoaWxkKCducEJveEhlYWRlcicpIHByaXZhdGUgbnBCb3hIZWFkZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG5cclxuICBwcml2YXRlIGRlZmF1bHRCZ0NvbG9ycyA9IFsnYmx1ZScsICdncmVlbicsICdyZWQnLCAnb3JhbmdlJ107XHJcbiAgc2hvd0N1c3RvbUhvdmVyQ29sb3IgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXRPcHRpb25zKCk7XHJcbiAgICB0aGlzLmJ1aWxkQ3VzdG9tQmcoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdE9wdGlvbnMoKSB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zKSB7XHJcbiAgICAgIGlmICghdGhpcy5vcHRpb25zLmJnKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zLmJnID0gJ2JsdWUnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIXRoaXMub3B0aW9ucy5sYXlvdXQpIHtcclxuICAgICAgICB0aGlzLm9wdGlvbnMubGF5b3V0ID0gJ2NlbnRlcic7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRDdXN0b21CZygpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuYmcgJiYgdGhpcy5kZWZhdWx0QmdDb2xvcnMuaW5kZXhPZih0aGlzLm9wdGlvbnMuYmcpID09PSAtMSAmJiB0aGlzLm5wQm94SGVhZGVyLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5iZy5pbmRleE9mKCcvLycpID4gLTEgfHwgdGhpcy5vcHRpb25zLmJnLmluZGV4T2YoJ2h0dHAnKSA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5ucEJveEhlYWRlci5uYXRpdmVFbGVtZW50LnN0eWxlLmJhY2tncm91bmRJbWFnZSA9ICd1cmwoJyArIHRoaXMub3B0aW9ucy5iZyArICcpJztcclxuICAgICAgICB0aGlzLm5wQm94SGVhZGVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uID0gJzAlIDAlJztcclxuICAgICAgICB0aGlzLm5wQm94SGVhZGVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZFJlcGVhdCA9ICduby1yZXBlYXQnO1xyXG4gICAgICAgIHRoaXMubnBCb3hIZWFkZXIubmF0aXZlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9ICcxMDAlIDEwMCUnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubnBCb3hIZWFkZXIubmF0aXZlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLm9wdGlvbnMuYmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOaehOW7uk5wQm94T3B0aW9uc+S4reiuvue9rueahOm8oOagh2hvdmVy6aKc6ImyaG92ZXJDb2xvclxyXG4gICAqIEBwYXJhbSBpc0hvdmVyIOm8oOagh+aYr+WQpmhvdmVyXHJcbiAgICovXHJcbiAgYnVpbGRDdXN0b21Ib3ZlckNvbG9yKGlzSG92ZXI6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuYmcgJiYgdGhpcy5vcHRpb25zLmhvdmVyQ29sb3IgJiYgdGhpcy5kZWZhdWx0QmdDb2xvcnMuaW5kZXhPZih0aGlzLm9wdGlvbnMuYmcpID09PSAtMSkge1xyXG4gICAgICB0aGlzLnNob3dDdXN0b21Ib3ZlckNvbG9yID0gaXNIb3ZlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE5wQm94T3B0aW9ucyB7XHJcbiAgLyoqXHJcbiAgKiAnYmx1ZScgfCAnZ3JlZW4nIHwgJ3JlZCcgfCAnb3JhbmdlJyAg6buY6K6k5o+Q5L6b5Zub56eN5aS06YOo6IOM5pmv6aKc6ImyXHJcbiAgKiDlj6blpJbkuZ/lj6/ku6Xnm7TmjqXkvKDog4zmma/lm77niYd1cmzmiJbogIXlhbbku5bpopzoibJcclxuICAqIGRlZmF1bHQgPSAnYmx1ZSdcclxuICAqL1xyXG4gIGJnPzogc3RyaW5nO1xyXG4gIC8qKuWktOmDqOeahOagh+mimOaWh+WtlyAqL1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgLyoq5aS06YOo5qCH6aKYaWNvbiAqL1xyXG4gIGZhSWNvbjogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIOW9k+S8oOWFpeeahOS4jeaYr+m7mOiupOeahOWbm+enjeminOiJsuWAvOS5i+S4gOeahOaXtuWAmemcgOimgeaPkOS+m2hvdmVy55qE6Zi05b2x6aKc6Imy77yM5Y+q5pSv5oyB5Lyg5YWlcmdi6aKc6Imy5YC877yMZWcuICcxMDAsIDEwMCwgMTAwJ1xyXG4gICAqL1xyXG4gIGhvdmVyQ29sb3I/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogYm945YaF5a655biD5bGA77ya5bem5Y+z5biD5bGAIHwg5bGF5Lit5biD5bGAIHwg6Ieq5a6a5LmJ5biD5bGAXHJcbiAgICogZGVmYXVsdCA9ICdjZW50ZXInXHJcbiAgICovXHJcbiAgbGF5b3V0PzogJ2xlZnRSaWdodCcgfCAnY2VudGVyJyB8ICdjdXN0b20nO1xyXG4gIC8qKuWGheWuuemDqOWIhueahOmrmOW6puWDj+e0oO+8jCDlpoLkvKDlhaUnMzAwJ+WImeS4ujMwMHB4ICovXHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKuWmguaenOWGheWuuemDqOWIhuS4uuW3puWPs+W4g+WxgO+8jOWImeatpOWPguaVsOS4uuW3pui+ueagh+mimCAqL1xyXG4gIGxDYXB0aW9uPzogc3RyaW5nO1xyXG4gIC8qKuWmguaenOWGheWuuemDqOWIhuS4uuW3puWPs+W4g+WxgO+8jOWImeatpOWPguaVsOS4uuW3pui+ueWGheWuuSAqL1xyXG4gIGxDb250ZW50PzogYW55O1xyXG4gIC8qKuWmguaenOWGheWuuemDqOWIhuS4uuW3puWPs+W4g+WxgO+8jOWImeatpOWPguaVsOS4uuW3pui+ueWGheWuueaWh+Wtl+minOiJsiAqL1xyXG4gIGxDb2xvcj86IHN0cmluZztcclxuICAvKirlpoLmnpzlhoXlrrnpg6jliIbkuLrlt6blj7PluIPlsYDvvIzliJnmraTlj4LmlbDkuLrlj7PovrnmoIfpopggKi9cclxuICByQ2FwdGlvbj86IHN0cmluZztcclxuICAvKirlpoLmnpzlhoXlrrnpg6jliIbkuLrlt6blj7PluIPlsYDvvIzliJnmraTlj4LmlbDkuLrlj7PovrnlhoXlrrkgKi9cclxuICByQ29udGVudD86IGFueTtcclxuICAvKirlpoLmnpzlhoXlrrnpg6jliIbkuLrlt6blj7PluIPlsYDvvIzliJnmraTlj4LmlbDkuLrlj7PovrnlhoXlrrnmloflrZfpopzoibIgKi9cclxuICByQ29sb3I/OiBzdHJpbmc7XHJcbiAgLyoq5aaC5p6c5YaF5a656YOo5YiG5Li65bGF5Lit5biD5bGA77yM5YiZ5q2k5Y+C5pWw5Li65bGF5Lit5YaF5a655qCH6aKYICovXHJcbiAgY0NhcHRpb24/OiBzdHJpbmc7XHJcbiAgLyoq5aaC5p6c5YaF5a656YOo5YiG5Li65bGF5Lit5biD5bGA77yM5YiZ5q2k5Y+C5pWw5Li65bGF5Lit5YaF5a65ICovXHJcbiAgY0NvbnRlbnQ/OiBhbnk7XHJcbiAgLyoq5aaC5p6c5YaF5a656YOo5YiG5Li65bGF5Lit5biD5bGA77yM5YiZ5q2k5Y+C5pWw5Li65bGF5Lit5YaF5a655paH5a2X6aKc6ImyICovXHJcbiAgY0NvbG9yPzogc3RyaW5nO1xyXG59Il19