ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
178 lines (177 loc) • 20.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component, Input, HostBinding, TemplateRef } from '@angular/core';
import { trigger, state, style } from '@angular/animations';
/** @typedef {?} */
var TabPanelPositionState;
export { TabPanelPositionState };
export class TabPane {
constructor() {
this.prefixCls = 'am-tabs-pane';
this.tintColor = '#108ee9';
this.unselectedTintColor = '#888';
this.active = true;
this.isTitleString = true;
this.showTabPanelContent = false;
this.paneWrap = true;
}
/**
* @return {?}
*/
get title() {
return this._title;
}
/**
* @param {?} value
* @return {?}
*/
set title(value) {
this.isTitleString = !(value instanceof TemplateRef);
this._title = value;
}
/**
* @return {?}
*/
get wrapActive() {
return this.active;
}
/**
* @return {?}
*/
get wrapInactive() {
return !this.active;
}
/**
* @param {?} e
* @return {?}
*/
onTranslateTabStarted(e) {
if ((e.toState == 'center-with-animation' ||
e.toState == 'center-without-animation' ||
e.toState == 'left-with-animation-with-higher-zindex' ||
e.toState == 'right-with-animation-with-higher-zindex' ||
e.toState == 'top-with-animation-with-higher-zindex' ||
e.toState == 'bottom-with-animation-with-higher-zindex') &&
(this.position == 'center-with-animation' ||
this.position == 'center-without-animation' ||
this.position == 'left-with-animation-with-higher-zindex' ||
this.position == 'right-with-animation-with-higher-zindex' ||
this.position == 'top-with-animation-with-higher-zindex' ||
this.position == 'bottom-with-animation-with-higher-zindex')) {
this.showTabPanelContent = true;
}
}
/**
* @param {?} e
* @return {?}
*/
onTranslateTabComplete(e) {
if (e.toState !== 'center-with-animation' &&
e.toState !== 'center-without-animation' &&
e.toState !== 'left-with-animation-with-higher-zindex' &&
e.toState !== 'right-with-animation-with-higher-zindex' &&
e.toState !== 'top-with-animation-with-higher-zindex' &&
e.toState !== 'bottom-with-animation-with-higher-zindex' &&
this.position !== 'center-with-animation' &&
this.position !== 'center-without-animation' &&
this.position !== 'left-with-animation-with-higher-zindex' &&
this.position !== 'right-with-animation-with-higher-zindex' &&
this.position !== 'top-with-animation-with-higher-zindex' &&
this.position !== 'bottom-with-animation-with-higher-zindex') {
this.showTabPanelContent = false;
}
}
}
TabPane.decorators = [
{ type: Component, args: [{
selector: 'TabPane, nzm-tab-pane',
template: "<ng-content *ngIf=\"showTabPanelContent\"></ng-content>",
host: {
'[@translateTabPane]': 'position',
'(@translateTabPane.start)': 'onTranslateTabStarted($event)',
'(@translateTabPane.done)': 'onTranslateTabComplete($event)'
},
animations: [
trigger('translateTabPane', [
state('left-with-animation', style({
transform: 'translate3d(-100%, 0, 0)',
transition: '.3s cubic-bezier(0.35, 0, 0.25, 1)'
})),
state('left-with-animation-with-higher-zindex', style({
'z-index': 100,
transform: 'translate3d(-100%, 0, 0)',
transition: '.3s cubic-bezier(0.35, 0, 0.25, 1)'
})),
state('left-without-animation', style({ transform: 'translate3d(-100%, 0, 0)' })),
state('right-with-animation', style({
transform: 'translate3d(100%, 0, 0)',
transition: '.3s cubic-bezier(0.35, 0, 0.25, 1)'
})),
state('right-with-animation-with-higher-zindex', style({
'z-index': 100,
transform: 'translate3d(100%, 0, 0)',
transition: '.3s cubic-bezier(0.35, 0, 0.25, 1)'
})),
state('right-without-animation', style({ transform: 'translate3d(100%, 0, 0)' })),
state('top-with-animation', style({
transform: 'translate3d(0, -100%, 0)',
transition: '.3s cubic-bezier(0.35, 0, 0.25, 1)'
})),
state('top-with-animation-with-higher-zindex', style({
'z-index': 100,
transform: 'translate3d(0, -100%, 0)',
transition: '.3s cubic-bezier(0.35, 0, 0.25, 1)'
})),
state('top-without-animation', style({ transform: 'translate3d(0, -100%, 0)' })),
state('bottom-with-animation', style({
transform: 'translate3d(0, 100%, 0)',
transition: '.3s cubic-bezier(0.35, 0, 0.25, 1)'
})),
state('bottom-with-animation-with-higher-zindex', style({
'z-index': 100,
transform: 'translate3d(0, 100%, 0)',
transition: '.3s cubic-bezier(0.35, 0, 0.25, 1)'
})),
state('bottom-without-animation', style({ transform: 'translate3d(0, 100%, 0)' })),
state('center-with-animation', style({
'z-index': 100,
transform: 'translate3d(0, 0, 0)',
transition: '.3s cubic-bezier(0.35, 0, 0.25, 1)'
})),
state('center-without-animation', style({ transform: 'translate3d(0, 0, 0)' }))
])
],
styles: [`:host {touch-action: auto}`]
}] }
];
/** @nocollapse */
TabPane.ctorParameters = () => [];
TabPane.propDecorators = {
title: [{ type: Input }],
paneWrap: [{ type: HostBinding, args: ['class.am-tabs-pane-wrap',] }],
wrapActive: [{ type: HostBinding, args: ['class.am-tabs-pane-wrap-active',] }],
wrapInactive: [{ type: HostBinding, args: ['class.am-tabs-pane-wrap-inactive',] }]
};
if (false) {
/** @type {?} */
TabPane.prototype.prefixCls;
/** @type {?} */
TabPane.prototype.tintColor;
/** @type {?} */
TabPane.prototype.unselectedTintColor;
/** @type {?} */
TabPane.prototype.active;
/** @type {?} */
TabPane.prototype.isTitleString;
/** @type {?} */
TabPane.prototype.showTabPanelContent;
/** @type {?} */
TabPane.prototype.position;
/** @type {?} */
TabPane.prototype._title;
/** @type {?} */
TabPane.prototype.paneWrap;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJ0YWJzL3RhYi1wYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQXlHNUQsTUFBTTtJQStCSjt5QkE5Qm9CLGNBQWM7eUJBQ2QsU0FBUzttQ0FDQyxNQUFNO3NCQUNsQixJQUFJOzZCQUNHLElBQUk7bUNBQ0UsS0FBSzt3QkFlaEIsSUFBSTtLQVVSOzs7O0lBcEJoQixJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7S0FDcEI7Ozs7O0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBaUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsS0FBSyxZQUFZLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0tBQ3JCOzs7O0lBSUQsSUFDSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0tBQ3BCOzs7O0lBQ0QsSUFDSSxZQUFZO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7S0FDckI7Ozs7O0lBSUQscUJBQXFCLENBQUMsQ0FBTTtRQUMxQixJQUNFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSx1QkFBdUI7WUFDbkMsQ0FBQyxDQUFDLE9BQU8sSUFBSSwwQkFBMEI7WUFDdkMsQ0FBQyxDQUFDLE9BQU8sSUFBSSx3Q0FBd0M7WUFDckQsQ0FBQyxDQUFDLE9BQU8sSUFBSSx5Q0FBeUM7WUFDdEQsQ0FBQyxDQUFDLE9BQU8sSUFBSSx1Q0FBdUM7WUFD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QUNqRCxDQUFDLENBQ0g7d0JBQ0QsS0FBSyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLENBQUM7d0JBQ2hGLEtBQUssQ0FDSCx1QkFBdUIsRUFDdkIsS0FBSyxDQUFDOzRCQUNKLFNBQVMsRUFBRSx5QkFBeUI7NEJBQ3BDLFVBQVUsRUFBRSxvQ0FBb0M7eUJBQ2pELENBQUMsQ0FDSDt3QkFDRCxLQUFLLENBQ0gsMENBQTBDLEVBQzFDLEtBQUssQ0FBQzs0QkFDSixTQUFTLEVBQUUsR0FBRzs0QkFDZCxTQUFTLEVBQUUseUJBQXlCOzRCQUNwQyxVQUFVLEVBQUUsb0NBQW9DO3lCQUNqRCxDQUFDLENBQ0g7d0JBQ0QsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7d0JBQ2xGLEtBQUssQ0FDSCx1QkFBdUIsRUFDdkIsS0FBSyxDQUFDOzRCQUNKLFNBQVMsRUFBRSxHQUFHOzRCQUNkLFNBQVMsRUFBRSxzQkFBc0I7NEJBQ2pDLFVBQVUsRUFBRSxvQ0FBb0M7eUJBQ2pELENBQUMsQ0FDSDt3QkFDRCxLQUFLLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztxQkFDaEYsQ0FBQztpQkFDSDt5QkFsRlEsNEJBQTRCO2FBbUZ0Qzs7Ozs7b0JBWUUsS0FBSzt1QkFTTCxXQUFXLFNBQUMseUJBQXlCO3lCQUVyQyxXQUFXLFNBQUMsZ0NBQWdDOzJCQUk1QyxXQUFXLFNBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuZXhwb3J0IHR5cGUgVGFiUGFuZWxQb3NpdGlvblN0YXRlID1cbiAgfCAnY2VudGVyLXdpdGgtYW5pbWF0aW9uJ1xuICB8ICdjZW50ZXItd2l0aG91dC1hbmltYXRpb24nXG4gIHwgJ3RvcC13aXRoLWFuaW1hdGlvbidcbiAgfCAndG9wLXdpdGgtYW5pbWF0aW9uLXdpdGgtaGlnaGVyLXppbmRleCdcbiAgfCAndG9wLXdpdGhvdXQtYW5pbWF0aW9uJ1xuICB8ICdsZWZ0LXdpdGgtYW5pbWF0aW9uJ1xuICB8ICdsZWZ0LXdpdGgtYW5pbWF0aW9uLXdpdGgtaGlnaGVyLXppbmRleCdcbiAgfCAnbGVmdC13aXRob3V0LWFuaW1hdGlvbidcbiAgfCAnYm90dG9tLXdpdGgtYW5pbWF0aW9uJ1xuICB8ICdib3R0b20td2l0aC1hbmltYXRpb24td2l0aC1oaWdoZXItemluZGV4J1xuICB8ICdib3R0b20td2l0aG91dC1hbmltYXRpb24nXG4gIHwgJ3JpZ2h0LXdpdGgtYW5pbWF0aW9uJ1xuICB8ICdyaWdodC13aXRoLWFuaW1hdGlvbi13aXRoLWhpZ2hlci16aW5kZXgnXG4gIHwgJ3JpZ2h0LXdpdGhvdXQtYW5pbWF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnVGFiUGFuZSwgbnptLXRhYi1wYW5lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1wYW5lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbYDpob3N0IHt0b3VjaC1hY3Rpb246IGF1dG99YF0sXG4gIGhvc3Q6IHtcbiAgICAnW0B0cmFuc2xhdGVUYWJQYW5lXSc6ICdwb3NpdGlvbicsXG4gICAgJyhAdHJhbnNsYXRlVGFiUGFuZS5zdGFydCknOiAnb25UcmFuc2xhdGVUYWJTdGFydGVkKCRldmVudCknLFxuICAgICcoQHRyYW5zbGF0ZVRhYlBhbmUuZG9uZSknOiAnb25UcmFuc2xhdGVUYWJDb21wbGV0ZSgkZXZlbnQpJ1xuICB9LFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcigndHJhbnNsYXRlVGFiUGFuZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICAnbGVmdC13aXRoLWFuaW1hdGlvbicsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCknLFxuICAgICAgICAgIHRyYW5zaXRpb246ICcuM3MgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpJ1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAnbGVmdC13aXRoLWFuaW1hdGlvbi13aXRoLWhpZ2hlci16aW5kZXgnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgJ3otaW5kZXgnOiAxMDAsXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApJyxcbiAgICAgICAgICB0cmFuc2l0aW9uOiAnLjNzIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKSdcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBzdGF0ZSgnbGVmdC13aXRob3V0LWFuaW1hdGlvbicsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCknIH0pKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAncmlnaHQtd2l0aC1hbmltYXRpb24nLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMTAwJSwgMCwgMCknLFxuICAgICAgICAgIHRyYW5zaXRpb246ICcuM3MgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpJ1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAncmlnaHQtd2l0aC1hbmltYXRpb24td2l0aC1oaWdoZXItemluZGV4JyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICd6LWluZGV4JzogMTAwLFxuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDEwMCUsIDAsIDApJyxcbiAgICAgICAgICB0cmFuc2l0aW9uOiAnLjNzIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKSdcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBzdGF0ZSgncmlnaHQtd2l0aG91dC1hbmltYXRpb24nLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMTAwJSwgMCwgMCknIH0pKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAndG9wLXdpdGgtYW5pbWF0aW9uJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKScsXG4gICAgICAgICAgdHJhbnNpdGlvbjogJy4zcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSknXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICd0b3Atd2l0aC1hbmltYXRpb24td2l0aC1oaWdoZXItemluZGV4JyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICd6LWluZGV4JzogMTAwLFxuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKScsXG4gICAgICAgICAgdHJhbnNpdGlvbjogJy4zcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSknXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoJ3RvcC13aXRob3V0LWFuaW1hdGlvbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApJyB9KSksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ2JvdHRvbS13aXRoLWFuaW1hdGlvbicsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKScsXG4gICAgICAgICAgdHJhbnNpdGlvbjogJy4zcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSknXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdib3R0b20td2l0aC1hbmltYXRpb24td2l0aC1oaWdoZXItemluZGV4JyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICd6LWluZGV4JzogMTAwLFxuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAsIDEwMCUsIDApJyxcbiAgICAgICAgICB0cmFuc2l0aW9uOiAnLjNzIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKSdcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBzdGF0ZSgnYm90dG9tLXdpdGhvdXQtYW5pbWF0aW9uJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKScgfSkpLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdjZW50ZXItd2l0aC1hbmltYXRpb24nLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgJ3otaW5kZXgnOiAxMDAsXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCwgMCwgMCknLFxuICAgICAgICAgIHRyYW5zaXRpb246ICcuM3MgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpJ1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHN0YXRlKCdjZW50ZXItd2l0aG91dC1hbmltYXRpb24nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAsIDAsIDApJyB9KSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhYlBhbmUge1xuICBwcmVmaXhDbHM6IHN0cmluZyA9ICdhbS10YWJzLXBhbmUnO1xuICB0aW50Q29sb3I6IHN0cmluZyA9ICcjMTA4ZWU5JztcbiAgdW5zZWxlY3RlZFRpbnRDb2xvcjogc3RyaW5nID0gJyM4ODgnO1xuICBhY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xuICBpc1RpdGxlU3RyaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgc2hvd1RhYlBhbmVsQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xuICBwb3NpdGlvbjogVGFiUGFuZWxQb3NpdGlvblN0YXRlO1xuXG4gIHByaXZhdGUgX3RpdGxlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBASW5wdXQoKVxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl90aXRsZTtcbiAgfVxuICBzZXQgdGl0bGUodmFsdWU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+KSB7XG4gICAgdGhpcy5pc1RpdGxlU3RyaW5nID0gISh2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKTtcbiAgICB0aGlzLl90aXRsZSA9IHZhbHVlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS10YWJzLXBhbmUtd3JhcCcpXG4gIHBhbmVXcmFwOiBib29sZWFuID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS10YWJzLXBhbmUtd3JhcC1hY3RpdmUnKVxuICBnZXQgd3JhcEFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmU7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS10YWJzLXBhbmUtd3JhcC1pbmFjdGl2ZScpXG4gIGdldCB3cmFwSW5hY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmFjdGl2ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBvblRyYW5zbGF0ZVRhYlN0YXJ0ZWQoZTogYW55KSB7XG4gICAgaWYgKFxuICAgICAgKGUudG9TdGF0ZSA9PSAnY2VudGVyLXdpdGgtYW5pbWF0aW9uJyB8fFxuICAgICAgICBlLnRvU3RhdGUgPT0gJ2NlbnRlci13aXRob3V0LWFuaW1hdGlvbicgfHxcbiAgICAgICAgZS50b1N0YXRlID09ICdsZWZ0LXdpdGgtYW5pbWF0aW9uLXdpdGgtaGlnaGVyLXppbmRleCcgfHxcbiAgICAgICAgZS50b1N0YXRlID09ICdyaWdodC13aXRoLWFuaW1hdGlvbi13aXRoLWhpZ2hlci16aW5kZXgnIHx8XG4gICAgICAgIGUudG9TdGF0ZSA9PSAndG9wLXdpdGgtYW5pbWF0aW9uLXdpdGgtaGlnaGVyLXppbmRleCcgfHxcbiAgICAgICAgZS50b1N0YXRlID09ICdib3R0b20td2l0aC1hbmltYXRpb24td2l0aC1oaWdoZXItemluZGV4JykgJiZcbiAgICAgICh0aGlzLnBvc2l0aW9uID09ICdjZW50ZXItd2l0aC1hbmltYXRpb24nIHx8XG4gICAgICAgIHRoaXMucG9zaXRpb24gPT0gJ2NlbnRlci13aXRob3V0LWFuaW1hdGlvbicgfHxcbiAgICAgICAgdGhpcy5wb3NpdGlvbiA9PSAnbGVmdC13aXRoLWFuaW1hdGlvbi13aXRoLWhpZ2hlci16aW5kZXgnIHx8XG4gICAgICAgIHRoaXMucG9zaXRpb24gPT0gJ3JpZ2h0LXdpdGgtYW5pbWF0aW9uLXdpdGgtaGlnaGVyLXppbmRleCcgfHxcbiAgICAgICAgdGhpcy5wb3NpdGlvbiA9PSAndG9wLXdpdGgtYW5pbWF0aW9uLXdpdGgtaGlnaGVyLXppbmRleCcgfHxcbiAgICAgICAgdGhpcy5wb3NpdGlvbiA9PSAnYm90dG9tLXdpdGgtYW5pbWF0aW9uLXdpdGgtaGlnaGVyLXppbmRleCcpXG4gICAgKSB7XG4gICAgICB0aGlzLnNob3dUYWJQYW5lbENvbnRlbnQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uVHJhbnNsYXRlVGFiQ29tcGxldGUoZTogYW55KSB7XG4gICAgaWYgKFxuICAgICAgZS50b1N0YXRlICE9PSAnY2VudGVyLXdpdGgtYW5pbWF0aW9uJyAmJlxuICAgICAgZS50b1N0YXRlICE9PSAnY2VudGVyLXdpdGhvdXQtYW5pbWF0aW9uJyAmJlxuICAgICAgZS50b1N0YXRlICE9PSAnbGVmdC13aXRoLWFuaW1hdGlvbi13aXRoLWhpZ2hlci16aW5kZXgnICYmXG4gICAgICBlLnRvU3RhdGUgIT09ICdyaWdodC13aXRoLWFuaW1hdGlvbi13aXRoLWhpZ2hlci16aW5kZXgnICYmXG4gICAgICBlLnRvU3RhdGUgIT09ICd0b3Atd2l0aC1hbmltYXRpb24td2l0aC1oaWdoZXItemluZGV4JyAmJlxuICAgICAgZS50b1N0YXRlICE9PSAnYm90dG9tLXdpdGgtYW5pbWF0aW9uLXdpdGgtaGlnaGVyLXppbmRleCcgJiZcbiAgICAgIHRoaXMucG9zaXRpb24gIT09ICdjZW50ZXItd2l0aC1hbmltYXRpb24nICYmXG4gICAgICB0aGlzLnBvc2l0aW9uICE9PSAnY2VudGVyLXdpdGhvdXQtYW5pbWF0aW9uJyAmJlxuICAgICAgdGhpcy5wb3NpdGlvbiAhPT0gJ2xlZnQtd2l0aC1hbmltYXRpb24td2l0aC1oaWdoZXItemluZGV4JyAmJlxuICAgICAgdGhpcy5wb3NpdGlvbiAhPT0gJ3JpZ2h0LXdpdGgtYW5pbWF0aW9uLXdpdGgtaGlnaGVyLXppbmRleCcgJiZcbiAgICAgIHRoaXMucG9zaXRpb24gIT09ICd0b3Atd2l0aC1hbmltYXRpb24td2l0aC1oaWdoZXItemluZGV4JyAmJlxuICAgICAgdGhpcy5wb3NpdGlvbiAhPT0gJ2JvdHRvbS13aXRoLWFuaW1hdGlvbi13aXRoLWhpZ2hlci16aW5kZXgnXG4gICAgKSB7XG4gICAgICB0aGlzLnNob3dUYWJQYW5lbENvbnRlbnQgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==