{"version":3,"sources":["./src/app/shared/components/daotao/quatrinhdaotao.component.ts","./src/app/shared/components/daotao/quatrinhdaotao.component.html","./src/app/layout/header/header.component.ts","./src/app/layout/header/header.component.html","./src/app/core/menu/menu.service.ts","./src/app/shared/components/tonghop/choncanboedit.component.ts","./src/app/shared/components/tonghop/choncanboedit.component.html","./src/app/shared/directives/approversavatar/planapproversavatar.directive.ts","./src/app/shared/components/tonghop/importedit.component.ts","./src/app/shared/components/tonghop/importedit.component.html","./src/app/shared/styles/themes/theme-h.scss","./src/app/layout/header/navsearch/navsearch.component.ts","./src/app/layout/header/navsearch/navsearch.component.html","./src/app/services/authorization.service.ts","./src/environments/environment.ts","./src/app/routes/menu.ts","./src/app/shared/directives/approversavatar/bongapprovers.directive.ts","./src/app/shared/directives/approversavatar/planstatus.directive.ts","./src/app/services/repository.ts","./src/app/shared/directives/checkall/checkall.directive.ts","./src/app/shared/directives/approversavatar/articleapproversavatar.directive.ts","./src/app/layout/sidebar/sidebar.component.ts","./src/app/layout/sidebar/sidebar.component.html","./src/app/shared/directives/now/now.directive.ts","./src/app/core/settings/settings.service.ts","./src/app/shared/shared.module.ts","./src/app/shared/styles/themes/theme-d.scss","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/shared/components/tonghop/dkycanboedit.component.ts","./src/app/shared/components/tonghop/dkycanboedit.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/layout/layout.module.ts","./src/app/core/themes/themes.service.ts","./src/app/routes/routes.ts","./src/app/core/translator/translator.service.ts","./src/app/layout/offsidebar/offsidebar.component.html","./src/app/layout/offsidebar/offsidebar.component.ts","./src/app/core/module-import-guard.ts","./src/app/services/list.service.ts","./src/app/app.module.ts","./src/app/shared/styles/themes/theme-b.scss","./src/app/shared/styles/themes/theme-c.scss","./src/app/shared/components/danhmuc/danhmucchungedit.component.ts","./src/app/shared/components/danhmuc/danhmucchungedit.component.html","./src/app/services/authentication.service.ts","./src/modernizr.js","./src/app/shared/util/auth.guard.ts","./src/app/shared/components/danhmuc/ngayhethanedit.component.ts","./src/app/shared/components/danhmuc/ngayhethanedit.component.html","./src/app/shared/styles/themes/theme-e.scss","./src/app/shared/components/quantri/phanheedit.component.ts","./src/app/shared/components/quantri/phanheedit.component.html","./src/app/layout/sidebar/userblock/userblock.component.html","./src/app/layout/sidebar/userblock/userblock.component.ts","./src/app/shared/components/tonghop/choncauhoiedit.component.ts","./src/app/shared/components/tonghop/choncauhoiedit.component.html","./src/vendor.ts","./src/app/shared/components/danhmuc/loaithiedit.component.ts","./src/app/shared/components/danhmuc/loaithiedit.component.html","./src/app/shared/styles/themes/theme-a.scss","./src/app/layout/footer/footer.component.ts","./src/app/services/tooldata.service.ts","./src/app/shared/colors/colors.service.ts","./src/app/shared/directives/approversavatar/articlestatus.directive.ts","./src/app/layout/sidebar/userblock/userblock.service.ts","./src/app/shared/components/danhmuc/danhsachthiedit.component.ts","./src/app/shared/components/danhmuc/danhsachthiedit.component.html","./src/app/core/core.module.ts","./src/app/shared/components/quantri/filemanager.component.ts","./src/app/shared/components/quantri/filemanager.component.html","./src/app/shared/global.ts","./src/app/shared/components/danhmuc/loaicauhoiedit.component.ts","./src/app/shared/components/danhmuc/loaicauhoiedit.component.html","./src/app/layout/layout.component.ts","./src/app/layout/layout.component.html","./src/app/shared/styles/themes/theme-g.scss","./src/app/routes/routes.module.ts","./src/app/shared/styles/themes/theme-f.scss","./src/app/shared/directives/scrollable/scrollable.directive.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsI;AACzE;AAGJ;AAKtB;AAC6B;AACjD;AACG;;;;;;;;;;;;;;;;ICRd,wEAA0I;IAA9F,2TAA4B;IAAkE,oEAAiC;IAAA,6EAAQ;IAAA,4DAAI;;;;IA2D7K,wEAAyN;IAArM,8eAA6B;IAC/C,oEAAuC;IAAA,oEACzC;IAAA,4DAAI;;;;;IAxCV,yEAA2F;IAEzF,qEAAI;IAAA,uDAAO;IAAA,4DAAK;IAChB,qEAAI;IACF,wEAAmC;IAAhC,sXAA+B;IAChC,uDACF;;IAAA,4DAAI;IACN,4DAAK;IACL,qEAAI;IACF,wEAAmC;IAAhC,sXAA+B;IAChC,uDACF;;IAAA,4DAAI;IACN,4DAAK;IACL,sEAAI;IACF,yEAAmC;IAAhC,uXAA+B;IAChC,wDACF;IAAA,4DAAI;IACN,4DAAK;IACL,sEAAI;IACF,yEAAmC;IAAhC,uXAA+B;IAChC,wDACF;IAAA,4DAAI;IAEN,4DAAK;IACL,sEAAI;IACF,yEAAmC;IAAhC,uXAA+B;IAChC,wDACF;IAAA,4DAAI;IAEN,4DAAK;IACL,sEAAI;IACF,yEAAmC;IAAhC,uXAA+B;IAChC,wDACF;IAAA,4DAAI;IAEN,4DAAK;IACL,sEAAI;IACF,uEAAc;IACZ,uIAEI;IACN,4DAAM;IACR,4DAAK;IACP,4DAAK;;;;;IA3C2C,kKAA0C;IAEpF,0DAAO;IAAP,0EAAO;IAGP,0DACF;IADE,0KACF;IAIE,0DACF;IADE,6KACF;IAIE,0DACF;IADE,2FACF;IAIE,0DACF;IADE,+FACF;IAKE,0DACF;IADE,kGACF;IAKE,0DACF;IADE,iGACF;IAKqD,0DAAqB;IAArB,2FAAqB;;;IAzChF,wEAAoD;IAClD,yEAAgC;IAAA,yEAAgB;IAAA,uDAAU;IAAA,4DAAK;IAAA,4DAAK;IAEpE,oIA2CK;IACP,qEAAe;;;IA9CmC,0DAAU;IAAV,0EAAU;IAEtC,0DAAa;IAAb,gFAAa;;;;IAsMjC,wEAAuJ;IAApJ,sTAAkB;IAAkI,oEAAkC;IAAA,4EAAO;IAAA,4DAAI;;AD7M5M,MAAM,IAAI,GAAG,mBAAO,CAAC,wBAAY,CAAC,CAAC;AAS5B,MAAM,uBAAuB;IAyClC,mDAAmD;IACnD,YAAoB,KAAqB,EAAU,IAAgB,EAAU,QAAyB;QAAlF,UAAK,GAAL,KAAK,CAAgB;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAiB;QApC/F,eAAU,GAAG,YAAY,CAAC;QAC1B,UAAK,GAAW,KAAK,CAAC;QACtB,sBAAiB,GAA2B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC/D,WAAM,GAAW,kBAAkB,CAAC;QAIjC,SAAI,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAMvD,oBAAe,GAAQ,IAAI,CAAC;QAO5B,uBAAkB,GAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACpH,aAAQ,GAAQ,IAAI,CAAC;QACrB,iBAAY,GAAQ,IAAI,CAAC;QACzB,4BAAuB,GAAQ,IAAI,CAAC;QACpC,UAAK,GAAG,EAAE,CAAC;QACX,eAAU,GAAG,EAAE,CAAC;QAEhB,sEAAsE;QACtE,kBAAa,GAAQ;YACnB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI;YACpI,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI;YAC5J,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;SAC7K;QASD,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAY,KAAK,CAAC;QAC3B,cAAS,GAAY,KAAK,CAAC;QAiF3B,oBAAoB;QACpB,gBAAW,GAAW,CAAC,CAAC;QACjB,iBAAY,GAAG,YAAY,CAAC;QAC5B,iBAAY,GAAG,YAAY,CAAC;QA2D5B,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QACM,gBAAW,GAAG,GAAS,EAAE;QAChC,CAAC;QACM,eAAU,GAAG,GAAS,EAAE;QAC/B,CAAC;QACM,eAAU,GAAuB;YACvC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;SACzF,CAAC;IA5JF,CAAC;IA3CD,aAAa,CAAC,IAAY,EAAE,IAAS;QACnC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IA8CD,QAAQ;QACN,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE;YAEb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAEzC,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,qEAAwB,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7G,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI;oBACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;oBAEvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC1B,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI;oBACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;oBAEtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACzB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI;oBACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;oBAEtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aAC1B;SACF;IACH,CAAC;IACD,YAAY,CAAC,EAAU;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;aAC3E,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE3C,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;aAC/D,SAAS,CAAC,QAAQ,CAAC,EAAE;YAEpB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC/B,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;aAC7E,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAChC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;aACjF,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QACpC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;aAC9E,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;QACvC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAC,CAAC,CAAC,EAAE,CAAC;aAC7D,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAChC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;aAC7E,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACtC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;aACvE,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAChC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;aACzE,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEtB,gEAAgE;YAChE,0DAA0D;YAC1D,iBAAiB;YACjB,qBAAqB;YACrB,oBAAoB;YACpB,cAAc;YACd,yDAAyD;YACzD,MAAM;YACN,GAAG;YAEH,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAKD,gBAAgB,CAAC,GAAG;QAClB,uBAAuB;QACvB,oBAAoB;QACpB,YAAY;QACZ,qBAAqB;QACrB,KAAK;QACL,IAAI;QACJ,mBAAmB;QACnB,IAAI,CAAC,aAAa,GAAG,wDAAS,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI;YACvC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;;YAExE,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;QACxC,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI;YACxC,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;;YAE1E,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;QACxC,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI;YAC1C,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;;YAE9E,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,kBAAkB,CAAC,MAAM;QACvB,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,KAAK,CAAC,EAAE;YAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,KAAK,CAAC,EAAE;YAC3C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;SAC/B;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,KAAK,CAAC,EAAE;YAC3C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;SAC5B;IACH,CAAC;IACD,mBAAmB,CAAC,MAAM;QACxB,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;SAC/B;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;SAC5B;IAEH,CAAC;IACD,eAAe,CAAC,MAAM;QACpB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;aAC9F,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAaD,gBAAgB;QACf,wBAAwB;QACvB,IAAI,CAAC,aAAa,GAAG;YACnB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI;YACpI,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;YACtJ,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;SAC7K;QACD,oBAAoB;QACpB,YAAY;QACZ,qBAAqB;QACrB,KAAK;QACL,IAAI;QAGJ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAE7D,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IACM,mBAAmB,CAAC,KAAW;QACpC,wCAAwC;QACxC,8EAA8E;IAChF,CAAC;IACM,mBAAmB,CAAC,KAAW;QACpC,wCAAwC;QACzC,gFAAgF;IACjF,CAAC;IACM,qBAAqB,CAAC,KAAW;QACtC,wCAAwC;QACzC,kFAAkF;IACnF,CAAC;IACM,MAAM;QACX,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5C,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,EAAE;YAC1C,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACtE,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,EAAE;YACxC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,KAAK,EAAE,EAAE;YAC5F,IAAI,CAAC,WAAW,EAAE,mCAAmC,EAAE,SAAS,CAAC,CAAC;YAClE,OAAO;SACR;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,EAAE,EAAE;YACxF,IAAI,CAAC,WAAW,EAAE,uCAAuC,EAAE,SAAS,CAAC,CAAC;YACtE,OAAO;SACR;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,KAAK,EAAE,EAAE;YAC9F,IAAI,CAAC,WAAW,EAAE,oCAAoC,EAAE,SAAS,CAAC,CAAC;YACnE,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,IAAI,CAAC,aAAa,CAAC;aACnE,SAAS,CAAC,QAAQ,CAAC,EAAE;YAEpB,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI;gBAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;;gBAEhB,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;IACD,SAAS,CAAC,KAAa,EAAE,EAAU;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,EAAE,mCAAmC;YAC1C,IAAI,EAAE,yCAAyC;YAC/C,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,WAAW;oBACtB,UAAU,EAAE,IAAI;iBACjB;aACF;SACF,CAAC;aACC,IAAI,CAAC,UAAU,CAAC,EAAE;YACjB,IAAI,UAAU,EAAE;gBAEd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC,SAAS,CAC3D,IAAI,CAAC,EAAE;oBACL,IAAI,IAAI,KAAK,IAAI,EAAE,SAAS;qBAC5B;wBACE,IAAI,CAAC,UAAU,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;wBAErD,IAAI,CAAC,QAAQ,EAAE,CAAC;qBACjB;yBACI;wBACH,mBAAmB;wBACnB,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;qBACpC;gBAGH,CAAC,EACD,KAAK,CAAC,EAAE;gBAER,CAAC,CACF,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IAGP,CAAC;IACD,+CAA+C;IACvC,OAAO,CAAC,IAAI;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IACO,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;QACpC,4BAA4B;QAC5B,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACvB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;8FAzUU,uBAAuB;uGAAvB,uBAAuB;;;;;;;;;;;gHAJvB,CAAC,kEAAW,EAAE,+DAAU,CAAC;QCvBtC,yEAAkB;QAEhB,yEAA8B;QAC5B,uEAAsB;QAAA,kEAAiD;QAAA,qGAAiB;QAAA,4DAAI;QAC5F,+GAAuL;QAEzL,4DAAM;QACN,2EAAoF;QAClF,wEAAO;QACL,qEAAI;QACF,wEAAe;QAAA,+DAAG;QAAA,4DAAK;QACvB,yEAAgB;QAAA,8EAAQ;QAAA,4DAAK;QAC7B,yEAAgB;QAAA,oFAAS;QAAA,4DAAK;QAC9B,yEAAgB;QAAA,2FAAW;QAAA,4DAAK;QAChC,yEAAgB;QAAA,kFAAY;QAAA,4DAAK;QACjC,yEAAgB;QAAA,sGAAiB;QAAA,4DAAK;QACtC,yEAAgB;QAAA,mFAAQ;QAAA,4DAAK;QAC7B,yEAAgB;QAAA,6DAAC;QAAA,4DAAK;QAExB,4DAAK;QACP,4DAAQ;QACR,yEAAO;QACL,uIA+Ce;QACjB,4DAAQ;QACV,4DAAQ;QACV,4DAAM;QAEN,sFACmH;QAA9C,kJAAQ,gBAAY,IAAC,4FAAU,iBAAa,IAAvB;QACxF,uEAAK;QACH,2EAAsB;QAEpB,2EAA8F;QAC5F,6EAAuC;QAAA,sGAAiB;QAAA,4EAA6B;QAAC,gEAAG;QAAA,4DAAO;QAAA,4DAAQ;QACxG,2EAAuB;QACrB,iFAOuD;QAPxB,2JAAU,2BAAuB,IAAC;QAQjE,4DAAY;QACd,4DAAM;QACR,4DAAM;QACN,2EAA4B;QAC1B,6EAAuC;QAAA,kFAAY;QAAA,4EAA6B;QAAC,gEAAG;QAAA,4DAAO;QAAA,4DAAQ;QACnG,2EAAsB;QACpB,iFAOqD;QAA1C,qNAAyC;QACpD,4DAAY;QACd,4DAAM;QACN,6EAAuC;QAAA,gGAAgB;QAAA,4DAAQ;QAC/D,2EAAsB;QACpB,6EAAiG;QAA1C,iNAAyC;QAAhG,4DAAiG;QACnG,4DAAM;QACR,4DAAM;QACN,2EAA4B;QAC1B,6EAAuC;QAAA,uGAAkB;QAAA,4EAA6B;QAAC,gEAAG;QAAA,4DAAO;QAAA,4DAAQ;QACzG,2EAAsB;QACpB,iFAOwD;QAA7C,wNAA4C;QACvD,4DAAY;QACd,4DAAM;QACN,6EAAuC;QAAA,2FAAW;QAAA,4DAAQ;QAC1D,2EAAsB;QACpB,6EAA2F;QAApC,2MAAmC;QAA1F,4DAA2F;QAC7F,4DAAM;QACR,4DAAM;QACN,2EAA4B;QAC1B,6EAAuC;QAAA,0GAAgB;QAAA,4DAAQ;QAC/D,2EAAsB;QACpB,iFAOiD;QAAtC,iNAAqC;QAChD,4DAAY;QACd,4DAAM;QAER,4DAAM;QACN,2EAA4B;QAC1B,6EAAuC;QAAA,wFAAa;QAAA,4DAAQ;QAC5D,2EAAsB;QACpB,iFAOuD;QAA5C,uNAA2C;QACtD,4DAAY;QACd,4DAAM;QACN,6EAAuC;QAAA,yEAAQ;QAAA,4DAAQ;QACvD,2EAAsB;QACpB,iFAOiD;QAAtC,iNAAqC;QAChD,4DAAY;QACd,4DAAM;QACR,4DAAM;QACN,2EAA4B;QAC1B,6EAAuC;QAAA,6FAAa;QAAA,4DAAQ;QAC5D,2EAAsB;QACpB,6EAA+F;QAAxC,+MAAuC;QAA9F,4DAA+F;QACjG,4DAAM;QACN,6EAAuC;QAAA,+FAAe;QAAA,4DAAQ;QAC9D,2EAAsB;QACpB,6FAA4J;QAA1C,2NAAyC;QAAC,4DAAoB;QAClL,4DAAM;QACR,4DAAM;QACN,2EAA4B;QAC1B,6EAAuC;QAAA,6EAAO;QAAA,4DAAQ;QACtD,2EAA6E;QAC3E,iFASsD;QAR3C,2JAAU,8BAA0B,IAAC;QAUhD,4DAAY;QACZ,6FAA2J;QAAvC,wNAAsC;QAAC,4DAAoB;QACjL,4DAAM;QACN,6EAAuC;QAAA,mFAAQ;QAAA,4DAAQ;QACvD,2EAA6E;QAC3E,iFASuD;QAR5C,2JAAU,+BAA2B,IAAC;QASjD,4DAAY;QACZ,6FAA4J;QAAxC,yNAAuC;QAAC,4DAAoB;QAClL,4DAAM;QACR,4DAAM;QAGN,2EAA4B;QAE1B,6EAAuC;QAAA,2EAAK;QAAA,4DAAQ;QACpD,4EAAuB;QACrB,8EAAwF;QAAjC,yMAAgC;QAAvF,4DAAwF;QAC1F,4DAAM;QACR,4DAAM;QACN,4EAAmF;QACjF,mHAAoM;QACpM,0EAAsF;QAAnF,4IAAS,gBAAY,IAAC;QAA6D,qEAA2B;QAAA,2EAAI;QAAA,4DAAI;QAC3H,4DAAM;QAER,4DAAM;QACR,4DAAM;QACR,4DAAa;;QAjOL,0DAAsC;QAAtC,8GAAsC;QAkBZ,2DAAS;QAAT,6EAAS;QAoDtB,0DAAiB;QAAjB,0EAAiB;QAKJ,0DAAiE;QAAjE,sIAAiE;QAI9E,0DAAqB;QAArB,8EAAqB;QAcrB,0DAAqB;QAArB,8EAAqB;QAWuB,0DAAyC;QAAzC,oGAAyC;QAOrF,0DAAqB;QAArB,8EAAqB;QAWuB,0DAAmC;QAAnC,8FAAmC;QAO/E,0DAAqB;QAArB,8EAAqB;QAerB,0DAAqB;QAArB,8EAAqB;QAYrB,0DAAqB;QAArB,8EAAqB;QAauB,0DAAuC;QAAvC,kGAAuC;QAIb,0DAAmB;QAAnB,gFAAmB;QAQzF,0DAAqB;QAArB,8EAAqB;QAUiD,0DAAqB;QAArB,kFAAqB;QAM3F,0DAAqB;QAArB,8EAAqB;QASiD,0DAAqB;QAArB,kFAAqB;QAS/C,0DAAgC;QAAhC,2FAAgC;QAIlE,0DAA6D;QAA7D,yIAA6D;;;;;;;;;;;;;;AC9N5F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;;;;;;;;;;;;ICQnD,wEAAqG;IAA/D,0TAAmC;IACvE,oEAA+C;IACjD,4DAAI;;;;;IAyCJ,yEAA6E;IAC3E,qEAAI;IAEF,0EAAwB;IAEtB,wEAAkE;IAChE,0EAAmB;IACjB,0EAAmC;IACjC,mEAA8B;IAChC,4DAAM;IACN,0EAAiC;IAC/B,wEAAc;IAAA,2FAAY;IAAA,4DAAI;IAC9B,yEAAyB;IACvB,yEAAO;IAAA,qHAA2B;IAAA,4DAAQ;IAC5C,4DAAI;IACN,4DAAM;IACR,4DAAM;IACR,4DAAI;IAEJ,yEAA8C;IAAnB,4SAAkB;IAC3C,2EAAmB;IACjB,2EAAmC;IACjC,oEAAmC;IACrC,4DAAM;IACN,2EAAiC;IAC/B,yEAAc;IAAA,oFAAS;IAAA,4DAAI;IAC3B,yEAAyB;IACvB,yEAAO;IAAA,oFAAc;IAAA,4DAAQ;IAC/B,4DAAI;IACN,4DAAM;IACR,4DAAM;IACR,4DAAI;IAKN,4DAAM;IAER,4DAAK;IACP,4DAAK;;IAlC4B,0DAAsC;IAAtC,6IAAsC;;ADvD7E,MAAM,UAAU,GAAG,mBAAO,CAAC,wBAAY,CAAC,CAAC;AAYlC,MAAM,eAAe;IAS1B,YAAmB,IAAiB,EAAS,gBAAkC,EACtE,QAAyB,EAAU,qBAAiC,EACnE,KAAqB,EAAS,QAAkB;QAFvC,SAAI,GAAJ,IAAI,CAAa;QAAS,qBAAgB,GAAhB,gBAAgB,CAAkB;QACtE,aAAQ,GAAR,QAAQ,CAAiB;QAAU,0BAAqB,GAArB,qBAAqB,CAAY;QACnE,UAAK,GAAL,KAAK,CAAgB;QAAS,aAAQ,GAAR,QAAQ,CAAU;QAT1D,iBAAY,GAAG,IAAI,CAAC,CAAC,wBAAwB;QAC7C,cAAS,GAAG,EAAE,CAAC,CAAC,wBAAwB;QAUtC,gCAAgC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,wBAAwB;IAEvE,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAEhC,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;QACpC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,yBAAyB;YACzF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACpD;QAED,mCAAmC;QACnC,2DAA2D;QAC3D,iCAAiC;QACjC,WAAW;QACX,iFAAiF;QACjF,KAAK;QAEL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,sDAAM,CAAC,CAAC;QAExC,+CAA+C;QAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,qBAAqB;YACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,sBAAsB;YACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,MAAM;QACJ,yCAAyC;QACzC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC;IAGD,eAAe,CAAC,KAAK;QACnB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,KAAK;QACjB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,mBAAmB,CAAC,IAAa;QAC/B,qBAAqB;QACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IAAI,UAAU,CAAC,OAAO,EAAE;YACtB,UAAU,CAAC,MAAM,EAAE,CAAC;SACrB;IAEH,CAAC;;8EA1FU,eAAe;+FAAf,eAAe;;;;;;QCd5B,yEAAgD;QAE9C,yEAA2B;QACzB,yEAA0E;QACxE,yEAAwB;QACtB,uEAAgC;QAC9B,wEAAwC;QAAA,+DAAI;QAAA,4DAAK;QACnD,4DAAI;QACN,4DAAM;QACN,uGAEI;QACN,4DAAM;QACR,4DAAM;QAGN,wEAAwC;QACtC,wEAAqB;QAGnB,wEAA8H;QAAjF,kIAAS,iCAA6B,cAAc,CAAC,SAAE,wBAAwB,IAAC;QAC3H,qEAA+C;QACjD,4DAAI;QACN,4DAAK;QAEL,0EAAuC;QAErC,yEAA6B;QAC3B,6GACF;QAAA,4DAAI;QACN,4DAAK;QAGP,4DAAK;QAGL,0EAAgC;QAC9B,yEAAqB;QACnB,yEAA0E;QACxE,qEAAuE;QACvE,oFACF;QAAA,4DAAI;QACN,4DAAK;QACL,0EAAqD;QACnD,yEAAwG;QACtG,qEAAuE;QAEzE,4DAAI;QAKJ,6GAuCK;QAEP,4DAAK;QAEP,4DAAK;QAGP,4DAAM;;QAzF2E,0DAAwB;QAAxB,wFAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNlG,MAAM,WAAW;IAIpB;QACI,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,KAUN;QACE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,6BAA6B;YAC9B,IAEA,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE;mBACrC,CAAC,IAAI,CAAC,EAAE,IAAE,sCAAsC,IAAI,IAAI,CAAC,IAAI,IAAE,IAAI,CAAC,CAAC,YAAY;mBACjF,CAAC,IAAI,CAAC,EAAE,IAAE,sCAAsC,IAAI,IAAI,CAAC,IAAI,IAAE,IAAI,CAAC,CAAC,UAAU;mBAC/E,CAAC,IAAI,CAAC,EAAE,IAAE,sCAAsC,IAAI,IAAI,CAAC,IAAI,IAAE,IAAI,CAAC,CAAC,YAAY;mBACjF,CAAC,IAAI,CAAC,EAAE,IAAE,sCAAsC,IAAI,IAAI,CAAC,IAAI,IAAE,IAAI,CAAC,CAAC,YAAY;;oBAEpF,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;2BACpD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CACjD;mBACE,IAAI,CAAC,IAAI,IAAE,IAAI;gBAEf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QAEJ,yBAAyB;QACzB,+BAA+B;QAE9B,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;;sEA5CQ,WAAW;8FAAX,WAAW,WAAX,WAAW;;;;;;;;;;;;;ACHxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+G;AAClD;AAGJ;AAG1C;AACG;;;;;;;;ICuEF,0EAAuB;IACrB,0EAAqC;IAAA,uDAAqB;IAAA,4DAAM;IAChE,0EAAqC;IAAA,uDAAsB;IAAA,4DAAM;IACnE,4DAAM;;;IAFiC,0DAAqB;IAArB,qFAAqB;IACrB,0DAAsB;IAAtB,sFAAsB;;;;IAoBrE,qEAA4B;IAC1B,yEAAyC;IAAA,4EAA8C;IAAvB,2NAAoB;IAA3C,4DAA8C;IAAA,4DAAK;IAC5F,yEAAwB;IAAA,wEAA4B;IAAzB,uVAAwB;IAAC,uDAAU;IAAA,4DAAI;IAAA,4DAAK;IACvE,yEAAwB;IAAA,wEAA4B;IAAzB,uVAAwB;IAAC,uDAAa;IAAA,4DAAI;IAAA,4DAAK;IAC1E,yEAA0C;IAAA,yEAA4B;IAAzB,0VAAwB;IAAC,wDAA+B;;IAAA,4DAAI;IAAA,4DAAK;IAC9G,0EAAwB;IAAA,yEAA4B;IAAzB,0VAAwB;IAAC,wDAAc;IAAA,4DAAI;IAAA,4DAAK;IAC3E,0EAAwB;IAAA,wDAAY;IAAA,4DAAK;IACzC,0EAAwB;IAAA,wDAAc;IAAA,4DAAK;IAC3C,0EAAwB;IAAA,wDAAW;IAAA,4DAAK;IACxC,qEAKK;IACP,4DAAK;;;IAd6D,0DAAoB;IAApB,8EAAoB;IAChC,0DAAU;IAAV,0EAAU;IACV,0DAAa;IAAb,6EAAa;IACK,0DAA+B;IAA/B,0JAA+B;IACjD,0DAAc;IAAd,8EAAc;IAC1C,0DAAY;IAAZ,4EAAY;IACZ,0DAAc;IAAd,8EAAc;IACd,0DAAW;IAAX,2EAAW;;;;;IA8BrC,yEAA6E;IAC3E,wEAA8B;IAA3B,wWAA0B;IAAC,uDAAW;IAAA,4DAAI;IAC/C,4DAAK;;;;IAF0B,+KAA6C;IAC5C,0DAAW;IAAX,4EAAW;;;;;IAT/C,sEAA4B;IAC1B,yEAAuB;IACrB,yEAA8C;IAC5C,wEAAwB;IAArB,kTAAiB,CAAC,KAAE;IAAC,6DAAE;IAAA,4DAAI;IAChC,4DAAK;IACL,yEAAsD;IACpD,wEAAsC;IAAnC,wUAA+B,CAAC,KAAE;IAAC,4DAAC;IAAA,4DAAI;IAC7C,4DAAK;IACL,wHAEK;IACL,yEAA6C;IAC3C,yEAAsC;IAAnC,yUAA+B,CAAC,KAAE;IAAC,6DAAC;IAAA,4DAAI;IAC7C,4DAAK;IACL,0EAAsD;IACpD,yEAAiC;IAA9B,0UAA6B;IAAC,8DAAE;IAAA,4DAAI;IACzC,4DAAK;IACL,sEAAI;IACF,6EAAkH;IAA5C,0VAAsB;IAA5F,4DAAkH;IACpH,4DAAK;IACL,sEAAI;IAAA,4EAA+B;IAAA,wDAAgC;;IAAA,4DAAO;IAAA,4DAAK;IACjF,4DAAK;IACP,4DAAM;;;IApBE,0DAAyC;IAAzC,oKAAyC;IAGzC,0DAAiD;IAAjD,qLAAiD;IAGhC,0DAAQ;IAAR,iFAAQ;IAGzB,0DAAwC;IAAxC,qKAAwC;IAGxC,0DAAiD;IAAjD,qLAAiD;IAImB,0DAAsB;IAAtB,oFAAsB;IAE3D,0DAAgC;IAAhC,gLAAgC;;;AD5I3E,MAAM,IAAI,GAAG,mBAAO,CAAC,wBAAY,CAAC,CAAC;AAU5B,MAAM,sBAAsB;IA2KjC,mDAAmD;IACnD,YAAoB,EAAe,EAAU,YAAyB,EAAU,IAAgB;QAA5E,OAAE,GAAF,EAAE,CAAa;QAAU,iBAAY,GAAZ,YAAY,CAAa;QAAU,SAAI,GAAJ,IAAI,CAAY;QA1KtF,WAAM,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAGlD,WAAM,GAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACjG,eAAU,GAAY,KAAK,CAAC;QAK5B,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAExB,gBAAW,GAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3C,mBAAc,GAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAMrD,uBAAkB,GAAG,EAAE,CAAC;QAExB,0BAAqB,GAAG,EAAE,CAAC;QAC3B,kBAAa,GAAG,EAAE,CAAC;QACnB,qBAAgB,GAAG,EAAE,CAAC;QACtB,mBAAc,GAAW,CAAC,CAAC;QAC3B,gBAAW,GAAW,CAAC,CAAC;QACxB,gBAAW,GAAQ;YACjB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC5B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7B,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;YAChC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YAC9B,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;SAEjC,CAAC;QAEK,WAAM,GAA2C;YACtD,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACzB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACzB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;SAC1B,CAAC;QAEK,SAAI,GAA2C;YACpD,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;YACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;SAExB,CAAC;QAEK,SAAI,GAA2C;YACpD,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE;YACtG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE;YACtG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE;YACtG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE;YAC1F,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE;YACtG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE;YACtG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE;SAEvG,CAAC;QAEK,UAAK,GAA2C;YACrD,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE;YAC/B,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;YAC9B,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;SAE/B,CAAC;QACF,kBAAa,GAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,UAAK,GAAY,KAAK,CAAC;QAChB,eAAU,GAAW,CAAC,CAAC;QACvB,gBAAW,GAAW,CAAC,CAAC;QACxB,YAAO,GAAW,CAAC,CAAC;QAEpB,cAAS,GAAW,CAAC,CAAC;QACtB,YAAO,GAAW,EAAE,CAAC;QACrB,aAAQ,GAAW,EAAE,CAAC;QAGtB,aAAQ,GAAQ;YACrB,OAAO,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;SAClB,CAAC;QACK,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAM/B,WAAM,GAAS,IAAI,IAAI,EAAE,CAAC;QAC1B,YAAO,GAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,YAAO,GAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,aAAQ,GAAS,IAAI,IAAI,EAAE,CAAC;QAOnC,mBAAc,GAAQ;YACpB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;YACzE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;YACjC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;YAC1D,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;YAC/C,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;SACtC,CAAC;QACF,YAAO,GAAW,sCAAsC,CAAC;QAElD,uBAAkB,GAAG;YAC1B,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,KAAK;SACrB,CAAC;QACK,iBAAY,GAAG;YACpB,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,IAAI;SACpB,CAAC;QAGF,YAAO,GAAW,IAAI,CAAC;QAEvB,aAAQ,GAAW,IAAI,CAAC;QAsKxB,6EAA6E;QAC7E,aAAQ,GAAW,CAAC,CAAC;QACrB,WAAM,GAAW,EAAE,CAAC;QAkCpB,gBAAW,GAAQ,IAAI,CAAC;IAlMxB,CAAC;IAlDD,SAAS;QACP,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YAC/B,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAmDD,YAAY,CAAC,EAAU,EAAE,KAAa,EAAE,KAAa;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAC3C,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,6BAA6B;gBAC7B,2BAA2B;gBAC3B,MAAM;gBACN,4BAA4B;aAE7B;SAGF;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IAGhB,CAAC;IACD,OAAO;IAEP,CAAC;IACD,QAAQ,CAAC,EAAU;IAGnB,CAAC;IACD,QAAQ,CAAC,QAAa;IAEtB,CAAC;IACD,WAAW,CAAC,KAAU;QACpB,qBAAqB;QACrB,mBAAmB;QACnB,qBAAqB;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,IAAY;QAClB,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE;YACtC,OAAO;SACR;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACM,MAAM;QACX,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACD,OAAO;QACL,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACD,SAAS;QACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SACnI;;YAEC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QAE7B,IAAI,IAAI,GAAG;YACT,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;SACpC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,IAAI,CAAC;aACnD,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,wBAAwB;YACxB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAEvB,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;gBACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE7D,IAAI,KAAK,EAAE,GAAG,CAAC;gBAEf,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;oBACxB,KAAK,GAAG,CAAC,CAAC;oBACV,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;iBACvB;qBAAM;oBACL,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;wBACzB,KAAK,GAAG,CAAC,CAAC;wBACV,GAAG,GAAG,CAAC,CAAC;qBACT;yBAAM,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;wBAClD,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;wBAC5B,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;qBACvB;yBAAM;wBACL,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;wBAC7B,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;qBAC5B;iBACF;gBAID,sCAAsC;gBACtC,IAAI,WAAW,GAAe,EAAE,CAAC;gBACjC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvC,WAAW;iBACZ;gBACD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;gBAEzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAIlB;YACD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,8BAA8B;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3D,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;SAChC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,YAAY;IAEZ,CAAC;IAKD,gBAAgB,CAAC,MAAM;QAErB,sCAAsC;QACtC,sCAAsC;QACtC,GAAG;QACH,QAAQ;QACR,sDAAsD;QAEtD,yCAAyC;QACzC,iBAAiB;QACjB,wCAAwC;QACxC,yCAAyC;QACzC,OAAO;QACP,MAAM;QAEN,sEAAsE;QACtE,8BAA8B;QAC9B,gCAAgC;QAChC,uDAAuD;QAEvD,SAAS;QACT,GAAG;IACL,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,IAAS;QACnC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnH,CAAC;IACD,gBAAgB,CAAC,IAAY,EAAE,IAAS;QACtC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7G,CAAC;IAIM,OAAO;QACZ,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,IAAI,EAAE,EAAE;YACP,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBACpB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CACF,CAAC;QACF,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;YAE5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3B,CAAC;IACD,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;;4FArYU,sBAAsB;sGAAtB,sBAAsB,yJAJpB,CAAC,kEAAW,EAAE,+DAAU,CAAC;QCjBxC,wEAAmB;QACjB,mEAEK;QACL,wEAAqB;QACnB,uEAAiD;QAApB,yIAAS,aAAS,IAAC;QAC9C,kEAAsC;QACtC,sEACF;QAAA,4DAAI;QAMN,4DAAK;QACP,4DAAK;QAGL,yEAAiB;QACf,yEAAmB;QACjB,2EAA2E;QAAA,0FAAgB;QAAA,4DAAQ;QACrG,4DAAM;QAOR,4DAAM;QAGN,0EAA4F;QAC1F,0EAAiB;QACf,4EAA8D;QAC5D,6EAA+C;QAC7C,sEAAI;QACF,0EAAyC;QAAA,qEAAI;QAAA,4DAAK;QAClD,0EAA0C;QAAA,oFAAS;QAAA,4DAAK;QACxD,0EAA0C;QAAA,oFAAS;QAAA,4DAAK;QACxD,0EAA0C;QAAA,0EAAS;QAAA,4DAAK;QACxD,0EAA0C;QAAA,+EAAS;QAAA,4DAAK;QACxD,0EAA0C;QAAA,wEAAO;QAAA,4DAAK;QACtD,0EAA0C;QAAA,gGAAgB;QAAA,4DAAK;QAC/D,0EAA0C;QAAA,oGAAe;QAAA,4DAAK;QAE9D,qEAA8C;QAChD,4DAAK;QAEL,sEAAI;QACF,0EAA8B;QAC5B,6EAAmE;QAA5C,0LAAmB,sFAAU,eAAW,IAArB;QAA1C,4DAAmE;QACrE,4DAAK;QAEL,sEAAI;QACF,6EACqF;QAA9E,kMAA2B,sGAAyC,YAAQ,IAAjD;QADlC,4DACqF;QACvF,4DAAK;QACL,sEAAI;QACF,6EACwF;QAAjF,qMAA8B,sGAAyC,YAAQ,IAAjD;QADrC,4DACwF;QAC1F,4DAAK;QACL,iEAEK;QACL,sEAAI;QACF,qFAY+B;QADpB,4MAAiC,4FACvB,YAAQ,IADe;QAE1C,qIAMc;QAChB,4DAAY;QACd,4DAAK;QACL,sEAAI;QACF,6EACuF;QAAhF,oMAA6B,sGAAyC,YAAQ,IAAjD;QADpC,4DACuF;QACzF,4DAAK;QACL,sEAAI;QACF,6EACyF;QAAlF,sMAA+B,sGAAyC,YAAQ,IAAjD;QADtC,4DACyF;QAC3F,4DAAK;QACL,iEAAS;QAEX,4DAAK;QAEP,4DAAQ;QACR,6EAAgC;QAC9B,qHAeK;QACP,4DAAQ;QACV,4DAAQ;QAGV,4DAAM;QAER,4DAAM;QAMN,2EAA+F;QAC7F,uEAAK;QACH,uHAsBM;QACR,4DAAM;QACN,sEAEM;QAER,4DAAM;;QA7HO,2DAAuC;QAAvC,gKAAuC;QAgBjB,2DAAmB;QAAnB,8EAAmB;QAKnC,0DAA2B;QAA3B,sFAA2B;QAI3B,0DAA8B;QAA9B,yFAA8B;QAS1B,0DAAqB;QAArB,8EAAqB;QAqBzB,0DAA6B;QAA7B,wFAA6B;QAI7B,0DAA+B;QAA/B,0FAA+B;QAQxB,0DAAQ;QAAR,8EAAQ;QA8BxB,0DAAoB;QAApB,sFAAoB;;;;;;;;;;;;;;ACnI9B;AAAA;AAAA;AAAA;AAAA;AAAoH;AAC3D;;;;;IAOjD,uEAAwD;IACxD,oEAAqH;IACrH,kEAAiC;IACjC,4DAAO;;;IAFU,0DAAqD;IAArD,oIAAqD;IAAoB,mJAA0B;;AAMrH,MAAM,4BAA4B;IAUvC,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAJ1B,kBAAa,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAEhE,cAAS,GAAQ,EAAE,CAAC;IAKpB,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,+BAA+B,GAAG,IAAI,CAAC,SAAS,CAAC;aACnE,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,QAAQ,CAAC,MAAM,IAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAE3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;;wGAvBU,4BAA4B;4GAA5B,4BAA4B,uMAF5B,CAAC,+DAAU,CAAC;QALjB,0HAGO;;QAHoB,kFAAc;;;;;;;;;;;;;;ACRjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+G;AAClD;AAEL;AACC;AAGmE;AAC7G;AACG;;;;;;;;;;IC+EV,qEAA4B;IAC1B,qEAAI;IAAA,uDAA2C;;IAAA,4DAAK;IACpD,qEAAI;IAAA,uDAAe;IAAA,4DAAK;IACxB,yEAAqB;IAAA,uDAAe;IAAA,4DAAK;IACzC,yEAAqB;IAAA,uDAAgB;IAAA,4DAAK;IAC1C,sEAAI;IACF,yEAAuE;IAAlC,8VAAiC;IAAC,wDAAmB;IAAA,4DAAI;IAChG,4DAAK;IACL,sEAAI;IACF,yEAAsE;IAAjC,6VAAgC;IAAC,wDAAkB;IAAA,4DAAI;IAC9F,4DAAK;IACL,sEAAI;IAAA,yEAAgE;IAA3B,uVAA0B;IAAC,yEAAiC;IAAC,sEAAI;IAAA,4DAAI;IAAA,4DAAI;IAAA,4DAAK;IAEzH,4DAAK;;;IAZC,0DAA2C;IAA3C,qKAA2C;IAC3C,0DAAe;IAAf,+EAAe;IACE,0DAAe;IAAf,+EAAe;IACf,0DAAgB;IAAhB,gFAAgB;IAEoC,0DAAmB;IAAnB,mFAAmB;IAGpB,0DAAkB;IAAlB,kFAAkB;;ADpFpG,MAAM,IAAI,GAAG,mBAAO,CAAC,wBAAY,CAAC,CAAC;AAU5B,MAAM,mBAAmB;IA6F9B,YAAoB,YAAyB,EAAU,IAAgB,EAAU,IAAgB;QAA7E,iBAAY,GAAZ,YAAY,CAAa;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAU,SAAI,GAAJ,IAAI,CAAY;QA1F/F,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAY,KAAK,CAAC;QAC3B,cAAS,GAAY,KAAK,CAAC;QAC3B,eAAU,GAAY,KAAK,CAAC;QAC5B,WAAM,GAAQ,IAAI,CAAC;QACnB,aAAQ,GAAW,IAAI,CAAC;QAQd,SAAI,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAiBlD,kBAAa,GAAG,qDAAM,CAAC,OAAO,GAAE,gBAAgB,CAAC,CAAC,0CAA0C;QAC5F,oBAAe,GAAG,WAAW,CAAC,CAAC,0CAA0C;QAqEhF,gBAAW,GAAW,kBAAkB,CAAC;IAPvC,CAAC;IA7EH,QAAQ,CAAC,KAAK;QAEZ,+BAA+B;QAE/B,iCAAiC;QACjC,GAAG;QACH,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE;YAE5B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAChC;IAEH,CAAC;IAQD,qBAAqB;IACrB,UAAU,CAAC,KAAK;QACd,IAAI,QAAQ,GAAa,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAEvB,IAAI,IAAI,GAAS,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;YACxC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACpD,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,OAAO,GAAG,IAAI,gEAAW,EAAE;YAC/B,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAC7C,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,qDAAM,CAAC,OAAO,GAAG,0BAA0B,EAAE,QAAQ,EAAE;gBACzE,OAAO,EAAE,OAAO;aACjB,CAAC;iBACC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;gBAE9B,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE;oBAC1B,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;qBACxB;oBACH,IAAI,CAAC,aAAa,EAAE,0BAA0B,EAAE,SAAS,CAAC,CAAC;oBAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrB,IAAI,CAAC,SAAS,EAAE,CAAC;iBAElB;YAEH,CAAC,CAAC,CAAC;YAEN,4BAA4B;SAC5B;IACH,CAAC;IAGD,UAAU;QACR,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,qDAAM,CAAC,OAAO,GAAG,yBAAyB,CAAC,CAAC;QAC7D,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAMO,GAAG,CAAC,KAAa;IAGzB,CAAC;IAOC,QAAQ;IAER,CAAC;IAKH,YAAY,CAAC,IAAS;QACd,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE;YAEb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACzF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAEvC,IAAI,CAAC,aAAa,GAAG,qDAAM,CAAC,OAAO,GAAE,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC;gBAGvM,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBACpC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI;oBACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;oBAEvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC1B,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI;oBACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;oBAEtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACzB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI;oBACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;oBAEtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aAC1B;SACF;QAEH,oBAAoB;QACpB,2CAA2C;QAC3C,SAAS;QACb,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kCAAkC,GAAG,IAAI,CAAC,EAAE,CAAC;aAC/D,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,QAAQ,IAAI,IAAI;gBAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QAEzB,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,CAAC;aACnD,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,IAAI,QAAQ,IAAI,IAAI;gBAClB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,SAAS,EAAE,CAAC;IAEnB,CAAC;IACD,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;aACxF,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACxB,CAAC,CAAC,CAAC;IAGP,CAAC;IACM,iBAAiB,CAAC,EAAU;QACjC,MAAM,CAAC,IAAI,CAAC,qDAAM,CAAC,OAAO,GAAG,yBAAyB,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAEzE,CAAC;IACM,gBAAgB,CAAC,EAAU;QAChC,MAAM,CAAC,IAAI,CAAC,qDAAM,CAAC,OAAO,GAAG,uBAAuB,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC;IACF,cAAc;QACZ,oCAAoC;IACtC,CAAC;IAED,gBAAgB,CAAC,KAAK;QAEpB,8DAA8D;QAC9D,wEAAwE;QAExE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAGC,WAAW,CAAC,KAAU;QAClB,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;IACR,CAAC;IACO,UAAU;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACM,SAAS;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,uBAAuB;QACvB,IAAI,IAAI,GAAG;YACT,EAAE,EAAE,qDAAM,CAAC,mBAAmB;YAC9B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBAClB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;gBAClC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;gBACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,EAAE;aAEtB,CAAC;SACH,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qDAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC;aAC9C,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAC/D,IAAI,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;YACjB,uBAAuB;YACvB,CAAC,CAAC,QAAQ,GAAG,GAAG,GAAG,OAAO,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;QAEZ,CAAC,CAAC,CAAC;QAEL,uCAAuC;IACzC,CAAC;IACQ,WAAW;QACd,6FAA6F;QAC7F,6DAA6D;QAC7D,aAAa;QACb,GAAG;QACH,uEAAuE;QACvE,gCAAgC;QAChC,gCAAgC;QAChC,0CAA0C;QAC1C,8CAA8C;QAC9C,UAAU;IACd,CAAC;IAGH,UAAU,CAAC,EAAU;QAEnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAIhB,IAAI,CAAC;YACH,KAAK,EAAE,uBAAuB;YAC9B,IAAI,EAAE,yCAAyC;YAC/C,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,WAAW;oBACtB,UAAU,EAAE,IAAI;iBACjB;aACF;SACF,CAAC;aACC,IAAI,CAAC,UAAU,CAAC,EAAE;YACjB,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC,SAAS,CAC1D,IAAI,CAAC,EAAE;oBACL,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,IAAI,IAAI,IAAI,IAAI,EAAE,SAAS;qBAC3B;wBACE,IAAI,CAAC,UAAU,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;qBAEtD;yBACI;wBACH,mBAAmB;wBACnB,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;qBACpC;gBAGH,CAAC,EACD,KAAK,CAAC,EAAE;oBACN,mBAAmB;gBACrB,CAAC,CACF,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IAGP,CAAC;;sFA9RU,mBAAmB;mGAAnB,mBAAmB;;;;;;;gHAJjB,CAAC,kEAAW,EAAE,+DAAU,CAAC;QCnBxC,yEAAmD;QAEjD,yEAAmB;QACjB,yEAAiB;QACf,uEAA2D;QACzD,0GAAqB;QAAA,uEAA4C;QAAtB,sIAAS,eAAW,IAAC;QAAC,iFAAO;QAAA,4DAAI;QAAA,6DAC9E;QAAA,4DAAI;QACJ,uEAA2D;QACzD,gKACF;QAAA,4DAAI;QACJ,wEAA2D;QACzD,0NACF;QAAA,4DAAI;QACJ,wEAA2D;QACzD,oKACF;QAAA,4DAAI;QAEN,4DAAM;QACN,0EAAiB;QACf,0EAAuB;QACrB,0EAAwC;QAEtC,wEAAM;QAAA,0EAAS;QAAA,4DAAO;QACtB,4EAAiG;QAA/C,mJAAU,sBAAkB,IAAC;QAA/E,4DAAiG;QACnG,4DAAM;QAiBR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,0EAAoF;QAClF,4EAA8D;QAC5D,yEAAO;QACL,0EAAqB;QAEnB,0EAAqB;QACnB,yEAAgF;QAC9E,+EACF;QAAA,4DAAI;QACN,4DAAK;QACL,sEAAI;QACF,yEAAgF;QAC9E,0FACF;QAAA,4DAAI;QACN,4DAAK;QACL,sEAAI;QACF,yEAAgF;QAC9E,mFACF;QAAA,4DAAI;QACN,4DAAK;QACL,sEAAI;QACF,yEAAgF;QAC9E,4EACF;QAAA,4DAAI;QACN,4DAAK;QACL,sEAAI;QACF,yEAAgF;QAC9E,mFACF;QAAA,4DAAI;QACN,4DAAK;QACL,sEAAI;QACF,yEAAgF;QAC9E,iFACF;QAAA,4DAAI;QACN,4DAAK;QACL,sEAAI;QACF,yEAAgF;QAC9E,uFACF;QAAA,4DAAI;QACN,4DAAK;QAEP,4DAAK;QACP,4DAAQ;QACR,yEAAO;QACL,iHAaK;QACP,4DAAQ;QAEV,4DAAQ;QACV,4DAAM;QAER,4DAAM;QACN,2EAAgF;QACxE,sEAEU;QACd,sEAEM;QAEV,4DAAM;;QA5BoB,2DAAQ;QAAR,8EAAQ;;;;;;;;;;;;;;ACxFlC;AAAe,sRAAuN,8BAA8B,GAAG,6BAA6B,8BAA8B,GAAG,qMAAqM,8BAA8B,0EAA0E,gCAAgC,GAAG,6BAA6B,yDAAyD,+BAA+B,KAAK,+KAA+K,2DAA2D,OAAO,GAAG,qDAAqD,gBAAgB,GAAG,wGAAwG,gBAAgB,GAAG,sOAAsO,mBAAmB,GAAG,sEAAsE,8BAA8B,GAAG,gMAAgM,8BAA8B,GAAG,yBAAyB,mBAAmB,GAAG,wDAAwD,mBAAmB,GAAG,sIAAsI,mBAAmB,GAAG,kEAAkE,oBAAoB,GAAG,oQAAoQ,8BAA8B,mBAAmB,GAAG,0JAA0J,mBAAmB,GAAG,4BAA4B,+BAA+B,GAAG,mBAAmB,8BAA8B,GAAG,4CAA4C,mBAAmB,GAAG,8DAA8D,mBAAmB,GAAG,kJAAkJ,mBAAmB,GAAG,4EAA4E,mBAAmB,GAAG,wFAAwF,0BAA0B,8BAA8B,GAAG,sMAAsM,8CAA8C,2BAA2B,mBAAmB,GAAG,6CAA6C,mxyBAAmxyB,E;;;;;;;;;;;;ACA925B;AAAA;AAAA;AAAA;AAAA;AAAoH;;;;AAO7G,MAAM,kBAAkB;IAM3B,YAAmB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAHzB,YAAO,GAAG,IAAI,0DAAY,EAAW,CAAC;IAGT,CAAC;IAExC,QAAQ;QACJ,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACvC,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE,EAAC,MAAM;gBAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;aACzB;QACL,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACvC,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9G,IAAI,CAAC,QAAQ,EAAE;gBACX,IAAI,CAAC,cAAc,EAAE,CAAC;aACzB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,cAAc;QACV,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,OAA4C;QACpD,+CAA+C;QAC/C,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,KAAK,IAAI,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;SAC1D;IACL,CAAC;IAED,UAAU;QACN,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;;oFApCQ,kBAAkB;kGAAlB,kBAAkB;QCN/B,0EAA4G;QAAxB,0IAAU,gBAAY,IAAC;QACvG,yEAAwB;QACpB,2EAAmI;QAA5H,oLAAkB;;QAAzB,4DAAmI;QACnI,yEAAsE;QAA3B,uIAAS,oBAAgB,IAAC;QAAC,4DAAM;QAChF,4DAAM;QACN,4EAAqC;QAAA,iEAAM;QAAA,4DAAS;QACxD,4DAAO;;QANsD,8EAAsB;QAEJ,0DAAyD;QAAzD,gLAAyD;QAAzH,6EAAkB;;;;;;;;;;;;;;;;;;;;ACG1B,MAAM,oBAAoB;IAE7B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QADpC,gBAAW,GAAM,EAAE,CAAC,CAAC,uDAAuD;IACpC,CAAC;IAC3C,aAAa,CAAC,SAAiB,EAAE,UAAkB;QAEjD,IAAI,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9B,yBAAyB;YACzB,0BAA0B;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC3D,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,EAAE;oBACxH,OAAO,IAAI,CAAC;iBACf;aAEJ;SAEJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,6FAA6F;IAC/F,qBAAqB;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAE/B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;YAExC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;iBACxC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBACpB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,CAAC;QAEX,CAAC,CAAC,CAAC;IACP,CAAC;;wFAlCQ,oBAAoB;uGAApB,oBAAoB,WAApB,oBAAoB;;;;;;;;;;;;;ACNjC;AAAA;AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,mBAAO,CAAC,gCAAoB,CAAC,CAAC,OAAO;IACjD,UAAU,EAAE,IAAI;CAEjB,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;ACjBnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAC3C,MAAM,IAAI,GAAG;IAClB,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,YAAY;CACnB,CAAC;AAEK,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CAEzB,CAAC;AAIK,MAAM,6BAA6B,GAAG;IAC3C,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,+BAA+B;IACrC,QAAQ,EAAE,qDAAM,CAAC,OAAO;CAEzB,CAAC;AAEK,MAAM,gBAAgB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC9I,MAAM,gBAAgB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3J,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACpK,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3K,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACpK,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACxK,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACjL,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC/K,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,qCAAqC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACnL,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAClL,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACjL,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAEjK,MAAM,8BAA8B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3M,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACzK,MAAM,sBAAsB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACnK,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACzK,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,qCAAqC,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACrL,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACtL,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAE3K,MAAM,sBAAsB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAExK,MAAM,yBAAyB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC5K,MAAM,+BAA+B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACpM,+NAA+N;AAC/N,0LAA0L;AAC1L,4LAA4L;AACrL,MAAM,+BAA+B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC5M,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACzK,2LAA2L;AACpL,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE,2BAA2B;IACjC,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAGK,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE;QACP,gBAAgB;QAChB,gBAAgB;KACjB;IACD,oFAAoF;CACrF,CAAC;AAEF,4BAA4B;AACrB,MAAM,6BAA6B,GAAG;IAC3C,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,yBAAyB,GAAG;IACvC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,8BAA8B;IACpC,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAGK,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE;QACP,yBAAyB;QACzB,+BAA+B;QAC/B,+BAA+B;QAC/B,uBAAuB;KAExB;CACF,CAAC;AAIK,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,sBAAsB,GAAG;IACpC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,yCAAyC;IAC/C,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,mCAAmC,GAAG;IACjD,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,sCAAsC;IAC5C,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,gCAAgC,GAAG;IAC9C,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,wDAAwD;IAC9D,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,+BAA+B,GAAG;IAC7C,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,sDAAsD;IAC5D,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,kCAAkC,GAAG;IAChD,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,qDAAqD;IAC3D,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,0BAA0B,GAAG;IACxC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,4CAA4C;IAClD,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,+BAA+B,GAAG;IAC7C,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,2DAA2D;IACjE,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,yBAAyB,GAAG;IACvC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,qDAAqD;IAC3D,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,6BAA6B,GAAG;IAC3C,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,qEAAqE;IAC3E,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,oBAAoB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC9J,MAAM,qBAAqB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACjK,MAAM,mCAAmC,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACxM,MAAM,iCAAiC,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,8BAA8B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAElM,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACxK,OAAO;AACA,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,iCAAiC;IACvC,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,iCAAiC;IACvC,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEF,UAAU;AACH,MAAM,OAAO,GAAG;IACrB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,EAER;CACF,CAAC;AAIK,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAEtJ,MAAM,cAAc,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC5I,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAEzJ,MAAM,gBAAgB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAGlJ,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1J,MAAM,oBAAoB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC5J,MAAM,kBAAkB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACpK,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACjK,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACtK,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACpL,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE;QACP,eAAe;QACf,cAAc;QACd,mBAAmB;QACnB,gBAAgB;QAChB,eAAe;QACf,oBAAoB;QACpB,kBAAkB;KACnB;CACF,CAAC;AAGF,sFAAsF;AAE/E,MAAM,sBAAsB,GAAG;IACpC,EAAE,EAAE,qDAAM,CAAC,mBAAmB;IAC9B,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,yBAAyB,GAAG,qDAAM,CAAC,mBAAmB;IAC5D,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,8BAA8B,GAAG;IAC5C,EAAE,EAAE,qDAAM,CAAC,2BAA2B;IACtC,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,iCAAiC,GAAG,qDAAM,CAAC,2BAA2B;IAC5E,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,sCAAsC,GAAG;IACpD,EAAE,EAAE,qDAAM,CAAC,mCAAmC;IAC9C,IAAI,EAAE,uCAAuC;IAC7C,IAAI,EAAE,yCAAyC,GAAG,qDAAM,CAAC,mCAAmC;IAC5F,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,qCAAqC,GAAG;IACnD,EAAE,EAAE,qDAAM,CAAC,oCAAoC;IAC/C,IAAI,EAAE,+CAA+C;IACrD,IAAI,EAAE,wCAAwC,GAAG,qDAAM,CAAC,oCAAoC;IAC5F,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,qCAAqC,GAAG;IACnD,EAAE,EAAE,qDAAM,CAAC,kCAAkC;IAC7C,IAAI,EAAE,sCAAsC;IAC5C,IAAI,EAAE,wCAAwC,GAAG,qDAAM,CAAC,kCAAkC;IAC1F,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,oCAAoC,GAAG;IAClD,EAAE,EAAE,qDAAM,CAAC,iCAAiC;IAC5C,IAAI,EAAE,qCAAqC;IAC3C,IAAI,EAAE,uCAAuC,GAAG,qDAAM,CAAC,iCAAiC;IACxF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,oCAAoC,GAAG;IAClD,EAAE,EAAE,qDAAM,CAAC,iCAAiC;IAC5C,IAAI,EAAE,qCAAqC;IAC3C,IAAI,EAAE,uCAAuC,GAAG,qDAAM,CAAC,iCAAiC;IACxF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,mCAAmC,GAAG;IACjD,EAAE,EAAE,qDAAM,CAAC,gCAAgC;IAC3C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,sCAAsC,GAAG,qDAAM,CAAC,gCAAgC;IACtF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,uCAAuC,GAAG;IACrD,EAAE,EAAE,qDAAM,CAAC,oCAAoC;IAC/C,IAAI,EAAE,iDAAiD;IACvD,IAAI,EAAE,0CAA0C,GAAG,qDAAM,CAAC,oCAAoC;IAC9F,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mCAAmC,GAAG;IACjD,EAAE,EAAE,qDAAM,CAAC,gCAAgC;IAC3C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,sCAAsC,GAAG,qDAAM,CAAC,gCAAgC;IACtF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,oCAAoC,GAAG;IAClD,EAAE,EAAE,qDAAM,CAAC,iCAAiC;IAC5C,IAAI,EAAE,qCAAqC;IAC3C,IAAI,EAAE,uCAAuC,GAAG,qDAAM,CAAC,iCAAiC;IACxF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mCAAmC,GAAG;IACjD,EAAE,EAAE,qDAAM,CAAC,gCAAgC;IAC3C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,sCAAsC,GAAG,qDAAM,CAAC,gCAAgC;IACtF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,uBAAuB,GAAG;IACrC,EAAE,EAAE,qDAAM,CAAC,oBAAoB;IAC/B,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,0BAA0B,GAAG,qDAAM,CAAC,oBAAoB;IAC9D,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,kCAAkC,GAAG;IAChD,EAAE,EAAE,qDAAM,CAAC,+BAA+B;IAC1C,IAAI,EAAE,8CAA8C;IACpD,IAAI,EAAE,qCAAqC,GAAG,qDAAM,CAAC,+BAA+B;IACpF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,iCAAiC,GAAG;IAC/C,EAAE,EAAE,qDAAM,CAAC,kCAAkC;IAC7C,IAAI,EAAE,uDAAuD;IAC7D,IAAI,EAAE,oCAAoC,GAAG,qDAAM,CAAC,kCAAkC;IACtF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,iCAAiC,GAAG;IAC/C,EAAE,EAAE,qDAAM,CAAC,8BAA8B;IACzC,IAAI,EAAE,kCAAkC;IACxC,IAAI,EAAE,oCAAoC,GAAG,qDAAM,CAAC,8BAA8B;IAClF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,iCAAiC,GAAG;IAC/C,EAAE,EAAE,qDAAM,CAAC,8BAA8B;IACzC,IAAI,EAAE,kCAAkC;IACxC,IAAI,EAAE,oCAAoC,GAAG,qDAAM,CAAC,8BAA8B;IAClF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mCAAmC,GAAG;IACjD,EAAE,EAAE,qDAAM,CAAC,gCAAgC;IAC3C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,sCAAsC,GAAG,qDAAM,CAAC,gCAAgC;IACtF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,iCAAiC,GAAG;IAC/C,EAAE,EAAE,qDAAM,CAAC,8BAA8B;IACzC,IAAI,EAAE,kCAAkC;IACxC,IAAI,EAAE,oCAAoC,GAAG,qDAAM,CAAC,8BAA8B;IAClF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mCAAmC,GAAG;IACjD,EAAE,EAAE,qDAAM,CAAC,gCAAgC;IAC3C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,sCAAsC,GAAG,qDAAM,CAAC,gCAAgC;IACtF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,sCAAsC,GAAG;IACpD,EAAE,EAAE,qDAAM,CAAC,mCAAmC;IAC9C,IAAI,EAAE,wCAAwC;IAC9C,IAAI,EAAE,yCAAyC,GAAG,qDAAM,CAAC,mCAAmC;IAC5F,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,+BAA+B,GAAG;IAC7C,EAAE,EAAE,qDAAM,CAAC,4BAA4B;IACvC,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE,kCAAkC,GAAG,qDAAM,CAAC,4BAA4B;IAC9E,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,6BAA6B,GAAG;IAC3C,EAAE,EAAE,qDAAM,CAAC,0BAA0B;IACrC,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,gCAAgC,GAAG,qDAAM,CAAC,0BAA0B;IAC1E,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,+BAA+B,GAAG;IAC7C,EAAE,EAAE,qDAAM,CAAC,4BAA4B;IACvC,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE,kCAAkC,GAAG,qDAAM,CAAC,4BAA4B;IAC9E,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,iCAAiC,GAAG;IAC/C,EAAE,EAAE,qDAAM,CAAC,8BAA8B;IACzC,IAAI,EAAE,iCAAiC;IACvC,IAAI,EAAE,oCAAoC,GAAG,qDAAM,CAAC,8BAA8B;IAClF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mCAAmC,GAAG;IACjD,EAAE,EAAE,qDAAM,CAAC,gCAAgC;IAC3C,IAAI,EAAE,mCAAmC;IACzC,IAAI,EAAE,sCAAsC,GAAG,qDAAM,CAAC,gCAAgC;IACtF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,iCAAiC,GAAG;IAC/C,EAAE,EAAE,qDAAM,CAAC,8BAA8B;IACzC,IAAI,EAAE,iCAAiC;IACvC,IAAI,EAAE,oCAAoC,GAAG,qDAAM,CAAC,8BAA8B;IAClF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,gCAAgC,GAAG;IAC9C,EAAE,EAAE,qDAAM,CAAC,6BAA6B;IACxC,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,mCAAmC,GAAG,qDAAM,CAAC,6BAA6B;IAChF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,+BAA+B,GAAG;IAC7C,EAAE,EAAE,qDAAM,CAAC,4BAA4B;IACvC,IAAI,EAAE,8BAA8B;IACpC,IAAI,EAAE,kCAAkC,GAAG,qDAAM,CAAC,4BAA4B;IAC9E,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,yCAAyC,GAAG;IACvD,EAAE,EAAE,qDAAM,CAAC,sCAAsC;IACjD,IAAI,EAAE,4CAA4C;IAClD,IAAI,EAAE,4CAA4C,GAAG,qDAAM,CAAC,sCAAsC;IAClG,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,qDAAM,CAAC,2CAA2C;IACtD,IAAI,EAAE,uDAAuD;IAC7D,IAAI,EAAE,uBAAuB,GAAG,qDAAM,CAAC,2CAA2C;IAClF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mCAAmC,GAAG;IACjD,EAAE,EAAE,qDAAM,CAAC,6CAA6C;IACxD,IAAI,EAAE,6CAA6C;IACnD,IAAI,EAAE,sCAAsC,GAAG,qDAAM,CAAC,6CAA6C;IACnG,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,iCAAiC,GAAG;IAC/C,EAAE,EAAE,qDAAM,CAAC,8BAA8B;IACzC,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,oCAAoC,GAAG,qDAAM,CAAC,8BAA8B;IAClF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,+BAA+B,GAAG;IAC7C,EAAE,EAAE,qDAAM,CAAC,sCAAsC;IACjD,IAAI,EAAE,2CAA2C;IACjD,IAAI,EAAE,kCAAkC,GAAG,qDAAM,CAAC,sCAAsC;IACxF,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,4BAA4B,GAAG;IAC1C,EAAE,EAAE,qDAAM,CAAC,+CAA+C;IAC1D,IAAI,EAAE,qEAAqE;IAC3E,IAAI,EAAE,+BAA+B,GAAG,qDAAM,CAAC,+CAA+C;IAC9F,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,kCAAkC,GAAG;IAChD,EAAE,EAAE,qDAAM,CAAC,0CAA0C;IACrD,IAAI,EAAE,mDAAmD;IACzD,IAAI,EAAE,qCAAqC,GAAG,qDAAM,CAAC,0CAA0C;IAC/F,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,qBAAqB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,2CAA2C,EAAE,IAAI,EAAE,4DAA4D,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC9N,MAAM,4BAA4B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,mEAAmE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAChO,MAAM,gCAAgC,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iDAAiD,EAAE,IAAI,EAAE,uEAAuE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC1P,MAAM,sCAAsC,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,+CAA+C,EAAE,IAAI,EAAE,6EAA6E,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3Q,4LAA4L;AAC5L,kLAAkL;AAClL,4LAA4L;AAC5L,+KAA+K;AAC/K,6LAA6L;AAC7L,6KAA6K;AAC7K,yLAAyL;AAClL,MAAM,4BAA4B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,mEAAmE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACpO,MAAM,2BAA2B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,kEAAkE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACjO,MAAM,gCAAgC,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yCAAyC,EAAE,IAAI,EAAE,uEAAuE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAClP,MAAM,2BAA2B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mDAAmD,EAAE,IAAI,EAAE,kEAAkE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAClP,MAAM,sBAAsB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,6DAA6D,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACjO,MAAM,0BAA0B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,gDAAgD,EAAE,IAAI,EAAE,iEAAiE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC7O,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,+DAA+D,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACtO,iNAAiN;AAC1M,MAAM,4BAA4B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,gDAAgD,EAAE,IAAI,EAAE,mEAAmE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACjP,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,oDAAoD,EAAE,IAAI,EAAE,8DAA8D,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3O,MAAM,8BAA8B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,qEAAqE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACnO,MAAM,kCAAkC,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,yEAAyE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAChP,MAAM,kCAAkC,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,yEAAyE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACvP,uKAAuK;AACvK,sKAAsK;AAC/J,MAAM,0BAA0B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yCAAyC,EAAE,IAAI,EAAE,iEAAiE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAG7O,sLAAsL;AACtL,uLAAuL;AACvL,yKAAyK;AACzK,2KAA2K;AAC3K,kKAAkK;AAC3J,MAAM,6BAA6B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,wCAAwC,EAAE,IAAI,EAAE,oEAAoE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3O,MAAM,gCAAgC,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,0CAA0C,EAAE,IAAI,EAAE,uEAAuE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACnP,MAAM,iCAAiC,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,kDAAkD,EAAE,IAAI,EAAE,wEAAwE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC7P,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,gDAAgD,EAAE,IAAI,EAAE,8DAA8D,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC9O,4LAA4L;AACrL,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC/J,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC9K,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yCAAyC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3K,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,8CAA8C,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAChL,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,gDAAgD,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAClL,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,oFAAoF,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACtN,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,sFAAsF,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACxN,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,uEAAuE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAIzM,MAAM,+BAA+B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,sEAAsE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACrO,MAAM,kCAAkC,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,yEAAyE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAChP,MAAM,qCAAqC,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,4EAA4E,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC1P,MAAM,qBAAqB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,4DAA4D,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACrN,MAAM,sBAAsB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,6DAA6D,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACtN,MAAM,4BAA4B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,mEAAmE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC5N,MAAM,qBAAqB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,4DAA4D,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACjO,4NAA4N;AAC5N,kNAAkN;AAClN,oNAAoN;AAI7M,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,oEAAoE,EAAE,IAAI,EAAE,sDAAsD,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3O,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mEAAmE,EAAE,IAAI,EAAE,sDAAsD,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC1O,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,+FAA+F,EAAE,IAAI,EAAE,sDAAsD,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACtQ,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yEAAyE,EAAE,IAAI,EAAE,sDAAsD,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAChP,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yEAAyE,EAAE,IAAI,EAAE,sDAAsD,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAChP,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mGAAmG,EAAE,IAAI,EAAE,sDAAsD,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC1Q,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,uGAAuG,EAAE,IAAI,EAAE,sDAAsD,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC9Q,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,2FAA2F,EAAE,IAAI,EAAE,sDAAsD,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAClQ,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,kDAAkD,EAAE,IAAI,EAAE,sDAAsD,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACzN,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iDAAiD,EAAE,IAAI,EAAE,sDAAsD,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACxN,MAAM,8BAA8B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iDAAiD,EAAE,IAAI,EAAE,qEAAqE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACtP,MAAM,8BAA8B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,gDAAgD,EAAE,IAAI,EAAE,qEAAqE,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAIrP,MAAM,OAAO,GAAG;IACrB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE;QACP;YACE,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAe;YACrB,OAAO,EACL;gBACE,qBAAqB;gBACrB,gCAAgC;gBAChC,sCAAsC;gBACtC,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,mBAAmB;gBACnB,4BAA4B;gBAC5B,4BAA4B;gBAC5B,2BAA2B;gBAC3B,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,4BAA4B;gBAC5B,2BAA2B;gBAC3B,gCAAgC;gBAChC,sBAAsB;gBACtB,0BAA0B;aAG3B;SACJ;QAED;YACE,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE;gBAEP,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,mBAAmB;gBACnB,6BAA6B;gBAC7B,gCAAgC;gBAChC,iCAAiC;gBACjC,gCAAgC;gBAChC,uBAAuB;aAexB;SACF;QAED;YACE,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE;gBACP,+BAA+B;gBAC/B,kCAAkC;gBAClC,qCAAqC;gBACrC,qBAAqB;gBACrB,sBAAsB;gBACtB,4BAA4B;gBAC5B,qBAAqB;aAItB;SACF;QACD;YACE,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE;gBACP,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,6BAA6B;gBAC7B,8BAA8B;gBAC9B,8BAA8B;aAC/B;SACF;QACD;YACE,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE;gBACP,wBAAwB;gBACxB,+BAA+B;gBAE/B,uBAAuB;gBACvB,8BAA8B;gBAC9B,kCAAkC;gBAClC,kCAAkC;gBAClC,kBAAkB;gBAClB,kBAAkB;gBAClB,0BAA0B;aAC3B;SACF;QAGD,2BAA2B;KAC5B;CACF,CAAC;AACF,8BAA8B;AACvB,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAIK,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,sBAAsB,GAAG;IACpC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,2BAA2B;IACjC,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAIK,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAMK,MAAM,YAAY,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACjJ,MAAM,aAAa,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACpJ,MAAM,iBAAiB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC1K,MAAM,sBAAsB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACjL,MAAM,8BAA8B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,wCAAwC,EAAE,IAAI,EAAE,mCAAmC,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3M,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACxK,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAG3J,MAAM,aAAa,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACnK,MAAM,kBAAkB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAGpK,MAAM,gBAAgB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACxK,MAAM,YAAY,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAEjJ,MAAM,0BAA0B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC9L,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACrL,MAAM,sBAAsB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC/L,MAAM,oBAAoB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3K,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACpL,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACxK,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACnK,MAAM,oBAAoB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3K,MAAM,kBAAkB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACpK,MAAM,0BAA0B,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,oCAAoC,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC/L,MAAM,qBAAqB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACrK,MAAM,YAAY,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACjJ,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACpL,MAAM,oBAAoB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAE1K,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACvK,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACvL,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACvL,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC9J,MAAM,gBAAgB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yCAAyC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAChL,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3J,MAAM,oBAAoB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC3K,MAAM,oBAAoB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC1K,MAAM,gBAAgB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAE7J,MAAM,WAAW,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAI9I,MAAM,QAAQ,GAAG,CAAC,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY;IACvF,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB;IACjG,mBAAmB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY;IAC1F,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc;IAC7F,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe;IAC9H,mCAAmC,EAAE,iCAAiC,EAAE,sBAAsB;CAClG;AACM,MAAM,KAAK,GAAG;IACnB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE;QACP,WAAW;QACX,YAAY;QACZ,aAAa;QACb,iBAAiB;QACjB,sBAAsB;QACtB,8BAA8B;QAC9B,mBAAmB;QACnB,eAAe;QACf,oBAAoB;QACpB,YAAY;QACZ,aAAa;QACb,qBAAqB;QAErB,0BAA0B;QAC1B,uBAAuB;QACvB,sBAAsB;QACtB,oBAAoB;QACpB,uBAAuB;QAEvB,gBAAgB;QAChB,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB;QACpB,kBAAkB;QAClB,0BAA0B;QAC1B,qBAAqB;QACrB,YAAY;QACZ,uBAAuB;QACvB,oBAAoB;QACpB,mBAAmB;QACnB,wBAAwB;QACxB,eAAe;QACf,wBAAwB;QAExB,oBAAoB;QACpB,eAAe;QACf,oBAAoB;QACpB,uBAAuB;QACvB,gBAAgB;KAIjB;CAEF,CAAC;AAGF,6BAA6B;AACtB,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,qBAAqB;IAC3B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,8BAA8B,GAAG;IAC5C,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAIK,MAAM,SAAS,GAAG;IACvB,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAGK,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAGK,MAAM,KAAK,GAAG;IACnB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE;QACP,oBAAoB;QACpB,mBAAmB;QACnB,uBAAuB;QACvB,gBAAgB;QAChB,aAAa;QACb,eAAe;KAWhB;CACF,CAAC;AAGF,gCAAgC;AACzB,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,MAAM,GAAG;IACpB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE;QACP,aAAa,EAAE,kBAAkB,EAAE,kBAAkB;QACnD,mBAAmB,EAAE,gBAAgB,EAAE,aAAa;QACpD,WAAW;QACb,gBAAgB;QAChB,kBAAkB;QAClB,aAAa;KACd;IACD,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEF,2CAA2C;AAE3C,iDAAiD;AAC1C,MAAM,MAAM,GAAG;IACpB,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,IAAI;CACd,CAAC;AAIK,MAAM,uBAAuB,GAAG;IACrC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,6DAA6D;IACnE,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,qBAAqB,GAAG;IACnC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,CAAC,uBAAuB;QAC/B,sBAAsB;QACtB,mBAAmB;QACnB,mBAAmB;QACnB,iBAAiB;QACjB,mBAAmB;QACjB,mBAAmB;QACnB,kBAAkB;QAClB,iBAAiB;QACjB,qBAAqB;KACxB;CACF,CAAC;AAEK,MAAM,gBAAgB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC/I,MAAM,iBAAiB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACxJ,MAAM,cAAc,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACpJ,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC/J,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAChK,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAG3I,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,CAAC,gBAAgB;QACxB,mBAAmB;QACnB,cAAc;QACd,iBAAiB;QACjB,wBAAwB;QACxB,eAAe;KAChB;CACF,CAAC;AAEK,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,IAAI;CACd,CAAC;AAEK,MAAM,OAAO,GAAG;IACrB,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,IAAI;CACd,CAAC;AAEK,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,OAAO,GAAG;IACrB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,gBAAgB,CAAC;CAC1D,CAAC;AAEK,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,yBAAyB;IAC/B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAGK,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,qDAAM,CAAC,OAAO;CACzB,CAAC;AAEK,MAAM,cAAc,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC/J,MAAM,cAAc,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,yCAAyC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAC1K,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,8CAA8C,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAEjL,MAAM,oBAAoB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACvK,MAAM,kBAAkB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAChK,MAAM,iBAAiB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACvK,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AACnK,MAAM,iBAAiB,GAAG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qDAAM,CAAC,OAAO,EAAE,CAAC;AAEvK,MAAM,OAAO,GAAG;IACrB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,iBAAiB,EAAE,eAAe,EAAE,gBAAgB;QAC1D,cAAc,EAAE,cAAc,EAAE,cAAc;QAC9C,cAAc,EAAE,iBAAiB,EAAE,iBAAiB;QACpD,cAAc,EAAE,cAAc,EAAE,eAAe;QAC/C,oBAAoB,EAAE,kBAAkB;QACxC,iBAAiB,EAAE,mBAAmB;QACtC,mBAAmB,CAAC;CACzB,CAAC;AAGK,MAAM,IAAI,GAAG;IAClB,MAAM;IACN,WAAW;IACX,QAAQ;IACR,aAAa;IACb,OAAO;IACP,OAAO;IACP,OAAO;CACR,CAAC;;;;;;;;;;;;;ACp3CF;AAAA;AAAA;AAAA;AAAyD;;;AAalD,MAAM,sBAAsB;IAWjC,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAJpC,WAAM,GAAW,IAAI,CAAC;QACtB,eAAU,GAAQ,IAAI,CAAC;QAIrB,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAClE,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;SAC9B;IAEH,CAAC;IACD,QAAQ;QAEN,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iCAAiC,GAAG,IAAI,CAAC,MAAM,CAAC;aAClE,SAAS,CAAC,QAAQ,CAAC,EAAE;YAEpB,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,QAAQ,GAAC,CAAC,CAAC;YACf,IAAI,MAAM,GAAC,IAAI,CAAC;YAEhB,QAAQ,CAAC,OAAO,CACd,CAAC,IAAI,EAAE,EAAE;gBACR,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,IAAE,QAAQ,EAAE;oBAC/E,SAAS,GAAG,KAAK,CAAC;oBAClB,IAAI,CAAC,UAAU,GAAG,YAAY;iBAC/B;gBAED,IAAG,MAAM,EACT;oBACE,MAAM,GAAG,KAAK,CAAC;oBACf,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;iBAC7B;gBAID,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,EAAE;oBACnC,YAAY,GAAG,IAAI,CAAC;iBACrB;YAEH,CAAC,CAAC;YACJ,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,MAAM,GAAG,CAAC;gBACf,IAAI,CAAC,UAAU,GAAG,YAAY;aAC/B;iBACI;gBACH,IAAI,YAAY,EAAE;oBAChB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjB;qBAAM;oBACL,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjB;gBAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;IACP,CAAC;;4FA9DU,sBAAsB;sGAAtB,sBAAsB,6JAFtB,CAAC,+DAAU,CAAC;QAJlB,uEAAgJ;QAAA,uDAAW;QAAA,4DAAI;QAC9J,uEAA+I;QAAA,uDAAW;QAAA,4DAAI;QAC9J,uEAAgJ;QAAA,uDAAW;QAAA,4DAAI;;QAFxC,oFAAuB;QAAC,0DAAW;QAAX,0EAAW;QAClC,0DAAsB;QAAtB,oFAAsB;QAAC,0DAAW;QAAX,0EAAW;QAClC,0DAAuB;QAAvB,oFAAuB;QAAC,0DAAW;QAAX,0EAAW;;;;;;;;;;;;;;ACTnK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;;;;AAYlD,MAAM,mBAAmB;IAQ9B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAFpC,WAAM,GAAQ,IAAI,CAAC;QACnB,eAAU,GAAQ,IAAI,CAAC;IAIvB,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,+BAA+B,GAAG,IAAI,CAAC,SAAS,CAAC;aACnE,SAAS,CAAC,QAAQ,CAAC,EAAE;YAEpB,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,QAAQ,CAAC,OAAO,CACd,CAAC,IAAI,EAAE,EAAE;gBACP,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,IAAI,YAAY,EAAE;oBACzF,SAAS,GAAG,KAAK,CAAC;oBAClB,IAAI,CAAC,MAAM,GAAG,UAAU;oBACxB,IAAI,CAAC,UAAU,GAAG,YAAY;iBAC/B;YACH,CAAC,CAAC;YACJ,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,MAAM,GAAG,WAAW;gBACzB,IAAI,CAAC,UAAU,GAAG,YAAY;aAC/B;QACH,CAAC,CAAC,CAAC;IACP,CAAC;;sFA9BU,mBAAmB;mGAAnB,mBAAmB,gJAFnB,CAAC,+DAAU,CAAC;QAHlB,0EAA2E;QAAA,uDAAgB;QAAA,4DAAO;QACjG,0EAA2E;QAAA,uDAAgB;QAAA,4DAAO;;QAD5D,8FAAmC;QAAC,0DAAgB;QAAhB,+EAAgB;QACnD,0DAAmC;QAAnC,8FAAmC;QAAC,0DAAgB;QAAhB,+EAAgB;;AAyC5F,MAAM,YAAY;IACvB,YAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAI,CAAC;IAChD,SAAS,CAAC,KAAK;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;;wEAJU,YAAY;0GAAZ,YAAY;;;;;;;;;;;;;AChDzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AAEX;AAEE;AAGiD;;;;AAI3E,MAAM,UAAU;IAQrB,YAAoB,IAAgB,EACzB,cAA8B;QADrB,SAAI,GAAJ,IAAI,CAAY;QACzB,mBAAc,GAAd,cAAc,CAAgB;QAPjC,UAAK,GAAW,EAAE,CAAC;QACnB,aAAQ,GAAW,EAAE,CAAC;QAS5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;SAErC;IACH,CAAC;IAIM,OAAO,CAAC,GAAW,EAAE,IAAU;QAEpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;SAErC;QACD,IAAI,WAAW,GAAG,IAAI,gEAAW,EAAE;aAChC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;aAC5C,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qDAAM,CAAC,OAAO,GAAG,GAAG,EAAE,IAAI,EAAE;YAChD,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAsB,EAAE,EAAE;YAClC,oBAAoB;YACpB,mBAAmB;YACnB,2BAA2B;YAE3B,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,0EAA0E;gBAC1E,mDAAmD;gBACnD,OAAO,GAAG,CAAC;aACZ;YACD,0BAA0B;YAC1B,yCAAyC;YACzC,oCAAoC;YACpC,0BAA0B;YAC1B,6BAA6B;YAC7B,GAAG;YACH,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,EAAE;gBACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,gCAAgC,CAAC,CAAC;aAC1E;YACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;aAE5B;iBACI;gBAEH,IAAI,GAAG,CAAC,KAAK,YAAY,KAAK,EAAE;iBAC/B;qBAAM;iBACN;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IAEL,CAAC;IAEM,WAAW,CAAC,GAAW,EAAE,IAAU;QACxC,gDAAgD;QAEhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;SAErC;QACD,IAAI;QACJ,IAAI,WAAW,GAAG,IAAI,gEAAW,EAAE;aAChC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;aAC5C,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qDAAM,CAAC,OAAO,GAAG,GAAG,EAAE,IAAI,EAAE;YAChD,OAAO,EAAE,WAAW;YACpB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAsB,EAAE,EAAE;YAClC,2CAA2C;YAE3C,mBAAmB;YACnB,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,8CAA8C;oBACrE,KAAK,CAAC,yBAAyB,CAAC,CAAC;;oBAEjC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC5B;YACD,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,EAAE;gBACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,gCAAgC,CAAC,CAAC;aAC1E;YACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;aAE5B;iBACI;gBAEH,IAAI,GAAG,CAAC,KAAK,YAAY,KAAK,EAAE;oBAC9B,kEAAkE;oBAClE,yDAAyD;iBAC1D;qBAAM;oBACL,sDAAsD;oBACtD,6DAA6D;oBAC7D,+EAA+E;iBAChF;aACF;YACD,+EAA+E;YAC/E,iCAAiC;YACjC,uDAAuD;YACvD,gCAAgC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,MAAM;QACJ,iDAAiD;QACjD,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACvC,uBAAuB;IACzB,CAAC;IAEM,KAAK,CAAC,GAAW;QAKtB,+CAA+C;QAE/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;SAErC;QACD,GAAG;QAEH,0BAA0B;QAE1B,IAAI,WAAW,GAAG,IAAI,gEAAW,EAAE;aAChC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;aAC5C,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qDAAM,CAAC,OAAO,GAAG,GAAG,EAAE;YACzC,OAAO,EAAE,WAAW;YACpB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAsB,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;YAEzC,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,EAAE;gBACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,gCAAgC,CAAC,CAAC;aAC1E;YACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;aAC5B;iBACI;gBACH,qDAAqD;gBACrD,IAAI,GAAG,CAAC,KAAK,YAAY,KAAK,EAAE;oBAC9B,kEAAkE;oBAClE,yDAAyD;iBAC1D;qBAAM;oBACL,sDAAsD;oBACtD,6DAA6D;oBAC7D,+EAA+E;iBAChF;aACF;YACD,+EAA+E;YAC/E,iCAAiC;YACjC,uDAAuD;YACvD,gCAAgC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IAEL,CAAC;IAEM,UAAU,CAAC,GAAW,EAAE,IAAU;QAKvC,+CAA+C;QAE/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;SAErC;QACD,GAAG;QAEH,0BAA0B;QAE1B,IAAI,WAAW,GAAG,IAAI,gEAAW,EAAE;aAChC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;aAC5C,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qDAAM,CAAC,OAAO,GAAG,GAAG,EAAE;YACzC,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAsB,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;YAEzC,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,EAAE;gBACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,gCAAgC,CAAC,CAAC;aAC1E;YACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;aAC5B;iBACI;gBACH,qDAAqD;gBACrD,IAAI,GAAG,CAAC,KAAK,YAAY,KAAK,EAAE;oBAC9B,kEAAkE;oBAClE,yDAAyD;iBAC1D;qBAAM;oBACL,sDAAsD;oBACtD,6DAA6D;oBAC7D,+EAA+E;iBAChF;aACF;YACD,+EAA+E;YAC/E,iCAAiC;YACjC,uDAAuD;YACvD,gCAAgC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IAEL,CAAC;IACK,YAAY,CAAC,GAAW,EAAE,IAAU;QAKxC,+CAA+C;QAE/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;SAErC;QACD,GAAG;QAEH,0BAA0B;QAE1B,IAAI,WAAW,GAAG,IAAI,gEAAW,EAAE;aAChC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;aAC5C,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE,GAAG,EAAE;YACzB,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAsB,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;YAEzC,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,EAAE;gBACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,gCAAgC,CAAC,CAAC;aAC1E;YACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;aAC5B;iBACI;gBACH,qDAAqD;gBACrD,IAAI,GAAG,CAAC,KAAK,YAAY,KAAK,EAAE;oBAC9B,kEAAkE;oBAClE,yDAAyD;iBAC1D;qBAAM;oBACL,sDAAsD;oBACtD,6DAA6D;oBAC7D,+EAA+E;iBAChF;aACF;YACD,+EAA+E;YAC/E,iCAAiC;YACjC,uDAAuD;YACvD,gCAAgC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IAEL,CAAC;IAEM,OAAO,CAAC,IAAY;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,qDAAqD;QACrD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE;YACnG,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAChG,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE;oBACtD,IAAI,CAAC,WAAW,CAAC,+BAA+B,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;yBAC3H,SAAS,CAAC,QAAQ,CAAC,EAAE;oBAEtB,CAAC,CAAC,CAAC;oBACL,OAAO,IAAI,CAAC;iBACb;qBACI;oBACH,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACzB;aACF;iBACI;gBACH,IAAI,CAAC,WAAW,CAAC,+BAA+B,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;qBAC3H,SAAS,CAAC,QAAQ,CAAC,EAAE;oBACpB,OAAO,QAAQ,CAAC;gBAClB,CAAC,CAAC,CAAC;aACN;SACF;aACI;YACH,IAAI,CAAC,WAAW,CAAC,+BAA+B,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;iBAC3H,SAAS,CAAC,QAAQ,CAAC,EAAE;YAEtB,CAAC,CAAC,CAAC;YACL,OAAO,IAAI,CAAC;SACb;IAEH,CAAC;;oEA/TU,UAAU;6FAAV,UAAU,WAAV,UAAU;AAoUhB,MAAM,SAAS;IACpB,gBAAgB,CAAC;IAEjB,eAAe;QACb,OAAO,MAAM,CAAC;IAChB,CAAC;;kEALU,SAAS;4FAAT,SAAS,WAAT,SAAS;;;;;;;;;;;;;;;;;AC3Uf,MAAM,iBAAiB;IAE1B,YAAmB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAEnC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;YAClB,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAC5B,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAClD,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtC,uDAAuD;YACvD,KAAK,CAAC,IAAI,CAAC,4BAA4B,GAAG,KAAK,GAAG,0BAA0B,CAAC;iBACxE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE9C,CAAC,CAAC,CAAC;IAEP,CAAC;;kFAfQ,iBAAiB;iGAAjB,iBAAiB;;;;;;;;;;;;;ACN9B;AAAA;AAAA;AAAA;AAAA;AAAoH;AAC3D;;;;;IAOjD,uEAAwD;IACxD,oEAAqH;IACrH,kEAAiC;IACjC,4DAAO;;;IAFU,0DAAqD;IAArD,oIAAqD;IAAoB,mJAA0B;;AAMrH,MAAM,+BAA+B;IAc1C,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAP1B,kBAAa,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAEhE,cAAS,GAAQ,EAAE,CAAC;QAEpB,WAAM,GAAQ,IAAI,CAAC;QACnB,eAAU,GAAQ,IAAI,CAAC;IAKvB,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,oCAAoC,GAAG,IAAI,CAAC,SAAS,CAAC;aACxE,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAE1B,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,QAAQ,CAAC,OAAO,CACd,CAAC,IAAI,EAAE,EAAE;gBAEP,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,IAAI,YAAY,EAAE;oBACzF,SAAS,GAAG,KAAK,CAAC;oBAClB,IAAI,CAAC,MAAM,GAAG,UAAU;oBACxB,IAAI,CAAC,UAAU,GAAG,YAAY;iBAC/B;gBAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM;oBAC/B,IAAI,GAAG,CAAC,CAAC;YACb,CAAC,CAAC;YACJ,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,MAAM,GAAG,WAAW;gBACzB,IAAI,CAAC,UAAU,GAAG,YAAY;aAC/B;YAED,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;gBAEvG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;IACP,CAAC;;8GA/CU,+BAA+B;+GAA/B,+BAA+B,4NAF/B,CAAC,+DAAU,CAAC;QALjB,6HAGO;;QAHoB,kFAAc;;;;;;;;;;;;;;ACPjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;;;;;;;;;ICcjC,uEAA2B;IAAA,uDAA6C;;IAAA,4DAAO;;;IAApD,0DAA6C;IAA7C,mKAA6C;;;IAGtE,2EAA6F;IAAA,uDAAc;IAAA,4DAAO;;;IAArE,2GAA+C;IAAC,0DAAc;IAAd,8EAAc;;;IAC3G,gEAAiD;;;IAA7C,sEAAqB;;;IAF3B,wEAAwI;IACtI,wHAAkH;IAClH,oHAAiD;IACjD,uEAAM;IAAA,uDAA6C;;IAAA,4DAAO;IAC5D,4DAAI;;;IAJ8G,0FAAqB;IAA1E,mFAA2B;IAC3D,0DAAgB;IAAhB,+EAAgB;IAChB,0DAAe;IAAf,8EAAe;IACpC,0DAA6C;IAA7C,mKAA6C;;;IAKnD,2EAA6F;IAAA,uDAAc;IAAA,4DAAO;;;IAArE,2GAA+C;IAAC,0DAAc;IAAd,8EAAc;;;IAC3G,gEAAiD;;;IAA7C,sEAAqB;;;;IAH3B,wEACkF;IAA/E,2UAAoC;IACrC,wHAAkH;IAClH,oHAAiD;IACjD,uEAAM;IAAA,uDAA6C;;IAAA,4DAAO;IAC5D,4DAAI;;;IAL4G,0FAAqB;IAAvE,oFAAwB;IAAC,gFAAwB;IAElF,0DAAgB;IAAhB,+EAAgB;IAChB,0DAAe;IAAf,8EAAe;IACpC,0DAA6C;IAA7C,mKAA6C;;;IAKnD,2EAA6F;IAAA,uDAAc;IAAA,4DAAO;;;IAArE,2GAA+C;IAAC,0DAAc;IAAd,8EAAc;;;IAC3G,gEAAiD;;;IAA7C,sEAAqB;;;;IAH3B,wEACkF;IAA/E,2UAAoC;IACrC,wHAAkH;IAClH,oHAAiD;IACjD,uEAAM;IAAA,uDAA6C;;IAAA,4DAAO;IAC5D,4DAAI;;;IAL0C,0FAAqB;IAEtC,0DAAgB;IAAhB,+EAAgB;IAChB,0DAAe;IAAf,8EAAe;IACpC,0DAA6C;IAA7C,mKAA6C;;;IAQ/C,2EAAmG;IAAA,uDAAiB;IAAA,4DAAO;;;IAA3E,+GAAkD;IAAC,0DAAiB;IAAjB,kFAAiB;;;IACpH,gEAAuD;;;IAAnD,0EAAwB;;;IAF9B,wEAA0J;IACxJ,kIAA2H;IAC3H,8HAAuD;IACvD,uEAAM;IAAA,uDAAmD;;IAAA,4DAAO;IAClE,4DAAI;;;IAJ6H,8FAAwB;IAAnF,uFAA8B;IACvE,0DAAmB;IAAnB,mFAAmB;IAChB,0DAAkB;IAAlB,kFAAkB;IAC1C,0DAAmD;IAAnD,2KAAmD;;;IAIzD,2EAAmG;IAAA,uDAAiB;IAAA,4DAAO;;;IAA3E,+GAAkD;IAAC,0DAAiB;IAAjB,kFAAiB;;;IACpH,gEAAuD;;;IAAnD,0EAAwB;;;IAF9B,wEAA0J;IACxJ,kIAA2H;IAC3H,8HAAuD;IACvD,uEAAM;IAAA,uDAAmD;;IAAA,4DAAO;IAClE,4DAAI;;;IAJ6H,8FAAwB;IAAhF,wFAA2B;IAAC,oFAA2B;IACnG,0DAAmB;IAAnB,mFAAmB;IAChB,0DAAkB;IAAlB,kFAAkB;IAC1C,0DAAmD;IAAnD,2KAAmD;;;IAKzD,2EAAmG;IAAA,uDAAiB;IAAA,4DAAO;;;IAA3E,+GAAkD;IAAC,0DAAiB;IAAjB,kFAAiB;;;IACpH,gEAAuD;;;IAAnD,0EAAwB;;;;IAH9B,wEACkF;IAA/E,qVAAoC;IACrC,kIAA2H;IAC3H,8HAAuD;IACvD,uEAAM;IAAA,uDAAmD;;IAAA,4DAAO;IAClE,4DAAI;;;IALkD,8FAAwB;IAEjD,0DAAmB;IAAnB,mFAAmB;IAChB,0DAAkB;IAAlB,kFAAkB;IAC1C,0DAAmD;IAAnD,2KAAmD;;;IAOrD,2EAAqG;IAAA,uDAAkB;IAAA,4DAAO;;;IAA7E,gHAAmD;IAAC,0DAAkB;IAAlB,mFAAkB;;;IACvH,gEAAyD;;;IAArD,2EAAyB;;;IAF/B,wEAAsH;IACpH,4IAA8H;IAC9H,wIAAyD;IACzD,uEAAM;IAAA,uDAAqD;;IAAA,4DAAO;IACpE,4DAAI;;;IAJwF,+FAAyB;IAAnF,yFAA4B;IAAC,qFAA4B;IAC9D,0DAAoB;IAApB,oFAAoB;IAChB,0DAAmB;IAAnB,mFAAmB;IAC5C,0DAAqD;IAArD,6KAAqD;;;IAK3D,2EAAqG;IAAA,uDAAkB;IAAA,4DAAO;;;IAA7E,gHAAmD;IAAC,0DAAkB;IAAlB,mFAAkB;;;IACvH,gEAAyD;;;IAArD,2EAAyB;;;;IAH/B,wEACkF;IAA/E,+VAAoC;IACrC,4IAA8H;IAC9H,wIAAyD;IACzD,uEAAM;IAAA,uDAAqD;;IAAA,4DAAO;IACpE,4DAAI;;;IAL6B,+FAAyB;IAE7B,0DAAoB;IAApB,oFAAoB;IAChB,0DAAmB;IAAnB,mFAAmB;IAC5C,0DAAqD;IAArD,6KAAqD;;;IAOvD,2EAAqG;IAAA,uDAAkB;IAAA,4DAAO;;;IAA7E,gHAAmD;IAAC,0DAAkB;IAAlB,mFAAkB;;;IACvH,gEAAyD;;;IAArD,2EAAyB;;;IAF/B,wEAAsH;IACpH,sJAA8H;IAC9H,kJAAyD;IACzD,uEAAM;IAAA,uDAAqD;;IAAA,4DAAO;IACpE,4DAAI;;;IAJwF,+FAAyB;IAAnF,yFAA4B;IAAC,qFAA4B;IAC9D,0DAAoB;IAApB,oFAAoB;IAChB,0DAAmB;IAAnB,mFAAmB;IAC5C,0DAAqD;IAArD,6KAAqD;;;IAK3D,2EAAqG;IAAA,uDAAkB;IAAA,4DAAO;;;IAA7E,gHAAmD;IAAC,0DAAkB;IAAlB,mFAAkB;;;IACvH,gEAAyD;;;IAArD,2EAAyB;;;;IAH/B,wEACkF;IAA/E,yWAAoC;IACrC,sJAA8H;IAC9H,kJAAyD;IACzD,uEAAM;IAAA,uDAAqD;;IAAA,4DAAO;IACpE,4DAAI;;;IAL6B,+FAAyB;IAE7B,0DAAoB;IAApB,oFAAoB;IAChB,0DAAmB;IAAnB,mFAAmB;IAC5C,0DAAqD;IAArD,6KAAqD;;;IAOvD,2EAAqG;IAAA,uDAAkB;IAAA,4DAAO;;;IAA7E,gHAAmD;IAAC,0DAAkB;IAAlB,mFAAkB;;;IACvH,gEAAyD;;;IAArD,2EAAyB;;;IAF/B,wEAAsH;IACpH,gKAA8H;IAC9H,4JAAyD;IACzD,uEAAM;IAAA,uDAAqD;;IAAA,4DAAO;IACpE,4DAAI;;;IAJwF,+FAAyB;IAAnF,yFAA4B;IAAC,qFAA4B;IAC9D,0DAAoB;IAApB,oFAAoB;IAChB,0DAAmB;IAAnB,mFAAmB;IAC5C,0DAAqD;IAArD,6KAAqD;;;;IAL/D,yEAA8E;IAE5E,sJAII;IACN,4DAAK;;;IAPyC,mJAA+B;IAElE,0DAAuB;IAAvB,uFAAuB;;;;IAHpC,yEAAwG;IACtG,mJAOK;IACP,4DAAK;;;IATkE,mJAAgC;IAC5E,0DAAmB;IAAnB,yFAAmB;;;IAhBhD,yEAA8E;IAE5E,4IAII;IAEJ,2IAKI;IAEJ,8IASK;IACP,4DAAK;;;IAzByC,mJAA+B;IAElE,0DAAuB;IAAvB,uFAAuB;IAMvB,0DAAsB;IAAtB,sFAAsB;IAO1B,0DAAsB;IAAtB,sFAAsB;;;IAhB/B,yEAAwG;IACtG,yIAyBK;IACP,4DAAK;;;IA3BkE,mJAAgC;IAC5E,0DAAmB;IAAnB,yFAAmB;;;IAhBhD,yEAA6E;IAE3E,kIAII;IAEJ,iIAKI;IAEJ,oIA2BK;IA1CP,4DAA6E;;;IAAhC,mJAA+B;IAEjE,0DAAuB;IAAvB,uFAAuB;IAMvB,0DAAsB;IAAtB,sFAAsB;IAO1B,0DAAsB;IAAtB,sFAAsB;;;IAhB/B,yEAAuG;IACrG,+HAA6E;IA2C7E,gEAAI;IACN,4DAAK;;;IA7CiE,mJAAgC;IAC3E,0DAAkB;IAAlB,wFAAkB;;;IAtB/C,yEAA0E;IAExE,uHAII;IAEJ,wHAII;IAEJ,uHAKI;IAEJ,0HA6CK;IAlEP,4DAA0E;;;IAAhC,mJAA+B;IAE9D,0DAA2D;IAA3D,mIAA2D;IAM3D,0DAA8D;IAA9D,wIAA8D;IAM9D,0DAA2C;IAA3C,iHAA2C;IAO/C,0DAAqB;IAArB,qFAAqB;;;IAvB9B,yEAA6F;IAC3F,yEAAkC;IAAA,uDAA6C;;IAAA,4DAAK;IACpF,qHAA0E;IAmE1E,gEAAI;IACN,4DAAK;;;IAtEuD,mJAAgC;IACxD,0DAA6C;IAA7C,mKAA6C;IACvD,0DAAe;IAAf,oFAAe;;;;IA1B3C,wEAA6G;IAE3G,mHAA+E;IAE/E,6GAII;IAEJ,6GAKI;IAEJ,6GAKI;IAEJ,gHAsEK;IACP,4DAAK;;;IA/F8B,2JAAyC;IAEnE,0DAAkB;IAAlB,iFAAkB;IAEhB,0DAAkD;IAAlD,uHAAkD;IAMlD,0DAAmD;IAAnD,wHAAmD;IAOnD,0DAAmC;IAAnC,qGAAmC;IAOvC,0DAAkB;IAAlB,iFAAkB;;ADzBxB,MAAM,gBAAgB;IAOzB,YAAmB,IAAiB,EAAS,QAAyB,EAAS,QAAkB;QAA9E,SAAI,GAAJ,IAAI,CAAa;QAAS,aAAQ,GAAR,QAAQ,CAAiB;QAAS,aAAQ,GAAR,QAAQ,CAAU;QAHjG,iBAAY,GAAG,sBAAsB,CAAC;QACtC,SAAI,GAAQ,IAAI,CAAC;QAIb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAEpC,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,sDAAM,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,8CAA8C;YAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,qBAAqB;YACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,gCAAgC;YAChC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;IAEzB,CAAC;IAED,aAAa;QACT,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE;gBACjD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;aACzD;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,kBAAkB,CAAC,KAAK;QAEpB,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAExF,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAEnD,sBAAsB;YACtB,IAAI,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC9C,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBAClC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChB,wCAAwC;gBACxC,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;oBACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;iBACvB;YACL,CAAC,CAAC,CAAC;YAEH,6BAA6B;YAC7B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;gBACZ,OAAO;aACV;YAED,qCAAqC;YACrC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBACxC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,mBAAmB;YACnB,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;YACjC,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;gBAC/C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACtB;iBACI;gBACD,cAAc;gBACd,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;oBACxB,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBACrC,gCAAgC;gBAChC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAC1B;SAEJ;IAEL,CAAC;IAED,+BAA+B;IAC/B,SAAS,CAAC,IAAI;QACV,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;QACvD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,+BAA+B;QACtD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,kBAAkB,CAAC,KAAK;QACpB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACrF,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YACnD,IAAI,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAEpC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;gBACZ,OAAO,CAAC,wBAAwB;aACnC;YAED,IAAI,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACnC,IAAI,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,6BAA6B;YAChF,IAAI,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/F,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YAE9E,IAAI,WAAW,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;YAE1C,8DAA8D;YAE9D,WAAW;iBACN,QAAQ,CAAC,cAAc,CAAC;YAE7B,6BAA6B;YAC7B,+CAA+C;YAC/C,IAAI,eAAe,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9B,IAAI,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;YAChE,IAAI,UAAU,GAAG,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;YAE3E,IAAI,YAAY,GAAG,EAAE,CAAC,CAAC,iCAAiC;YAExD,wEAAwE;YACxE,IAAI,OAAO,GAAG,CAAC,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC,CAAC;YAEnG,WAAW;iBACN,WAAW,CAAC,SAAS,CAAC,CAAC,+DAA+D;iBACtF,GAAG,CAAC;gBACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;gBAC1E,GAAG,EAAE,OAAO;gBACZ,MAAM,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;aAC9F,CAAC,CAAC;YAEP,WAAW;iBACN,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;iBACjD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAS,CAAC;gBAC7B,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,gCAAgC;gBACpD,uCAAuC;gBACvC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpC,IAAI,OAAO;oBAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEP,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAElC;IAEL,CAAC;IAED,uBAAuB;QACnB,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE;gBACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;aAC7B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB;QACb,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IACD,sBAAsB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC;IACD,cAAc;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;;gFApLQ,gBAAgB;gGAAhB,gBAAgB;QCX7B,yEAAyB;QAEvB,yEAAoH;QAElH,wEAAwB;QAGtB,wEAA2B;QACzB,2EAA+B;QACjC,4DAAK;QAGL,2GA+FK;QAEP,4DAAK;QAGP,4DAAM;QACR,4DAAM;;QA/G2C,0DAAoE;QAApE,4HAAoE;QAU1F,0DAAY;QAAZ,kFAAY;;;;;;;;;;;;;;ACZvC;AAAA;AAAA;AAAA;AAAA;AAAiC;;AAK1B,MAAM,YAAY;IAKrB,YAAmB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAI,CAAC;IAE3C,QAAQ;QACJ,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,UAAU;QACN,IAAI,EAAE,GAAG,mCAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC;IAC9C,CAAC;IAED,WAAW;QACP,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;;wEAnBQ,YAAY;4FAAZ,YAAY;;;;;;;;;;;;;;;;;ACFlB,MAAM,eAAe;IAM1B;QAEE,gBAAgB;QAChB,sCAAsC;QACtC,IAAI,CAAC,IAAI,GAAG;YACV,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,cAAc;YACnB,OAAO,EAAE,wBAAwB;SAClC,CAAC;QAEF,eAAe;QACf,sCAAsC;QACtC,IAAI,CAAC,GAAG,GAAG;YACT,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,IAAI;YACvB,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,0BAA0B,EAAE,IAAI;YAChC,yBAAyB,EAAE,IAAI;SAEhC,CAAC;QAEF,kBAAkB;QAClB,sCAAsC;QACtC,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,IAAI;YACX,cAAc,EAAE,KAAK;YACrB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,aAAa;SAC7B,CAAC;IAEJ,CAAC;IAED,aAAa,CAAC,IAAI;QAChB,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC1C,CAAC;IACD,cAAc,CAAC,IAAI;QACjB,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,gBAAgB,CAAC,IAAI;QACnB,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,IAAI,EAAE,KAAK;QACvB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SACxB;IACH,CAAC;IACD,cAAc,CAAC,IAAI,EAAE,KAAK;QACxB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SACzB;IACH,CAAC;IACD,gBAAgB,CAAC,IAAI,EAAE,KAAK;QAC1B,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;YAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SAClC;IACH,CAAC;IAED,mBAAmB,CAAC,IAAI;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;;8EAzFU,eAAe;kGAAf,eAAe,WAAf,eAAe;;;;;;;;;;;;;ACH5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACmB;AACnB;AACO;AACZ;AAEgB;AACR;AACI;AACE;AACA;AACE;AACR;AACU;AACE;AACV;AACJ;AACY;AACN;AACA;AACI;AACE;AACE;AAGN;AACqB;AACf;AACqB;AAC6B;AACN;AACZ;AACN;AACP;AACa;AAE3C;AACW;AACU;AACxE,mEAAmE;AACC;AAEN;AAC6B;AACrC;AACtD,0DAA0D;AACK;AAE8C;AACG;AAChB;AACrB;AACb;AAC+B;AAC7B;AACqD;AAChD;AACY;AACoC;AACnD;AACjB;AACE;AACA;AACJ;AAC/C,2EAA2E;AAGW;AACH;AACF;AACF;AACA;AACY;AACJ;AACN;AACI;AACI;AACF;AAEA;;;;;;;;;;;;;;;;;;;AACvF,wCAAwC;AAwLxC,qDAAqD;AAC9C,MAAM,YAAY;IACvB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,QAAQ,EAAE,YAAY;SACvB,CAAC;IACJ,CAAC;;wEALU,YAAY;4FAAZ,YAAY;iGA1HZ,CAAC,qEAAa;QACvB,gEAAU;QACV,2EAAe;QACf,qFAAoB;KAErB,YAlEQ;YACP,4DAAY;YACZ,0DAAW;YACX,kEAAmB;YACnB,mEAAe;YACf,uEAAe,CAAC,OAAO,EAAE;YACzB,+DAAW,CAAC,OAAO,EAAE;YACrB,mEAAa,CAAC,OAAO,EAAE;YACvB,qEAAc,CAAC,OAAO,EAAE;YACxB,qEAAc,CAAC,OAAO,EAAE;YACxB,0EAAgB,CAAC,OAAO,EAAE;YAC1B,4EAAkB,CAAC,OAAO,EAAE;YAC5B,wEAAgB,CAAC,OAAO,EAAE;YAC1B,gEAAW,CAAC,OAAO,EAAE;YACrB,0EAAgB,CAAC,OAAO,EAAE;YAC1B,4EAAiB,CAAC,OAAO,EAAE;YAC3B,kEAAY,CAAC,OAAO,EAAE;YACtB,8DAAU,CAAC,OAAO,EAAE;YACpB,0EAAgB,CAAC,OAAO,EAAE;YAC1B,oEAAa,CAAC,OAAO,EAAE;YACvB,oEAAa,CAAC,OAAO,EAAE;YACvB,wEAAe,CAAC,OAAO,EAAE;YACzB,uDAAY,CAAC,OAAO,EAAE;YACtB,gBAAgB;YAChB,kFAAW;YACX,oEAAc;YACd,uBAAuB;YACvB,4EAAY;YACZ,uFAAoB;YACpB,qFAAkB;YAClB,mFAAmB;YACnB,0FAAoB;YACpB,mFAAiB;YACjB,+FAAuB;YACvB,gFAAiB;YACjB,kFAAa;YACb,mFAAc;YACd,iFAAY;YACZ,+EAAc;YACd,kFAAiB;YACjB,6EAAY;YACZ,6EAAY;YACZ,6EAAa;YACb,iEAAc;YACd,oBAAoB;YACpB,oFAAoB;YAEpB,mFAAgB;YAChB,uFAAoB;YACrB,mFAAgB;YACf,2FAAyB;YACzB,mFAAiB;YACjB,yFAAoB;YACpB,sFAAiB;YACjB,4EAAa;YACb,+DAAiB;YACjB,iEAAgB;YAChB,8EAAc;YACd,6DAAgB;SAEjB,EAmCC,4DAAY;QACZ,0DAAW;QACX,kEAAmB;QACnB,mEAAe;QACf,4DAAY;QACZ,uEAAe;QACf,+DAAW;QACX,mEAAa;QACb,qEAAc;QACd,qEAAc;QACd,0EAAgB;QAChB,4EAAkB;QAClB,wEAAgB;QAChB,gEAAW;QACX,0EAAgB;QAChB,4EAAiB;QACjB,kEAAY;QACZ,8DAAU;QACV,0EAAgB;QAChB,oEAAa;QACb,oEAAa;QACb,wEAAe;QACf,uDAAY;QACZ,iEAAc;QAGd,sFAAiB;QASjB,4BAA4B;QAE5B,gBAAgB;QAChB,kFAAW;QACX,4EAAY;QACZ,uFAAoB;QACpB,qFAAkB;QAClB,mFAAmB;QACnB,0FAAoB;QACpB,mFAAiB;QACjB,+FAAuB;QACvB,gFAAiB;QACjB,kFAAa;QACb,mFAAc;QACd,iFAAY;QACZ,+EAAc;QACd,kFAAiB;QACjB,6EAAY;QACZ,6EAAa;QACb,6EAAY;QACZ,oFAAoB;QACpB,oEAAc;QACf,wBAAwB;QACvB,mFAAgB;QAChB,uFAAoB;QACrB,mFAAgB;QACf,2FAAyB;QACzB,mFAAiB;QACjB,yFAAoB;QAEpB,4EAAa;QACb,+DAAiB;QACjB,sBAAsB;QACtB,iEAAgB;QAChB,8EAAc;QACd,6DAAgB;oIAkBP,YAAY,mBAlHrB,0FAAiB;QAEjB,2EAAY;QACZ,gGAAmB;QACnB,6HAA+B;QAC/B,uHAA4B;QAC5B,2GAAsB;QACtB,qGAAmB;QACnB,8FAAY;QACZ,2GAAsB;QACtB,4BAA4B;QAE5B,oGAAuB;QACvB,iGAAqB;QACrB,+FAAoB;QACpB,6FAAmB;QACnB,6FAAmB;QACnB,yGAAyB;QACzB,qGAAuB;QACvB,+FAAoB;QACpB,mGAAsB;QACtB,uGAAwB;QACxB,qGAAuB;QACvB,qGAAuB,aA3FvB,4DAAY;QACZ,0DAAW;QACX,kEAAmB;QACnB,mEAAe;QAmBf,gBAAgB;QAChB,kFAAW;QACX,oEAAc;QACd,uBAAuB;QACvB,4EAAY;QACZ,uFAAoB;QACpB,qFAAkB;QAClB,mFAAmB;QACnB,0FAAoB;QACpB,mFAAiB;QACjB,+FAAuB;QACvB,gFAAiB;QACjB,kFAAa;QACb,mFAAc;QACd,iFAAY;QACZ,+EAAc;QACd,kFAAiB;QACjB,6EAAY;QACZ,6EAAY;QACZ,6EAAa;QACb,iEAAc;QACd,oBAAoB;QACpB,oFAAoB;QAEpB,mFAAgB;QAChB,uFAAoB;QACrB,mFAAgB;QACf,2FAAyB;QACzB,mFAAiB;QACjB,yFAAoB;QACpB,sFAAiB;QACjB,4EAAa;QACb,+DAAiB;QACjB,iEAAgB;QAChB,8EAAc;QACd,6DAAgB,aAqChB,4DAAY;QACZ,0DAAW;QACX,kEAAmB;QACnB,mEAAe;QACf,4DAAY;QACZ,uEAAe;QACf,+DAAW;QACX,mEAAa;QACb,qEAAc;QACd,qEAAc;QACd,0EAAgB;QAChB,4EAAkB;QAClB,wEAAgB;QAChB,gEAAW;QACX,0EAAgB;QAChB,4EAAiB;QACjB,kEAAY;QACZ,8DAAU;QACV,0EAAgB;QAChB,oEAAa;QACb,oEAAa;QACb,wEAAe;QACf,uDAAY;QACZ,iEAAc;QACd,oBAAoB;QACpB,0FAAiB;QACjB,sFAAiB;QACjB,2EAAY;QACZ,gGAAmB;QACnB,6HAA+B;QAC/B,uHAA4B;QAC5B,2GAAsB;QACtB,qGAAmB;QACnB,8FAAY;QACZ,2GAAsB;QACtB,4BAA4B;QAE5B,gBAAgB;QAChB,kFAAW;QACX,4EAAY;QACZ,uFAAoB;QACpB,qFAAkB;QAClB,mFAAmB;QACnB,0FAAoB;QACpB,mFAAiB;QACjB,+FAAuB;QACvB,gFAAiB;QACjB,kFAAa;QACb,mFAAc;QACd,iFAAY;QACZ,+EAAc;QACd,kFAAiB;QACjB,6EAAY;QACZ,6EAAa;QACb,6EAAY;QACZ,oFAAoB;QACpB,oEAAc;QACf,wBAAwB;QACvB,mFAAgB;QAChB,uFAAoB;QACrB,mFAAgB;QACf,2FAAyB;QACzB,mFAAiB;QACjB,yFAAoB;QAEpB,4EAAa;QACb,+DAAiB;QACjB,sBAAsB;QACtB,iEAAgB;QAChB,8EAAc;QACd,6DAAgB;QAEhB,oGAAuB;QACvB,iGAAqB;QACrB,+FAAoB;QACpB,6FAAmB;QACnB,6FAAmB;QACnB,yGAAyB;QACzB,qGAAuB;QACvB,+FAAoB;QACpB,mGAAsB;QACtB,uGAAwB;QACxB,qGAAuB;QACvB,qGAAuB;;;;;;;;;;;;;ACrQ3B;AAAe,sRAAuN,8BAA8B,GAAG,6BAA6B,2BAA2B,GAAG,qMAAqM,8BAA8B,0EAA0E,gCAAgC,GAAG,6BAA6B,+KAA+K,yCAAyC,KAAK,GAAG,qDAAqD,gBAAgB,GAAG,wGAAwG,gBAAgB,GAAG,sOAAsO,mBAAmB,GAAG,sEAAsE,8BAA8B,GAAG,gMAAgM,2BAA2B,GAAG,yBAAyB,mBAAmB,GAAG,wDAAwD,mBAAmB,GAAG,sIAAsI,mBAAmB,GAAG,kEAAkE,oBAAoB,GAAG,oQAAoQ,8BAA8B,mBAAmB,GAAG,0JAA0J,mBAAmB,GAAG,4BAA4B,+BAA+B,GAAG,mBAAmB,2BAA2B,GAAG,4CAA4C,mBAAmB,GAAG,8DAA8D,mBAAmB,GAAG,kJAAkJ,mBAAmB,GAAG,4EAA4E,mBAAmB,GAAG,wFAAwF,0BAA0B,8BAA8B,GAAG,sMAAsM,8CAA8C,2BAA2B,mBAAmB,GAAG,6CAA6C,2vyBAA2vyB,E;;;;;;;;;;;ACA5t5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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AAC;;0FAtFQ,qBAAqB;wGAArB,qBAAqB,WAArB,qBAAqB;;;;;;;;;;;;ACRlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA,kBAAkB,qCAAqC;AACvD,KAAK;;AAEL;AACA,kBAAkB,mBAAmB;AACrC;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,eAAe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA,yBAAyB,+BAA+B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;;AAEA;;;AAGA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe;AACf;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,OAAO;AACpB,eAAe,kBAAkB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,aAAa,oBAAoB,EAAE,EAAE;AAC9G;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,iBAAiB;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,eAAe,SAAS;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,OAAO;AACpB,aAAa,eAAe;AAC5B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,aAAa,uBAAuB;AACpC,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA,wCAAwC,iCAAiC,8BAA8B,4BAA4B,6BAA6B;AAChK;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA,4BAA4B,sBAAsB,mBAAmB,iBAAiB,kBAAkB;AACxG;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,YAAY,mBAAmB,EAAE;AACxE;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,YAAY,cAAc,WAAW;AAC5E,kEAAkE;AAClE,mEAAmE;AACnE,iEAAiE;AACjE,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,aAAa,OAAO,aAAa;AAClE,0DAA0D;AAC1D,yDAAyD;AACzD,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,QAAQ,SAAS;AACtD;AACA;AACA;AACA,OAAO;AACP;AACA,yDAAyD,MAAM;AAC/D;AACA;AACA;AACA;AACA;;AAEA,cAAc,WAAW,UAAU,YAAY,SAAS,UAAU,UAAU;;AAE5E;AACA;AACA,OAAO;AACP;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,4BAA4B,mBAAmB,oBAAoB;AACnE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe;AACf;;AAEA;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,GAAG;;;;;AAKH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,iBAAiB;AAC9B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;;AAEA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,EAAE;AAC7B,GAAG;;;AAGH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;;AAEA;AACA;;;AAGA;;AAEA,CAAC,oB;;;;;;;;;;;;;;;;;;;;AC/sDM,MAAM,SAAS;IAElB,YAAoB,MAAc,EAAS,oBAA0C;QAAjE,WAAM,GAAN,MAAM,CAAQ;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;IAErF,CAAC;IAED,WAAW,CAAC,KAA6B,EAAE,KAA0B;QAGnE,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,kBAAkB;QAClB,IAAI,EAAE,EAAE;YACN,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC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","file":"main-es2015.js","sourcesContent":["import { Component, OnInit, ViewChild, QueryList, ViewChildren, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { DialogComponent, ButtonPropsModel } from '@syncfusion/ej2-angular-popups';\r\n\r\nimport { Repository } from '../../../services/repository'\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AnimationSettingsModel } from '@syncfusion/ej2-splitbuttons';\r\nimport { ToolDataService} from '../../../services/tooldata.service'\r\n\r\nimport { cloneDeep } from \"lodash\";\r\nimport { HoSoCongChucs_chucnang11 } from '../../../routes/menu';\r\nimport 'jquery'\r\nimport 'bootstrap'\r\nimport { MaskedTextBoxComponent, FormValidators } from '@syncfusion/ej2-angular-inputs';\r\n\r\nimport { log } from 'util';\r\nimport { window } from 'ngx-bootstrap';\r\n\r\nconst swal = require('sweetalert');\r\n@Component({\r\n selector: 'app-hscc-qtdt',\r\n templateUrl: './quatrinhdaotao.component.html',\r\n styleUrls: ['./quatrinhdaotao.component.scss'],\r\n providers: [ListService, Repository]\r\n})\r\n\r\n\r\nexport class quatrinhdaotaoComponent implements OnInit {\r\n\r\n comboSearchFn(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ten.toLowerCase().indexOf(term) > -1;\r\n }\r\n public formatDate = '00/00/0000';\r\n public width: string = '50%';\r\n public animationSettings: AnimationSettingsModel = { effect: 'None' };\r\n public target: string = '.control-section';\r\n \r\n @ViewChild('Dialog') public modal: DialogComponent;\r\n\r\n @Output() save: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('ejNgayQD') public ejNgayQD: MaskedTextBoxComponent;\r\n @ViewChild('ejNgayTN') public ejNgayTN: MaskedTextBoxComponent;\r\n @ViewChild('ejNgayDN') public ejNgayDN: MaskedTextBoxComponent;\r\n\r\n inputPhongBan2s: any = null;\r\n inputLinhVucs: any;\r\n inputChuyenNganhs: any ;\r\n inputHinhThucDaoTaos: any;\r\n inputTrinhDos: any;\r\n inputQuocGias: any;\r\n inputLoaiTotNghieps: any;\r\n inputkieungaysinhs: any = [{ Id: 1, Name: 'Đầy đủ' }, { Id: 2, Name: 'Thiếu ngày' }, { Id: 3, Name: 'Thiếu tháng' }]\r\n nhansuId: any = null;\r\n inputChucVus: any = null;\r\n inputHinhThucTuyenDungs: any = null;\r\n items = [];\r\n donviitems = [];\r\n\r\n //--------------------------------------------------------------------\r\n bonhiemSelect: any = {\r\n Id: null, NhanSuId: null, LinhVucDaoTaoId: null, HinhThucDaoTaoId: null, ChuyenNganhId: null, LoaiTotNghiepId: null, QuocGiaId: null,\r\n NoiDaoTaoId: null, DiaDiem: null, NoiDungDaoTao: null, SoQuyetDinh: null, NgayQuyetDinh: null, KieuNgayBatDau: null, NgayBatDau: null, KieuNgayKetThuc: null,\r\n NgayKetThuc: null, TrinhDoHocVanId: null, BangCapId: null, NamTotNghiep: null, MoTa: null, TrinhDoHocVan: null, ChuyenNganh: null, HinhThucDaoTao: null, LinhVucDaoTao: null\r\n }\r\n QTCT: any[];\r\n \r\n //-----------------cac hàm khởi tạo dữ liệu ban đầu\r\n constructor(private route: ActivatedRoute, private repo: Repository, private tooldata: ToolDataService) {\r\n\r\n \r\n }\r\n\r\n quyen_them: boolean = false;\r\n quyen_sua: boolean = false;\r\n quyen_xoa: boolean = false;\r\n currentUser: any;\r\n ngOnInit(): void {\r\n var authlogin = localStorage.getItem('currentUser');\r\n if (authlogin) {\r\n\r\n this.currentUser = JSON.parse(authlogin);\r\n\r\n var giatri = this.currentUser.ds_quyen.filter(name => name.Id === HoSoCongChucs_chucnang11.id.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n if (giatri[0].Them == true)\r\n this.quyen_them = true;\r\n else\r\n this.quyen_them = false;\r\n if (giatri[0].Sua == true)\r\n this.quyen_sua = true;\r\n else\r\n this.quyen_sua = false;\r\n if (giatri[0].Xoa == true)\r\n this.quyen_xoa = true;\r\n else\r\n this.quyen_xoa = false;\r\n }\r\n }\r\n }\r\n loadDataInit(id: string) {\r\n this.nhansuId = id;\r\n this.repo.getRequest(\"api/hoso/donvicaylist/\", { phanloaiId: -1, giaithe: 1 })\r\n .subscribe(response => {\r\n this.donviitems = this.process(response);\r\n\r\n });\r\n this.repo.getRequest(\"api/hoso/chucvulist/\", { entityName: \"03\" })\r\n .subscribe(response => {\r\n\r\n this.inputChucVus = response;\r\n });\r\n this.repo.getRequest(\"api/hoso/conmonlist/\", { entityName: \"DM_LinhVucDaoTao\" })\r\n .subscribe(response => {\r\n this.inputLinhVucs = response;\r\n });\r\n this.repo.getRequest(\"api/hoso/conmonlist/\", { entityName: \"DM_ChuyenNganhDaoTao\" })\r\n .subscribe(response => {\r\n this.inputChuyenNganhs = response;\r\n });\r\n this.repo.getRequest(\"api/hoso/conmonlist/\", { entityName: \"DM_HinhThucDaoTao\" })\r\n .subscribe(response => {\r\n this.inputHinhThucDaoTaos = response;\r\n });\r\n this.repo.getRequest(\"api/hoso/bangcaplist/\", { entityName:-1 })\r\n .subscribe(response => {\r\n this.inputTrinhDos = response;\r\n });\r\n this.repo.getRequest(\"api/hoso/conmonlist/\", { entityName: \"DM_LoaiTotNghiep\" })\r\n .subscribe(response => {\r\n this.inputLoaiTotNghieps = response;\r\n });\r\n this.repo.getRequest(\"api/hoso/conmonlist/\", { entityName: \"DM_QuocGia\" })\r\n .subscribe(response => {\r\n this.inputQuocGias = response;\r\n });\r\n this.loadGrid();\r\n }\r\n loadGrid() {\r\n this.repo.postRequest(\"api/hoso/getqtdt/\", { id: this.nhansuId, status: 1 })\r\n .subscribe(response => {\r\n console.log(response);\r\n\r\n //var groups = new Set(response.map(item => item.LinhVucDaoTao))\r\n //console.log(response.map(item => item.LinhVucDaoTaoId));\r\n //this.QTCT = [];\r\n //groups.forEach(g =>\r\n // this.QTCT.push({\r\n // name: g,\r\n // values: response.filter(i => i.LinhVucDaoTao === g)\r\n // })\r\n //)\r\n\r\n this.QTCT = response;\r\n });\r\n }\r\n //-------------event\r\n hideBoNhiem: number = 1;\r\n public formatDatetn = '00/00/0000';\r\n public formatDatedn = '00/00/0000';\r\n boNhiemRowSelect(row) {\r\n //this.hideBoNhiem = 0;\r\n //this.QTCT.forEach(\r\n // (r) => {\r\n // r.DinhDang = 0;\r\n // }\r\n //);\r\n //row.DinhDang = 1;\r\n this.bonhiemSelect = cloneDeep(row);\r\n if (this.bonhiemSelect.NgayBatDau != null)\r\n this.bonhiemSelect.NgayBatDau = new Date(this.bonhiemSelect.NgayBatDau);\r\n else\r\n this.bonhiemSelect.NgayThayDoi = null;\r\n if (this.bonhiemSelect.NgayKetThuc != null)\r\n this.bonhiemSelect.NgayKetThuc = new Date(this.bonhiemSelect.NgayKetThuc);\r\n else\r\n this.bonhiemSelect.NgayKetThuc = null;\r\n if (this.bonhiemSelect.NgayQuyetDinh != null)\r\n this.bonhiemSelect.NgayQuyetDinh = new Date(this.bonhiemSelect.NgayQuyetDinh);\r\n else\r\n this.bonhiemSelect.NgayQuyetDinh = null;\r\n this.onKieuTuNgayChange(null);\r\n this.onKieuDenNgayChange(null);\r\n this.onLinhVucChange(null);\r\n\r\n this.modal.show(true);\r\n }\r\n onKieuTuNgayChange($event) {\r\n if (this.bonhiemSelect.KieuNgayBatDau === 1) {\r\n this.formatDatetn = '00/00/0000';\r\n }\r\n if (this.bonhiemSelect.KieuNgayBatDau === 2) {\r\n this.formatDatetn = '00/0000';\r\n }\r\n if (this.bonhiemSelect.KieuNgayBatDau === 3) {\r\n this.formatDatetn = '0000';\r\n }\r\n }\r\n onKieuDenNgayChange($event) {\r\n if (this.bonhiemSelect.KieuNgayKetThuc === 1) {\r\n this.formatDatedn = '00/00/0000';\r\n }\r\n if (this.bonhiemSelect.KieuNgayKetThuc === 2) {\r\n this.formatDatedn = '00/0000';\r\n }\r\n if (this.bonhiemSelect.KieuNgayKetThuc === 3) {\r\n this.formatDatedn = '0000';\r\n }\r\n \r\n }\r\n onLinhVucChange($event) {\r\n console.log('vao day');\r\n this.repo.getRequest(\"api/hoso/bangcaplist/\", { entityName: this.bonhiemSelect.LinhVucDaoTaoId })\r\n .subscribe(response => {\r\n this.inputTrinhDos = response;\r\n });\r\n }\r\n\r\n public dlgBtnClick = (): void => {\r\n this.modal.hide();\r\n }\r\n public dialogClose = (): void => { \r\n } \r\n public dialogOpen = (): void => { \r\n }\r\n public dlgButtons: ButtonPropsModel[] = [\r\n { click: this.dlgBtnClick.bind(this), buttonModel: { content: 'Đóng', isPrimary: true } }\r\n ];\r\n \r\n RowNewDonViClick() {\r\n // this.hideBoNhiem = 0;\r\n this.bonhiemSelect = {\r\n Id: null, NhanSuId: null, LinhVucDaoTaoId: null, HinhThucDaoTaoId: null, ChuyenNganhId: null, LoaiTotNghiepId: null, QuocGiaId: null,\r\n NoiDaoTaoId: null, DiaDiem: null, NoiDungDaoTao: null, SoQuyetDinh: null, NgayQuyetDinh: null, KieuNgayBatDau: 2, NgayBatDau: null, KieuNgayKetThuc: 2,\r\n NgayKetThuc: null, TrinhDoHocVanId: null, BangCapId: null, NamTotNghiep: null, MoTa: null, TrinhDoHocVan: null, ChuyenNganh: null, HinhThucDaoTao: null, LinhVucDaoTao: null\r\n }\r\n //this.QTCT.forEach(\r\n // (r) => {\r\n // r.DinhDang = 0;\r\n // }\r\n //);\r\n\r\n \r\n this.onKieuTuNgayChange(this.bonhiemSelect.KieuNgayBatDau);\r\n this.onKieuDenNgayChange(this.bonhiemSelect.KieuNgayKetThuc);\r\n\r\n this.modal.show();\r\n }\r\n public onNgayThayDoiChange(value: Date) {\r\n // Update the JSON birthDate string date\r\n //this.bonhiemSelect.NgayBatDau_S = this.intl.formatDate(value, 'dd/MM/yyyy');\r\n }\r\n public onNgayKetThucChange(value: Date) {\r\n // Update the JSON birthDate string date\r\n // this.bonhiemSelect.NgayKetThuc_S = this.intl.formatDate(value, 'dd/MM/yyyy');\r\n }\r\n public onNgayQuyetDinhChange(value: Date) {\r\n // Update the JSON birthDate string date\r\n // this.bonhiemSelect.NgayQuyetDinh_S = this.intl.formatDate(value, 'dd/MM/yyyy');\r\n }\r\n public savedt() {\r\n this.bonhiemSelect.NhanSuId = this.nhansuId;\r\n if (this.bonhiemSelect.NgayQuyetDinh_S != \"\")\r\n this.bonhiemSelect.NgayQuyetDinh_S = this.ejNgayQD.getMaskedValue();\r\n if (this.bonhiemSelect.NgayBatDau_S != \"\")\r\n this.bonhiemSelect.NgayBatDau_S = this.ejNgayTN.getMaskedValue();\r\n if (this.bonhiemSelect.NgayKetThuc_S != \"\")\r\n this.bonhiemSelect.NgayKetThuc_S = this.ejNgayDN.getMaskedValue();\r\n if (this.bonhiemSelect.LinhVucDaoTaoId === null || this.bonhiemSelect.LinhVucDaoTaoId === '') {\r\n swal('Cảnh báo!', \"Bạn chưa nhập lĩnh vực đào tạo!!!\", 'warning');\r\n return;\r\n }\r\n if (this.bonhiemSelect.ChuyenNganhId === null || this.bonhiemSelect.ChuyenNganhId === '') {\r\n swal('Cảnh báo!', \"Bạn chưa nhập chuyên ngành đào tạo!!!\", 'warning');\r\n return;\r\n }\r\n if (this.bonhiemSelect.HinhThucDaoTaoId === null || this.bonhiemSelect.HinhThucDaoTaoId === '') {\r\n swal('Cảnh báo!', \"Bạn chưa nhập hình thức đào tạo!!!\", 'warning');\r\n return;\r\n }\r\n\r\n this.modal.hide();\r\n this.repo.postRequest(\"api/hoso/addorupdate_qtdt\", this.bonhiemSelect)\r\n .subscribe(response => {\r\n\r\n if (response.Status === \"OK\")\r\n this.loadGrid();\r\n else\r\n swal('Cảnh báo!', response.Status, 'warning');\r\n });\r\n }\r\n deleterow(index: number, id: string) {\r\n console.log(index);\r\n swal({\r\n title: 'Bạn muốn xóa dòng này phải không?',\r\n text: 'Dữ liệu xóa sẽ không phục hồi lại được!',\r\n icon: \"warning\",\r\n buttons: {\r\n cancel: {\r\n text: 'Hủy bỏ',\r\n value: false,\r\n visible: true,\r\n },\r\n confirm: {\r\n text: 'Đồng ý',\r\n value: true,\r\n visible: true,\r\n className: \"bg-danger\",\r\n closeModal: true\r\n }\r\n }\r\n })\r\n .then(willDelete => {\r\n if (willDelete) {\r\n \r\n this.repo.getRequest('api/hoso/daotaodelete/' + id).subscribe(\r\n data => {\r\n if (data === \"OK\") //Success\r\n {\r\n swal('Deleted!', 'Dữ liệu đã được xóa!.', 'success');\r\n\r\n this.loadGrid();\r\n }\r\n else {\r\n // this.msg = data;\r\n swal('Cảnh báo!', data, 'warning');\r\n }\r\n\r\n\r\n },\r\n error => {\r\n \r\n }\r\n );\r\n }\r\n });\r\n\r\n\r\n }\r\n //---------------------------------------------\r\n private process(data): any {\r\n let result = [];\r\n result = data.map((item) => {\r\n return this.toTreeNode(item);\r\n });\r\n return result;\r\n }\r\n private toTreeNode(node, parent = null) {\r\n //console.log(node, parent);\r\n if (node && node.children) {\r\n node.children.map(item => {\r\n return this.toTreeNode(item, node);\r\n });\r\n }\r\n return node;\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
STTTừ thángĐến thángNơi đào tạoChuyên ngànhHình thức đào tạoTrình độ#
{{r.name}}
{{i+1}}\r\n \r\n {{row.NgayBatDau | date:'MM/yyyy'}}\r\n \r\n \r\n \r\n {{row.NgayKetThuc | date:'MM/yyyy'}}\r\n \r\n \r\n \r\n {{row.DiaDiem}}\r\n \r\n \r\n \r\n {{row.ChuyenNganh}}\r\n \r\n\r\n \r\n \r\n {{row.HinhThucDaoTao}}\r\n \r\n\r\n \r\n \r\n {{row.TrinhDoHocVan}}\r\n \r\n\r\n \r\n
\r\n \r\n Xóa\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Lưu lại\r\n Đóng\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit, ViewChild, Injector } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nconst screenfull = require('screenfull');\r\n\r\nimport { UserblockService } from '../sidebar/userblock/userblock.service';\r\nimport { SettingsService } from '../../core/settings/settings.service';\r\nimport { MenuService } from '../../core/menu/menu.service';\r\nimport { Repository } from '../../services/repository';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n navCollapsed = true; // for horizontal layout\r\n menuItems = []; // for horizontal layout\r\n router: Router;\r\n returnUrl: string;\r\n isNavSearchVisible: boolean;\r\n @ViewChild('fsbutton', { static: true }) fsbutton; // the fullscreen button\r\n\r\n constructor(public menu: MenuService, public userblockService: UserblockService,\r\n public settings: SettingsService, private authenticationService: Repository,\r\n private route: ActivatedRoute, public injector: Injector) {\r\n\r\n // show only a few items on demo\r\n this.menuItems = menu.getMenu().slice(0, 4); // for horizontal layout\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.isNavSearchVisible = false;\r\n\r\n var ua = window.navigator.userAgent;\r\n if (ua.indexOf(\"MSIE \") > 0 || !!ua.match(/Trident.*rv\\:11\\./)) { // Not supported under IE\r\n this.fsbutton.nativeElement.style.display = 'none';\r\n }\r\n\r\n // Switch fullscreen icon indicator\r\n //const el = this.fsbutton.nativeElement.firstElementChild;\r\n //screenfull.on('change', () => {\r\n // if (el)\r\n // el.className = screenfull.isFullscreen ? 'fa fa-compress' : 'fa fa-expand';\r\n //});\r\n\r\n this.router = this.injector.get(Router);\r\n\r\n // Autoclose navbar on mobile when route change\r\n this.router.events.subscribe((val) => {\r\n // scroll view to top\r\n window.scrollTo(0, 0);\r\n // close collapse menu\r\n this.navCollapsed = true;\r\n });\r\n\r\n }\r\n\r\n logout() {\r\n //localStorage.removeItem('currentUser');\r\n this.authenticationService.logout();\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n\r\n toggleUserBlock(event) {\r\n event.preventDefault();\r\n this.userblockService.toggleVisibility();\r\n }\r\n\r\n openNavSearch(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.setNavSearchVisible(true);\r\n }\r\n\r\n setNavSearchVisible(stat: boolean) {\r\n // console.log(stat);\r\n this.isNavSearchVisible = stat;\r\n }\r\n\r\n getNavSearchVisible() {\r\n return this.isNavSearchVisible;\r\n }\r\n\r\n toggleOffsidebar() {\r\n this.settings.toggleLayoutSetting('offsidebarOpen');\r\n }\r\n\r\n toggleCollapsedSideabar() {\r\n this.settings.toggleLayoutSetting('isCollapsed');\r\n }\r\n\r\n isCollapsedText() {\r\n return this.settings.getLayoutSetting('isCollapsedText');\r\n }\r\n\r\n toggleFullScreen(event) {\r\n if (screenfull.enabled) {\r\n screenfull.toggle();\r\n }\r\n\r\n }\r\n}\r\n","\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class MenuService {\r\n\r\n menuItems: Array;\r\n\r\n constructor() {\r\n this.menuItems = [];\r\n }\r\n\r\n addMenu(items: Array<{\r\n id: string,\r\n text: string,\r\n heading?: boolean,\r\n link?: string, // internal route links\r\n elink?: string, // used only for external links\r\n target?: string, // anchor target=\"_blank|_self|_parent|_top|framename\"\r\n icon?: string,\r\n alert?: string,\r\n submenu?: Array\r\n }>) {\r\n items.forEach((item) => {\r\n // this.menuItems.push(item);\r\n if\r\n (\r\n (item.text == 'Trang chủ' || item.id == ''\r\n || (item.id=='23199FED-325F-48F7-8E7C-3A83E68F3340' && item.text!=null) // thông báo\r\n || (item.id=='EC60D2A4-3345-490E-96CD-F4954D7DA4C8' && item.text!=null) // lưu trữ\r\n || (item.id=='9734BF3A-6E36-4D85-8C49-EEE122CAD547' && item.text!=null) // Quảng cáo\r\n || (item.id=='4C60DBAA-C69E-4878-B214-933D653D4F44' && item.text!=null) // phát hành\r\n ||\r\n (item.submenu != null && item.submenu.length > 0\r\n && item.submenu.filter((s) => s.text != null).length > 0) \r\n )\r\n && item.text!=null\r\n )\r\n this.menuItems.push(item);\r\n }); \r\n }\r\n\r\n getMenu() {\r\n\r\n // console.log(\"menutt\");\r\n // console.log(this.menuItems);\r\n\r\n return this.menuItems;\r\n }\r\n\r\n}\r\n","import { Component,ViewChild, OnInit,Output, Input,HostListener,EventEmitter,ElementRef } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Global, BaoCao } from '../../../shared/global';\r\nimport { Repository } from '../../../services/repository'\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpResponse, HttpEventType, HttpRequest } from '@angular/common/http';\r\nimport 'jquery'\r\nimport 'bootstrap'\r\nimport { Observable } from 'rxjs';\r\nimport { retry } from 'rxjs-compat/operator/retry';\r\nconst swal = require('sweetalert');\r\n@Component({\r\n selector: 'app-tonghop-choncanboedit',\r\n templateUrl: './choncanboedit.component.html',\r\n //templateUrl: 'ClientApp/routes/DanhMuc/data/data.component.html',\r\n styleUrls: ['./choncanboedit.component.scss'],\r\n providers: [ListService, Repository]\r\n})\r\n\r\n\r\nexport class choncanboeditComponent implements OnInit {\r\n\r\n @Output() savect: EventEmitter = new EventEmitter();\r\n datas: any;\r\n data: any;\r\n public dulieu: any = { dataGrid: null, dataGridTimKiem: null, datatieude: null, sobanghi: null };\r\n indLoading: boolean = false;\r\n dataFrm: FormGroup;\r\n modalTitle: string;\r\n modalBtnTitle: string;\r\n Id: string;\r\n NgayHienTai: Date = new Date();\r\n inputDonVi: any;\r\n public DonViDropId: any = { Id: null, Ten: null };\r\n public TaiKhoanDropId: any = { Id: null, Ten: null };\r\n TaiKhoanId: any;\r\n selecteddonvis: any;\r\n selectedchuongs: any;\r\n selectedkhoans: any;\r\n Ma_Tai_Khoan: any;\r\n dropdownList_DonVi = [];\r\n inputTaiKhoan: any;\r\n dropdownList_TaiKhoan = [];\r\n selectedItems = [];\r\n dropdownSettings = {};\r\n khoangthoigian: number = 0;\r\n tabselected: number = 1;\r\n inputthangs: any = [\r\n { text: \"Hôm nay\", value: 0 },\r\n { text: \"Tháng 1\", value: 1 },\r\n { text: \"Tháng 2\", value: 2 },\r\n { text: \"Tháng 3\", value: 3 },\r\n { text: \"Tháng 4\", value: 4 },\r\n { text: \"Tháng 5\", value: 5 },\r\n { text: \"Tháng 6\", value: 6 },\r\n { text: \"Tháng 7\", value: 7 },\r\n { text: \"Tháng 8\", value: 8 },\r\n { text: \"Tháng 9\", value: 9 },\r\n { text: \"Tháng 10\", value: 10 },\r\n { text: \"Tháng 11\", value: 11 },\r\n { text: \"Tháng 12\", value: 12 },\r\n { text: \"Quý I\", value: 13 },\r\n { text: \"Quý II\", value: 14 },\r\n { text: \"Quý III\", value: 15 },\r\n { text: \"Quý IV\", value: 16 },\r\n { text: \"Tuần này\", value: 17 },\r\n { text: \"Tháng này\", value: 18 },\r\n { text: \"Năm nay\", value: 19 },\r\n { text: \"Đầu năm đến nay\", value: 20 },\r\n { text: \"Năm trước\", value: 21 },\r\n\r\n ];\r\n\r\n public thangs: Array<{ text: string, value: number }> = [\r\n { text: \"1\", value: 1 },\r\n { text: \"2\", value: 2 },\r\n { text: \"3\", value: 3 },\r\n { text: \"4\", value: 4 },\r\n { text: \"5\", value: 5 },\r\n { text: \"6\", value: 6 },\r\n { text: \"7\", value: 7 },\r\n { text: \"8\", value: 8 },\r\n { text: \"9\", value: 9 },\r\n { text: \"10\", value: 10 },\r\n { text: \"11\", value: 11 },\r\n { text: \"12\", value: 12 }\r\n ];\r\n\r\n public quys: Array<{ text: string, value: number }> = [\r\n { text: \"1\", value: 1 },\r\n { text: \"2\", value: 2 },\r\n { text: \"3\", value: 3 },\r\n { text: \"4\", value: 4 },\r\n\r\n ];\r\n\r\n public nams: Array<{ text: string, value: number }> = [\r\n { text: (this.NgayHienTai.getFullYear() - 3).toString(), value: (this.NgayHienTai.getFullYear() - 3) },\r\n { text: (this.NgayHienTai.getFullYear() - 2).toString(), value: (this.NgayHienTai.getFullYear() - 2) },\r\n { text: (this.NgayHienTai.getFullYear() - 1).toString(), value: (this.NgayHienTai.getFullYear() - 1) },\r\n { text: this.NgayHienTai.getFullYear().toString(), value: this.NgayHienTai.getFullYear() },\r\n { text: (this.NgayHienTai.getFullYear() + 1).toString(), value: (this.NgayHienTai.getFullYear() + 1) },\r\n { text: (this.NgayHienTai.getFullYear() + 2).toString(), value: (this.NgayHienTai.getFullYear() + 2) },\r\n { text: (this.NgayHienTai.getFullYear() + 3).toString(), value: (this.NgayHienTai.getFullYear() + 3) },\r\n\r\n ];\r\n\r\n public chons: Array<{ text: string, value: number }> = [\r\n { text: \"Theo ngày\", value: 1 },\r\n { text: \"Theo tháng\", value: 2 },\r\n { text: \"Theo quý\", value: 3 },\r\n { text: \"Theo năm\", value: 4 },\r\n\r\n ];\r\n chongioitinhs: any = [{ Id: 0, Ma_Doi_Tuong: \"0\", Ten_Doi_Tuong: \"Nữ\" }\r\n , { Id: 1, Ma_Doi_Tuong: \"1\", Ten_Doi_Tuong: \"Nam\" }];\r\n TatCa: boolean = false;\r\n public totalItems: number = 0;\r\n public currentPage: number = 1;\r\n public maxSize: number = 5;\r\n public TimKiem: string;\r\n public StartPage: number = 1;\r\n public EndPage: number = 20;\r\n public pageSize: number = 20;\r\n public pages: any;\r\n public totalPages: number;\r\n public TimKiems: any = {\r\n DonViId: null\r\n , UserName: null\r\n , TuNgay: null\r\n , DenNgay: null\r\n , TimKiem: null\r\n , startPage: null\r\n , endPage: null\r\n , HoVaTen: null\r\n , MaNV: null\r\n , Ngay: null\r\n , NgayS: null\r\n , SoCMND: null\r\n , IDGioiTinh: null\r\n , DiaChi: null\r\n , PhongBan: null\r\n , DonVi: null\r\n , KhoaHocId: null\r\n };\r\n public ngaytimkiem: Date = new Date();\r\n TichTatCa() {\r\n this.datas.forEach((item: any) => {\r\n item.Tich = !this.TatCa;\r\n });\r\n }\r\n public TuNgay: Date = new Date();\r\n public DenNgay: Date = new Date();\r\n public TuNgay1: Date = new Date();\r\n public DenNgay1: Date = new Date();\r\n public tTuNgay: string;\r\n public tDenNgay: string;\r\n\r\n \r\n\r\n\r\n doituongSelect: any = {\r\n Id: null, Don_Vi_Id: null, MaCongVan: null, NgayDen: null, NgayDenS: null,\r\n NgayBatDau: null, NgayBatDauS: null\r\n , NgayKetThuc: null, NgayKetThucS: null, TenCongViec: null,\r\n Phan_He_Id: null, NoiDung: null, IDCongViec: null\r\n , NoiDungCongViec: null, ChiTiets: []\r\n };\r\n idFocus: string = '00000000-0000-0000-0000-000000000000';\r\n\r\n public ngxCurrencyOptions = {\r\n prefix: '',\r\n thousands: '.',\r\n decimal: ',',\r\n precision: 0,\r\n allowNegative: false\r\n };\r\n public ngxAmOptions = {\r\n prefix: '',\r\n thousands: '.',\r\n decimal: ',',\r\n precision: 0,\r\n allowNegative: true\r\n };\r\n\r\n public currentUser;\r\n donviid: string = null;\r\n namketoan: number;\r\n username: string = null;\r\n phanheid: any;\r\n\r\n //-----------------cac hàm khởi tạo dữ liệu ban đầu\r\n constructor(private fb: FormBuilder, private _dataService: ListService, private repo: Repository) {\r\n\r\n\r\n\r\n }\r\n\r\n // @HostListener('document:keydown', ['$event'])\r\n public innerHeight: any\r\n \r\n loadDataInit(id: string, pheid: string, lopid: string) {\r\n this.ngaytimkiem = null;\r\n this.StartPage = 1;\r\n this.EndPage = 20;\r\n this.ngaytimkiem = null;\r\n this.innerHeight = window.innerHeight - 250;\r\n this.phanheid = pheid;\r\n this.TimKiems.KhoaHocId = lopid;\r\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.currentUser != null) {\r\n this.donviid = this.currentUser.id_don_vi;\r\n this.namketoan = this.currentUser.nam_ke_toan;\r\n this.username = this.currentUser.user_name;\r\n var giatri = this.currentUser.ds_quyen.filter(name => name.Id === this.phanheid.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n //if (giatri[0].Them == true)\r\n // this.quyen_them = true;\r\n //else\r\n // this.quyen_them = false;\r\n \r\n }\r\n \r\n\r\n }\r\n this.search();\r\n \r\n \r\n }\r\n adddata() {\r\n \r\n }\r\n editdata(id: string) {\r\n \r\n\r\n }\r\n savehspt(doituong: any) {\r\n \r\n }\r\n pageChanged(event: any): void {\r\n // alert(event.page);\r\n //console.log('a');\r\n //console.log(event);\r\n this.currentPage = event.page;\r\n this.Loaddatas();\r\n }\r\n setPage(page: number): void {\r\n if (page < 1 || page > this.totalPages) {\r\n return;\r\n }\r\n\r\n this.currentPage = page;\r\n this.Loaddatas();\r\n }\r\n public onBlur(): void {\r\n this.Loaddatas();\r\n }\r\n search() {\r\n this.currentPage = 1;\r\n this.pageSize = 1000;\r\n this.Loaddatas();\r\n }\r\n search1() {\r\n this.Loaddatas();\r\n }\r\n Loaddatas(): void {\r\n this.indLoading = true;\r\n this.datas = [];\r\n this.StartPage = (this.currentPage - 1) * this.pageSize + 1;\r\n this.EndPage = this.currentPage * this.pageSize;\r\n this.totalItems = 0;\r\n this.TimKiems.DonViId = this.currentUser.id_don_vi;\r\n this.TimKiems.UserName = this.currentUser.user_name;\r\n this.TimKiems.TuNgay = this.tTuNgay;\r\n this.TimKiems.DenNgay = this.tDenNgay;\r\n this.TimKiems.PhanHeId = null;\r\n this.TimKiems.TimKiem = this.TimKiem;\r\n this.TimKiems.startPage = this.StartPage;\r\n this.TimKiems.endPage = this.EndPage;\r\n if (this.ngaytimkiem != null) {\r\n this.TimKiems.NgayS = this.ngaytimkiem.getDate() + '/' + (this.ngaytimkiem.getMonth() + 1) + '/' + this.ngaytimkiem.getFullYear();\r\n }\r\n else\r\n this.TimKiems.NgayS = null;\r\n\r\n let data = {\r\n Id: null,\r\n Type: null,\r\n Data: JSON.stringify(this.TimKiems)\r\n };\r\n\r\n this.repo.postRequest(\"api/donvi/GetDS_NhanSu/\", data)\r\n .subscribe(response => {\r\n //console.log(response);\r\n this.totalPages = 0;\r\n this.totalItems = 0;\r\n if (response.length > 0) {\r\n\r\n var item = response[0];\r\n this.totalItems = item[\"totalRows\"];\r\n this.totalPages = Math.ceil(this.totalItems / this.pageSize);\r\n\r\n let start, end;\r\n\r\n if (this.totalPages <= 5) {\r\n start = 1;\r\n end = this.totalPages;\r\n } else {\r\n if (this.currentPage <= 3) {\r\n start = 1;\r\n end = 5;\r\n } else if (this.currentPage + 1 >= this.totalPages) {\r\n start = this.totalPages - 4;\r\n end = this.totalPages;\r\n } else {\r\n start = this.currentPage - 2;\r\n end = this.currentPage + 2;\r\n }\r\n }\r\n\r\n\r\n\r\n // this.pages = range(start, end + 1);\r\n let resultArray: Array = [];\r\n for (var i = start; i <= (end + 1); i++) {\r\n resultArray.push({ Id: i, Ten: null });\r\n //alert(i);\r\n }\r\n this.pages = resultArray;\r\n\r\n console.log(start);\r\n console.log(end);\r\n\r\n\r\n\r\n }\r\n this.datas = response;\r\n // this.source.load(response);\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n var crru = JSON.parse(localStorage.getItem('currentUser'));\r\n if (crru != null) {\r\n this.donviid = crru.id_don_vi;\r\n this.namketoan = crru.nam_ke_toan;\r\n this.username = crru.user_name;\r\n }\r\n this.LoadCategory();\r\n }\r\n\r\n LoadCategory(): void {\r\n\r\n }\r\n //----------event xử lý di chuyển Enter--------------------------------------\r\n tongtien: number = 0;\r\n maxcot: number = 13;\r\n\r\n onDoiTuongChange($event) {\r\n\r\n //if (typeof $event === \"undefined\") {\r\n // this.doituongSelect.Ho_Ten = null;\r\n //}\r\n //else {\r\n // this.doituongSelect.Ho_Ten = $event.Ten_Doi_Tuong;\r\n\r\n // this.doituongSelect.ChiTiets.forEach(\r\n // (item) => {\r\n // if (item.Doi_Tuong_Id2 === null)\r\n // item.Doi_Tuong_Id2 = $event.Id;\r\n // }\r\n // );\r\n\r\n // this.repo.getRequest(\"api/baselayout/ThongTinDiaChi/\" + $event.Id)\r\n // .subscribe(response => {\r\n // //console.log(response);\r\n // this.doituongSelect.Dia_Chi = response.Dia_Chi;\r\n\r\n // });\r\n //}\r\n }\r\n\r\n comboSearchFn(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Doi_Tuong.toLowerCase().indexOf(term) > -1 || item.Ten_Doi_Tuong.toLowerCase().indexOf(term) > -1;\r\n }\r\n comboSearchFn_DV(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Don_Vi.toLowerCase().indexOf(term) > -1 || item.Ten_Don_Vi.toLowerCase().indexOf(term) > -1;\r\n }\r\n rowSelected: any = null;\r\n comboSeleted: NgSelectComponent;\r\n\r\n public savectu() {\r\n let tdoituong = [];\r\n this.datas.forEach(\r\n (item) => {\r\n if (item.Tich === true)\r\n tdoituong.push(item);\r\n }\r\n );\r\n if (tdoituong != null && tdoituong.length > 0)\r\n this.savect.emit(tdoituong);\r\n else\r\n this.savect.emit(null);\r\n\r\n }\r\n closeModal() {\r\n this.savect.emit(null);\r\n }\r\n\r\n \r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n 16}\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ChọnMã cán bộHọ và TênNgày sinhGiới tínhSố CMNDPhòng ban/đơn vịĐơn vị cấp trên
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{{item.Ma_Doi_Tuong}}
\r\n
{{item.Ten_Doi_Tuong}}
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
{{u.MaNV}}{{u.HoVaTen}}{{u.Ngay | date: 'dd/MM/yyyy'}}{{u.GioiTinh}}{{u.SoCMND}}{{u.PhongBan}}{{u.DonVi}}\r\n \r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
=10\">\r\n
    \r\n
  • \r\n <<\r\n
  • \r\n
  • \r\n >\r\n
  • \r\n
  • \r\n {{page.Id}}\r\n
  • \r\n
  • \r\n <\r\n
  • \r\n
  • \r\n >>\r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • Tổng số: {{totalItems | number}}
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n","import { Component, ViewChild, OnInit, Output, Input, HostListener, EventEmitter, ElementRef } from '@angular/core';\r\nimport { Repository } from '../../../services/repository'\r\n\r\n\r\n\r\n@Component({\r\n selector: 'plan-approvers-avatar',\r\n template: `\r\n \\\r\n \"image\" \\\r\n \r\n \r\n `,\r\n providers: [Repository]\r\n })\r\nexport class PlanApproversAvatarDirective implements OnInit {\r\n\r\n \r\n renderValue: string;\r\n\r\n @Input() articleid: string | number;\r\n @Output() completeEvent: EventEmitter = new EventEmitter();\r\n\r\n approvers: any = [];\r\n \r\n constructor(private repo: Repository) {\r\n\r\n \r\n }\r\n ngOnInit() {\r\n this.repo.getRequest(\"api/kehoach/getplanapprovers/\" + this.articleid)\r\n .subscribe(response => {\r\n this.approvers = response;\r\n if (response.length==1)\r\n this.completeEvent.emit(0);\r\n else\r\n this.completeEvent.emit(1);\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { Component,ViewChild, OnInit,Output, Input,HostListener,EventEmitter,ElementRef } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Global, BaoCao } from '../../../shared/global';\r\nimport { Repository } from '../../../services/repository'\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\n\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpResponse, HttpEventType, HttpRequest } from '@angular/common/http';\r\nimport 'jquery'\r\nimport 'bootstrap'\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\nconst swal = require('sweetalert');\r\n@Component({\r\n selector: 'app-quantri-importedit',\r\n templateUrl: './importedit.component.html',\r\n //templateUrl: 'ClientApp/routes/DanhMuc/data/data.component.html',\r\n styleUrls: ['./importedit.component.scss'],\r\n providers: [ListService, Repository]\r\n})\r\n\r\n\r\nexport class importeditComponent implements OnInit {\r\n\r\n \r\n quyen_them: boolean = false;\r\n quyen_sua: boolean = false;\r\n quyen_xoa: boolean = false;\r\n indLoading: boolean = false; \r\n tieude:string=null;\r\n duongdan: string = null;\r\n datas: any;\r\n import: any;\r\n id: any;\r\n public currentUser;\r\n currentFileUpload: any;\r\n\r\n @ViewChild('slCapTren',{static:false}) slCapTren: NgSelectComponent;\r\n @Output() save: EventEmitter = new EventEmitter();\r\n \r\n\r\n onCustom(event) {\r\n\r\n //if (event.action == 'edit') {\r\n\r\n // this.editdata(event.data.Id);\r\n //}\r\n if (event.action == 'delete') {\r\n\r\n this.deletedata(event.data.Id);\r\n }\r\n\r\n }\r\n files: any;\r\n\r\n public uploadSaveUrl = Global.App_url +'/import/upload'; // should represent an actual API endpoint\r\n public uploadRemoveUrl = 'removeUrl'; // should represent an actual API endpoint\r\n\r\n $ :any;\r\n \r\n //file upload event \r\n fileChange(event) {\r\n let fileList: FileList = event.target.files;\r\n if (fileList.length > 0) {\r\n \r\n let file: File = fileList[0];\r\n let formData: FormData = new FormData();\r\n formData.append('uploadFile', file, file.name);\r\n formData.append('user', this.currentUser.user_name);\r\n formData.append('donvi', this.currentUser.id_don_vi);\r\n formData.append('functionid', this.id);\r\n let headers = new HttpHeaders()\r\n headers.append('Content-Type', 'json'); \r\n headers.append('Accept', 'application/json');\r\n headers.append('Authorization', 'Bearer ' + this.currentUser.access_token);\r\n this.http.post(Global.App_url + 'api/importexcel/upload2/', formData, {\r\n headers: headers\r\n })\r\n .subscribe((res) => {\r\n event.srcElement.value = null;\r\n \r\n if (res != null && res != \"\")\r\n swal('Lỗi!', res, 'error');\r\n else {\r\n swal('Hoàn thành!', \"Nhập dữ liệu hoàn thành!\", 'success');\r\n this.save.emit(null);\r\n this.Loaddatas();\r\n \r\n }\r\n\r\n });\r\n\r\n // window.location.reload();\r\n }\r\n }\r\n\r\n\r\n uploadFile() {\r\n console.log(this.files);\r\n var xhr = new XMLHttpRequest();\r\n var file = this.files[0];\r\n xhr.open(\"POST\", Global.App_url + 'api/importexcel/upload/');\r\n xhr.setRequestHeader(\"filename\", file.name);\r\n xhr.send(file);\r\n }\r\n \r\n\r\n\r\n\r\n \r\n private log(event: string): void {\r\n \r\n\r\n }\r\n\r\n constructor(private _dataService: ListService, private repo: Repository, private http: HttpClient) {\r\n \r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n @ViewChild(\"mafocus\", { static: false }) mafocus: ElementRef;\r\n ten_tep_mau: string = 'tep_mau_danh_muc';\r\n\r\n loadDataInit(data: any) {\r\n this.id = data.id;\r\n var authlogin = localStorage.getItem('currentUser');\r\n if (authlogin) {\r\n\r\n this.currentUser = JSON.parse(authlogin);\r\n var giatri = this.currentUser.ds_quyen.filter(name => name.Id === data.id.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n\r\n this.uploadSaveUrl = Global.App_url +'/import/upload/?user=' + this.currentUser.user_name + \"&donvi=\" + this.currentUser.id_don_vi + '&nam=' + this.currentUser.nam_ke_toan + '&functionid=' + this.id;\r\n \r\n\r\n this.tieude = giatri[0].ten_Phan_He;\r\n if (giatri[0].Them == true)\r\n this.quyen_them = true;\r\n else\r\n this.quyen_them = false;\r\n if (giatri[0].Sua == true)\r\n this.quyen_sua = true;\r\n else\r\n this.quyen_sua = false;\r\n if (giatri[0].Xoa == true)\r\n this.quyen_xoa = true;\r\n else\r\n this.quyen_xoa = false;\r\n }\r\n } \r\n\r\n //setTimeout(() => {\r\n // this.mafocus.nativeElement.focus(); \r\n //},500);\r\n this.repo.getRequest(\"api/importexcel/getbyfunctionid/\" + this.id)\r\n .subscribe(response => {\r\n if (response != null)\r\n this.duongdan = response.TemplatePath;\r\n this.import = response;\r\n\r\n });\r\n\r\n this.repo.getRequest(\"api/phanhe/getby2id/\" + this.id)\r\n .subscribe(response => {\r\n console.log(response);\r\n if (response != null)\r\n this.ten_tep_mau = response.Ma_Phan_He;\r\n });\r\n\r\n this.Loaddatas();\r\n \r\n }\r\n Loaddatas(): void {\r\n this.repo.getRequest(\"api/importlog/getview/\" + this.id + '/' + this.currentUser.id_don_vi)\r\n .subscribe(response => {\r\n this.datas = response;\r\n });\r\n\r\n\r\n }\r\n public OnFileImportClick(id: string) {\r\n window.open(Global.App_url + 'Import/ShowFileSuscess/' + id, \"_blank\");\r\n \r\n }\r\n public OnFileErrorClick(id: string) {\r\n window.open(Global.App_url + 'Import/ShowFileError/' + id, \"_blank\");\r\n }\r\n onImageRemoved() {\r\n // this.sanphamSelect.ImgUrl = null;\r\n }\r\n\r\n onUploadFinished(event) {\r\n\r\n //console.log(JSON.parse(event.serverResponse.response._body))\r\n //this.sanphamSelect.ImgUrl = event.serverResponse.response.json().data;\r\n\r\n console.log(event.serverResponse.response.json());\r\n alert(event.serverResponse.response.json());\r\n }\r\n\r\n \r\n keyTenPress(event: any) { \r\n if (event.which === 13) {\r\n this.slCapTren.focus();\r\n event.preventDefault();\r\n }\r\n }\r\n public closeModal(){\r\n this.save.emit(null);\r\n }\r\n public taitepmau() {\r\n console.log(this.ten_tep_mau);\r\n let _tt = this.ten_tep_mau;\r\n //$('#loading').show();\r\n let data = {\r\n Id: BaoCao.BC02_MauNhapTuExcel,\r\n Type: 'xlsx',\r\n Data: JSON.stringify({\r\n DonViId: this.currentUser.id_don_vi\r\n , UserName: this.currentUser.user_name\r\n , duongdan: this.duongdan\r\n , FunctionId: this.id\r\n\r\n })\r\n };\r\n this.repo.postPdf(Global.BASE_BaoCao2_SAVE, data)\r\n .subscribe(response => {\r\n var file = new Blob([response.body], { type: 'vnd.ms-excel' });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n a.href = fileURL;\r\n //$('#loading').hide();\r\n a.download = _tt + \".xlsx\";\r\n document.body.appendChild(a);\r\n a.click();\r\n\r\n });\r\n\r\n //window.open(this.duongdan, \"_blank\");\r\n }\r\n public saveproduct() {\r\n //if (this.doituongSelect.Ten_Doi_Tuong == null || this.doituongSelect.Ten_Doi_Tuong == \"\") {\r\n // swal('Lỗi!', 'Vui lòng nhập tên đối tượng!.', 'error');\r\n // return;\r\n //}\r\n //this.repo.postRequest(\"api/doituong/addorupdate\",this.doituongSelect)\r\n // .subscribe(response => { \r\n // console.log(response);\r\n // this.doituongSelect.Id=response;\r\n // this.save.emit(this.doituongSelect);\r\n // }); \r\n }\r\n \r\n \r\n deletedata(id: string) {\r\n\r\n console.log(id);\r\n\r\n\r\n\r\n swal({\r\n title: 'Bạn muốn xóa bản ghi?',\r\n text: 'Dữ liệu xóa sẽ không phục hồi lại được!',\r\n icon: \"warning\",\r\n buttons: {\r\n cancel: {\r\n text: 'Hủy bỏ',\r\n value: false,\r\n visible: true,\r\n },\r\n confirm: {\r\n text: 'Đồng ý',\r\n value: true,\r\n visible: true,\r\n className: \"bg-danger\",\r\n closeModal: true\r\n }\r\n }\r\n })\r\n .then(willDelete => {\r\n if (willDelete) {\r\n this.repo.getRequest('api/importlog/delete/' + id).subscribe(\r\n data => {\r\n this.Loaddatas();\r\n if (data == \"OK\") //Success\r\n {\r\n swal('Deleted!', 'Dữ liệu đã được xóa!.', 'success');\r\n \r\n }\r\n else {\r\n // this.msg = data;\r\n swal('Cảnh báo!', data, 'warning');\r\n }\r\n\r\n\r\n },\r\n error => {\r\n //this.msg = error;\r\n }\r\n );\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n \r\n\r\n\r\n}\r\n","
\r\n\r\n
\r\n
\r\n

\r\n Bước 1: Tải tệp mẫu (Tại đây)\r\n

\r\n

\r\n Bước 2: Nhập dữ liệu vào tệp excel đã tải về\r\n

\r\n

\r\n Bước 3: Ấn nút \"Chọn file\" bên dưới để chọn tệp excel đã nhập dữ liệu\r\n

\r\n

\r\n Thông tin nhập dữ liệu hiển thị ở lưới bên trái\r\n

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n Chọn file\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n Ngày import\r\n \r\n \r\n \r\n Người import\r\n \r\n \r\n \r\n Thành công\r\n \r\n \r\n \r\n Lỗi\r\n \r\n \r\n \r\n File nguồn\r\n \r\n \r\n \r\n File lỗi\r\n \r\n \r\n \r\n Chức năng\r\n \r\n
{{u.Created | date: 'dd/MM/yyyy HH:mm:ss'}}{{u.CreatedBy}}{{u.TotalSuss}}{{u.TotalError}}\r\n {{u.TenFileImport}}\r\n \r\n {{u.TenFileError}}\r\n Xóa
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #3a3f51;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #ec2121;\\n background-image: linear-gradient(to right, #ec2121 0%, #f05050 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n display: flex !important;\\n }\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n /*box-shadow: 0 -3px 0 darken($nav-top-bg, 6%) inset;*/\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #9a0d0d;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #ec2121;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #f05050;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #f05050;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #f05050;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #f05050;\\n}\\n.sidebar-subnav {\\n background-color: #3a3f51;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #f05050;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #f05050;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #f05050;\\n background-color: #f05050;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxcdGhlbWUtaC5zY3NzIiwiLi5cXC4uXFwuLlxcLi5cXC4uXFwuLlxcYXBwXFx2YXJpYWJsZXMuc2NzcyIsIi4uXFwuLlxcLi5cXC4uXFwuLlxcLi5cXGJvb3RzdHJhcFxcbWl4aW5zXFxfZ3JhZGllbnRzLnNjc3MiLCIuLlxcLi5cXC4uXFwuLlxcLi5cXC4uXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQUpoQztBQWdEQTtFQUNJLHlCQ25Eb0I7QURNeEI7QUFnREE7OzZFQUFBO0FBR0E7RUFDRSx5QkNyQnNCO0VDMUJ0QixxRUFBQTtFQUNBLDJCQUFBO0FGR0Y7QUcwQ0k7RUhLQTtJQUNFLHdCQUFBO0VBNUNKO0VBOENJO0lBQ0Usc0RBQUE7RUE1Q047QUFDRjtBQWdERTtFQUNFLFdBeEQ0QjtBQVVoQztBQWlERTs7RUFFRSxXQTdENEI7QUFjaEM7QUFpREk7OztFQUNFLGNBL0QwQjtBQWtCaEM7QUFpREU7RUFDRSx5QkNoRG9CO0FEQ3hCO0FBbURBOzs2RUFBQTtBQUdBO0VBQ0kseUJDN0ZvQjtBRDZDeEI7QUFrREk7RUFDSSxjQS9EMEI7QUFlbEM7QUF1RFE7RUFDSSxjQWpGc0I7QUE2QmxDO0FBc0RZO0VBQ0ksY0MxRlE7QURzQ3hCO0FBd0RZO0VBQ0ksZUFyRmtCO0FBK0JsQztBQTZEWTtFQUNJLHlCQS9Ga0I7RUFnR2xCLGNDeEdRO0FENkN4QjtBQThEWTtFQUNJLGNDNUdRO0FEZ0R4QjtBQWlFUTtFQUNJLDBCQ2xIWTtBRG1EeEI7QUFzRUE7RUFDSSx5QkMzSW9CO0FEd0V4QjtBQXFFSTtFQUNJLGNBdkgwQjtBQW9EbEM7QUF1RVE7RUFDSSxjQTVIc0I7QUF1RGxDO0FBdUVZO0VBQ0ksY0NySVE7QURnRXhCO0FBMkVZO0VBQ0ksY0M1SVE7QURtRXhCO0FBMkVnQjtFQUNJLHFCQy9JSTtFRGdKSix5QkNoSkk7QUR1RXhCO0FBb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkEzSXNCO0VBNEl0QixjQ3hDUztBRHpDYiIsImZpbGUiOiJ0aGVtZS1oLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCb290c3RyYXBcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9taXhpbnNcIjtcclxuQGltcG9ydCAnLi4vYXBwL3ZhcmlhYmxlcyc7XHJcblxyXG5cclxuLy8gTEFZT1VUXHJcblxyXG4kY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRhc2lkZS1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktZGFyaztcclxuXHJcbi8vIE5BVkJBUiBUT1BcclxuXHJcbiRuYXYtdG9wLWJnOiAgICAgICAgICAgICAgICAgICAgJGRhbmdlci1kYXJrO1xyXG4kbmF2LXRvcC1iZy1zdGFydDogICAgICAgICAgICAgICRuYXYtdG9wLWJnO1xyXG4kbmF2LXRvcC1iZy1lbmQ6ICAgICAgICAgICAgICAgICRkYW5nZXI7XHJcbiRuYXYtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcblxyXG4kbmF2LXRvcC1pdGVtOiAgICAgICAgICAgICAgICAgICNmZmY7XHJcbiRuYXYtdG9wLWl0ZW0tYWN0aXZlOiAgICAgICAgICAgZGFya2VuKCRuYXYtdG9wLWJnLCAyMCUpO1xyXG5cclxuLy8gU0lERUJBUlxyXG5cclxuJHNpZGViYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRhc2lkZS1iZztcclxuXHJcbiRzaWRlYmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAjZTFlMmUzO1xyXG4kc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTogICAgICAgJGRhbmdlcjtcclxuJHNpZGViYXItaXRlbS1iZy1hY3RpdmU6ICAgICAgICAgIGRhcmtlbigkc2lkZWJhci1iZywgMSUpO1xyXG5cclxuJHNpZGViYXItaWNvbi1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXRzO1xyXG4kc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTogICAgICAgJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcblxyXG4kc2lkZWJhci1idWxsZXQtY29sb3I6ICAgICAgICAgICAgcmdiYSgwLDAsMCwuMjUpO1xyXG4kc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlOiAgICAgJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcblxyXG4kc2lkZWJhci1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgIzkxOURBODtcclxuJHNpZGViYXItbGFiZWwtY29sb3I6ICAgICAgICAgICAgICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4vLyBPRkZTSURFQkFSXHJcblxyXG4kb2Zmc2lkZWJhci1iZzogICAgICAgICAgICNmZmY7XHJcbiRvZmZzaWRlYmFyLWJvcmRlci1jb2xvcjogZ3JleXNjYWxlKGRhcmtlbigkb2Zmc2lkZWJhci1iZywgMjAlKSk7XHJcbiRvZmZzaWRlYmFyLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3I7XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogbGF5b3V0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5ib2R5LCAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRlbnQtYmc7XHJcbn1cclxuXHJcbi53cmFwcGVyIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFzaWRlLWJnO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB0b3AtbmF2YmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4udG9wbmF2YmFyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICBAaW5jbHVkZSBncmFkaWVudC14KCRuYXYtdG9wLWJnLXN0YXJ0LCAkbmF2LXRvcC1iZy1lbmQpO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rIHtcclxuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAgICAgIFxyXG5cclxuICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgLypib3gtc2hhZG93OiAwIC0zcHggMCBkYXJrZW4oJG5hdi10b3AtYmcsIDYlKSBpbnNldDsqL1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXZiYXItdGV4dCB7XHJcbiAgICBjb2xvcjogJG5hdi10b3AtaXRlbTtcclxuICB9XHJcblxyXG4gIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLFxyXG4gIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgY29sb3I6ICRuYXYtdG9wLWl0ZW07XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtLWFjdGl2ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNpZGViYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgLm5hdi1oZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaGVhZGluZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSXRlbXNcclxuLnNpZGViYXItbmF2IHtcclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBJdGVtIGljb25cclxuICAgICAgICAgICAgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFjdGl2ZSBpdGVtIHN0YXRlXHJcbiAgICAgICAgJi5hY3RpdmUsICYub3BlbiB7XHJcbiAgICAgICAgICAgICYsID4gYSwgPiAubmF2LWl0ZW0sIC5zaWRlYmFyLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1pdGVtLWJnLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAubmF2LWl0ZW0gPiBlbSwgPiBhID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5zaWRlYmFyLXN1Ym5hdiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICA+IC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IG9mZnNpZGViYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5vZmZzaWRlYmFyIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG9mZnNpZGViYXItYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZnNpZGViYXItYmc7XHJcbiAgICBjb2xvcjogJG9mZnNpZGViYXItY29sb3I7XHJcbn1cclxuIiwiXHJcbi8vIEN1dG9tcyBHcmF5IGNvbG9ycyBmb3IgdGhlbWVcclxuJGdyYXktZGFya2VyOiAgICAgICAgICAgIzIzMjczNTtcclxuJGdyYXktZGFyazogICAgICAgICAgICAgIzNhM2Y1MTtcclxuJGdyYXk6ICAgICAgICAgICAgICAgICAgI2RkZTZlOTtcclxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgI2U0ZWFlYztcclxuJGdyYXktbGlnaHRlcjogICAgICAgICAgI2VkZjFmMjtcclxuXHJcbi8vIEN1c3RvbSBicmFuZCBjb2xvcnMgZm9yIHRoZW1lXHJcbiRpbnZlcnNlOiAgICAgICAgICAgICAgICMxMzFlMjY7XHJcbiRwdXJwbGU6ICAgICAgICAgICAgICAgICM3MjY2YmE7XHJcbiRwaW5rOiAgICAgICAgICAgICAgICAgICNmNTMyZTU7XHJcbiR5ZWxsb3c6ICAgICAgICAgICAgICAgICNmYWQ3MzI7XHJcbiRncmVlbjogICAgICAgICAgICAgICAgICMzN2JjOWI7XHJcblxyXG4kcHJpbWFyeTogICAgICAgICAgICAgICAjNWQ5Y2VjO1xyXG4kc2Vjb25kYXJ5OiAgICAgICAgICAgICAjZmZmO1xyXG4kc3VjY2VzczogICAgICAgICAgICAgICAjMjdjMjRjO1xyXG4kaW5mbzogICAgICAgICAgICAgICAgICAjMjNiN2U1O1xyXG4kd2FybmluZzogICAgICAgICAgICAgICAjZmY5MDJiO1xyXG4kZGFuZ2VyOiAgICAgICAgICAgICAgICAjZjA1MDUwO1xyXG4kZGFyazogICAgICAgICAgICAgICAgICAjM2EzZjUxO1xyXG5cclxuLy8gQ3VzdG9tIGNvbG9yIHZhcmlhbnRzXHJcbiRhbW91bnRPZkxpZ2h0OiAxMCU7XHJcblxyXG4kcHJpbWFyeS1saWdodDogICAgICAgICBsaWdodGVuKCRwcmltYXJ5LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRzdWNjZXNzLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHN1Y2Nlc3MsICRhbW91bnRPZkxpZ2h0KTtcclxuJGluZm8tbGlnaHQ6ICAgICAgICAgICAgbGlnaHRlbigkaW5mbywgJGFtb3VudE9mTGlnaHQpO1xyXG4kd2FybmluZy1saWdodDogICAgICAgICBsaWdodGVuKCR3YXJuaW5nLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRkYW5nZXItbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJGRhbmdlciwgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW52ZXJzZS1saWdodDogICAgICAgICBsaWdodGVuKCRpbnZlcnNlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRncmVlbi1saWdodDogICAgICAgICAgIGxpZ2h0ZW4oJGdyZWVuLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwaW5rLWxpZ2h0OiAgICAgICAgICAgIGxpZ2h0ZW4oJHBpbmssICRhbW91bnRPZkxpZ2h0KTtcclxuJHB1cnBsZS1saWdodDogICAgICAgICAgbGlnaHRlbigkcHVycGxlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR5ZWxsb3ctbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJHllbGxvdywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHJpbWFyeS1kYXJrOiAgICAgICAgICBkYXJrZW4oJHByaW1hcnksICRhbW91bnRPZkxpZ2h0KTtcclxuJHN1Y2Nlc3MtZGFyazogICAgICAgICAgZGFya2VuKCRzdWNjZXNzLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbmZvLWRhcms6ICAgICAgICAgICAgIGRhcmtlbigkaW5mbywgJGFtb3VudE9mTGlnaHQpO1xyXG4kd2FybmluZy1kYXJrOiAgICAgICAgICBkYXJrZW4oJHdhcm5pbmcsICRhbW91bnRPZkxpZ2h0KTtcclxuJGRhbmdlci1kYXJrOiAgICAgICAgICAgZGFya2VuKCRkYW5nZXIsICRhbW91bnRPZkxpZ2h0KTtcclxuJGludmVyc2UtZGFyazogICAgICAgICAgZGFya2VuKCRpbnZlcnNlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRncmVlbi1kYXJrOiAgICAgICAgICAgIGRhcmtlbigkZ3JlZW4sICRhbW91bnRPZkxpZ2h0KTtcclxuJHBpbmstZGFyazogICAgICAgICAgICAgZGFya2VuKCRwaW5rLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwdXJwbGUtZGFyazogICAgICAgICAgIGRhcmtlbigkcHVycGxlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR5ZWxsb3ctZGFyazogICAgICAgICAgIGRhcmtlbigkeWVsbG93LCAkYW1vdW50T2ZMaWdodCk7XHJcblxyXG4vLyBUaGVtZSB2YXJpYWJsZXNcclxuXHJcbi8vIHVzZWQgZm9yIHNpZGViYXJzIGFuZCBjb250ZW50IHNwYWNpbmdcclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1NXB4O1xyXG5cclxuLy8gQnV0dG9uIHNlY29uZGFyeSByZWRlZmluaXRpb24gc3R5bGUgZm9yIHRoZW1lXHJcbiRidG4tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgIzMzMztcclxuJGJ0bi1zZWNvbmRhcnktYmc6ICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kYnRuLXNlY29uZGFyeS1ib3JkZXI6ICAgICAgICAgICAgICNlYWVhZWE7XHJcblxyXG4vLyBUb3AgQm9yZGVyIGNvbG9yIGZvciBjdXN0b20gZGVmYXVsdCBjYXJkcyAoLmNhcmQtZGVmYXVsdClcclxuJGNhcmQtZGVmYXVsdC1ib3JkZXItY29sb3I6ICAgICAgICAjY2ZkYmUyO1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBVdGlsaXRpZXMgdmFyaWFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRleHQtYWxwaGE6ICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuNSk7XHJcbiR0ZXh0LWFscGhhLWludmVyc2U6ICAgIHJnYmEoMCwwLDAsLjUpO1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgMXJlbTtcclxuJHRleHQtc206ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMC43NDM3NTtcclxuJHRleHQtbWQ6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS42NjI1O1xyXG4kdGV4dC1sZzogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjYyNTtcclxuXHJcbiRib3JkZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbiR3ZC14eHM6ICAgICAgICAgICAgICAgIDYwcHg7XHJcbiR3ZC14czogICAgICAgICAgICAgICAgIDkwcHg7XHJcbiR3ZC1zbTogICAgICAgICAgICAgICAgIDE1MHB4O1xyXG4kd2Qtc2Q6ICAgICAgICAgICAgICAgICAyMDBweDsgLy8gc2QgPT0gc3RhbmRhcmRcclxuJHdkLW1kOiAgICAgICAgICAgICAgICAgMjQwcHg7XHJcbiR3ZC1sZzogICAgICAgICAgICAgICAgIDI4MHB4O1xyXG4kd2QteGw6ICAgICAgICAgICAgICAgICAzMjBweDtcclxuJHdkLXh4bDogICAgICAgICAgICAgICAgMzYwcHg7XHJcbiR3ZC13aWRlOiAgICAgICAgICAgICAgIDEwMCU7XHJcbiR3ZC1hdXRvOiAgICAgICAgICAgICAgIGF1dG87XHJcbiR3ZC16ZXJvOiAgICAgICAgICAgICAgIDA7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEJvb3RzdHJhcCA0IFZhcmlhYmxlcyBPdmVycmlkZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIENvbG9yIHN5c3RlbVxyXG5cclxuJGNvbG9yczogKFxyXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXHJcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXHJcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcclxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXHJcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXHJcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcclxuICAgICdpbnZlcnNlJzogICAgJGludmVyc2UsXHJcblxyXG4gICAgJ3ByaW1hcnktbGlnaHQnOiAkcHJpbWFyeS1saWdodCxcclxuICAgICdwcmltYXJ5LWRhcmsnOiAgJHByaW1hcnktZGFyayxcclxuICAgICdzdWNjZXNzLWxpZ2h0JzogJHN1Y2Nlc3MtbGlnaHQsXHJcbiAgICAnc3VjY2Vzcy1kYXJrJzogICRzdWNjZXNzLWRhcmssXHJcbiAgICAnaW5mby1saWdodCc6ICAgICRpbmZvLWxpZ2h0LFxyXG4gICAgJ2luZm8tZGFyayc6ICAgICAkaW5mby1kYXJrLFxyXG4gICAgJ3dhcm5pbmctbGlnaHQnOiAkd2FybmluZy1saWdodCxcclxuICAgICd3YXJuaW5nLWRhcmsnOiAgJHdhcm5pbmctZGFyayxcclxuICAgICdkYW5nZXItbGlnaHQnOiAgJGRhbmdlci1saWdodCxcclxuICAgICdkYW5nZXItZGFyayc6ICAgJGRhbmdlci1kYXJrLFxyXG4gICAgJ2dyZWVuLWxpZ2h0JzogICAkZ3JlZW4tbGlnaHQsXHJcbiAgICAnZ3JlZW4tZGFyayc6ICAgICRncmVlbi1kYXJrLFxyXG4gICAgJ3BpbmstbGlnaHQnOiAgICAkcGluay1saWdodCxcclxuICAgICdwaW5rLWRhcmsnOiAgICAgJHBpbmstZGFyayxcclxuICAgICdwdXJwbGUtbGlnaHQnOiAgJHB1cnBsZS1saWdodCxcclxuICAgICdwdXJwbGUtZGFyayc6ICAgJHB1cnBsZS1kYXJrLFxyXG4gICAgJ2ludmVyc2UtbGlnaHQnOiAkaW52ZXJzZS1saWdodCxcclxuICAgICdpbnZlcnNlLWRhcmsnOiAgJGludmVyc2UtZGFyayxcclxuICAgICd5ZWxsb3ctbGlnaHQnOiAgJHllbGxvdy1saWdodCxcclxuICAgICd5ZWxsb3ctZGFyayc6ICAgJHllbGxvdy1kYXJrLFxyXG4pO1xyXG5cclxuXHJcbiR0aGVtZS1jb2xvcnM6IChcclxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXHJcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXHJcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXJcclxuKTtcclxuXHJcbi8vIEJvZHlcclxuXHJcbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYm9keS1jb2xvcjogIzY1NjU2NTtcclxuXHJcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbTtcclxuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjM3NXJlbTtcclxuXHJcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNTI4NTcxNDI5O1xyXG5cclxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4xO1xyXG5cclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgIzkwOUZBNztcclxuXHJcbi8vIFRhYmxlc1xyXG5cclxuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgI2ZhZmJmYztcclxuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgI2ZhZmJmYztcclxuXHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICNlZWU7XHJcblxyXG4vLyBCdXR0b25zICsgRm9ybXNcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIDFyZW07XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMzEyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjYyNXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC42MjVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDEuMjVyZW07XHJcblxyXG4kaW5wdXQtaGVpZ2h0OiAyNXB4OyAvLyAzNXB4XHJcblxyXG4vLyBGb3Jtc1xyXG5cclxuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXI7XHJcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheTtcclxuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICM2NmFmZTk7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAjYjdiYWM5O1xyXG5cclxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgICAgIG5vbmU7XHJcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgICAgICBub25lO1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgIGxpZ2h0ZW4oJHByaW1hcnksIDI1JSk7XHJcblxyXG4vLyBEcm9wZG93bnNcclxuXHJcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNlMWUxZTE7XHJcblxyXG4vLyBOYXZzXHJcblxyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAjZmZmO1xyXG5cclxuLy8gSnVtYm90cm9uXHJcblxyXG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZmNmY2ZjO1xyXG5cclxuLy8gTGlzdCBncm91cFxyXG5cclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgI2U0ZWFlYztcclxuXHJcbi8vIEltYWdlIHRodW1ibmFpbHNcclxuXHJcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4xMjVyZW07XHJcblxyXG5cclxuLy8gQnJlYWRjcnVtYnNcclxuXHJcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICNmYWZhZmE7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICNjMWMyYzM7XHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRib2R5LWNvbG9yO1xyXG4iLCIvLyBHcmFkaWVudHNcclxuXHJcbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcclxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cclxuLy9cclxuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxyXG4vL1xyXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXHJcbi8vXHJcbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cclxuXHJcbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXHJcbi8vICAgIG1kXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XHJcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDU3NnB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xyXG59XHJcblxyXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxyXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxyXG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxyXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XHJcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cclxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDc2Ny45OHB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xyXG59XHJcblxyXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxyXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiLXNtXCJcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtaW4ge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1heCB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxyXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */\";","import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChange, ElementRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-navsearch',\r\n templateUrl: './navsearch.component.html',\r\n styleUrls: ['./navsearch.component.scss']\r\n})\r\nexport class NavsearchComponent implements OnInit, OnChanges {\r\n\r\n @Input() visible: boolean;\r\n @Output() onclose = new EventEmitter();\r\n term: string;\r\n\r\n constructor(public elem: ElementRef) { }\r\n\r\n ngOnInit() {\r\n document.addEventListener('keyup', event => {\r\n if (event.keyCode === 27) {// ESC\r\n this.closeNavSearch();\r\n }\r\n });\r\n document.addEventListener('click', event => {\r\n const contains = (this.elem.nativeElement !== event.target && this.elem.nativeElement.contains(event.target));\r\n if (!contains) {\r\n this.closeNavSearch();\r\n }\r\n });\r\n }\r\n\r\n closeNavSearch() {\r\n this.visible = false;\r\n this.onclose.emit();\r\n }\r\n\r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) {\r\n // console.log(changes['visible'].currentValue)\r\n if (changes['visible'].currentValue === true) {\r\n this.elem.nativeElement.querySelector('input').focus();\r\n }\r\n }\r\n\r\n handleForm() {\r\n console.log('Form submit: ' + this.term);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Repository } from './repository';\r\n\r\n\r\n@Injectable()\r\nexport class AuthorizationService {\r\n permissions: any=[]; // Store the actions for which this user has permission\r\n constructor(private repo: Repository) { }\r\n hasPermission(authGroup: number, functionid: string) {\r\n\r\n if (this.permissions) {\r\n console.log(this.permissions);\r\n //console.log(authGroup);\r\n //console.log(functionid);\r\n for (var i = 0, len = this.permissions.length; i < len; i++) { \r\n if (this.permissions[i].FunctionId.toLowerCase() == functionid.toLowerCase() && this.permissions[i].AccessRight == authGroup) {\r\n return true;\r\n }\r\n \r\n }\r\n \r\n }\r\n \r\n return false;\r\n }\r\n\r\n // This method is called once and a list of permissions is stored in the permissions property\r\n initializePermissions() {\r\n return new Promise((resolve, reject) => {\r\n \r\n console.log(\"vao lay quyen tu database\")\r\n\r\n this.repo.getRequest('api/user/getpermision')\r\n .subscribe(response => {\r\n this.permissions = response;\r\n resolve(true)\r\n });\r\n \r\n });\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n appVersion: require('../../package.json').version,\r\n production: true\r\n\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { Global, BaoCao } from '../shared/global';\r\nexport const Home = {\r\n id: '77CCC1E2-FDBC-4644-9C99-3AB9EC1B741E',\r\n text: 'Trang chủ',\r\n link: '/home',\r\n icon: 'fa fa-home'\r\n};\r\n\r\nexport const DienDans = {\r\n id: 'A78618AD-EF7F-44E6-A6E2-201AF7B6E2DA',\r\n text: 'Diễn đàn',\r\n link: '/diendan',\r\n icon: 'fa fa-home',\r\n huongdan: Global.App_url,\r\n // border: 'Co'\r\n};\r\n\r\n\r\n\r\nexport const HoSoCongChucs_PhucHoiNghiViec = {\r\n id: '70CDBFE1-9004-423B-88B0-3A9AD9711A78',\r\n text: 'Phục hồi nghỉ việc',\r\n link: '/hosocongchuc/phuchoinghiviec',\r\n huongdan: Global.App_url,\r\n //border:'Co'\r\n};\r\n\r\nexport const KhoaHocs_KhoaHoc = { id: 'C7CE86D5-2FF0-4BA5-9B93-DAA964D03B6B', text: 'Khóa học', link: '/daotaos/khoahoc', huongdan: Global.App_url };\r\nexport const KhoaHocs_DanhGia = { id: 'A78618AD-EF7F-44E6-A6E2-201AF7B6E2DA', text: 'Thảo luận & Đánh giá', link: '/khoahocs/danhgia', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang3 = { id: '70CDBFE1-9004-423B-88B0-3A9AD9711A78', text: 'Quá trình công tác', link: '/hosocongchuc/congtac', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang4 = { id: '4419D77E-56A2-496D-A211-BDB3CFDFA8DE', text: 'Quản lý công tác nước ngoài', link: '/nhaplieu/chucnang4', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang5 = { id: '24BD5439-2CEB-4162-92D4-EBD165323475', text: 'Quản lý chức vụ khác', link: '/nhaplieu/chucnang5', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang6 = { id: '23199FED-325F-48F7-8E7C-3A83E68F3340', text: 'Quản lý quan hệ gia đình', link: '/nhaplieu/chucnang6', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang7 = { id: 'CE6CEDEC-5F75-409A-8FA5-B5BF923FABFE', text: 'Quản lý danh hiệu được phong tặng', link: '/nhaplieu/chucnang7', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang8 = { id: '9734BF3A-6E36-4D85-8C49-EEE122CAD547', text: 'Quản lý thông tin tham gia Đảng', link: '/nhaplieu/chucnang8', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang9 = { id: '4C60DBAA-C69E-4878-B214-933D653D4F44', text: 'Quản lý thông tin tham gia Quân đội', link: '/nhaplieu/chucnang9', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang11 = { id: '6EAC2589-462E-4589-9BE0-35E758788A09', text: 'Quản lý quá trình đào tạo cán bộ', link: '/nhaplieu/chucnang11', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang12 = { id: '756C8AD5-A7C8-445F-89C9-AB70EEA86C64', text: 'Quản lý khen thưởng cá nhân', link: '/hosocongchuc/khenthuong', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang13 = { id: '6B3AEA43-E079-4D6A-9A27-5251958D547F', text: 'Quản lý kỷ luật', link: '/hosocongchuc/kyluat', huongdan: Global.App_url };\r\n\r\nexport const HoSoCongChucs_quatrinhnghiviec = { id: '87FDA494-9C6E-4C11-B88C-66067CC2C0AF', text: 'Quản lý quá trình nghỉ việc', link: '/hosocongchuc/quatrinhnghiviec', border: 'co', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang15 = { id: '2FC41A3D-7318-4FB9-9F5C-DA699CBB7DE6', text: 'Quản lý cán bộ nghỉ hưu', link: '/nhaplieu/chucnang15', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_quyhoach = { id: '17AF6C6C-4A6D-40B4-BC0E-9654ED07DEFF', text: 'Quản lý quy hoạch', link: '/hosocongchuc/quyhoach', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang17 = { id: 'EC60D2A4-3345-490E-96CD-F4954D7DA4C8', text: 'Quản lý bổ nhiệm cán bộ', link: '/nhaplieu/chucnang17', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang18 = { id: 'F115C290-543A-4E1B-8546-275A2CF8150E', text: 'Quản lý thông tin miễn nhiệm cán bộ', link: '/nhaplieu/chucnang18', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang19 = { id: '3EE4F1C0-CE2C-4D97-8F28-590D0C1650D8', text: 'Quản lý thông tin từ chức của cán bộ', link: '/nhaplieu/chucnang19', huongdan: Global.App_url };\r\nexport const HoSoCongChucs_chucnang20 = { id: '1B2C983E-49C4-40D0-967A-BDB421BB98EE', text: 'Nhận xét đánh giá cán bộ', link: '/hosocongchuc/danhgia', huongdan: Global.App_url };\r\n\r\nexport const Lists_giaidoanquyhoach = { id: '0AF84C3A-B45C-4047-94DE-9D1D8D506200', text: 'Giai đoạn quy hoạch', link: '/danhmuc/giaidoanquyhoach', huongdan: Global.App_url };\r\n\r\nexport const TuyenDungDaoTaos_chotuyen = { id: 'C1EA12BA-A424-4DC0-BAD4-809FED778768', text: 'Quản lý thông tin chờ tuyển', link: '/nhaplieu/chotuyen', huongdan: Global.App_url };\r\nexport const TuyenDungDaoTaos_hopdonglaodong = { id: '401FF54E-6EB1-4C79-AA18-D66144345C56', text: 'Quản lý ký kết hợp đồng lao động', link: '/nhaplieu/hopdonglaodong', huongdan: Global.App_url };\r\n//export const TuyenDungDaoTaos_chucnang52 = { id: '0EA831F9-82F2-4D10-914D-743C0F6B0AE1', text: 'Quản lý thông tin nâng bậc lương thường xuyên hoặc trước thời hạn', link: '/nhaplieu/chucnang52', huongdan: Global.App_url };\r\n//export const TuyenDungDaoTaos_chucnang53 = { id: '27A78C03-4C89-4819-A33B-A8024EA5454A', text: 'Quản lý thông tin nâng ngạch', link: '/nhaplieu/chucnang53', huongdan: Global.App_url };\r\n//export const TuyenDungDaoTaos_chucnang54 = { id: '3C0516A8-43BC-4CD6-8C0C-640A51C912E0', text: 'Quản lý thông tin chuyển ngạch', link: '/nhaplieu/chucnang54', huongdan: Global.App_url };\r\nexport const TuyenDungDaoTaos_daotaoboiduong = { id: 'D0C6FD63-16BC-44D5-97E7-58FFA5752265', text: 'Quản lý đào tạo, bồi dưỡng cán bộ', link: '/nhaplieu/daotaoboiduong', border: 'co', huongdan: Global.App_url };\r\nexport const TuyenDungDaoTaos_capthe = { id: '6CE9D7F7-1FDF-495C-B772-78CD9FE00A69', text: 'Quản lý cấp phát thẻ ', link: '/nhaplieu/capthe', huongdan: Global.App_url };\r\n//export const TuyenDungDaoTaos_chucnang57 = { id: '8881EFB0-3E6B-4E44-A077-5EF28050AD75', text: 'Quản lý thông tin sổ, lập sổ', link: '/nhaplieu/chucnang57', huongdan: Global.App_url }; \r\nexport const Ultil_tracuucanbo = {\r\n id: '3E366F69-BDEE-4D73-963A-6DCAA2BC070B',\r\n text: 'Tra cứu tìm kiếm hồ sơ cán bộ',\r\n link: '/hosocongchuc/tracuucanbo',\r\n huongdan: Global.App_url\r\n};\r\n\r\n\r\nexport const KhoaHocs = {\r\n id: '',\r\n text: 'Khóa học',\r\n link: '/dash',\r\n icon: 'fa fa-cube',\r\n submenu: [\r\n KhoaHocs_KhoaHoc,\r\n KhoaHocs_DanhGia,\r\n ]\r\n //submenu: [HoSoCongChucs_HoSo, HoSoCongChucs_TraCuu, HoSoCongChucs_PhucHoiNghiViec]\r\n};\r\n\r\n//-------------------phân hệ\r\nexport const TuyenDungDaoTaos_hosodoituong = {\r\n id: 'C1EA12BA-A424-4DC0-BAD4-809FED778768',\r\n text: 'Quản lý hồ sơ đối tượng',\r\n link: '/nhaplieu/hosodoituong',\r\n huongdan: Global.App_url\r\n};\r\nexport const TuyenDungDaoTaos_congviec = {\r\n id: '401FF54E-6EB1-4C79-AA18-D66144345C56',\r\n text: 'Theo dõi công việc nghiệp vụ',\r\n link: '/nhaplieu/congviec',\r\n huongdan: Global.App_url\r\n};\r\n\r\n\r\nexport const TuyenDungDaoTaos = {\r\n id: '',\r\n text: ' Chờ tuyển, đào tạo, cấp phát thẻ ',\r\n link: '/',\r\n icon: 'fas fa-archive',\r\n submenu: [\r\n TuyenDungDaoTaos_chotuyen,\r\n TuyenDungDaoTaos_hopdonglaodong,\r\n TuyenDungDaoTaos_daotaoboiduong,\r\n TuyenDungDaoTaos_capthe,\r\n //TuyenDungDaoTaos_chucnang57,\r\n ]\r\n};\r\n\r\n\r\n\r\nexport const tiens_phieuthu = {\r\n id: 'C7CE86D5-2FF0-4BA5-9B93-DAA964D03B6B',\r\n text: 'Phiếu thu tiền mặt',\r\n link: '/nhaplieu/phieuthu',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const LuongBaoHiems_congviec = {\r\n id: 'B82D62C4-3589-4EEC-B442-F7C85767A990',\r\n text: 'Quản lý các vụ việc tương trợ tư pháp',\r\n link: '/nhaplieu/congviec',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const LuongBaoHiems_solieuthongkechuyenan = {\r\n id: '203EEA83-2293-45E6-B80D-ED7ED80565A6',\r\n text: 'Quản lý số liệu thống kê chuyên án',\r\n link: '/nhaplieu/congviec',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const LuongBaoHiems_solieuthongkebatdt = {\r\n id: 'A5725EFD-4FDF-4837-AB99-5F1F6C32CB88',\r\n text: 'Quản lý số liệu thống kê bắt, giữ đối tượng phạm tội',\r\n link: '/nhaplieu/congviec',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const LuongBaoHiems_solieuthongkenvcb = {\r\n id: '5CCCD93D-6444-462B-8A98-85B31691C742',\r\n text: 'Quản lý số liệu thống kê công tác nghiệp vụ cơ bản',\r\n link: '/nhaplieu/congviec',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const LuongBaoHiems_danhsachtiepnhandttn = {\r\n id: '03B2DC61-5C93-4E21-B552-80450E253AEA',\r\n text: 'Quản lý danh sách tiếp nhận các đối tượng truy nã',\r\n link: '/nhaplieu/congviec',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const LuongBaoHiems_danhsachvuan = {\r\n id: '237B544D-D773-4F06-8D86-2D2C9498ACEE',\r\n text: 'Quản lý danh sách vụ án do đơn vị thụ lý',\r\n link: '/nhaplieu/congviec',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const LuongBaoHiems_danhsachvuviecv12 = {\r\n id: '1C74515E-65FD-4600-9AA4-ABB6074F9D22',\r\n text: 'Quản lý danh sách vụ việc xác minh theo yêu cầu của V12',\r\n link: '/nhaplieu/congviec',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const LuongBaoHiems_danhsachv03 = {\r\n id: 'CC2254F4-BEB6-4D41-A246-7722D3939ED4',\r\n text: 'Quản lý chia sẻ thông tin tương trợ tư pháp với V03',\r\n link: '/nhaplieu/congviec',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const LuongBaoHiems_danhsachtailieu = {\r\n id: 'CC2254F4-BEB6-4D41-A246-7722D3939ED4',\r\n text: 'Quản lý văn bản quy phạm pháp luật tham gia và trực tiếp xây dựng',\r\n link: '/nhaplieu/congviec',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const DaoTaos_ChiPhiDaoTao = { id: '5CCCD93D-6444-462B-8A98-85B31691C742', text: 'Chi phí đào tạo', link: '/daotaos/chiphidaotao', huongdan: Global.App_url };\r\nexport const DaoTaos_ChiPhiBoiHoan = { id: '03B2DC61-5C93-4E21-B552-80450E253AEA', text: 'Chi phí bồi hoàn', link: '/daotaos/chiphiboihoan', huongdan: Global.App_url };\r\nexport const LuongBaoHiems_dienbienluongngachbac = { id: '29560667-BE7F-4BBA-AD5E-2C0C3F00474E', text: 'Quản lý diễn biến lương ngạch bậc', link: '/daotaos/dienbienluongngachbac', huongdan: Global.App_url };\r\nexport const LuongBaoHiems_dienbienphucapluong = { id: 'CC2254F4-BEB6-4D41-A246-7722D3939ED4', text: 'Quản lý diễn biến phụ cấp lương', link: '/daotaos/dienbienphucapluong', huongdan: Global.App_url };\r\n\r\nexport const LuongBaoHiems_nangluong = { id: 'BC1ADD1C-6971-4D12-9BAF-C3E1B682FF0A', text: 'Quản lý nâng lương', link: '/daotaos/nangluong', huongdan: Global.App_url };\r\n// loại\r\nexport const payroll_thunhap = {\r\n id: 'FBF4ED65-8450-4BED-96F5-BAF239295076',\r\n text: 'Thu nhập không thường xuyên',\r\n link: '/ketoan/thunhapkhongthuongxuyen',\r\n huongdan: Global.App_url\r\n};\r\nexport const payroll_khautru = {\r\n id: '25425981-B501-4474-99F2-C1436459F145',\r\n text: 'Khấu trừ không thường xuyên',\r\n link: '/ketoan/khautrukhongthuongxuyen',\r\n huongdan: Global.App_url\r\n};\r\nexport const payroll_tinhluong = {\r\n id: 'B5925C7F-6898-4C54-AF64-DBA3F9BEAC0E',\r\n text: 'Tính lương',\r\n link: '/ketoan/tinhluong',\r\n border: 'Co',\r\n huongdan: Global.App_url\r\n};\r\n\r\n//------- \r\nexport const DaoTaos = {\r\n id: '',\r\n text: 'Đào tạo',\r\n icon: 'fas fa-dollar-sign',\r\n submenu: [\r\n \r\n ]\r\n};\r\n\r\n\r\n\r\nexport const SatHachs_CauHoi = { id: '362476FE-F56F-4839-A450-6EA18536DE48', text: 'Ngân hàng câu hỏi', link: '/sathachs/cauhoi', huongdan: Global.App_url };\r\n\r\nexport const SatHachs_DeThi = { id: 'FD38F3BB-8479-42FC-B765-C38C46A012B2', text: 'Bộ đề thi', link: '/sathachs/dethi', huongdan: Global.App_url };\r\nexport const SatHachs_LoaiCauHoi = { id: '58389DA4-54C9-4CEC-80E7-CD126C145FA0', text: 'Loại câu hỏi', link: '/sathachs/loaicauhoi', huongdan: Global.App_url };\r\n\r\nexport const SatHachs_LoaiThi = { id: 'D10885DE-5B38-47AF-B9CB-570C080209DD', text: 'Loại đề thi', link: '/sathachs/loaithi', huongdan: Global.App_url };\r\n\r\n\r\nexport const SatHachs_DotThi = { id: '18A53AE2-AFF0-42AB-985A-2DB6692A9210', text: 'Đợt thi', link: '/sathachs/dotthi', huongdan: Global.App_url, border: 'co' };\r\nexport const SatHachs_DanhSachThi = { id: '8801AFE0-0045-4DD6-967F-3DC041B6B20A', text: 'Danh sách thi', link: '/sathachs/danhsachthi', huongdan: Global.App_url };\r\nexport const SatHachs_ThamSoThi = { id: 'A9E5BD5E-6F40-42C1-9192-6C637B61C2B1', text: 'Tham số thi', link: '/sathachs/thamsothi', huongdan: Global.App_url, border: 'co' };\r\nexport const ThiDuas_chucnang109 = { id: 'DFDCC52C-8351-48AB-A611-2E1B5DCF3967', text: 'Đề nghị khen cá nhân', link: '/thidua/denghicanhan', huongdan: Global.App_url };\r\nexport const ThiDuas_chucnang104 = { id: '9274124E-C622-41D8-9F73-5CE66175072F', text: 'Duyệt đề nghị khen cá nhân', link: '/thidua/duyetcanhan', huongdan: Global.App_url };\r\nexport const ThiDuas_chucnang101 = { id: '68E3EAA3-C34F-45FB-8FE0-6205048012B1', text: 'Duyệt đề nghị khen tập thể', link: '/thidua/duyettapthe', huongdan: Global.App_url, border: 'co' };\r\nexport const SatHachs = {\r\n id: '',\r\n text: 'Sát hạch',\r\n icon: 'fas fa-certificate',\r\n submenu: [\r\n SatHachs_CauHoi,\r\n SatHachs_DeThi,\r\n SatHachs_LoaiCauHoi, \r\n SatHachs_LoaiThi,\r\n SatHachs_DotThi,\r\n SatHachs_DanhSachThi,\r\n SatHachs_ThamSoThi\r\n ]\r\n};\r\n\r\n\r\n//----------------------Bao cao-------------------------------------------------------\r\n\r\nexport const Reports_thongketonghop = {\r\n id: BaoCao.BC12_ThongKeTongHop,\r\n text: 'Thống kê tổng hợp',\r\n link: '/baocao/thongketonghop/' + BaoCao.BC12_ThongKeTongHop,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkecongvannghiepvu = {\r\n id: BaoCao.BC13_ThongKeCongVanNghiepVu,\r\n text: 'Thống kê công văn nghiệp vụ',\r\n link: '/baocao/thongkecongvannghiepvu/' + BaoCao.BC13_ThongKeCongVanNghiepVu,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkecongvandentheodiaphuong = {\r\n id: BaoCao.BC14_ThongKeCongVanDenTheoDiaPhuong,\r\n text: 'Thống kê công văn đến theo địa phương',\r\n link: '/baocao/thongkecongvandentheodiaphuong/' + BaoCao.BC14_ThongKeCongVanDenTheoDiaPhuong,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkecongvandentheoloaihinh = {\r\n id: BaoCao.BC15_ThongKeCongVanDenTheoLoaiHinhCV,\r\n text: 'Thống kê công văn đến theo loại hình công văn',\r\n link: '/baocao/thongkecongvandentheoloaihinh/' + BaoCao.BC15_ThongKeCongVanDenTheoLoaiHinhCV,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkecongvandentheothoigian = {\r\n id: BaoCao.BC16_ThongKeCongVanDenTheoThoiGian,\r\n text: 'Thông kê công văn đến theo thời gian',\r\n link: '/baocao/thongkecongvandentheothoigian/' + BaoCao.BC16_ThongKeCongVanDenTheoThoiGian,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkecongvandentheotoidanh = {\r\n id: BaoCao.BC17_ThongKeCongVanDenTheoToiDanh,\r\n text: 'Thống kê công văn đến theo tội danh',\r\n link: '/baocao/thongkecongvandentheotoidanh/' + BaoCao.BC17_ThongKeCongVanDenTheoToiDanh,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkecongvandentheolinhvuc = {\r\n id: BaoCao.BC18_ThongKeCongVanDenTheoLinhVuc,\r\n text: 'Thống kê công văn đến theo lĩnh vực',\r\n link: '/baocao/thongkecongvandentheolinhvuc/' + BaoCao.BC18_ThongKeCongVanDenTheoLinhVuc,\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Reports_thongkecongvandentheovuviec = {\r\n id: BaoCao.BC19_ThongKeCongVanDenTheoVuViec,\r\n text: 'Thống kê công văn đến theo vụ việc',\r\n link: '/baocao/thongkecongvandentheovuviec/' + BaoCao.BC19_ThongKeCongVanDenTheoVuViec,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkecongvandentheocongviechc = {\r\n id: BaoCao.BC20_ThongKeCongVanDenTheoCongViecHC,\r\n text: 'Thống kê công văn đến theo công việc hành chính',\r\n link: '/baocao/thongkecongvandentheocongviechc/' + BaoCao.BC20_ThongKeCongVanDenTheoCongViecHC,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkecongvandentheoloaian = {\r\n id: BaoCao.BC21_ThongKeCongVanDenTheoLoaiAn,\r\n text: 'Thống kê công văn đến theo loại án',\r\n link: '/baocao/thongkecongvandentheoloaian/' + BaoCao.BC21_ThongKeCongVanDenTheoLoaiAn,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkecongvandentheoquocgia = {\r\n id: BaoCao.BC22_ThongKeCongVanDenTheoQuocGia,\r\n text: 'Thống kê công văn đến theo quốc gia',\r\n link: '/baocao/thongkecongvandentheoquocgia/' + BaoCao.BC22_ThongKeCongVanDenTheoQuocGia,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkecongvandentheodokhan = {\r\n id: BaoCao.BC23_ThongKeCongVanDenTheoDoKhan,\r\n text: 'Thống kê công văn đến theo độ khẩn',\r\n link: '/baocao/thongkecongvandentheodokhan/' + BaoCao.BC23_ThongKeCongVanDenTheoDoKhan,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkechuyenan = {\r\n id: BaoCao.BC24_ThongKeChuyenAn,\r\n text: 'Thống kê chuyên án',\r\n link: '/baocao/thongkechuyenan/' + BaoCao.BC24_ThongKeChuyenAn,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkesolieubatgiutoipham = {\r\n id: BaoCao.BC25_ThongKeSoLieuBatGiuToiPham,\r\n text: 'Thống kê số liệu bắt, giữ đối tượng phạm tội',\r\n link: '/baocao/thongkesolieubatgiutoipham/' + BaoCao.BC25_ThongKeSoLieuBatGiuToiPham,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_thongkesonguoinghienmatuy = {\r\n id: BaoCao.BC26_ThongKeNguoiNghienMaTuyCoHoSo,\r\n text: 'Thống kê số liệu người nghiện ma túy có hồ sơ quản lý',\r\n link: '/baocao/thongkesonguoinghienmatuy/' + BaoCao.BC26_ThongKeNguoiNghienMaTuyCoHoSo,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaocongvandentheodonvi = {\r\n id: BaoCao.BC35_BaoCaoCongVanDenTheoDonVi,\r\n text: 'Báo cáo công văn đến theo đơn vị',\r\n link: '/baocao/baocaocongvandentheodonvi/' + BaoCao.BC35_BaoCaoCongVanDenTheoDonVi,\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Reports_baocaocongvandentheodomat = {\r\n id: BaoCao.BC36_BaoCaoCongVanDenTheoDoMat,\r\n text: 'Báo cáo công văn đến theo độ mật',\r\n link: '/baocao/baocaocongvandentheodomat/' + BaoCao.BC36_BaoCaoCongVanDenTheoDoMat,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaocongvandentheonguoiky = {\r\n id: BaoCao.BC37_BaoCaoCongVanDenTheoNguoiKy,\r\n text: 'Báo cáo công văn đến theo người ký',\r\n link: '/baocao/baocaocongvandentheonguoiky/' + BaoCao.BC37_BaoCaoCongVanDenTheoNguoiKy,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaocongvanditheovuviec = {\r\n id: BaoCao.BC38_BaoCaoCongVanDiTheoVuViec,\r\n text: 'Báo cáo công văn đi theo vụ việc',\r\n link: '/baocao/baocaocongvanditheovuviec/' + BaoCao.BC38_BaoCaoCongVanDiTheoVuViec,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaocongvanditheodoituong = {\r\n id: BaoCao.BC39_BaoCaoCongVanDiTheoDoiTuong,\r\n text: 'Báo cáo công văn đi theo đối tượng',\r\n link: '/baocao/baocaocongvanditheodoituong/' + BaoCao.BC39_BaoCaoCongVanDiTheoDoiTuong,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaocongvanditheoloaitoidanh = {\r\n id: BaoCao.BC40_BaoCaoCongVanDiTheoLoaiToiDanh,\r\n text: 'Báo cáo công văn đi theo loại tội danh',\r\n link: '/baocao/baocaocongvanditheoloaitoidanh/' + BaoCao.BC40_BaoCaoCongVanDiTheoLoaiToiDanh,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaovuviectheoquocgia = {\r\n id: BaoCao.BC50_BaoCaoVuViecTheoQuocGia,\r\n text: 'Báo cáo vụ việc theo quốc gia',\r\n link: '/baocao/baocaovuviectheoquocgia/' + BaoCao.BC50_BaoCaoVuViecTheoQuocGia,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaovuviectheodonvi = {\r\n id: BaoCao.BC51_BaoCaoVuViecTheoDonVi,\r\n text: 'Báo cáo vụ việc theo đơn vị',\r\n link: '/baocao/baocaovuviectheodonvi/' + BaoCao.BC51_BaoCaoVuViecTheoDonVi,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaovuviectheolinhvuc = {\r\n id: BaoCao.BC52_BaoCaoVuViecTheoLinhVuc,\r\n text: 'Báo cáo vụ việc theo lĩnh vực',\r\n link: '/baocao/baocaovuviectheolinhvuc/' + BaoCao.BC52_BaoCaoVuViecTheoLinhVuc,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaodoituongtheotoidanh = {\r\n id: BaoCao.BC53_BaoCaoDoiTuongTheoToiDanh,\r\n text: 'Báo cáo đối tượng theo tội danh',\r\n link: '/baocao/baocaodoituongtheotoidanh/' + BaoCao.BC53_BaoCaoDoiTuongTheoToiDanh,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaodoituongtheotinhthanh = {\r\n id: BaoCao.BC54_BaoCaoDoiTuongTheoTinhThanh,\r\n text: 'Báo cáo đối tượng theo tỉnh thành',\r\n link: '/baocao/baocaodoituongtheotinhthanh/' + BaoCao.BC54_BaoCaoDoiTuongTheoTinhThanh,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaodoituongtheonguoiky = {\r\n id: BaoCao.BC55_BaoCaoDoiTuongTheoNguoiKy,\r\n text: 'Báo cáo đối tượng theo người ký',\r\n link: '/baocao/baocaodoituongtheonguoiky/' + BaoCao.BC55_BaoCaoDoiTuongTheoNguoiKy,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaodoituongtheovuviec = {\r\n id: BaoCao.BC56_BaoCaoDoiTuongTheoVuViec,\r\n text: 'Báo cáo đối tượng theo vụ việc',\r\n link: '/baocao/baocaodoituongtheovuviec/' + BaoCao.BC56_BaoCaoDoiTuongTheoVuViec,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaotheonguoiphutrach = {\r\n id: BaoCao.BC57_BaoCaoTheoNguoiPhuTrach,\r\n text: 'Báo cáo theo người phụ trách',\r\n link: '/baocao/baocaotheonguoiphutrach/' + BaoCao.BC57_BaoCaoTheoNguoiPhuTrach,\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Reports_baocaothongkecongtacnghiepvucoban = {\r\n id: BaoCao.BC70_BaoCaoThongKeCongTacNghiepVuCoBan,\r\n text: 'Báo cáo thống kê công tác nghiệp vụ cơ bản',\r\n link: '/baocao/baocaothongkecongtacnghiepvucoban/' + BaoCao.BC70_BaoCaoThongKeCongTacNghiepVuCoBan,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaovanban = {\r\n id: BaoCao.BC71_BaoCaoDanhSachCacVanBanQuyPhamPhapLuat,\r\n text: 'Báo cáo DS các VB QPPL tham gia và trực tiếp xây dựng',\r\n link: '/baocao/baocaovanban/' + BaoCao.BC71_BaoCaoDanhSachCacVanBanQuyPhamPhapLuat,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaodanhsachvuviecxacminh = {\r\n id: BaoCao.BC72_BaoCaoDanhSachCacVuViecXacMinhTheoYeuCau,\r\n text: 'Danh sách các vụ việc xác minh theo yêu cầu',\r\n link: '/baocao/baocaodanhsachvuviecxacminh/' + BaoCao.BC72_BaoCaoDanhSachCacVuViecXacMinhTheoYeuCau,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_bangkecacvuandodonvithuly = {\r\n id: BaoCao.BC73_BangKeCacVuAnDoDonViThuLy,\r\n text: 'Bảng kê các vụ án do đơn vị thụ lý',\r\n link: '/baocao/bangkecacvuandodonvithuly/' + BaoCao.BC73_BangKeCacVuAnDoDonViThuLy,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_danhsachtiepnhancacdttn = {\r\n id: BaoCao.BC74_DanhSachTiepNhanCacDoiTuongTruyNa,\r\n text: 'Danh sách tiếp nhận các đối tượng truy nã',\r\n link: '/baocao/danhsachtiepnhancacdttn/' + BaoCao.BC70_BaoCaoThongKeCongTacNghiepVuCoBan,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_baocaovuviectuongtro = {\r\n id: BaoCao.BC75_DanhSachCacVuViecTuongTroTuPhapDaGiaiQuyet,\r\n text: 'Báo cáo danh sách các vụ việc tương trợ tư pháp đã, đang giải quyết',\r\n link: '/baocao/baocaovuviectuongtro/' + BaoCao.BC75_DanhSachCacVuViecTuongTroTuPhapDaGiaiQuyet,\r\n huongdan: Global.App_url\r\n};\r\nexport const Reports_danhsachvuviecvuanhuongdan = {\r\n id: BaoCao.BC76_DanhSachCacVuViecVuAnHuongDanThamDinh,\r\n text: 'Danh sách các vụ việc, vụ án hướng dẫn, thẩm định',\r\n link: '/baocao/danhsachvuviecvuanhuongdan/' + BaoCao.BC76_DanhSachCacVuViecVuAnHuongDanThamDinh,\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Reports_soyeulylich2c = { id: '65C9FEF8-1411-4F60-BB9C-244311336858', text: 'Sơ yếu lý lịch cán bộ, công chức (Mẫu 2C)', link: '/baocao/soyeulylich2c/65C9FEF8-1411-4F60-BB9C-244311336858', huongdan: Global.App_url };\r\nexport const Reports_thongketanggiamcanbo = { id: '47C2A1E7-B7BE-4A41-96B0-D3CA5D2F804F', text: 'Thống kê bài viết theo số báo', link: '/baocao/thongketanggiamcanbo/47C2A1E7-B7BE-4A41-96B0-D3CA5D2F804F', huongdan: Global.App_url };\r\nexport const Reports_thongkechatluongcongchuc = { id: '4BDC6A56-C92F-4160-8655-A123890218E1', text: 'Báo cáo thống kê số lượng, chất lượng công chức', link: '/baocao/thongkechatluongcongchuc/4BDC6A56-C92F-4160-8655-A123890218E1', huongdan: Global.App_url };\r\nexport const Reports_thongkechatluonglaodonghopdong = { id: '99496F5D-873D-4CB3-9387-A348C330FFB0', text: 'Báo cáo thống kê chất lượng lao động hợp đồng', link: '/baocao/thongkechatluonglaodonghopdong/99496F5D-873D-4CB3-9387-A348C330FFB0', huongdan: Global.App_url };\r\n//export const Reports_1040816 = { id: 'B8BD15D9-5805-4AE6-A66B-51AEF4393978', text: 'Báo cáo quá trình công tác của cán bộ công chức', link: '/baocao/1040816', huongdan: Global.App_url };\r\n//export const Reports_1040817 = { id: 'ECE8C9E9-E48F-4245-8733-5D5D76F4AB62', text: 'Báo cáo thống kê biên chế và hợp đồng', link: '/baocao/1040817', huongdan: Global.App_url };\r\n//export const Reports_1040818 = { id: '951E8C39-0AB0-4F22-914A-0829015DDE34', text: 'Báo cáo tổng hợp cán bộ công chức theo hợp đồng', link: '/baocao/1040818', huongdan: Global.App_url };\r\n//export const Reports_1040819 = { id: '9F269D4E-8BC4-4E8C-8925-32597EBED9D1', text: 'Báo cáo danh sách quan hệ gia đình', link: '/baocao/1040819', huongdan: Global.App_url };\r\n//export const Reports_1040820 = { id: '3C23B951-1F36-4EC4-9029-2C11279E823E', text: 'Báo cáo chất lượng cán bộ trong cơ quan nhà nước', link: '/baocao/1040820', huongdan: Global.App_url };\r\n//export const Reports_1040821 = { id: 'D4B584C6-A3E5-4441-B07F-8807B017630A', text: 'Báo cáo sắp xếp cán bộ công chức', link: '/baocao/1040821', huongdan: Global.App_url };\r\n//export const Reports_1040822 = { id: '3CD8C834-20DA-4123-881E-E5A7B77A1A30', text: 'Báo cáo thống kê cán bộ đủ tiêu chuẩn về hưu', link: '/baocao/1040822', huongdan: Global.App_url };\r\nexport const Reports_thongkecanbonghiviec = { id: '850DB0F0-FB95-4210-B646-9D36B69E802E', text: 'Báo cáo thống kê cán bộ nghỉ việc', link: '/baocao/thongkecanbonghiviec/850DB0F0-FB95-4210-B646-9D36B69E802E', huongdan: Global.App_url };\r\nexport const Reports_thongkecanbonghihuu = { id: '7AE62001-9E86-4C83-AA53-28F5545B995D', text: 'Báo cáo thống kê cán bộ nghỉ hưu', link: '/baocao/thongkecanbonghihuu/7AE62001-9E86-4C83-AA53-28F5545B995D', huongdan: Global.App_url };\r\nexport const Reports_danhsachcanbothamgiabhxh = { id: '7EB0267F-59B9-4440-8ADE-24A54B3DEB97', text: 'Thống kê danh sách cán bộ tham gia BHXH', link: '/baocao/danhsachcanbothamgiabhxh/7EB0267F-59B9-4440-8ADE-24A54B3DEB97', huongdan: Global.App_url };\r\nexport const Reports_bangtonghopchucdanh = { id: '0078B7D7-3A15-4B65-99EE-EA912E157247', text: 'Bảng tổng hợp chức danh công việc của từng đơn vị', link: '/baocao/bangtonghopchucdanh/0078B7D7-3A15-4B65-99EE-EA912E157247', huongdan: Global.App_url };\r\nexport const Reports_danhsachkyluat = { id: '78BCE38E-45BA-4F0A-9035-8FAB79CC12FA', text: 'Báo cáo danh sách thông tin kỷ luật cán bộ', link: '/baocao/danhsachkyluat/78BCE38E-45BA-4F0A-9035-8FAB79CC12FA', huongdan: Global.App_url };\r\nexport const Reports_danhsachkhenthuong = { id: '14121372-DC98-4B64-A4E9-B6339B3CCBCC', text: 'Báo cáo danh sách thông tin khen thưởng cán bộ', link: '/baocao/danhsachkhenthuong/14121372-DC98-4B64-A4E9-B6339B3CCBCC', huongdan: Global.App_url };\r\nexport const Reports_danhsachcongchuc = { id: '6E5878CC-925D-4697-9B4A-05F90B2AF7CC', text: 'Báo cáo thống kê danh sách công chức', link: '/baocao/danhsachcongchuc/6E5878CC-925D-4697-9B4A-05F90B2AF7CC', huongdan: Global.App_url };\r\n//export const Reports_tonghoptanggiamcanbo = { id: 'B3490399-3E90-4033-9D0D-74EA86DBCD72', text: 'Bảng tổng hợp tăng giảm cán bộ, công chức', link: '/baocao/tonghoptanggiamcanbo ', huongdan: Global.App_url };\r\nexport const Reports_chitiettanggiamcanbo = { id: '4386BB57-B602-4B0E-9588-ACD69B0D6755', text: 'Danh sách chi tiết tăng giảm cán bộ, công chức', link: '/baocao/chitiettanggiamcanbo/4386BB57-B602-4B0E-9588-ACD69B0D6755', huongdan: Global.App_url };\r\nexport const Reports_dieuchuyencanbo = { id: '87AF78B6-4960-4289-94C4-EE6152509D2F', text: 'Danh sách cán bộ chuyển bộ phận, phòng ban, đơn vị', link: '/baocao/dieuchuyencanbo/87AF78B6-4960-4289-94C4-EE6152509D2F', huongdan: Global.App_url };\r\nexport const Reports_danhsachcanbodabonhiem = { id: '4C80CC92-A9E9-4A32-B77C-EF6E47D65701', text: 'Danh sách cán bộ đã bổ nhiệm', link: '/baocao/danhsachcanbodabonhiem/4C80CC92-A9E9-4A32-B77C-EF6E47D65701', huongdan: Global.App_url };\r\nexport const Reports_danhsachcanbohethanbonhiem = { id: '1AFAB896-F84E-4C7B-A235-B0046A56BF05', text: 'Danh sách cán bộ hết hạn bổ nhiệm', link: '/baocao/danhsachcanbohethanbonhiem/1AFAB896-F84E-4C7B-A235-B0046A56BF05', huongdan: Global.App_url };\r\nexport const Reports_danhsachcanbothaydoichucvu = { id: '0E96EEA9-CF39-48C1-AB11-D43541047C53', text: 'Danh sách cán bộ thay đổi chức vụ', link: '/baocao/danhsachcanbothaydoichucvu/0E96EEA9-CF39-48C1-AB11-D43541047C53', huongdan: Global.App_url };\r\n//export const Reports_1040837 = { id: 'B8705922-F245-469C-9860-DB627CD8BDA7', text: 'Danh sách cán bộ nghỉ việc', link: '/baocao/1040837', huongdan: Global.App_url };\r\n// const Reports_1040838 = { id: 'F7DEA2D7-31ED-435C-963A-3BF6DDBE6B94', text: 'Danh sách cán bộ được tiếp nhận', link: '/baocao/1040838', huongdan: Global.App_url };\r\nexport const Reports_tonghopdotuoicanbo = { id: '0A885321-2BB3-4391-AA2E-27D61D3AB062', text: 'Bảng tổng hợp độ tuổi cán bộ, công chức', link: '/baocao/tonghopdotuoicanbo/0A885321-2BB3-4391-AA2E-27D61D3AB062', huongdan: Global.App_url };\r\n\r\n\r\n//export const Reports_1040900 = { id: 'DE4D725A-06D4-4D25-9634-24887462CC86', text: 'Báo cáo danh sách và tiền lương công chức', link: '/baocao/1040900', huongdan: Global.App_url };\r\n//export const Reports_1040901 = { id: '654FFDE9-9277-469A-B3DD-EC57567FFDA2', text: 'Báo cáo thống kê tiền lương theo ngạch bậc', link: '/baocao/1040901', huongdan: Global.App_url };\r\n//export const Reports_1040902 = { id: 'DC4CF216-510E-4F65-B8B7-F3BAACFC531A', text: 'Báo cáo bảng lương công chức', link: '/baocao/1040902', huongdan: Global.App_url };\r\n//export const Reports_1040903 = { id: 'AB5290C5-0FA4-4122-B261-04A81BC2A628', text: 'Báo cáo bảng lương hợp đồng 68', link: '/baocao/1040903', huongdan: Global.App_url };\r\n//export const Reports_1040904 = { id: '73D6DCE2-5576-412B-98E4-F9B2F3CE9659', text: 'Bảng thanh toán lương', link: '/baocao/1040904', huongdan: Global.App_url };\r\nexport const Reports_tokhaikhautruthuetncn = { id: '1995745C-2F8B-4BC1-87F6-DB91C00A3FEE', text: 'Tờ khai khấu trừ thuế thu nhập cá nhân', link: '/baocao/tokhaikhautruthuetncn/1995745C-2F8B-4BC1-87F6-DB91C00A3FEE', huongdan: Global.App_url };\r\nexport const Reports_tokhaiquyettoantncn05qtt = { id: 'B51E115F-0E22-4F74-8AD5-FC515A48242A', text: 'Tờ khai quyết toán thuế thu nhập cá nhân', link: '/baocao/tokhaiquyettoantncn05qtt/B51E115F-0E22-4F74-8AD5-FC515A48242A', huongdan: Global.App_url };\r\nexport const Reports_phuluctokhaiquyettoantncn = { id: '863FCED5-08E5-46B6-91DB-620118726D5E', text: 'Phụ lục tờ khai quyết toán thuế thu nhập cá nhân', link: '/baocao/phuluctokhaiquyettoantncn/863FCED5-08E5-46B6-91DB-620118726D5E', huongdan: Global.App_url };\r\nexport const Reports_baocaonangluong = { id: '8810D236-AC6D-4458-9F18-4E7E1D7C4176', text: 'Báo cáo danh sách công chức đến hạn nâng lương', link: '/baocao/baocaonangluong/8810D236-AC6D-4458-9F18-4E7E1D7C4176', huongdan: Global.App_url };\r\n//export const Reports_1040908 = { id: 'B430ADCD-BD41-40F9-804C-B6B05E5A730C', text: 'Danh sách cán bộ, công chức tham gia BHXH, BHYT', link: '/baocao/1040908', huongdan: Global.App_url };\r\nexport const Reports_1040909 = { id: '582B099C-76D3-4399-9D1C-289DB4A0E3F0', text: 'Tờ khai tham gia BHXH, BHYT', link: '/baocao/1040909', huongdan: Global.App_url };\r\nexport const Reports_1040910 = { id: 'A494E6ED-74C5-4AEE-BA31-8A7B3FC6C9C7', text: 'Danh sách cán bộ đề nghị cấp sổ BHXH, BHYT', link: '/baocao/1040910', huongdan: Global.App_url };\r\nexport const Reports_1040911 = { id: '98A447A0-E91A-4A9B-9169-3AFDA58DF15E', text: 'Bảng tính lãi truy thu BHXH, BHYT, BHTN', link: '/baocao/1040911', huongdan: Global.App_url };\r\nexport const Reports_1040912 = { id: '45FA9021-6550-4888-8E09-6F350FA73D79', text: 'Danh sách cán bộ đề nghị hưởng chế độ ốm đau', link: '/baocao/1040912', huongdan: Global.App_url };\r\nexport const Reports_1040913 = { id: 'D483205A-8858-4BDE-96A0-2B991E37AB55', text: 'Danh sách cán bộ đề nghị hưởng chế độ thai sản', link: '/baocao/1040913', huongdan: Global.App_url };\r\nexport const Reports_1040914 = { id: '3736646B-23AC-4FE2-A8FC-FBD5C17515D3', text: 'Danh sách cán bộ đề nghị hưởng trợ cấp nghỉ dưỡng sức phục hồi sức khỏe sau ốm đau', link: '/baocao/1040914', huongdan: Global.App_url };\r\nexport const Reports_1040915 = { id: '738FD509-AD99-4AD2-B9F3-56BE038EF066', text: 'Danh sách cán bộ đề nghị hưởng trợ cấp nghỉ dưỡng sức phục hồi sức khỏe sau thai sản', link: '/baocao/1040915', huongdan: Global.App_url };\r\nexport const Reports_1040916 = { id: '7EADB347-C139-4603-966B-D87DE3CC67D3', text: 'Thống kê thông tin bảo hiểm, báo cáo tăng, giảm và biến động bảo hiểm', link: '/baocao/1040916', huongdan: Global.App_url };\r\n\r\n\r\n\r\nexport const Reports_thongkethongtinchotuyen = { id: '4F528C26-490E-4281-A6D8-4F11D054738D', text: 'Thống kê thông tin chờ tuyển', link: '/baocao/thongkethongtinchotuyen/4F528C26-490E-4281-A6D8-4F11D054738D', huongdan: Global.App_url };\r\nexport const Reports_danhsachcanbogiahanhopdong = { id: '24931D8D-BCA4-4B79-9EF4-2E036A2947C4', text: 'Danh sách cán bộ gia hạn hợp đồng', link: '/baocao/danhsachcanbogiahanhopdong/24931D8D-BCA4-4B79-9EF4-2E036A2947C4', huongdan: Global.App_url };\r\nexport const Reports_danhsachcanbosaphethanhopdong = { id: 'E46DDBC7-5CDE-4592-AE6D-62515D558304', text: 'Danh sách cán bộ sắp hết hạn hợp đồng', link: '/baocao/danhsachcanbosaphethanhopdong/E46DDBC7-5CDE-4592-AE6D-62515D558304', huongdan: Global.App_url };\r\nexport const Reports_thongkedaotao = { id: '5A377C37-E0B5-4635-8180-178273912DD7', text: 'Thống kê tổng hợp đào tạo cán bộ', link: '/baocao/thongkedaotao/5A377C37-E0B5-4635-8180-178273912DD7', huongdan: Global.App_url };\r\nexport const Reports_danhsachcapthe = { id: 'EDDC9FC5-95BE-46D6-8B53-7029830C963B', text: 'Danh sách cấp thẻ theo ngày cấp', link: '/baocao/danhsachcapthe/EDDC9FC5-95BE-46D6-8B53-7029830C963B', huongdan: Global.App_url };\r\nexport const Reports_danhsachthesaphethan = { id: 'FD552462-B075-4B62-888D-48EEABAD4641', text: 'Danh sách thẻ sắp hết hạn', link: '/baocao/danhsachthesaphethan/FD552462-B075-4B62-888D-48EEABAD4641', huongdan: Global.App_url };\r\nexport const Reports_thongkecapthe = { id: 'F47CC968-E4A7-4C35-A861-A9510EAFBE87', text: 'Thống kê tổng hợp cấp thẻ theo đơn vị', link: '/baocao/thongkecapthe/F47CC968-E4A7-4C35-A861-A9510EAFBE87', huongdan: Global.App_url };\r\n//export const Reports_1041007 = { id: '087A1541-8EEE-4D36-B6EA-29E5E4077C09', text: 'Báo cáo tổng hợp đào tạo, bồi dưỡng cán bộ', link: '/baocao/1041007/087A1541-8EEE-4D36-B6EA-29E5E4077C09', huongdan: Global.App_url };\r\n//export const Reports_1041008 = { id: 'D1206E7C-205D-4E54-A52B-5A5865B3E9E1', text: 'Thống kê tổng hợp đào tạo cán bộ', link: '/baocao/1041008/D1206E7C-205D-4E54-A52B-5A5865B3E9E1', huongdan: Global.App_url };\r\n//export const Reports_1041009 = { id: '7172E456-3797-40A7-913A-B449887F966A', text: 'Báo cáo thống kê, kế hoạch đào tạo', link: '/baocao/1041009/7172E456-3797-40A7-913A-B449887F966A', huongdan: Global.App_url };\r\n\r\n\r\n\r\nexport const Reports_1042000 = { id: '66589524-41D9-4389-8425-5F5C8760DCD0', text: 'Mẫu 01: BC thành tích đề nghị tặng Huân chương …..đối với tập thể ', link: '/baocao/1042000/66589524-41D9-4389-8425-5F5C8760DCD0', huongdan: Global.App_url };\r\nexport const Reports_1042001 = { id: '1D14A06F-35CF-4996-824C-FD7606715FA5', text: 'Mẫu 02: BC thành tích đề nghị tặng Huân chương …..đối với cá nhân', link: '/baocao/1042001/1D14A06F-35CF-4996-824C-FD7606715FA5', huongdan: Global.App_url };\r\nexport const Reports_1042002 = { id: 'D9CD5A32-75B7-4162-9496-8A2E9A107265', text: 'Mẫu 03: BC thành tích đề nghị tặng (truy tặng) huân chương cho cá nhân có quá trình cống hiến', link: '/baocao/1042002/D9CD5A32-75B7-4162-9496-8A2E9A107265', huongdan: Global.App_url };\r\nexport const Reports_1042003 = { id: 'C9E9962F-0D2C-441A-8145-801A1C242E97', text: 'Mẫu 04: BC thành tích đề nghị phong tặng danh hiệu Anh hùng cho tập thể', link: '/baocao/1042003/C9E9962F-0D2C-441A-8145-801A1C242E97', huongdan: Global.App_url };\r\nexport const Reports_1042004 = { id: '8702C998-CB06-4176-BF33-7BAFE78F8889', text: 'Mẫu 05: BC thành tích đề nghị phong tặng danh hiệu Anh hùng cho cá nhân', link: '/baocao/1042004/8702C998-CB06-4176-BF33-7BAFE78F8889', huongdan: Global.App_url };\r\nexport const Reports_1042005 = { id: 'B06932FA-E5C6-4E77-91D3-7DD19EC8DACD', text: 'Mẫu 06: BC thành tích đề nghị tặng Huân chương …..đối với tập thể/ cá nhân có thành tích đột xuất', link: '/baocao/1042005/B06932FA-E5C6-4E77-91D3-7DD19EC8DACD', huongdan: Global.App_url };\r\nexport const Reports_1042006 = { id: 'BA2807D4-CACA-4F1B-A1E7-32A95701EF04', text: 'Mẫu 07: BC thành tích đề nghị khen thưởng theo đợt thi đua hoặc theo chuyên đề (cho tập thể, cá nhân)', link: '/baocao/1042006/BA2807D4-CACA-4F1B-A1E7-32A95701EF04', huongdan: Global.App_url };\r\nexport const Reports_1042007 = { id: '892DF702-50E8-4220-B18C-FE8D342C7F80', text: 'Mẫu 08: BC thành tích đề nghị khen thưởng Huân chương ...cho tập thể, cá nhân nước ngoài)', link: '/baocao/1042007/892DF702-50E8-4220-B18C-FE8D342C7F80', huongdan: Global.App_url };\r\nexport const Reports_1042008 = { id: 'DC744DBD-1AF1-4729-85DA-C00FEEB17F96', text: 'Báo cáo tổng hợp thành tích khen thưởng tập thể ', link: '/baocao/1042008/DC744DBD-1AF1-4729-85DA-C00FEEB17F96', huongdan: Global.App_url };\r\nexport const Reports_1042009 = { id: '8F901FAC-D052-4C0E-923C-2A263649BBE3', text: 'Báo cáo tổng hợp thành tích khen thưởng cá nhân', link: '/baocao/1042009/8F901FAC-D052-4C0E-923C-2A263649BBE3', huongdan: Global.App_url };\r\nexport const Reports_lichsukhenthuongtapthe = { id: '66C31F6A-AAF8-40E5-A27C-9611F4747B90', text: 'Báo cáo lịch sử thành tích khen thưởng tập thể ', link: '/baocao/lichsukhenthuongtapthe/66C31F6A-AAF8-40E5-A27C-9611F4747B90', huongdan: Global.App_url };\r\nexport const Reports_lichsukhenthuongcanhan = { id: 'F7C22713-A582-4B08-A222-116EBEAD6C6F', text: 'Báo cáo lịch sử thành tích khen thưởng cá nhân', link: '/baocao/lichsukhenthuongcanhan/F7C22713-A582-4B08-A222-116EBEAD6C6F', huongdan: Global.App_url };\r\n\r\n\r\n\r\nexport const Reports = {\r\n id: '',\r\n text: 'Báo cáo',\r\n link: '/reports',\r\n icon: 'fa fas fa-chart-area',\r\n submenu: [\r\n {\r\n id: '',\r\n text: 'Báo cáo thông tin cán bộ',\r\n link: '/elements',\r\n icon: 'fa fa-list-ul',\r\n submenu:\r\n [\r\n Reports_soyeulylich2c,\r\n Reports_thongkechatluongcongchuc,\r\n Reports_thongkechatluonglaodonghopdong,\r\n //Reports_1040816,\r\n //Reports_1040817,\r\n //Reports_1040818,\r\n // Reports_1040819,\r\n Reports_thongketanggiamcanbo,\r\n Reports_chitiettanggiamcanbo,\r\n Reports_bangtonghopchucdanh,\r\n //Reports_1040820,\r\n //Reports_1040821,\r\n //Reports_1040822,\r\n Reports_thongkecanbonghiviec,\r\n Reports_thongkecanbonghihuu,\r\n Reports_danhsachcanbothamgiabhxh,\r\n Reports_danhsachkyluat,\r\n Reports_danhsachkhenthuong,\r\n\r\n\r\n ]\r\n }\r\n ,\r\n {\r\n id: '',\r\n text: 'Báo cáo lương, bảo hiểm',\r\n link: '/elements',\r\n icon: 'fa fa-list-ul',\r\n submenu: [\r\n\r\n //Reports_1040900,\r\n //Reports_1040901,\r\n //Reports_1040902,\r\n //Reports_1040903,\r\n // Reports_1040904,\r\n Reports_tokhaikhautruthuetncn,\r\n Reports_tokhaiquyettoantncn05qtt,\r\n Reports_phuluctokhaiquyettoantncn,\r\n Reports_danhsachcanbothamgiabhxh,\r\n Reports_baocaonangluong,\r\n //Reports_1040908,\r\n\r\n\r\n // tạm thời ẩn\r\n\r\n //Reports_1040909,\r\n //Reports_1040910,\r\n //Reports_1040911,\r\n //Reports_1040912,\r\n //Reports_1040913,\r\n //Reports_1040914,\r\n //Reports_1040915,\r\n //Reports_1040916,\r\n\r\n ]\r\n },\r\n\r\n {\r\n id: '',\r\n text: 'Báo cáo chờ tuyển, đào tạo',\r\n link: '/elements',\r\n icon: 'fa fa-list-ul',\r\n submenu: [\r\n Reports_thongkethongtinchotuyen,\r\n Reports_danhsachcanbogiahanhopdong,\r\n Reports_danhsachcanbosaphethanhopdong,\r\n Reports_thongkedaotao,\r\n Reports_danhsachcapthe,\r\n Reports_danhsachthesaphethan,\r\n Reports_thongkecapthe,\r\n //Reports_1041007,\r\n //Reports_1041008,\r\n //Reports_1041009,\r\n ]\r\n },\r\n {\r\n id: '',\r\n text: 'Báo cáo thi đua',\r\n link: '/elements',\r\n icon: 'fa fa-list-ul',\r\n submenu: [\r\n //Reports_1042000,\r\n //Reports_1042001,\r\n //Reports_1042002,\r\n //Reports_1042003,\r\n //Reports_1042004,\r\n //Reports_1042005,\r\n //Reports_1042006,\r\n //Reports_1042007,\r\n //Reports_1042008,\r\n //Reports_1042009,\r\n //Reports_danhsachkhenthuong,\r\n Reports_lichsukhenthuongtapthe,\r\n Reports_lichsukhenthuongcanhan,\r\n ]\r\n },\r\n {\r\n id: '',\r\n text: 'Báo cáo khác',\r\n link: '/elements',\r\n icon: 'fa fa-list-ul',\r\n submenu: [\r\n Reports_danhsachcongchuc,\r\n //Reports_tonghoptanggiamcanbo,\r\n\r\n Reports_dieuchuyencanbo,\r\n Reports_danhsachcanbodabonhiem,\r\n Reports_danhsachcanbohethanbonhiem,\r\n Reports_danhsachcanbothaydoichucvu,\r\n //Reports_1040837,\r\n //Reports_1040838,\r\n Reports_tonghopdotuoicanbo,\r\n ]\r\n }\r\n\r\n\r\n //, Reports_ketquakinhdoanh\r\n ]\r\n};\r\n//--------------------danh mục\r\nexport const Lists_nguonkinhphi = {\r\n id: '9840B305-82FD-4EB9-B275-5ED4B58F8282',\r\n text: 'Độ khẩn',\r\n link: '/danhmuc/nguonkinhphi',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Lists_chuong = {\r\n id: '4DEC2574-8660-4055-8B68-7A0E447045D1',\r\n text: 'Độ mật',\r\n link: '/danhmuc/chuong',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_loaikhoan = {\r\n id: '766BAEB8-09E0-4F13-8E69-24BB5A3AD2F0',\r\n text: 'Tội danh',\r\n link: '/danhmuc/loaikhoan',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_tieumuc = {\r\n id: '5E79BF59-78D9-4C54-8EF7-0A242F5CBC24',\r\n text: 'Loại vụ việc',\r\n link: '/danhmuc/tieumuc',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Lists_khachhang = {\r\n id: '2CEA2A10-9E2A-4EDF-969A-B4DFBE99C48A',\r\n text: 'Loại án',\r\n link: '/danhmuc/khachhang',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_nhacungcap = {\r\n id: 'DE964E8B-BE82-417F-A7DF-2CFB240E8E44',\r\n text: 'Loại công việc',\r\n link: '/danhmuc/nhacungcap',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_caphat = {\r\n id: 'D02C046F-FADD-42E4-B0E1-C78663076640',\r\n text: 'Trách nhiệm',\r\n link: '/danhmuc/hinhthuccapphat',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Lists_loaitaisan = {\r\n id: '96A4CB47-2CCF-48FF-B49B-EC55DE24AFEF',\r\n text: 'Loại tài sản',\r\n link: '/danhmuc/loaitaisan',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\n\r\n\r\n\r\nexport const Lists_linhvuc = {\r\n id: '9840B305-82FD-4EB9-B275-5ED4B58F8282',\r\n text: 'Lĩnh vực',\r\n link: '/danhmuc/linhvuc',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Lists_loaivuviec = {\r\n id: '4DEC2574-8660-4055-8B68-7A0E447045D1',\r\n text: 'Loại vụ việc',\r\n link: '/danhmuc/loaivuviec',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_loaicongviec = {\r\n id: '766BAEB8-09E0-4F13-8E69-24BB5A3AD2F0',\r\n text: 'Loại công việc',\r\n link: '/danhmuc/loaicongviec',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_trangthaixuly = {\r\n id: '5E79BF59-78D9-4C54-8EF7-0A242F5CBC24',\r\n text: 'Trạng thái xử lý',\r\n link: '/danhmuc/trangthaixuly',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_bienphapnghiepvu = {\r\n id: 'D02C046F-FADD-42E4-B0E1-C78663076640',\r\n text: 'Biện pháp nghiệp vụ',\r\n link: '/danhmuc/bienphapnghiepvu',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_ketquatraloi = {\r\n id: 'ABD85401-87F6-4EB8-BD26-2A9713DF53D8',\r\n text: 'Kết quả trả lời',\r\n link: '/danhmuc/ketquatraloi',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_domat = {\r\n id: 'A2E1B866-FE5D-4013-B65F-60DFA1A14620',\r\n text: 'Độ mật',\r\n link: '/danhmuc/domat',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_dokhan = {\r\n id: '9C0B41B7-CA5D-494C-9D17-877FDA70E1FF',\r\n text: 'Độ khẩn',\r\n link: '/danhmuc/dokhan',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_trachnhiem = {\r\n id: '2F6B699E-3843-43E7-B2D6-ADCB7C790B40',\r\n text: 'Trách nhiệm',\r\n link: '/danhmuc/trachnhiem',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_loaian = {\r\n id: 'C984553F-B0E6-454D-BE82-5AB776E76763',\r\n text: 'Loại án',\r\n link: '/danhmuc/loaian',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_loaitoidanh = {\r\n id: 'C4BF3734-6CA4-4491-9A2C-A6971D28FFE9',\r\n text: 'Loại tội danh',\r\n link: '/danhmuc/loaitoidanh',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_toidanh = {\r\n id: '73F13C3A-1C1A-466E-96C5-A20E79F0105D',\r\n text: 'Danh mục tội danh',\r\n link: '/danhmuc/toidanh',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Lists_canbo = {\r\n id: '9B6F13B5-88F8-4CF1-90CF-DAE04C849B26',\r\n text: 'Cán bộ',\r\n link: '/danhmuc/canbo',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_phongban = {\r\n id: 'C83F032C-8834-44D8-94B5-D9E5A91D9A56',\r\n text: 'Phòng ban',\r\n link: '/danhmuc/phongban',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_loaitailieu = {\r\n id: '0AF84C3A-B45C-4047-94DE-9D1D8D506201',\r\n text: 'Loại tài liệu',\r\n link: '/danhmuc/loaitailieu',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\n\r\n\r\n\r\nexport const Lists_capham = {\r\n id: '4316191F-5C48-413C-82B3-DFD870C0FAFE',\r\n text: 'Cấp hàm',\r\n link: '/danhmuc/capham',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_vaitro = {\r\n id: '532A61EA-D765-844B-8CBF-E610B209E332',\r\n text: 'Vai trò',\r\n link: '/danhmuc/vaitro',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_gioitinh = {\r\n id: '362DA8C9-9F20-4FFC-BE8B-9AF376F2F32E',\r\n text: 'Giới tính',\r\n link: '/danhmuc/gioitinh',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\nexport const Lists_loaidoituong = {\r\n id: 'B8A00ED6-8EA0-462B-B1D0-D41466880EFB',\r\n text: 'loại đối tượng',\r\n link: '/danhmuc/loaidoituong',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\n\r\n\r\n\r\n\r\n\r\nexport const Lists_dantoc = { id: '4DEC2574-8660-4055-8B68-7A0E447045D1', text: 'Danh mục dân tộc', link: '/danhmuc/dantoc', huongdan: Global.App_url };\r\nexport const Lists_tongiao = { id: '766BAEB8-09E0-4F13-8E69-24BB5A3AD2F0', text: 'Danh mục tôn giáo', link: '/danhmuc/tongiao', huongdan: Global.App_url };\r\nexport const Lists_loaihopdong = { id: '5E79BF59-78D9-4C54-8EF7-0A242F5CBC24', text: 'Danh mục loại hợp đồng lao động', link: '/danhmuc/loaihopdong', huongdan: Global.App_url };\r\nexport const Lists_hinhthucnghiviec = { id: 'D02C046F-FADD-42E4-B0E1-C78663076640', text: 'Danh mục hình thức nghỉ việc', link: '/danhmuc/hinhthucnghiviec', huongdan: Global.App_url };\r\nexport const Lists_hinhthuccongtacnuocngoai = { id: 'ABD85401-87F6-4EB8-BD26-2A9713DF53D8', text: 'Danh mục hình thức công tác nước ngoài', link: '/danhmuc/hinhthuccongtacnuocngoai', huongdan: Global.App_url };\r\nexport const Lists_coquanbanhanh = { id: 'A2E1B866-FE5D-4013-B65F-60DFA1A14620', text: 'Danh mục cơ quan ban hành', link: '/danhmuc/coquanbanhanh', huongdan: Global.App_url };\r\nexport const Lists_loaicanbo = { id: '9C0B41B7-CA5D-494C-9D17-877FDA70E1FF', text: 'Danh mục loại cán bộ', link: '/danhmuc/loaicanbo', huongdan: Global.App_url };\r\n\r\n\r\nexport const Lists_diadanh = { id: 'C4BF3734-6CA4-4491-9A2C-A6971D28FFE9', text: 'Danh mục địa danh, vùng lãnh thổ', link: '/danhmuc/diadanh', huongdan: Global.App_url };\r\nexport const Lists_loaisangkien = { id: '73F13C3A-1C1A-466E-96C5-A20E79F0105D', text: 'Danh mục loại sáng kiến', link: '/danhmuc/loaisangkien', huongdan: Global.App_url };\r\n\r\n\r\nexport const Lists_chucvudang = { id: '2F6B699E-3843-43E7-B2D6-ADCB7C790B40', text: 'Danh mục chức vụ đảng, đoàn thể', link: '/danhmuc/chucvudang', huongdan: Global.App_url };\r\nexport const Lists_chucvu = { id: 'C984553F-B0E6-454D-BE82-5AB776E76763', text: 'Danh mục chức vụ', link: '/danhmuc/chucvu', huongdan: Global.App_url };\r\n\r\nexport const Lists_diengiadinhchinhsach = { id: '9B6F13B5-88F8-4CF1-90CF-DAE04C849B26', text: 'Danh mục diện gia đình chính sách', link: '/danhmuc/diengiadinhchinhsach', huongdan: Global.App_url };\r\nexport const Lists_loaiquanhegiadinh = { id: '2CEA2A10-9E2A-4EDF-969A-B4DFBE99C48A', text: 'Danh mục loại quan hệ gia đình', link: '/danhmuc/loaiquanhegiadinh', huongdan: Global.App_url };\r\nexport const Lists_thanhphangiadinh = { id: 'DE964E8B-BE82-417F-A7DF-2CFB240E8E44', text: 'Danh mục thành phần gia đình', link: '/danhmuc/thanhphangiadinh', huongdan: Global.App_url, border: 'co' };\r\nexport const Lists_hinhthucdaotao = { id: '4316191F-5C48-413C-82B3-DFD870C0FAFE', text: 'Danh mục hình thức đào tạo', link: '/danhmuc/hinhthucdaotao', huongdan: Global.App_url };\r\nexport const Lists_chuyennganhdaotao = { id: '532A61EA-D765-844B-8CBF-E610B209E332', text: 'Danh mục chuyên ngành đào tạo', link: '/danhmuc/chuyennganhdaotao', huongdan: Global.App_url };\r\nexport const Lists_trinhdodaotao = { id: '362DA8C9-9F20-4FFC-BE8B-9AF376F2F32E', text: 'Danh mục trình độ đào tạo', link: '/danhmuc/trinhdodaotao', huongdan: Global.App_url };\r\nexport const Lists_xeploaidaotao = { id: 'B8A00ED6-8EA0-462B-B1D0-D41466880EFB', text: 'Danh mục hạng văn bằng', link: '/danhmuc/hangvanbang', huongdan: Global.App_url };\r\nexport const Lists_loaihinhdaotao = { id: 'C83F032C-8834-44D8-94B5-D9E5A91D9A56', text: 'Danh mục loại hình đào tạo', link: '/danhmuc/loaihinhdaotao', huongdan: Global.App_url };\r\nexport const Lists_truongdaotao = { id: '4A625C2C-BBCF-4EE1-84B0-2BDC221201B7', text: 'Danh mục trường đào tạo', link: '/danhmuc/truongdaotao', huongdan: Global.App_url };\r\nexport const Lists_trinhdoquanlynhanuoc = { id: '82A13F03-EC73-4C68-83E0-BABA4C406121', text: 'Danh mục trình độ quản lý nhà nước', link: '/danhmuc/trinhdoquanlynhanuoc', huongdan: Global.App_url };\r\nexport const Lists_trinhdongoaingu = { id: '4858CE5D-DFF3-4C07-8BA5-5A5BF417013D', text: 'Danh mục ngoại ngữ', link: '/danhmuc/trinhdongoaingu', huongdan: Global.App_url };\r\nexport const Lists_hocham = { id: '47388AF9-A030-4FD9-BE36-0D8486613028', text: 'Danh mục học hàm', link: '/danhmuc/hocham', huongdan: Global.App_url };\r\nexport const Lists_hinhthuctuyendung = { id: 'D85A5EC3-BB49-4270-BDC0-E4D9AF2C2371', text: 'Danh mục hình thức tuyển dụng', link: '/danhmuc/hinhthuctuyendung', huongdan: Global.App_url };\r\nexport const Lists_nguontuyendung = { id: '55D96A87-BF6C-478C-ACB1-D15EF48F04F2', text: 'Danh mục nguồn tuyển dụng', link: '/danhmuc/nguontuyendung', huongdan: Global.App_url };\r\n\r\nexport const Lists_capkhenthuong = { id: '09F950DC-0F5C-4587-8826-EB70281753C2', text: 'Danh mục cấp khen thưởng', link: '/danhmuc/capkhenthuong', huongdan: Global.App_url };\r\nexport const Lists_hinhthuckhenthuong = { id: '7649BA2A-7109-4C93-98B6-83EDC2162FF6', text: 'Danh mục hình thức khen thưởng', link: '/danhmuc/hinhthuckhenthuong', huongdan: Global.App_url };\r\nexport const Lists_danhhieukhenthuong = { id: '8C99F190-D26B-4F02-8895-A255A862EE4A', text: 'Danh mục danh hiệu khen thưởng', link: '/danhmuc/danhhieukhenthuong', huongdan: Global.App_url };\r\nexport const Lists_botieuchi = { id: '33945FD1-A14F-4E33-8245-833B33145B14', text: 'Bộ tiêu chí khen thưởng', link: '/danhmuc/bochitieu', huongdan: Global.App_url };\r\nexport const Lists_donvingoai = { id: 'BEC6103F-B405-43FB-BDDD-5952B920A765', text: 'Danh mục Đơn vị khen thưởng ngoài ngành', link: '/danhmuc/donvingoai', huongdan: Global.App_url };\r\nexport const Lists_capkyluat = { id: 'A2BA250E-34D0-49F4-AC02-2F84AA8A3437', text: 'Danh mục cấp kỷ luật', link: '/danhmuc/capkyluat', huongdan: Global.App_url };\r\nexport const Lists_hinhthuckyluat = { id: 'A5AB9C8C-C0EA-45A2-889F-F649325C12DC', text: 'Danh mục hình thức kỷ luật', link: '/danhmuc/hinhthuckyluat', huongdan: Global.App_url };\r\nexport const Lists_nhomngachluong = { id: '86CF2C93-A0BD-4737-A358-D3312E5F0F44', text: 'Danh mục nhóm ngạch lương', link: '/danhmuc/nhomngachluong', huongdan: Global.App_url };\r\nexport const Lists_ngachluong = { id: 'BBD57249-92F5-4E6C-9CE8-23E2775253C9', text: 'Danh mục ngạch lương', link: '/danhmuc/ngachluong', huongdan: Global.App_url };\r\n\r\nexport const Lists_chude = { id: '6B6A7530-5978-4F65-ADFA-33345900CF7E', text: 'Danh mục chủ đề', link: '/danhmuc/chude', huongdan: Global.App_url };\r\n\r\n\r\n\r\nexport const DanhMucs = [Lists_nguonkinhphi, Lists_loaikhoan, Lists_tieumuc, Lists_caphat,\r\n Lists_canbo, Lists_khachhang, Lists_nhacungcap, Lists_linhvuc, Lists_loaivuviec, Lists_loaicongviec\r\n , Lists_trangthaixuly, Lists_bienphapnghiepvu, Lists_ketquatraloi, Lists_domat, Lists_dokhan\r\n , Lists_trachnhiem, Lists_loaian, Lists_loaitoidanh, Lists_toidanh, Lists_canbo, Lists_phongban\r\n , Lists_loaitailieu, Lists_diadanh, Lists_chucvu, Lists_capham, Lists_vaitro, Lists_gioitinh, Lists_loaidoituong, Lists_loaicanbo\r\n , LuongBaoHiems_dienbienluongngachbac, LuongBaoHiems_dienbienphucapluong, Lists_giaidoanquyhoach\r\n]\r\nexport const Lists = {\r\n id: '',\r\n text: 'Danh mục',\r\n link: '/elements',\r\n icon: 'fa fa-list-ul',\r\n submenu: [\r\n Lists_chude,\r\n Lists_dantoc,\r\n Lists_tongiao,\r\n Lists_loaihopdong,\r\n Lists_hinhthucnghiviec,\r\n Lists_hinhthuccongtacnuocngoai,\r\n Lists_coquanbanhanh,\r\n Lists_loaicanbo,\r\n // Lists_chucvudang,\r\n Lists_chucvu,\r\n Lists_diadanh,\r\n //Lists_loaisangkien,\r\n\r\n Lists_diengiadinhchinhsach,\r\n Lists_loaiquanhegiadinh,\r\n Lists_thanhphangiadinh,\r\n Lists_hinhthucdaotao,\r\n Lists_chuyennganhdaotao,\r\n\r\n // danh mục khác\r\n Lists_trinhdodaotao,\r\n Lists_xeploaidaotao,\r\n Lists_loaihinhdaotao,\r\n Lists_truongdaotao,\r\n Lists_trinhdoquanlynhanuoc,\r\n Lists_trinhdongoaingu,\r\n Lists_hocham,\r\n Lists_hinhthuctuyendung,\r\n Lists_nguontuyendung,\r\n Lists_capkhenthuong,\r\n Lists_hinhthuckhenthuong,\r\n Lists_botieuchi,\r\n Lists_danhhieukhenthuong,\r\n\r\n // Lists_donvingoai,\r\n Lists_capkyluat,\r\n Lists_hinhthuckyluat,\r\n //Lists_nhomngachluong,\r\n Lists_ngachluong,\r\n \r\n // Lists_giaidoanquyhoach,\r\n\r\n ]\r\n\r\n};\r\n\r\n\r\n//-------------------tiện ích\r\nexport const Ultil_nguoidung = {\r\n id: 'CC11D304-2673-40B5-9E2F-295888991A35',\r\n text: 'Quản lý người dùng',\r\n link: '/quantri/nguoidung',\r\n huongdan: Global.App_url\r\n};\r\nexport const Ultil_phanquyen = {\r\n id: '5EB2FFBB-B173-42FE-B155-AB473CE914C1',\r\n text: 'Vai trò ngươi dùng',\r\n link: '/quantri/vaitro',\r\n huongdan: Global.App_url\r\n};\r\nexport const Ultil_doimatkhau = {\r\n id: '',\r\n text: 'Đổi mật khẩu',\r\n link: '/quantri/doimatkhau',\r\n huongdan: Global.App_url\r\n};\r\nexport const Ultil_cauhinhnhapdulieutuexcel = {\r\n id: '1EC79DE0-51D4-43EF-BF16-5C8E94CB1CD1',\r\n text: 'Cấu hình nhập dữ liệu từ excel',\r\n link: '/quantri/maubaocao',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Ultil_quanlytin = {\r\n id: '1EC79DE0-51D4-43EF-BF16-5C8E94CB1CD1',\r\n text: 'Quản lý tin tức',\r\n link: '/quantri/quanlytintuc',\r\n huongdan: Global.App_url\r\n};\r\n\r\n\r\n\r\nexport const Ultil_bug = {\r\n id: '5159E97E-2428-4C72-999D-DE2F444B2D39',\r\n text: 'Quản lý test',\r\n link: '/quantri/bug',\r\n huongdan: Global.App_url\r\n};\r\nexport const Ultil_nhatkytruycap = {\r\n id: '2391F2AB-836E-48E9-B8C0-BE1FC543E387',\r\n text: 'Nhật ký truy cập',\r\n link: '/quantri/nhatkytruycap',\r\n border: 'co',\r\n huongdan: Global.App_url\r\n};\r\n\r\n\r\nexport const Ultil_timdoituong = {\r\n id: '3E366F69-BDEE-4D73-963A-6DCAA2BC070B',\r\n text: 'Tra cứu tìm kiếm hồ sơ cán bộ',\r\n link: '/nhaplieu/timdoituong',\r\n huongdan: Global.App_url\r\n};\r\nexport const Ultil_kiemtraloi = {\r\n id: 'C641370B-520E-48CF-A95E-D58E82607D42',\r\n text: 'Kiểm tra lỗi',\r\n link: '/nhaplieu/kiemtraloi',\r\n huongdan: Global.App_url\r\n};\r\nexport const Ultil_tailieu = {\r\n id: '4034D0E4-356E-4CEB-9C1A-2DD64882807C',\r\n text: 'Quản lý tài liệu',\r\n link: '/quantri/quanlytailieu',\r\n huongdan: Global.App_url\r\n};\r\n\r\n\r\nexport const Ultil = {\r\n id: '',\r\n text: 'Tiện ích',\r\n link: '/headingComponents',\r\n icon: 'fa fas fa-th',\r\n submenu: [\r\n //Ultil_timdoituong,\r\n //Ultil_kiemtraloi,\r\n // Ultil_danhsochungtu,\r\n // Ultil_khoaso,\r\n Ultil_tailieu,\r\n Ultil_quanlytin,\r\n //Ultil_nhatkytruycap,\r\n //Ultil_cauhinhnhapdulieutuexcel,\r\n //Ultil_cauhinhdongthoi,\r\n //Ultil_hachtoanquy,\r\n //Ultil_hachtoankhobac,\r\n //Ultil_hachtoantaisan,\r\n //Ultil_hachtoanmuahang,\r\n //Ultil_hachtoanluong,\r\n\r\n\r\n ]\r\n};\r\n\r\n\r\n//----------------------quản trị\r\nexport const System_vaitro = {\r\n id: '5EB2FFBB-B173-42FE-B155-AB473CE914C1',\r\n text: 'Vai trò',\r\n link: '/quantri/vaitro',\r\n border: 'co',\r\n huongdan: Global.App_url\r\n};\r\nexport const System_nguoidung = {\r\n id: 'CC11D304-2673-40B5-9E2F-295888991A35',\r\n text: 'Người dùng',\r\n link: '/quantri/nguoidung',\r\n huongdan: Global.App_url\r\n};\r\nexport const System_thamso = {\r\n id: 'EB0CE66D-656D-48C9-8BBA-E74309682A18',\r\n text: 'Tham số hệ thống',\r\n link: '/quantri/thamso',\r\n huongdan: Global.App_url\r\n};\r\nexport const Ultil_donvi = {\r\n id: '610562E5-AA28-45CB-811B-F349395DA524',\r\n text: 'Quản lý đơn vị',\r\n link: '/quantri/donvi',\r\n huongdan: Global.App_url\r\n};\r\nexport const Ultil_phanhe = {\r\n id: 'E84CDFB9-E9BB-4E79-9CEB-74BF2C175331',\r\n text: 'Cấu trúc phân hệ',\r\n link: '/quantri/phanhe',\r\n border: 'co',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const System_history = {\r\n id: '',\r\n text: 'Bản mới',\r\n link: '/danhmuc/history',\r\n icon: 'fa fas fa-history',\r\n huongdan: Global.App_url\r\n};\r\nexport const Ultil_saoluudulieu = {\r\n id: 'DC4D283D-4181-4773-BE7E-D576B1430EB8',\r\n text: 'Sao lưu dữ liệu',\r\n link: '/quantri/saoluudulieu',\r\n huongdan: Global.App_url\r\n};\r\nexport const Ultil_nhatkysaoluu = {\r\n id: '9B779F0A-3D4B-4CDB-87BB-F41529819CC9',\r\n text: 'Nhật ký sao lưu',\r\n link: '/quantri/nhatkysaoluu',\r\n huongdan: Global.App_url\r\n};\r\nexport const System = {\r\n id: '',\r\n text: 'Hệ thống',\r\n link: '',\r\n icon: 'fa fa-cog',\r\n submenu: [\r\n System_thamso, Ultil_saoluudulieu, Ultil_nhatkysaoluu\r\n , Ultil_nhatkytruycap, System_nguoidung, System_vaitro\r\n , Ultil_donvi\r\n //, Ultil_phanhe\r\n //, System_history\r\n //, Ultil_bug\r\n ],\r\n huongdan: Global.App_url\r\n};\r\n\r\n//-----------------------------------------\r\n\r\n//------------Menu Báo Vĩnh Phúc ----------------\r\nexport const Notify = {\r\n id: '23199FED-325F-48F7-8E7C-3A83E68F3340',\r\n text: 'Thông báo',\r\n link: '/quantri/notify',\r\n icon: 'fa fa-th-large',\r\n submenu: null\r\n};\r\n\r\n\r\n\r\nexport const Operational_Article_Goc = {\r\n id: 'C7CE86D5-2FF0-4BA5-9B93-DAA964D03B6B',\r\n text: 'Bài viết',\r\n link: '/task/bai-viet-goc',\r\n huongdan: Global.App_url\r\n};\r\nexport const Operational_Article = {\r\n id: 'A78618AD-EF7F-44E6-A6E2-201AF7B6E2DA',\r\n text: 'Xử lý bài viết',\r\n link: '/task/xu-ly-bai-viet',\r\n huongdan: Global.App_url\r\n};\r\nexport const Operational_DocBong = {\r\n id: '70CDBFE1-9004-423B-88B0-3A9AD9711A78',\r\n text: 'Đọc bông',\r\n link: '/task/danh-sach-bong',\r\n huongdan: Global.App_url\r\n};\r\nexport const Operational_KeHoach = {\r\n id: '4419D77E-56A2-496D-A211-BDB3CFDFA8DE',\r\n text: 'Kế hoạch',\r\n link: '/task/ke-hoach',\r\n huongdan: Global.App_url\r\n};\r\nexport const Operational_SoBao = {\r\n id: '24BD5439-2CEB-4162-92D4-EBD165323475',\r\n text: 'Số báo',\r\n link: '/task/so-bao',\r\n huongdan: Global.App_url\r\n};\r\nexport const Operational_ThongKe = {\r\n id: '47C2A1E7-B7BE-4A41-96B0-D3CA5D2F804F',\r\n text: 'Thống kê',\r\n link: '/baocao/thongkebaiviet/47C2A1E7-B7BE-4A41-96B0-D3CA5D2F804F',\r\n huongdan: Global.App_url\r\n};\r\nexport const Operational_DanhBa = {\r\n id: 'CE6CEDEC-5F75-409A-8FA5-B5BF923FABFE',\r\n text: 'Danh bạ',\r\n link: '/quantri/danhba',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Operational_Saved = {\r\n id: 'DA78BAD3-F84D-4DB8-8091-19389C4FA63F',\r\n text: 'Lưu bài viết',\r\n link: '/task/luubaiviet/1',\r\n huongdan: Global.App_url\r\n};\r\nexport const Operational_BongSaved = {\r\n id: '56581198-1C47-40E8-B0DB-13113F479FE4',\r\n text: 'Lưu số báo',\r\n link: '/task/luusobao/1',\r\n huongdan: Global.App_url\r\n};\r\nexport const Operational_TimKiem = {\r\n id: '650A4090-1D86-458B-B0E0-4F5DB43E2CD6',\r\n text: 'Tìm kiếm',\r\n link: '/task/tim-bai-viet',\r\n huongdan: Global.App_url\r\n};\r\n \r\nexport const Operational = {\r\n id: '',\r\n text: 'Tác nghiệp',\r\n link: '',\r\n icon: 'fa fa-tasks',\r\n submenu: [Operational_Article_Goc,\r\n //Operational_Article,\r\n Operational_DocBong,\r\n Operational_KeHoach,\r\n Operational_SoBao,\r\n Operational_ThongKe\r\n , Operational_TimKiem\r\n , Operational_DanhBa\r\n , Operational_Saved\r\n , Operational_BongSaved\r\n ]\r\n};\r\n \r\nexport const Archives_BaiViet = { id: '73F13C3A-1C1A-466E-96C5-A20E79F0105D', text: 'Bài viết', link: '/task/sitebaiviet', huongdan: Global.App_url };\r\nexport const Archives_VideoCho = { id: '203EEA83-2293-45E6-B80D-ED7ED80565A6', text: 'Video chờ duyệt', link: '/task/sitevideocho', huongdan: Global.App_url };\r\nexport const Archives_Video = { id: 'E0B3FB60-AA1B-4A0F-AAEE-6364A14E475E', text: 'Truyền hình số', link: '/task/truyenhinhso', huongdan: Global.App_url };\r\nexport const Archives_BaiVietCho = { id: 'B82D62C4-3589-4EEC-B442-F7C85767A990', text: 'Bài viết chờ duyệt', link: '/task/sitebaivietcho', huongdan: Global.App_url };\r\nexport const Archives_BaiVietBinhLuan = { id: '05EE054A-762F-4942-AC7B-661B8FB0C02E', text: 'Bình luận', link: '/task/sitebaivietbinhluan', huongdan: Global.App_url };\r\nexport const Archives_TuDien = { id: 'A258D31D-5EE7-466C-8DAD-641F0F1B70FB', text: 'Từ điển', link: '/quantri/tudien', huongdan: Global.App_url };\r\n\r\n\r\nexport const Archives = {\r\n id: 'EC60D2A4-3345-490E-96CD-F4954D7DA4C8',\r\n text: 'Website',\r\n link: '',\r\n icon: 'fab fa-internet-explorer',\r\n submenu: [Archives_BaiViet,\r\n Archives_BaiVietCho,\r\n Archives_Video,\r\n Archives_VideoCho,\r\n Archives_BaiVietBinhLuan,\r\n Archives_TuDien\r\n ]\r\n};\r\n\r\nexport const Advertisement = {\r\n id: '9734BF3A-6E36-4D85-8C49-EEE122CAD547',\r\n text: 'Quảng cáo',\r\n link: '/quantri/quangcao',\r\n icon: 'fa fa-volume-up',\r\n submenu: null\r\n};\r\n\r\nexport const Release = {\r\n id: '4C60DBAA-C69E-4878-B214-933D653D4F44',\r\n text: 'Phát hành',\r\n link: '/quantri/phathanh',\r\n icon: 'fa fa-paper-plane',\r\n submenu: null\r\n};\r\n\r\nexport const Library_TaiLieu = {\r\n id: '6EAC2589-462E-4589-9BE0-35E758788A09',\r\n text: 'Thư viện tài liệu',\r\n link: '/quantri/tailieu',\r\n huongdan: Global.App_url\r\n};\r\nexport const Library_Anh = {\r\n id: '756C8AD5-A7C8-445F-89C9-AB70EEA86C64',\r\n text: 'Thư viện ảnh',\r\n link: '/quantri/thuvien',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Library_BinhChon = {\r\n id: '795B4D34-EDAA-486A-B2A6-F5332EE61E32',\r\n text: 'Bình chọn',\r\n link: '/quantri/binhchon',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Library = {\r\n id: '',\r\n text: 'Thư viện',\r\n link: '',\r\n icon: 'fa fa-book',\r\n submenu: [Library_TaiLieu, Library_Anh, Library_BinhChon]\r\n};\r\n\r\nexport const Systems_NguoiDung = {\r\n id: 'CC11D304-2673-40B5-9E2F-295888991A35',\r\n text: 'Người dùng',\r\n link: '/quantri/bao-nguoi-dung',\r\n huongdan: Global.App_url\r\n};\r\nexport const Systems_PhongBan = {\r\n id: '4DEC2574-8660-4055-8B68-7A0E447045D1',\r\n text: 'Phòng ban',\r\n link: '/quantri/phong-ban',\r\n huongdan: Global.App_url\r\n};\r\nexport const Systems_ChucVu = {\r\n id: '766BAEB8-09E0-4F13-8E69-24BB5A3AD2F0',\r\n text: 'Chức vụ',\r\n link: '/quantri/chuc-vu',\r\n huongdan: Global.App_url\r\n};\r\nexport const Systems_MauSac = {\r\n id: 'ABD85401-87F6-4EB8-BD26-2A9713DF53D8',\r\n text: 'Màu sắc',\r\n link: '/quantri/mau-sac',\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Systems_AnPham = {\r\n id: '5E79BF59-78D9-4C54-8EF7-0A242F5CBC24',\r\n text: 'Ấn phẩm',\r\n link: '/quantri/an-pham',\r\n huongdan: Global.App_url\r\n};\r\n\r\n\r\nexport const Systems_MucTin = {\r\n id: 'A2E1B866-FE5D-4013-B65F-60DFA1A14620',\r\n text: 'Mục tin ảnh',\r\n link: '/quantri/muc-tin',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Systems_NhomVideo = {\r\n id: '9C0B41B7-CA5D-494C-9D17-877FDA70E1FF',\r\n text: 'Nhóm video',\r\n link: '/quantri/nhom-tin',\r\n visible: true,\r\n huongdan: Global.App_url\r\n};\r\n\r\nexport const Systems_tinhtp = { id: '2F6B699E-3843-43E7-B2D6-ADCB7C790B40', text: 'Danh mục địa giới hành chính', link: '/danhmuc/tinhtp', huongdan: Global.App_url };\r\nexport const Systems_coquan = { id: 'C984553F-B0E6-454D-BE82-5AB776E76763', text: 'Danh mục cơ quan trung ương, địa phương', link: '/danhmuc/coquan', huongdan: Global.App_url };\r\nexport const Systems_linhvuc = { id: 'C4BF3734-6CA4-4491-9A2C-A6971D28FFE9', text: 'Danh mục lĩnh vực hoạt động của doanh nghiệp', link: '/danhmuc/linhvuc', huongdan: Global.App_url };\r\n\r\nexport const Systems_coquanbaochi = { id: '60C56318-2E55-410B-BCE4-137DD099BC4D', text: 'Danh mục cơ quan báo chí', link: '/danhmuc/coquanbaochi', huongdan: Global.App_url };\r\nexport const Systems_nhaxuatban = { id: '139C1D16-0BE4-488B-88DE-395B209E037D', text: 'Danh mục nhà xuất bản', link: '/danhmuc/nhaxuatban', huongdan: Global.App_url };\r\nexport const Systems_phongvien = { id: '210F1FBE-DC42-43D8-9C79-6548D216761F', text: 'Danh mục phòng viên chính thức', link: '/danhmuc/phongvien', huongdan: Global.App_url };\r\nexport const Systems_congtacvien = { id: '669F83D4-80B9-4FB8-9CE4-70EB50939DB3', text: 'Danh mục cộng tác viên', link: '/danhmuc/congtacvien', huongdan: Global.App_url };\r\nexport const Systems_chuyenmuc = { id: '2693DA95-3EE8-4EA8-9BCB-3AF8B0C59551', text: 'Danh mục chuyên mục tin nội bộ', link: '/quantri/chuyenmuc', huongdan: Global.App_url };\r\n\r\nexport const Systems = {\r\n id: '',\r\n text: 'Quản trị',\r\n link: '',\r\n icon: 'fa fa-cogs',\r\n submenu: [Systems_NguoiDung, Ultil_phanquyen, Systems_PhongBan\r\n , Systems_ChucVu, Systems_AnPham, Systems_MauSac\r\n , Systems_MucTin, Systems_NhomVideo, Systems_chuyenmuc\r\n , Systems_tinhtp, Systems_coquan, Systems_linhvuc\r\n , Systems_coquanbaochi, Systems_nhaxuatban\r\n , Systems_phongvien, Systems_congtacvien\r\n , Ultil_nhatkytruycap]\r\n}; \r\n\r\n\r\nexport const menu = [ \r\n Notify,\r\n Operational,\r\n Archives,\r\n Advertisement,\r\n Release,\r\n Library,\r\n Systems\r\n];\r\n","import { Component, ViewChild, OnInit, Output, Input, HostListener, EventEmitter, ElementRef } from '@angular/core';\r\nimport { Repository } from '../../../services/repository'\r\n\r\n\r\n\r\n@Component({\r\n selector: 'bong-approvers',\r\n template: `\r\n {{ trang }}\r\n {{ trang }}\r\n {{ trang }}\r\n `,\r\n providers: [Repository]\r\n })\r\nexport class BongApproversDirective implements OnInit {\r\n\r\n \r\n renderValue: string;\r\n\r\n @Input() bongid: string | number;\r\n @Input() trang: string | number;\r\n status: number = null;\r\n statusText: any = null;\r\n public userid;\r\n\r\n constructor(private repo: Repository) {\r\n var currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n if (currentUser != null) { \r\n this.userid = currentUser.id;\r\n }\r\n\r\n }\r\n ngOnInit() {\r\n \r\n this.repo.getRequest(\"api/nguoidung/getbongapprovers/\" + this.bongid)\r\n .subscribe(response => {\r\n \r\n var keepGoing = true;\r\n var conguoiduyet = false;\r\n var ndautien=0;\r\n var bfirst=true;\r\n\r\n response.forEach(\r\n (item) => {\r\n if (keepGoing && item.TrangThaiDuyet != 'Đã duyệt' && item.NguoiXuLyId!=ndautien) {\r\n keepGoing = false; \r\n this.statusText = 'Đang duyệt' \r\n }\r\n\r\n if(bfirst)\r\n {\r\n bfirst = false;\r\n ndautien = item.NguoiXuLyId;\r\n }\r\n \r\n \r\n \r\n if (item.NguoiXuLyId == this.userid) { \r\n conguoiduyet = true;\r\n }\r\n\r\n })\r\n if (keepGoing) {\r\n this.status = 0\r\n this.statusText = 'Hoàn thành'\r\n }\r\n else {\r\n if (conguoiduyet) {\r\n this.status = 1;\r\n } else {\r\n this.status = 2;\r\n }\r\n\r\n console.log(this.status);\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { Component, ViewChild, OnInit, Output, Input, Pipe, PipeTransform , ElementRef } from '@angular/core';\r\nimport { Repository } from '../../../services/repository'\r\nimport { DomSanitizer } from '@angular/platform-browser'\r\n\r\n\r\n@Component({\r\n selector: 'plan-status',\r\n template: `\r\n {{ statusText }}\r\n {{ statusText }}\r\n `,\r\n providers: [Repository]\r\n })\r\nexport class PlanStatusDirective implements OnInit {\r\n\r\n \r\n renderValue: string;\r\n\r\n @Input() articleid: string | number;\r\n status: any = null;\r\n statusText: any = null;\r\n constructor(private repo: Repository) {\r\n\r\n\r\n }\r\n ngOnInit() {\r\n this.repo.getRequest(\"api/kehoach/getplanapprovers/\" + this.articleid)\r\n .subscribe(response => {\r\n \r\n var keepGoing = true;\r\n response.forEach(\r\n (item) => {\r\n if (keepGoing && item.TrangThaiDuyet != 'Đã duyệt' && item.TrangThaiDuyet != 'Hoàn thành') {\r\n keepGoing = false;\r\n this.status = 'Continue'\r\n this.statusText = 'Đang duyệt'\r\n }\r\n })\r\n if (keepGoing) {\r\n this.status = 'Completed'\r\n this.statusText = 'Hoàn thành'\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n@Pipe({ name: 'safeHtml' })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) { }\r\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Global } from '../shared/global';\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport \"rxjs/add/operator/map\";\r\nimport { ErrorHandlerService, ValidationError } from \"./errorhandler.servic\";\r\nimport \"rxjs/add/operator/catch\";\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { retry } from 'rxjs-compat/operator/retry';\r\n\r\n@Injectable()\r\nexport class Repository {\r\n\r\n private token: string = \"\";\r\n private username: string = \"\";\r\n private data: any;\r\n\r\n toaster: any;\r\n\r\n constructor(private http: HttpClient\r\n , public toasterService: ToasterService \r\n ) {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n public postPdf(url: string, data?: any): Observable {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n let httpHeaders = new HttpHeaders()\r\n .set('authorization', 'Bearer ' + this.token)\r\n .set('Content-Type', 'application/json');\r\n\r\n return this.http.post(Global.App_url + url, data, {\r\n headers: httpHeaders,\r\n observe: 'response',\r\n responseType: 'blob'\r\n }).catch((err: HttpErrorResponse) => {\r\n //console.log(\"tt\");\r\n //console.log(err);\r\n //console.log(err.message);\r\n \r\n if (err.status == 404) {\r\n //var thongbao = new Blob([err.error.Blob], { type: 'application/json' });\r\n //alert(\"Không có dữ liệu hoặc đã có lỗi xảy ra!\");\r\n return \"L\";\r\n }\r\n //if (err.status == 404) {\r\n // var byte = new Uint8Array(err.error);\r\n // var thongbao = new String(byte);\r\n // console.log(thongbao);\r\n // console.log(byte.length);\r\n //}\r\n if (err.statusText == \"Unknown Error\") {\r\n this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n }\r\n if (err.status == 401) {\r\n location.href = '/#/login';\r\n\r\n }\r\n else {\r\n\r\n if (err.error instanceof Error) {\r\n } else {\r\n }\r\n }\r\n return null;\r\n });\r\n\r\n }\r\n\r\n public postRequest(url: string, data?: any): Observable {\r\n // if (this.token == null || this.token == \"\") {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n // }\r\n let httpHeaders = new HttpHeaders()\r\n .set('authorization', 'Bearer ' + this.token)\r\n .set('Content-Type', 'application/json');\r\n\r\n return this.http.post(Global.App_url + url, data, {\r\n headers: httpHeaders, \r\n responseType: 'json'\r\n }).catch((err: HttpErrorResponse) => {\r\n //console.error('An error occurred:', err);\r\n \r\n //console.log(err);\r\n if (err.status == 404) {\r\n if (err.error.message == \"Loi:There are not visible sheets on the file\")\r\n alert(\"Không có dữ liệu để in!\");\r\n else\r\n alert(err.error.message);\r\n }\r\n if (err.statusText == \"Unknown Error\") {\r\n this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n }\r\n if (err.status == 401) {\r\n location.href = '/#/login';\r\n\r\n }\r\n else {\r\n\r\n if (err.error instanceof Error) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n //console.error('An error occurred:', err.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n //console.error(`Backend returned code ${err.status}, body was: ${err.error}`);\r\n }\r\n }\r\n // ...optionally return a default fallback value so app can continue (pick one)\r\n // which could be a default value\r\n // return Observable.of({my: \"default value...\"});\r\n // or simply an empty observable\r\n return null;\r\n });\r\n\r\n }\r\n\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('currentUser'); \r\n //localStorage.clear();\r\n }\r\n\r\n public getCC(url: string)\r\n : Observable {\r\n\r\n\r\n\r\n //if (this.token == null || this.token == \"\") {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n //}\r\n\r\n //console.log(this.token);\r\n\r\n let httpHeaders = new HttpHeaders()\r\n .set('authorization', 'Bearer ' + this.token)\r\n .set('Content-Type', 'application/json');\r\n\r\n return this.http.get(Global.App_web + url, {\r\n headers: httpHeaders, \r\n responseType: 'json'\r\n }).catch((err: HttpErrorResponse) => {\r\n console.error('An error occurred:', err);\r\n\r\n if (err.statusText == \"Unknown Error\") {\r\n this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n }\r\n if (err.status == 401) {\r\n location.href = '/#/login';\r\n }\r\n else {\r\n //this.toasterService.pop('error', null, err.messag);\r\n if (err.error instanceof Error) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n //console.error('An error occurred:', err.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n //console.error(`Backend returned code ${err.status}, body was: ${err.error}`);\r\n }\r\n }\r\n // ...optionally return a default fallback value so app can continue (pick one)\r\n // which could be a default value\r\n // return Observable.of({my: \"default value...\"});\r\n // or simply an empty observable\r\n return null;\r\n });\r\n\r\n }\r\n\r\n public getRequest(url: string, data?: any)\r\n : Observable {\r\n\r\n\r\n\r\n //if (this.token == null || this.token == \"\") {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n //}\r\n\r\n //console.log(this.token);\r\n\r\n let httpHeaders = new HttpHeaders()\r\n .set('authorization', 'Bearer ' + this.token)\r\n .set('Content-Type', 'application/json');\r\n\r\n return this.http.get(Global.App_url + url, {\r\n headers: httpHeaders,\r\n params: data,\r\n responseType: 'json'\r\n }).catch((err: HttpErrorResponse) => {\r\n console.error('An error occurred:', err);\r\n \r\n if (err.statusText == \"Unknown Error\") {\r\n this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n }\r\n if (err.status == 401) {\r\n location.href = '/#/login';\r\n }\r\n else {\r\n //this.toasterService.pop('error', null, err.messag);\r\n if (err.error instanceof Error) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n //console.error('An error occurred:', err.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n //console.error(`Backend returned code ${err.status}, body was: ${err.error}`);\r\n }\r\n }\r\n // ...optionally return a default fallback value so app can continue (pick one)\r\n // which could be a default value\r\n // return Observable.of({my: \"default value...\"});\r\n // or simply an empty observable\r\n return null;\r\n });\r\n\r\n }\r\n public getRequestRR(url: string, data?: any)\r\n : Observable {\r\n\r\n\r\n\r\n //if (this.token == null || this.token == \"\") {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n //}\r\n\r\n //console.log(this.token);\r\n\r\n let httpHeaders = new HttpHeaders()\r\n .set('authorization', 'Bearer ' + this.token)\r\n .set('Content-Type', 'application/json');\r\n\r\n return this.http.get( url, {\r\n headers: httpHeaders,\r\n params: data,\r\n responseType: 'json'\r\n }).catch((err: HttpErrorResponse) => {\r\n console.error('An error occurred:', err);\r\n \r\n if (err.statusText == \"Unknown Error\") {\r\n this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n }\r\n if (err.status == 401) {\r\n location.href = '/#/login';\r\n }\r\n else {\r\n //this.toasterService.pop('error', null, err.messag);\r\n if (err.error instanceof Error) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n //console.error('An error occurred:', err.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n //console.error(`Backend returned code ${err.status}, body was: ${err.error}`);\r\n }\r\n }\r\n // ...optionally return a default fallback value so app can continue (pick one)\r\n // which could be a default value\r\n // return Observable.of({my: \"default value...\"});\r\n // or simply an empty observable\r\n return null;\r\n });\r\n\r\n }\r\n\r\n public NgonNgu(text: string) {\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n // khác 1 thì truy cập lại controller để lấy giá trị \r\n if (this.data.ds_ngonngu != null && (this.data.ngon_ngu !== null ? this.data.ngon_ngu : \"1\") != \"1\") {\r\n var giatri = this.data.ds_ngonngu.filter(name => name.Ten.toLowerCase() === text.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n if (giatri[0].GiaTri == null || giatri[0].GiaTri == \"\") {\r\n this.postRequest('api/donvi/addorupdate_ngonngu', { Ten: text, Id: (this.data.ngon_ngu !== null ? this.data.ngon_ngu : \"1\") })\r\n .subscribe(response => {\r\n\r\n });\r\n return text;\r\n }\r\n else {\r\n return giatri[0].GiaTri;\r\n }\r\n }\r\n else {\r\n this.postRequest('api/donvi/addorupdate_ngonngu', { Ten: text, Id: (this.data.ngon_ngu !== null ? this.data.ngon_ngu : \"1\") })\r\n .subscribe(response => {\r\n return response;\r\n });\r\n }\r\n }\r\n else {\r\n this.postRequest('api/donvi/addorupdate_ngonngu', { Ten: text, Id: (this.data.ngon_ngu !== null ? this.data.ngon_ngu : \"1\") })\r\n .subscribe(response => {\r\n\r\n });\r\n return text;\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n@Injectable()\r\nexport class WindowRef {\r\n constructor() { }\r\n\r\n getNativeWindow() {\r\n return window;\r\n }\r\n}\r\n//@Injectable()\r\n//export class LocalizeService {\r\n\r\n// private token: string = \"\";\r\n// private username: string = \"\";\r\n// private data: any;\r\n\r\n// toaster: any;\r\n\r\n// constructor(private http: HttpClient\r\n// , public toasterService: ToasterService\r\n// ) {\r\n\r\n// this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n// if (this.data != null) {\r\n// this.token = this.data.access_token;\r\n\r\n// }\r\n// }\r\n\r\n\r\n// public Localize(url: string, data?: any): Observable {\r\n\r\n\r\n// let httpHeaders = new HttpHeaders()\r\n// .set('authorization', 'Bearer ' + this.token)\r\n// .set('Content-Type', 'application/json');\r\n// if (this.data.Localize != null) {\r\n// var giatri = this.data.Localize.filter(name => name.text.toLowerCase() === data.text.toLowerCase());\r\n// if (giatri != null && giatri.length > 0) {\r\n// if (giatri[0].value == null || giatri[0].value == \"\") {\r\n// return data.text;\r\n// }\r\n// else {\r\n// //return this.http.post(Global.App_url + url, data, {\r\n// // headers: httpHeaders,\r\n// // observe: 'response',\r\n// // responseType: 'blob'\r\n// //}).catch((err: HttpErrorResponse) => {\r\n// // $('#loading').hide();\r\n// // if (err.status == 404) {\r\n// // return \"L\";\r\n// // }\r\n// // if (err.statusText == \"Unknown Error\") {\r\n// // this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n// // }\r\n// // if (err.status == 401) {\r\n// // location.href = '/#/login';\r\n\r\n// // }\r\n// // else {\r\n\r\n// // if (err.error instanceof Error) {\r\n// // } else {\r\n// // }\r\n// // }\r\n// // return null;\r\n// //});\r\n// return data.text;\r\n// }\r\n// }\r\n// }\r\n// else {\r\n// return data.text;\r\n// }\r\n\r\n\r\n// }\r\n\r\n//}\r\n","import { Directive, ElementRef } from '@angular/core';\r\ndeclare var $: any;\r\n\r\n@Directive({\r\n selector: '[checkAll]'\r\n})\r\nexport class CheckallDirective {\r\n\r\n constructor(public el: ElementRef) {\r\n let $element = $(el.nativeElement);\r\n\r\n $element.on('change', function() {\r\n let index = $element.index() + 1,\r\n checkbox = $element.find('input[type=\"checkbox\"]'),\r\n table = $element.parents('table');\r\n // Make sure to affect only the correct checkbox column\r\n table.find('tbody > tr > td:nth-child(' + index + ') input[type=\"checkbox\"]')\r\n .prop('checked', checkbox[0].checked);\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { Component, ViewChild, OnInit, Output, Input, HostListener, EventEmitter, ElementRef } from '@angular/core';\r\nimport { Repository } from '../../../services/repository'\r\n\r\n\r\n\r\n@Component({\r\n selector: 'article-approvers-avatar',\r\n template: `\r\n \\\r\n \"image\" \\\r\n \r\n \r\n `,\r\n providers: [Repository]\r\n })\r\nexport class ArticleApproversAvatarDirective implements OnInit {\r\n\r\n \r\n renderValue: string;\r\n\r\n @Input() articleid: string | number;\r\n @Input() userid: string | number;\r\n @Output() completeEvent: EventEmitter = new EventEmitter();\r\n\r\n approvers: any = [];\r\n\r\n status: any = null;\r\n statusText: any = null;\r\n \r\n constructor(private repo: Repository) {\r\n\r\n \r\n }\r\n ngOnInit() {\r\n this.repo.getRequest(\"api/nguoidung/getarticleapprovers/\" + this.articleid)\r\n .subscribe(response => {\r\n this.approvers = response;\r\n\r\n var keepGoing = true;\r\n var denm = 0;\r\n response.forEach(\r\n (item) => {\r\n\r\n if (keepGoing && item.TrangThaiDuyet != 'Đã duyệt' && item.TrangThaiDuyet != 'Hoàn thành') {\r\n keepGoing = false;\r\n this.status = 'Continue'\r\n this.statusText = 'Đang duyệt'\r\n }\r\n\r\n if (item.NguoiTao2 == this.userid)\r\n denm = 1;\r\n })\r\n if (keepGoing) {\r\n this.status = 'Completed'\r\n this.statusText = 'Hoàn thành'\r\n }\r\n\r\n if (response.length == 1)\r\n this.completeEvent.emit({ soduyet: 0, status: this.status, statusText: this.statusText, duyet: denm });\r\n else\r\n this.completeEvent.emit({ soduyet: 1, status: this.status, statusText: this.statusText, duyet: denm });\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Injector, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\ndeclare var $: any;\r\n\r\nimport { MenuService } from '../../core/menu/menu.service';\r\nimport { SettingsService } from '../../core/settings/settings.service';\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss']\r\n})\r\nexport class SidebarComponent implements OnInit, OnDestroy {\r\n\r\n menuItems: Array;\r\n router: Router;\r\n sbclickEvent = 'click.sidebar-toggle';\r\n $doc: any = null;\r\n\r\n constructor(public menu: MenuService, public settings: SettingsService, public injector: Injector) {\r\n\r\n this.menuItems = menu.getMenu();\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.router = this.injector.get(Router);\r\n\r\n this.router.events.subscribe((val) => {\r\n // close any submenu opened when route changes\r\n this.removeFloatingNav();\r\n // scroll view to top\r\n window.scrollTo(0, 0);\r\n // close sidebar on route change\r\n this.settings.setLayoutSetting('asideToggled', false);\r\n });\r\n\r\n // enable sidebar autoclose from extenal clicks\r\n this.anyClickClose();\r\n\r\n }\r\n\r\n anyClickClose() {\r\n this.$doc = $(document).on(this.sbclickEvent, (e) => {\r\n if (!$(e.target).parents('.aside-container').length) {\r\n this.settings.setLayoutSetting('asideToggled', false);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.$doc)\r\n this.$doc.off(this.sbclickEvent);\r\n }\r\n\r\n toggleSubmenuClick(event) {\r\n\r\n event.preventDefault();\r\n\r\n if (!this.isSidebarCollapsed() && !this.isSidebarCollapsedText() && !this.isEnabledHover()) {\r\n\r\n let ul = $(event.currentTarget.nextElementSibling);\r\n\r\n // hide other submenus\r\n let parentNav = ul.parents('.sidebar-subnav');\r\n $('.sidebar-subnav').each((idx, el) => {\r\n let $el = $(el);\r\n // if element is not a parent or self ul\r\n if (el !== parentNav[0] && el !== ul[0]) {\r\n this.closeMenu($el);\r\n }\r\n });\r\n\r\n // abort if not UL to process\r\n if (!ul.length) {\r\n return;\r\n }\r\n\r\n // any child menu should start closed\r\n ul.find('.sidebar-subnav').each((idx, el) => {\r\n this.closeMenu($(el));\r\n });\r\n\r\n // toggle UL height\r\n const ulHeight = ul.css('height')\r\n if (ulHeight === 'auto' || parseInt(ulHeight, 10)) {\r\n this.closeMenu(ul);\r\n }\r\n else {\r\n // expand menu\r\n ul.on('transitionend', () => {\r\n ul.css('height', 'auto').off('transitionend');\r\n }).css('height', ul[0].scrollHeight);\r\n // add class to manage animation\r\n ul.addClass('opening');\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n // Close menu collapsing height\r\n closeMenu(elem) {\r\n elem.css('height', elem[0].scrollHeight); // set height\r\n elem.css('height', 0); // and move to zero to collapse\r\n elem.removeClass('opening');\r\n }\r\n\r\n toggleSubmenuHover(event) {\r\n let self = this;\r\n if (this.isSidebarCollapsed() || this.isSidebarCollapsedText() || this.isEnabledHover()) {\r\n event.preventDefault();\r\n\r\n this.removeFloatingNav();\r\n\r\n let ul = $(event.currentTarget.nextElementSibling);\r\n let anchor = $(event.currentTarget);\r\n\r\n if (!ul.length) {\r\n return; // if not submenu return\r\n }\r\n\r\n let $aside = $('.aside-container');\r\n let $asideInner = $aside.children('.aside-inner'); // for top offset calculation\r\n let $sidebar = $asideInner.children('.sidebar');\r\n let mar = parseInt($asideInner.css('padding-top'), 0) + parseInt($aside.css('padding-top'), 0);\r\n let itemTop = ((anchor.parent().position().top) + mar) - $sidebar.scrollTop();\r\n\r\n let floatingNav = ul.clone().appendTo($aside);\r\n let vwHeight = document.body.clientHeight;\r\n\r\n // let itemTop = anchor.position().top || anchor.offset().top;\r\n\r\n floatingNav\r\n .addClass('nav-floating')\r\n\r\n // each item has ~40px height\r\n // multiply to force space for at least N items\r\n var safeOffsetValue = (40 * 5)\r\n var navHeight = floatingNav.outerHeight(true) + 2; // 2px border\r\n var safeOffset = navHeight < safeOffsetValue ? navHeight : safeOffsetValue;\r\n\r\n var displacement = 25; // displacement in px from bottom\r\n\r\n // if not enough space to show N items, use then calculated 'safeOffset'\r\n var menuTop = (vwHeight - itemTop > safeOffset) ? itemTop : (vwHeight - safeOffset - displacement);\r\n\r\n floatingNav\r\n .removeClass('opening') // necesary for demo if switched between normal//collapsed mode\r\n .css({\r\n position: this.settings.getLayoutSetting('isFixed') ? 'fixed' : 'absolute',\r\n top: menuTop,\r\n bottom: (floatingNav.outerHeight(true) + menuTop > vwHeight) ? (displacement+'px') : 'auto'\r\n });\r\n\r\n floatingNav\r\n .on('mouseleave', () => { floatingNav.remove(); })\r\n .find('a').on('click', function(e) {\r\n e.preventDefault(); // prevents page reload on click\r\n // get the exact route path to navigate\r\n let routeTo = $(this).attr('route');\r\n if (routeTo) self.router.navigate([routeTo]);\r\n });\r\n\r\n this.listenForExternalClicks();\r\n\r\n }\r\n\r\n }\r\n\r\n listenForExternalClicks() {\r\n let $doc = $(document).on('click.sidebar', (e) => {\r\n if (!$(e.target).parents('.aside-container').length) {\r\n this.removeFloatingNav();\r\n $doc.off('click.sidebar');\r\n }\r\n });\r\n }\r\n\r\n removeFloatingNav() {\r\n $('.nav-floating').remove();\r\n }\r\n\r\n isSidebarCollapsed() {\r\n return this.settings.getLayoutSetting('isCollapsed');\r\n }\r\n isSidebarCollapsedText() {\r\n return this.settings.getLayoutSetting('isCollapsedText');\r\n }\r\n isEnabledHover() {\r\n return this.settings.getLayoutSetting('asideHover');\r\n }\r\n}\r\n","\r\n\r\n\r\n","import { OnInit, OnDestroy, Directive, Input, ElementRef } from '@angular/core';\r\nimport * as moment from 'moment';\r\n\r\n@Directive({\r\n selector: '[now]'\r\n})\r\nexport class NowDirective implements OnInit, OnDestroy {\r\n\r\n @Input() format;\r\n intervalId;\r\n\r\n constructor(public element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n this.updateTime();\r\n this.intervalId = setInterval(this.updateTime.bind(this), 1000);\r\n }\r\n\r\n updateTime() {\r\n let dt = moment().format(this.format);\r\n this.element.nativeElement.innerHTML = dt;\r\n }\r\n\r\n ngOnDestroy() {\r\n clearInterval(this.intervalId);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n\r\n@Injectable()\r\nexport class SettingsService {\r\n\r\n public user: any;\r\n public app: any;\r\n public layout: any;\r\n\r\n constructor() {\r\n\r\n // User Settings\r\n // -----------------------------------\r\n this.user = {\r\n name: 'John',\r\n job: 'ng-developer',\r\n picture: 'assets/img/user/02.jpg'\r\n };\r\n\r\n // App Settings\r\n // -----------------------------------\r\n this.app = {\r\n name: '',\r\n description: 'Hệ thống phần mềm quản lý báo VP',\r\n year: ((new Date()).getFullYear()),\r\n diem_doi_tien: null,\r\n thue_suat_vat: null,\r\n user_name: null,\r\n id_don_vi: null,\r\n ten_don_vi: null,\r\n ap_dung_tich_diem: null,\r\n tien_doi_diem: null,\r\n ap_dung_doi_diem: null,\r\n the_bac: null,\r\n the_vang: null,\r\n the_bach_kim: null,\r\n the_kim_cuong: null,\r\n ap_dung_tich_diem_san_pham: null,\r\n ap_dung_tich_diem_dich_vu: null\r\n\r\n };\r\n\r\n // Layout Settings\r\n // -----------------------------------\r\n this.layout = {\r\n isFixed: true,\r\n isCollapsed: true,\r\n isBoxed: false,\r\n isRTL: false,\r\n horizontal: false,\r\n isFloat: false,\r\n asideHover: false,\r\n theme: null,\r\n asideScrollbar: false,\r\n isCollapsedText: false,\r\n useFullLayout: false,\r\n hiddenFooter: false,\r\n offsidebarOpen: false,\r\n asideToggled: false,\r\n viewAnimation: 'ng-fadeInUp'\r\n };\r\n\r\n }\r\n\r\n getAppSetting(name) {\r\n return name ? this.app[name] : this.app;\r\n }\r\n getUserSetting(name) {\r\n return name ? this.user[name] : this.user;\r\n }\r\n getLayoutSetting(name) {\r\n return name ? this.layout[name] : this.layout;\r\n }\r\n\r\n setAppSetting(name, value) {\r\n if (typeof this.app[name] !== 'undefined') {\r\n this.app[name] = value;\r\n }\r\n }\r\n setUserSetting(name, value) {\r\n if (typeof this.user[name] !== 'undefined') {\r\n this.user[name] = value;\r\n }\r\n }\r\n setLayoutSetting(name, value) {\r\n if (typeof this.layout[name] !== 'undefined') {\r\n return this.layout[name] = value;\r\n }\r\n }\r\n\r\n toggleLayoutSetting(name) {\r\n return this.setLayoutSetting(name, !this.getLayoutSetting(name));\r\n }\r\n\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ToastrModule } from 'ngx-toastr';\r\n\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { AlertModule } from 'ngx-bootstrap/alert';\r\nimport { ButtonsModule } from 'ngx-bootstrap/buttons';\r\nimport { CarouselModule } from 'ngx-bootstrap/carousel';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { ProgressbarModule } from 'ngx-bootstrap/progressbar';\r\nimport { RatingModule } from 'ngx-bootstrap/rating';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\r\nimport { DatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\n\r\n\r\nimport { ColorsService } from './colors/colors.service';\r\nimport { CheckallDirective } from './directives/checkall/checkall.directive';\r\nimport { NowDirective } from './directives/now/now.directive';\r\nimport { ScrollableDirective } from './directives/scrollable/scrollable.directive';\r\nimport { ArticleApproversAvatarDirective } from './directives/approversavatar/articleapproversavatar.directive';\r\nimport { PlanApproversAvatarDirective } from './directives/approversavatar/planapproversavatar.directive';\r\nimport { ArticleStatusDirective } from './directives/approversavatar/articlestatus.directive';\r\nimport { PlanStatusDirective } from './directives/approversavatar/planstatus.directive';\r\nimport { SafeHtmlPipe } from './directives/approversavatar/planstatus.directive';\r\nimport { BongApproversDirective } from './directives/approversavatar/bongapprovers.directive';\r\n\r\nimport { Repository } from '../services/repository'\r\nimport { ToolDataService } from '../services/tooldata.service'\r\nimport { AuthorizationService } from '../services/authorization.service'\r\n//import { ToasterModule, ToasterService } from 'angular2-toaster';\r\nimport { ToastModule } from '@syncfusion/ej2-angular-notifications';\r\n\r\nimport { DialogModule } from '@syncfusion/ej2-angular-popups';\r\nimport { MaskedTextBoxModule, NumericTextBoxModule } from '@syncfusion/ej2-angular-inputs';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n//import { NgxPhotoEditorModule } from \"ngx-photo-editor\";\r\nimport { TextBoxModule } from '@syncfusion/ej2-angular-inputs';\r\n\r\nimport { DatePickerModule, DateTimePickerModule, TimePickerModule } from '@syncfusion/ej2-angular-calendars';\r\nimport { CheckBoxModule, ButtonModule, SwitchModule, RadioButtonModule } from '@syncfusion/ej2-angular-buttons';\r\nimport { ScheduleAllModule, RecurrenceEditorAllModule } from '@syncfusion/ej2-angular-schedule';\r\nimport { FileManagerAllModule } from '@syncfusion/ej2-angular-filemanager';\r\nimport { GridAllModule } from '@syncfusion/ej2-angular-grids';\r\nimport { MultiSelectAllModule, DropDownListModule } from '@syncfusion/ej2-angular-dropdowns';\r\nimport { UploaderModule } from '@syncfusion/ej2-angular-inputs';\r\nimport { DropDownButtonModule, SplitButtonModule, ProgressButtonModule } from '@syncfusion/ej2-angular-splitbuttons';\r\nimport { TreeGridAllModule } from '@syncfusion/ej2-angular-treegrid';\r\nimport { RichTextEditorAllModule } from '@syncfusion/ej2-angular-richtexteditor';\r\nimport { ToolbarModule, TreeViewModule, ContextMenuModule, TabAllModule } from '@syncfusion/ej2-angular-navigations';\r\nimport { ListViewAllModule } from '@syncfusion/ej2-angular-lists';\r\nimport { NgxCurrencyModule } from \"ngx-currency\";\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { CKEditorModule } from 'ckeditor4-angular';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\n//import { ImageEditorModule } from '@syncfusion/ej2-angular-image-editor';\r\n\r\n\r\nimport { quatrinhdaotaoComponent } from './components/daotao/quatrinhdaotao.component'\r\nimport { dkycanboeditComponent } from './components/tonghop/dkycanboedit.component'\r\nimport { filemanagerComponent } from './components/quantri/filemanager.component'\r\nimport { phanheeditComponent } from './components/quantri/phanheedit.component'\r\nimport { importeditComponent } from './components/tonghop/importedit.component'\r\nimport { danhmucchungeditComponent } from './components/danhmuc/danhmucchungedit.component'\r\nimport { loaicauhoieditComponent } from './components/danhmuc/loaicauhoiedit.component'\r\nimport { loaithieditComponent } from './components/danhmuc/loaithiedit.component'\r\nimport { choncanboeditComponent } from './components/tonghop/choncanboedit.component'\r\nimport { danhsachthieditComponent } from './components/danhmuc/danhsachthiedit.component'\r\nimport { ngayhethaneditComponent } from './components/danhmuc/ngayhethanedit.component'\r\n\r\nimport { choncauhoieditComponent } from './components/tonghop/choncauhoiedit.component'\r\n// https://angular.io/styleguide#!#04-10\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n AccordionModule.forRoot(),\r\n AlertModule.forRoot(),\r\n ButtonsModule.forRoot(),\r\n CarouselModule.forRoot(),\r\n CollapseModule.forRoot(),\r\n DatepickerModule.forRoot(),\r\n BsDatepickerModule.forRoot(),\r\n BsDropdownModule.forRoot(),\r\n ModalModule.forRoot(),\r\n PaginationModule.forRoot(),\r\n ProgressbarModule.forRoot(),\r\n RatingModule.forRoot(),\r\n TabsModule.forRoot(),\r\n TimepickerModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n PopoverModule.forRoot(),\r\n TypeaheadModule.forRoot(),\r\n ToastrModule.forRoot(),\r\n //ToasterModule,\r\n ToastModule,\r\n NgSelectModule,\r\n //NgxPhotoEditorModule,\r\n DialogModule,\r\n MultiSelectAllModule,\r\n DropDownListModule,\r\n MaskedTextBoxModule,\r\n DropDownButtonModule,\r\n TreeGridAllModule,\r\n RichTextEditorAllModule,\r\n ListViewAllModule,\r\n ToolbarModule,\r\n TreeViewModule,\r\n TabAllModule,\r\n CheckBoxModule,\r\n RadioButtonModule,\r\n ButtonModule,\r\n SwitchModule,\r\n TextBoxModule,\r\n CKEditorModule,\r\n //ImageEditorModule,\r\n NumericTextBoxModule,\r\n \r\n DatePickerModule,\r\n DateTimePickerModule,\r\n TimePickerModule,\r\n RecurrenceEditorAllModule,\r\n ScheduleAllModule,\r\n FileManagerAllModule,\r\n ContextMenuModule,\r\n GridAllModule,\r\n NgxCurrencyModule,\r\n FileUploadModule,\r\n UploaderModule,\r\n NgxSpinnerModule,\r\n \r\n ],\r\n providers: [ColorsService,\r\n Repository,\r\n ToolDataService,\r\n AuthorizationService,\r\n //ToasterService,\r\n ],\r\n declarations: [\r\n \r\n CheckallDirective,\r\n \r\n NowDirective,\r\n ScrollableDirective,\r\n ArticleApproversAvatarDirective,\r\n PlanApproversAvatarDirective,\r\n ArticleStatusDirective,\r\n PlanStatusDirective,\r\n SafeHtmlPipe,\r\n BongApproversDirective,\r\n //DynamicComponentDirective,\r\n\r\n quatrinhdaotaoComponent,\r\n dkycanboeditComponent,\r\n filemanagerComponent,\r\n phanheeditComponent,\r\n importeditComponent,\r\n danhmucchungeditComponent,\r\n loaicauhoieditComponent,\r\n loaithieditComponent,\r\n choncanboeditComponent,\r\n danhsachthieditComponent,\r\n ngayhethaneditComponent,\r\n choncauhoieditComponent,\r\n ],\r\n exports: [\r\n CommonModule,\r\n FormsModule, \r\n ReactiveFormsModule,\r\n TranslateModule,\r\n RouterModule,\r\n AccordionModule,\r\n AlertModule,\r\n ButtonsModule,\r\n CarouselModule,\r\n CollapseModule,\r\n DatepickerModule,\r\n BsDatepickerModule,\r\n BsDropdownModule,\r\n ModalModule,\r\n PaginationModule,\r\n ProgressbarModule,\r\n RatingModule,\r\n TabsModule,\r\n TimepickerModule,\r\n TooltipModule,\r\n PopoverModule,\r\n TypeaheadModule,\r\n ToastrModule,\r\n CKEditorModule,\r\n //ImageEditorModule,\r\n CheckallDirective,\r\n ContextMenuModule,\r\n NowDirective,\r\n ScrollableDirective,\r\n ArticleApproversAvatarDirective,\r\n PlanApproversAvatarDirective,\r\n ArticleStatusDirective,\r\n PlanStatusDirective,\r\n SafeHtmlPipe,\r\n BongApproversDirective,\r\n //DynamicComponentDirective,\r\n\r\n //ToasterModule,\r\n ToastModule,\r\n DialogModule,\r\n MultiSelectAllModule,\r\n DropDownListModule,\r\n MaskedTextBoxModule,\r\n DropDownButtonModule,\r\n TreeGridAllModule,\r\n RichTextEditorAllModule,\r\n ListViewAllModule,\r\n ToolbarModule,\r\n TreeViewModule,\r\n TabAllModule,\r\n CheckBoxModule,\r\n RadioButtonModule,\r\n SwitchModule,\r\n TextBoxModule,\r\n ButtonModule,\r\n NumericTextBoxModule,\r\n NgSelectModule,\r\n // NgxPhotoEditorModule,\r\n DatePickerModule,\r\n DateTimePickerModule,\r\n TimePickerModule,\r\n RecurrenceEditorAllModule,\r\n ScheduleAllModule,\r\n FileManagerAllModule, \r\n \r\n GridAllModule,\r\n NgxCurrencyModule,\r\n //NgxTreeSelectModule,\r\n FileUploadModule,\r\n UploaderModule,\r\n NgxSpinnerModule,\r\n\r\n quatrinhdaotaoComponent,\r\n dkycanboeditComponent,\r\n filemanagerComponent,\r\n phanheeditComponent,\r\n importeditComponent,\r\n danhmucchungeditComponent,\r\n loaicauhoieditComponent,\r\n loaithieditComponent,\r\n choncanboeditComponent,\r\n danhsachthieditComponent,\r\n ngayhethaneditComponent,\r\n choncauhoieditComponent,\r\n ],\r\n})\r\n\r\n// https://github.com/ocombe/ng2-translate/issues/209\r\nexport class SharedModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: SharedModule,\r\n };\r\n }\r\n}\r\n","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #fff;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #f05050;\\n background-image: linear-gradient(to right, #f05050 0%, #f47f7f 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #ee3434 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #c91111;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #f05050;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #f05050;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #fcfcfc;\\n color: #f05050;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #f05050;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #f05050;\\n}\\n.sidebar-subnav {\\n background-color: #fff;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #f05050;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #f05050;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #f05050;\\n background-color: #f05050;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxcdGhlbWUtZC5zY3NzIiwiLi5cXC4uXFwuLlxcLi5cXC4uXFwuLlxcYXBwXFx2YXJpYWJsZXMuc2NzcyIsIi4uXFwuLlxcLi5cXC4uXFwuLlxcLi5cXGJvb3RzdHJhcFxcbWl4aW5zXFxfZ3JhZGllbnRzLnNjc3MiLCIuLlxcLi5cXC4uXFwuLlxcLi5cXC4uXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQUpoQztBQWdEQTtFQUNJLHNCQTVDNEI7QUFEaEM7QUFnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkN6Q29CO0VDTnRCLHFFQUFBO0VBQ0EsMkJBQUE7QUZHRjtBRzBDSTtFSE1RO0lBQ0ksa0NBQUE7RUE3Q2Q7QUFDRjtBQWlESTtFQUNJLFdBdER3QjtBQU9oQztBQWtESTs7RUFFSSxXQTNEd0I7QUFXaEM7QUFpRFE7OztFQUNJLGNBNURvQjtBQWVoQztBQWlESTtFQUNJLHlCQ2pFZ0I7QURrQnhCO0FBbURBOzs2RUFBQTtBQUdBO0VBQ0ksc0JBbkY0QjtBQW1DaEM7QUFrREk7RUFDSSxjQTVEMEI7QUFZbEM7QUF1RFE7RUFDSSxjQTlFc0I7QUEwQmxDO0FBc0RZO0VBQ0ksY0N2RlE7QURtQ3hCO0FBd0RZO0VBQ0ksZUFsRmtCO0FBNEJsQztBQTZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNDckdRO0FEMEN4QjtBQThEWTtFQUNJLGNDekdRO0FENkN4QjtBQWlFUTtFQUNJLDBCQy9HWTtBRGdEeEI7QUFzRUE7RUFDSSxzQkFqSTRCO0FBOERoQztBQXFFSTtFQUNJLGNBcEgwQjtBQWlEbEM7QUF1RVE7RUFDSSxjQXpIc0I7QUFvRGxDO0FBdUVZO0VBQ0ksY0NsSVE7QUQ2RHhCO0FBMkVZO0VBQ0ksY0N6SVE7QURnRXhCO0FBMkVnQjtFQUNJLHFCQzVJSTtFRDZJSix5QkM3SUk7QURvRXhCO0FBb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjQ3JDUztBRDVDYiIsImZpbGUiOiJ0aGVtZS1kLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCb290c3RyYXBcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9taXhpbnNcIjtcclxuQGltcG9ydCAnLi4vYXBwL3ZhcmlhYmxlcyc7XHJcblxyXG5cclxuLy8gTEFZT1VUXHJcblxyXG4kY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRhc2lkZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuXHJcbi8vIE5BVkJBUiBUT1BcclxuXHJcbiRuYXYtdG9wLWJnOiAgICAgICAgICAgICAgICAgICAgJGRhbmdlcjtcclxuJG5hdi10b3AtYmctc3RhcnQ6ICAgICAgICAgICAgICAkbmF2LXRvcC1iZztcclxuJG5hdi10b3AtYmctZW5kOiAgICAgICAgICAgICAgICAkZGFuZ2VyLWxpZ2h0O1xyXG4kbmF2LWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuJG5hdi10b3AtaXRlbTogICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kbmF2LXRvcC1pdGVtLWFjdGl2ZTogICAgICAgICAgIGRhcmtlbigkbmF2LXRvcC1iZywgMjAlKTtcclxuXHJcbi8vIFNJREVCQVJcclxuXHJcbiRzaWRlYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYXNpZGUtYmc7XHJcblxyXG4kc2lkZWJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgIzUxNTI1MztcclxuJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU6ICAgICAgICRuYXYtdG9wLWJnO1xyXG4kc2lkZWJhci1pdGVtLWJnLWFjdGl2ZTogICAgICAgICAgZGFya2VuKCRzaWRlYmFyLWJnLCAxJSk7XHJcblxyXG4kc2lkZWJhci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdHM7XHJcbiRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlOiAgICAgICAkbmF2LXRvcC1iZztcclxuXHJcbiRzaWRlYmFyLWJ1bGxldC1jb2xvcjogICAgICAgICAgICByZ2JhKDAsMCwwLC4yNSk7XHJcbiRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU6ICAgICAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuXHJcbiRzaWRlYmFyLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAjOTE5REE4O1xyXG4kc2lkZWJhci1sYWJlbC1jb2xvcjogICAgICAgICAgICAgJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbi8vIE9GRlNJREVCQVJcclxuXHJcbiRvZmZzaWRlYmFyLWJnOiAgICAgICAgICAgI2ZmZjtcclxuJG9mZnNpZGViYXItYm9yZGVyLWNvbG9yOiBncmV5c2NhbGUoZGFya2VuKCRvZmZzaWRlYmFyLWJnLCAyMCUpKTtcclxuJG9mZnNpZGViYXItY29sb3I6ICAgICAgICAkYm9keS1jb2xvcjtcclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBsYXlvdXRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbmJvZHksIC53cmFwcGVyIC5zZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29udGVudC1iZztcclxufVxyXG5cclxuLndyYXBwZXIgLmFzaWRlLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXNpZGUtYmc7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHRvcC1uYXZiYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi50b3BuYXZiYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10b3AtYmc7XHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC14KCRuYXYtdG9wLWJnLXN0YXJ0LCAkbmF2LXRvcC1iZy1lbmQpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rIHtcclxuICAgICAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIC0zcHggMCBkYXJrZW4oJG5hdi10b3AtYmcsIDYlKSBpbnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXZiYXItdGV4dCB7XHJcbiAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW07XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rIHtcclxuICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbTtcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW0tYWN0aXZlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZHJvcGRvd24taXRlbS5hY3RpdmUsIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10b3AtYmc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHNpZGViYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zaWRlYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJnO1xyXG5cclxuICAgIC5uYXYtaGVhZGluZyB7XHJcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWhlYWRpbmctY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEl0ZW1zXHJcbi5zaWRlYmFyLW5hdiB7XHJcbiAgICA+IGxpIHtcclxuICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gSXRlbSBpY29uXHJcbiAgICAgICAgICAgID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBY3RpdmUgaXRlbSBzdGF0ZVxyXG4gICAgICAgICYuYWN0aXZlLCAmLm9wZW4ge1xyXG4gICAgICAgICAgICAmLCA+IGEsID4gLm5hdi1pdGVtLCAuc2lkZWJhci1uYXYge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItaXRlbS1iZy1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLm5hdi1pdGVtID4gZW0sID4gYSA+IGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uc2lkZWJhci1zdWJuYXYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgPiAuc2lkZWJhci1zdWJuYXYtaGVhZGVyIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBvZmZzaWRlYmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ub2Zmc2lkZWJhciB7XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRvZmZzaWRlYmFyLWJvcmRlci1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmZzaWRlYmFyLWJnO1xyXG4gICAgY29sb3I6ICRvZmZzaWRlYmFyLWNvbG9yO1xyXG59XHJcbiIsIlxyXG4vLyBDdXRvbXMgR3JheSBjb2xvcnMgZm9yIHRoZW1lXHJcbiRncmF5LWRhcmtlcjogICAgICAgICAgICMyMzI3MzU7XHJcbiRncmF5LWRhcms6ICAgICAgICAgICAgICMzYTNmNTE7XHJcbiRncmF5OiAgICAgICAgICAgICAgICAgICNkZGU2ZTk7XHJcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICNlNGVhZWM7XHJcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICNlZGYxZjI7XHJcblxyXG4vLyBDdXN0b20gYnJhbmQgY29sb3JzIGZvciB0aGVtZVxyXG4kaW52ZXJzZTogICAgICAgICAgICAgICAjMTMxZTI2O1xyXG4kcHVycGxlOiAgICAgICAgICAgICAgICAjNzI2NmJhO1xyXG4kcGluazogICAgICAgICAgICAgICAgICAjZjUzMmU1O1xyXG4keWVsbG93OiAgICAgICAgICAgICAgICAjZmFkNzMyO1xyXG4kZ3JlZW46ICAgICAgICAgICAgICAgICAjMzdiYzliO1xyXG5cclxuJHByaW1hcnk6ICAgICAgICAgICAgICAgIzVkOWNlYztcclxuJHNlY29uZGFyeTogICAgICAgICAgICAgI2ZmZjtcclxuJHN1Y2Nlc3M6ICAgICAgICAgICAgICAgIzI3YzI0YztcclxuJGluZm86ICAgICAgICAgICAgICAgICAgIzIzYjdlNTtcclxuJHdhcm5pbmc6ICAgICAgICAgICAgICAgI2ZmOTAyYjtcclxuJGRhbmdlcjogICAgICAgICAgICAgICAgI2YwNTA1MDtcclxuJGRhcms6ICAgICAgICAgICAgICAgICAgIzNhM2Y1MTtcclxuXHJcbi8vIEN1c3RvbSBjb2xvciB2YXJpYW50c1xyXG4kYW1vdW50T2ZMaWdodDogMTAlO1xyXG5cclxuJHByaW1hcnktbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1saWdodDogICAgICAgICBsaWdodGVuKCRzdWNjZXNzLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbmZvLWxpZ2h0OiAgICAgICAgICAgIGxpZ2h0ZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRkYW5nZXIsICRhbW91bnRPZkxpZ2h0KTtcclxuJGludmVyc2UtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tbGlnaHQ6ICAgICAgICAgICBsaWdodGVuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1saWdodDogICAgICAgICAgICBsaWdodGVuKCRwaW5rLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwdXJwbGUtbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuJHByaW1hcnktZGFyazogICAgICAgICAgZGFya2VuKCRwcmltYXJ5LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRzdWNjZXNzLWRhcms6ICAgICAgICAgIGRhcmtlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctZGFyazogICAgICAgICAgZGFya2VuKCR3YXJuaW5nLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRkYW5nZXItZGFyazogICAgICAgICAgIGRhcmtlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWRhcms6ICAgICAgICAgIGRhcmtlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tZGFyazogICAgICAgICAgICBkYXJrZW4oJGdyZWVuLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwaW5rLWRhcms6ICAgICAgICAgICAgIGRhcmtlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWRhcms6ICAgICAgICAgICBkYXJrZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWRhcms6ICAgICAgICAgICBkYXJrZW4oJHllbGxvdywgJGFtb3VudE9mTGlnaHQpO1xyXG5cclxuLy8gVGhlbWUgdmFyaWFibGVzXHJcblxyXG4vLyB1c2VkIGZvciBzaWRlYmFycyBhbmQgY29udGVudCBzcGFjaW5nXHJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTVweDtcclxuXHJcbi8vIEJ1dHRvbiBzZWNvbmRhcnkgcmVkZWZpbml0aW9uIHN0eWxlIGZvciB0aGVtZVxyXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICMzMzM7XHJcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJGJ0bi1zZWNvbmRhcnktYm9yZGVyOiAgICAgICAgICAgICAjZWFlYWVhO1xyXG5cclxuLy8gVG9wIEJvcmRlciBjb2xvciBmb3IgY3VzdG9tIGRlZmF1bHQgY2FyZHMgKC5jYXJkLWRlZmF1bHQpXHJcbiRjYXJkLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiAgICAgICAgI2NmZGJlMjtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVXRpbGl0aWVzIHZhcmlhYmxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiR0ZXh0LWFscGhhOiAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xyXG4kdGV4dC1hbHBoYS1pbnZlcnNlOiAgICByZ2JhKDAsMCwwLC41KTtcclxuXHJcbiRmb250LXNpemUtYmFzZTogICAgICAgIDFyZW07XHJcbiR0ZXh0LXNtOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDAuNzQzNzU7XHJcbiR0ZXh0LW1kOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNjYyNTtcclxuJHRleHQtbGc6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi42MjU7XHJcblxyXG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4kd2QteHhzOiAgICAgICAgICAgICAgICA2MHB4O1xyXG4kd2QteHM6ICAgICAgICAgICAgICAgICA5MHB4O1xyXG4kd2Qtc206ICAgICAgICAgICAgICAgICAxNTBweDtcclxuJHdkLXNkOiAgICAgICAgICAgICAgICAgMjAwcHg7IC8vIHNkID09IHN0YW5kYXJkXHJcbiR3ZC1tZDogICAgICAgICAgICAgICAgIDI0MHB4O1xyXG4kd2QtbGc6ICAgICAgICAgICAgICAgICAyODBweDtcclxuJHdkLXhsOiAgICAgICAgICAgICAgICAgMzIwcHg7XHJcbiR3ZC14eGw6ICAgICAgICAgICAgICAgIDM2MHB4O1xyXG4kd2Qtd2lkZTogICAgICAgICAgICAgICAxMDAlO1xyXG4kd2QtYXV0bzogICAgICAgICAgICAgICBhdXRvO1xyXG4kd2QtemVybzogICAgICAgICAgICAgICAwO1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBCb290c3RyYXAgNCBWYXJpYWJsZXMgT3ZlcnJpZGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBDb2xvciBzeXN0ZW1cclxuXHJcbiRjb2xvcnM6IChcclxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxyXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxyXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXHJcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxyXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXHJcbiAgICAnaW52ZXJzZSc6ICAgICRpbnZlcnNlLFxyXG5cclxuICAgICdwcmltYXJ5LWxpZ2h0JzogJHByaW1hcnktbGlnaHQsXHJcbiAgICAncHJpbWFyeS1kYXJrJzogICRwcmltYXJ5LWRhcmssXHJcbiAgICAnc3VjY2Vzcy1saWdodCc6ICRzdWNjZXNzLWxpZ2h0LFxyXG4gICAgJ3N1Y2Nlc3MtZGFyayc6ICAkc3VjY2Vzcy1kYXJrLFxyXG4gICAgJ2luZm8tbGlnaHQnOiAgICAkaW5mby1saWdodCxcclxuICAgICdpbmZvLWRhcmsnOiAgICAgJGluZm8tZGFyayxcclxuICAgICd3YXJuaW5nLWxpZ2h0JzogJHdhcm5pbmctbGlnaHQsXHJcbiAgICAnd2FybmluZy1kYXJrJzogICR3YXJuaW5nLWRhcmssXHJcbiAgICAnZGFuZ2VyLWxpZ2h0JzogICRkYW5nZXItbGlnaHQsXHJcbiAgICAnZGFuZ2VyLWRhcmsnOiAgICRkYW5nZXItZGFyayxcclxuICAgICdncmVlbi1saWdodCc6ICAgJGdyZWVuLWxpZ2h0LFxyXG4gICAgJ2dyZWVuLWRhcmsnOiAgICAkZ3JlZW4tZGFyayxcclxuICAgICdwaW5rLWxpZ2h0JzogICAgJHBpbmstbGlnaHQsXHJcbiAgICAncGluay1kYXJrJzogICAgICRwaW5rLWRhcmssXHJcbiAgICAncHVycGxlLWxpZ2h0JzogICRwdXJwbGUtbGlnaHQsXHJcbiAgICAncHVycGxlLWRhcmsnOiAgICRwdXJwbGUtZGFyayxcclxuICAgICdpbnZlcnNlLWxpZ2h0JzogJGludmVyc2UtbGlnaHQsXHJcbiAgICAnaW52ZXJzZS1kYXJrJzogICRpbnZlcnNlLWRhcmssXHJcbiAgICAneWVsbG93LWxpZ2h0JzogICR5ZWxsb3ctbGlnaHQsXHJcbiAgICAneWVsbG93LWRhcmsnOiAgICR5ZWxsb3ctZGFyayxcclxuKTtcclxuXHJcblxyXG4kdGhlbWUtY29sb3JzOiAoXHJcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxyXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyXHJcbik7XHJcblxyXG4vLyBCb2R5XHJcblxyXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgI2Y1ZjdmYTtcclxuJGJvZHktY29sb3I6ICM2NTY1NjU7XHJcblxyXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW07XHJcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zNzVyZW07XHJcblxyXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUyODU3MTQyOTtcclxuXHJcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMTtcclxuXHJcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICM5MDlGQTc7XHJcblxyXG4vLyBUYWJsZXNcclxuXHJcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgICNmYWZiZmM7XHJcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgICNmYWZiZmM7XHJcblxyXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAjZWVlO1xyXG5cclxuLy8gQnV0dG9ucyArIEZvcm1zXHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAxcmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjMxMjVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC42MjVyZW07XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNjI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxLjI1cmVtO1xyXG5cclxuJGlucHV0LWhlaWdodDogMjVweDsgLy8gMzVweFxyXG5cclxuLy8gRm9ybXNcclxuXHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyO1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXk7XHJcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAjNjZhZmU5O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgI2I3YmFjOTtcclxuXHJcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgICAgICBub25lO1xyXG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICAgICAgbm9uZTtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICBsaWdodGVuKCRwcmltYXJ5LCAyNSUpO1xyXG5cclxuLy8gRHJvcGRvd25zXHJcblxyXG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZTFlMWUxO1xyXG5cclxuLy8gTmF2c1xyXG5cclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgI2ZmZjtcclxuXHJcbi8vIEp1bWJvdHJvblxyXG5cclxuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgI2ZjZmNmYztcclxuXHJcbi8vIExpc3QgZ3JvdXBcclxuXHJcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgICNlNGVhZWM7XHJcblxyXG4vLyBJbWFnZSB0aHVtYm5haWxzXHJcblxyXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMTI1cmVtO1xyXG5cclxuXHJcbi8vIEJyZWFkY3J1bWJzXHJcblxyXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAjZmFmYWZhO1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAjYzFjMmMzO1xyXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvcjtcclxuIiwiLy8gR3JhZGllbnRzXHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XHJcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG59XHJcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXHJcbi8vXHJcbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcclxuLy9cclxuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxyXG4vL1xyXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXHJcblxyXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxyXG4vLyAgICBtZFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xyXG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xyXG59XHJcblxyXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA1NzZweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcclxufVxyXG5cclxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cclxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcclxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cclxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxyXG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHJcbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA3NjcuOThweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcclxufVxyXG5cclxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cclxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIi1zbVwiXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWluIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtYXgge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cclxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\";","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { Component,ViewChild, OnInit,Output, Input,HostListener,EventEmitter,ElementRef } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Global, BaoCao } from '../../../shared/global';\r\nimport { Repository } from '../../../services/repository'\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\n\r\n\r\n\r\nimport 'jquery'\r\nimport 'bootstrap'\r\nimport { Observable } from 'rxjs';\r\nimport { retry } from 'rxjs-compat/operator/retry';\r\nconst swal = require('sweetalert');\r\n@Component({\r\n selector: 'app-tonghop-dkycanboedit',\r\n templateUrl: './dkycanboedit.component.html',\r\n styleUrls: ['./dkycanboedit.component.scss'],\r\n providers: [ListService, Repository]\r\n})\r\n\r\n\r\nexport class dkycanboeditComponent implements OnInit {\r\n\r\n @Input() DeNghi: number;\r\n @Output() savect: EventEmitter = new EventEmitter();\r\n datas: any;\r\n data: any;\r\n public dulieu: any = { dataGrid: null, dataGridTimKiem: null, datatieude: null, sobanghi: null };\r\n indLoading: boolean = false;\r\n dataFrm: FormGroup;\r\n modalTitle: string;\r\n modalBtnTitle: string;\r\n Id: string;\r\n NgayHienTai: Date = new Date();\r\n inputDonVi: any;\r\n public DonViDropId: any = { Id: null, Ten: null };\r\n public TaiKhoanDropId: any = { Id: null, Ten: null };\r\n TaiKhoanId: any;\r\n selecteddonvis: any;\r\n selectedchuongs: any;\r\n selectedkhoans: any;\r\n Ma_Tai_Khoan: any;\r\n dropdownList_DonVi = [];\r\n inputTaiKhoan: any;\r\n dropdownList_TaiKhoan = [];\r\n selectedItems = [];\r\n dropdownSettings = {};\r\n khoangthoigian: number = 0;\r\n tabselected: number = 1;\r\n inputthangs: any = [\r\n { text: \"Hôm nay\", value: 0 },\r\n { text: \"Tháng 1\", value: 1 },\r\n { text: \"Tháng 2\", value: 2 },\r\n { text: \"Tháng 3\", value: 3 },\r\n { text: \"Tháng 4\", value: 4 },\r\n { text: \"Tháng 5\", value: 5 },\r\n { text: \"Tháng 6\", value: 6 },\r\n { text: \"Tháng 7\", value: 7 },\r\n { text: \"Tháng 8\", value: 8 },\r\n { text: \"Tháng 9\", value: 9 },\r\n { text: \"Tháng 10\", value: 10 },\r\n { text: \"Tháng 11\", value: 11 },\r\n { text: \"Tháng 12\", value: 12 },\r\n { text: \"Quý I\", value: 13 },\r\n { text: \"Quý II\", value: 14 },\r\n { text: \"Quý III\", value: 15 },\r\n { text: \"Quý IV\", value: 16 },\r\n { text: \"Tuần này\", value: 17 },\r\n { text: \"Tháng này\", value: 18 },\r\n { text: \"Năm nay\", value: 19 },\r\n { text: \"Đầu năm đến nay\", value: 20 },\r\n { text: \"Năm trước\", value: 21 },\r\n\r\n ];\r\n\r\n public thangs: Array<{ text: string, value: number }> = [\r\n { text: \"1\", value: 1 },\r\n { text: \"2\", value: 2 },\r\n { text: \"3\", value: 3 },\r\n { text: \"4\", value: 4 },\r\n { text: \"5\", value: 5 },\r\n { text: \"6\", value: 6 },\r\n { text: \"7\", value: 7 },\r\n { text: \"8\", value: 8 },\r\n { text: \"9\", value: 9 },\r\n { text: \"10\", value: 10 },\r\n { text: \"11\", value: 11 },\r\n { text: \"12\", value: 12 }\r\n ];\r\n\r\n public quys: Array<{ text: string, value: number }> = [\r\n { text: \"1\", value: 1 },\r\n { text: \"2\", value: 2 },\r\n { text: \"3\", value: 3 },\r\n { text: \"4\", value: 4 },\r\n\r\n ];\r\n\r\n public nams: Array<{ text: string, value: number }> = [\r\n { text: (this.NgayHienTai.getFullYear() - 3).toString(), value: (this.NgayHienTai.getFullYear() - 3) },\r\n { text: (this.NgayHienTai.getFullYear() - 2).toString(), value: (this.NgayHienTai.getFullYear() - 2) },\r\n { text: (this.NgayHienTai.getFullYear() - 1).toString(), value: (this.NgayHienTai.getFullYear() - 1) },\r\n { text: this.NgayHienTai.getFullYear().toString(), value: this.NgayHienTai.getFullYear() },\r\n { text: (this.NgayHienTai.getFullYear() + 1).toString(), value: (this.NgayHienTai.getFullYear() + 1) },\r\n { text: (this.NgayHienTai.getFullYear() + 2).toString(), value: (this.NgayHienTai.getFullYear() + 2) },\r\n { text: (this.NgayHienTai.getFullYear() + 3).toString(), value: (this.NgayHienTai.getFullYear() + 3) },\r\n\r\n ];\r\n\r\n public chons: Array<{ text: string, value: number }> = [\r\n { text: \"Theo ngày\", value: 1 },\r\n { text: \"Theo tháng\", value: 2 },\r\n { text: \"Theo quý\", value: 3 },\r\n { text: \"Theo năm\", value: 4 },\r\n\r\n ];\r\n chongioitinhs: any = [{ Id: 0, Ma_Doi_Tuong: \"0\", Ten_Doi_Tuong: \"Nữ\" }\r\n , { Id: 1, Ma_Doi_Tuong: \"1\", Ten_Doi_Tuong: \"Nam\" }];\r\n TatCa: boolean = false;\r\n public totalItems: number = 0;\r\n public currentPage: number = 1;\r\n public maxSize: number = 5;\r\n public TimKiem: string;\r\n public StartPage: number = 1;\r\n public EndPage: number = 20;\r\n public pageSize: number = 20;\r\n public pages: any;\r\n public totalPages: number;\r\n public TimKiems: any = {\r\n DonViId: null\r\n , UserName: null\r\n , TuNgay: null\r\n , DenNgay: null\r\n , TimKiem: null\r\n , startPage: null\r\n , endPage: null\r\n , HoVaTen: null\r\n , MaNV: null\r\n , Ngay: null\r\n , NgayS: null\r\n , SoCMND: null\r\n , IDGioiTinh: null\r\n , DiaChi: null\r\n , PhongBan: null\r\n , DonVi: null\r\n , DanhHieuId: null\r\n , Nam: null\r\n };\r\n public ngaytimkiem: Date = new Date();\r\n TichTatCa() {\r\n this.datas.forEach((item: any) => {\r\n item.Tich = !this.TatCa;\r\n });\r\n }\r\n public TuNgay: Date = new Date();\r\n public DenNgay: Date = new Date();\r\n public TuNgay1: Date = new Date();\r\n public DenNgay1: Date = new Date();\r\n public tTuNgay: string;\r\n public tDenNgay: string;\r\n\r\n \r\n\r\n\r\n doituongSelect: any = {\r\n Id: null, Don_Vi_Id: null, MaCongVan: null, NgayDen: null, NgayDenS: null,\r\n NgayBatDau: null, NgayBatDauS: null\r\n , NgayKetThuc: null, NgayKetThucS: null, TenCongViec: null,\r\n Phan_He_Id: null, NoiDung: null, IDCongViec: null\r\n , NoiDungCongViec: null, ChiTiets: []\r\n };\r\n idFocus: string = '00000000-0000-0000-0000-000000000000';\r\n\r\n public ngxCurrencyOptions = {\r\n prefix: '',\r\n thousands: '.',\r\n decimal: ',',\r\n precision: 0,\r\n allowNegative: false\r\n };\r\n public ngxAmOptions = {\r\n prefix: '',\r\n thousands: '.',\r\n decimal: ',',\r\n precision: 0,\r\n allowNegative: true\r\n };\r\n\r\n public currentUser;\r\n donviid: string = null;\r\n namketoan: number;\r\n username: string = null;\r\n phanheid: any;\r\n //-----------------cac hàm khởi tạo dữ liệu ban đầu\r\n constructor(private fb: FormBuilder, private _dataService: ListService, private repo: Repository) {\r\n\r\n\r\n if (this.DeNghi === undefined) {\r\n console.log('---------De nghi----------------------');\r\n console.log(this.DeNghi);\r\n }\r\n }\r\n\r\n // @HostListener('document:keydown', ['$event'])\r\n public innerHeight: any\r\n inputDanhHieus: any;\r\n \r\n loadDataInit(id: string, pheid: string) {\r\n this.ngaytimkiem = null;\r\n this.StartPage = 1;\r\n this.EndPage = 20;\r\n this.ngaytimkiem = null;\r\n this.innerHeight = window.innerHeight - 250;\r\n this.phanheid = pheid;\r\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.currentUser != null) {\r\n this.donviid = this.currentUser.id_don_vi;\r\n this.namketoan = this.currentUser.nam_ke_toan;\r\n this.username = this.currentUser.user_name;\r\n var giatri = this.currentUser.ds_quyen.filter(name => name.Id === this.phanheid.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n //if (giatri[0].them == true)\r\n // this.quyen_them = true;\r\n //else\r\n // this.quyen_them = false;\r\n \r\n }\r\n \r\n\r\n }\r\n this.repo.getRequest(\"api/hoso/hinhthuclist/\", { loai: 0, danhhieu: 1 })\r\n .subscribe(response => {\r\n this.inputDanhHieus = response;\r\n });\r\n\r\n this.search();\r\n \r\n \r\n }\r\n loadDataInitDat(id: string, pheid: string, nam: any, danhhieuid: any) {\r\n this.ngaytimkiem = null;\r\n this.StartPage = 1;\r\n this.EndPage = 20;\r\n this.ngaytimkiem = null;\r\n this.innerHeight = window.innerHeight - 250;\r\n this.phanheid = pheid;\r\n this.TimKiems.DanhHieuId = danhhieuid;\r\n this.TimKiems.Nam = nam;\r\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.currentUser != null) {\r\n this.donviid = this.currentUser.id_don_vi;\r\n this.namketoan = this.currentUser.nam_ke_toan;\r\n this.username = this.currentUser.user_name;\r\n var giatri = this.currentUser.ds_quyen.filter(name => name.Id === this.phanheid.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n //if (giatri[0].them == true)\r\n // this.quyen_them = true;\r\n //else\r\n // this.quyen_them = false;\r\n\r\n }\r\n\r\n\r\n }\r\n \r\n this.search();\r\n\r\n\r\n }\r\n adddata() {\r\n \r\n }\r\n editdata(id: string) {\r\n \r\n\r\n }\r\n savehspt(doituong: any) {\r\n \r\n }\r\n pageChanged(event: any): void {\r\n // alert(event.page);\r\n //console.log('a');\r\n //console.log(event);\r\n this.currentPage = event.page;\r\n this.Loaddatas(\"GetDS_NhanSu\");\r\n }\r\n setPage(page: number): void {\r\n if (page < 1 || page > this.totalPages) {\r\n return;\r\n }\r\n\r\n this.currentPage = page;\r\n this.Loaddatas(\"GetDS_NhanSu\");\r\n }\r\n public onBlur(): void {\r\n this.Loaddatas(\"GetDS_NhanSu\");\r\n }\r\n search() {\r\n this.currentPage = 1;\r\n this.pageSize = 1000;\r\n this.Loaddatas(\"GetDS_NhanSu\");\r\n }\r\n search1() {\r\n this.Loaddatas(\"GetDS_NhanSu\");\r\n }\r\n titleLoc: string = 'Danh sách cán bộ';\r\n BoLoc() {\r\n if (this.titleLoc == 'Cán bộ đạt tiêu chuẩn')\r\n this.Loaddatas(\"GetDS_DatKhen\");\r\n else\r\n this.Loaddatas(\"GetDS_NhanSu\");\r\n }\r\n Loaddatas(urlApi: any): void {\r\n\r\n if (urlApi == \"GetDS_NhanSu\")\r\n this.titleLoc = 'Cán bộ đạt tiêu chuẩn';\r\n else\r\n this.titleLoc = 'Danh sách cán bộ';\r\n \r\n\r\n this.indLoading = true;\r\n this.datas = [];\r\n this.StartPage = (this.currentPage - 1) * this.pageSize + 1;\r\n this.EndPage = this.currentPage * this.pageSize;\r\n this.totalItems = 0;\r\n this.TimKiems.DonViId = this.currentUser.id_don_vi;\r\n this.TimKiems.UserName = this.currentUser.user_name;\r\n this.TimKiems.TuNgay = this.tTuNgay;\r\n this.TimKiems.DenNgay = this.tDenNgay;\r\n this.TimKiems.PhanHeId = null;\r\n this.TimKiems.TimKiem = this.TimKiem;\r\n this.TimKiems.startPage = this.StartPage;\r\n this.TimKiems.endPage = this.EndPage;\r\n if (this.ngaytimkiem != null) {\r\n this.TimKiems.NgayS = this.ngaytimkiem.getDate() + '/' + (this.ngaytimkiem.getMonth() + 1) + '/' + this.ngaytimkiem.getFullYear();\r\n }\r\n else\r\n this.TimKiems.NgayS = null;\r\n\r\n let data = {\r\n Id: null,\r\n Type: null,\r\n Data: JSON.stringify(this.TimKiems)\r\n };\r\n\r\n this.repo.postRequest(\"api/donvi/\"+urlApi+\"/\", data)\r\n .subscribe(response => {\r\n //console.log(response);\r\n this.totalPages = 0;\r\n this.totalItems = 0;\r\n if (response.length > 0) {\r\n\r\n var item = response[0];\r\n this.totalItems = item[\"totalRows\"];\r\n this.totalPages = Math.ceil(this.totalItems / this.pageSize);\r\n\r\n let start, end;\r\n\r\n if (this.totalPages <= 5) {\r\n start = 1;\r\n end = this.totalPages;\r\n } else {\r\n if (this.currentPage <= 3) {\r\n start = 1;\r\n end = 5;\r\n } else if (this.currentPage + 1 >= this.totalPages) {\r\n start = this.totalPages - 4;\r\n end = this.totalPages;\r\n } else {\r\n start = this.currentPage - 2;\r\n end = this.currentPage + 2;\r\n }\r\n }\r\n\r\n\r\n\r\n // this.pages = range(start, end + 1);\r\n let resultArray: Array = [];\r\n for (var i = start; i <= (end + 1); i++) {\r\n resultArray.push({ Id: i, Ten: null });\r\n //alert(i);\r\n }\r\n this.pages = resultArray;\r\n\r\n console.log(start);\r\n console.log(end);\r\n\r\n\r\n\r\n }\r\n this.datas = response;\r\n // this.source.load(response);\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n var crru = JSON.parse(localStorage.getItem('currentUser'));\r\n if (crru != null) {\r\n this.donviid = crru.id_don_vi;\r\n this.namketoan = crru.nam_ke_toan;\r\n this.username = crru.user_name;\r\n }\r\n this.LoadCategory();\r\n }\r\n\r\n LoadCategory(): void {\r\n\r\n }\r\n //----------event xử lý di chuyển Enter--------------------------------------\r\n tongtien: number = 0;\r\n maxcot: number = 13;\r\n\r\n onDoiTuongChange($event) {\r\n\r\n //if (typeof $event === \"undefined\") {\r\n // this.doituongSelect.Ho_Ten = null;\r\n //}\r\n //else {\r\n // this.doituongSelect.Ho_Ten = $event.Ten_Doi_Tuong;\r\n\r\n // this.doituongSelect.ChiTiets.forEach(\r\n // (item) => {\r\n // if (item.Doi_Tuong_Id2 === null)\r\n // item.Doi_Tuong_Id2 = $event.Id;\r\n // }\r\n // );\r\n\r\n // this.repo.getRequest(\"api/baselayout/ThongTinDiaChi/\" + $event.Id)\r\n // .subscribe(response => {\r\n // //console.log(response);\r\n // this.doituongSelect.Dia_Chi = response.Dia_Chi;\r\n\r\n // });\r\n //}\r\n }\r\n\r\n comboSearchFn(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Doi_Tuong.toLowerCase().indexOf(term) > -1 || item.Ten_Doi_Tuong.toLowerCase().indexOf(term) > -1;\r\n }\r\n comboSearchFn_DV(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Don_Vi.toLowerCase().indexOf(term) > -1 || item.Ten_Don_Vi.toLowerCase().indexOf(term) > -1;\r\n }\r\n rowSelected: any = null;\r\n comboSeleted: NgSelectComponent;\r\n danhhieudangky: any;\r\n public savectu() {\r\n //if (this.DeNghi === undefined && (this.danhhieudangky == null || this.danhhieudangky == \"\") ){\r\n // swal('Lỗi!', 'Vui lòng chọn danh hiệu đăng ký.', 'error');\r\n // return;\r\n //}\r\n\r\n let tdoituong = [];\r\n this.datas.forEach(\r\n (item) => {\r\n if (item.Tich === true)\r\n tdoituong.push(item);\r\n }\r\n );\r\n if (tdoituong != null && tdoituong.length > 0)\r\n {\r\n let item = { danhhieu: this.danhhieudangky, data: tdoituong };\r\n this.savect.emit(item);\r\n }\r\n else\r\n this.savect.emit(null);\r\n\r\n }\r\n closeModal() {\r\n this.savect.emit(null);\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n 16}\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ChọnMã học viênHọ và TênNgày sinhUserNameĐơn vị
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{u.MaNV}}{{u.HoVaTen}}{{u.Ngay | date: 'dd/MM/yyyy'}}{{u.SoCMND}}{{u.DonVi}}
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
=10\">\r\n
    \r\n
  • \r\n <<\r\n
  • \r\n
  • \r\n >\r\n
  • \r\n
  • \r\n {{page.Id}}\r\n
  • \r\n
  • \r\n <\r\n
  • \r\n
  • \r\n >>\r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • Tổng số: {{totalItems | number}}
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n","import { Component, HostBinding,HostListener, OnInit } from '@angular/core';\r\n\r\nimport { SettingsService } from './core/settings/settings.service';\r\nimport { ToasterConfig } from 'angular2-toaster';\r\n\r\nimport { Router, NavigationStart, NavigationEnd, NavigationCancel, NavigationError } from '@angular/router';\r\nimport { Repository } from './services/repository';\r\nimport { Subscription } from 'rxjs/Rx';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n @HostBinding('class.layout-fixed') get isFixed() { return this.settings.getLayoutSetting('isFixed'); };\r\n @HostBinding('class.aside-collapsed') get isCollapsed() { return this.settings.getLayoutSetting('isCollapsed'); };\r\n @HostBinding('class.layout-boxed') get isBoxed() { return this.settings.getLayoutSetting('isBoxed'); };\r\n @HostBinding('class.layout-fs') get useFullLayout() { return this.settings.getLayoutSetting('useFullLayout'); };\r\n @HostBinding('class.hidden-footer') get hiddenFooter() { return this.settings.getLayoutSetting('hiddenFooter'); };\r\n @HostBinding('class.layout-h') get horizontal() { return this.settings.getLayoutSetting('horizontal'); };\r\n @HostBinding('class.aside-float') get isFloat() { return this.settings.getLayoutSetting('isFloat'); };\r\n @HostBinding('class.offsidebar-open') get offsidebarOpen() { return this.settings.getLayoutSetting('offsidebarOpen'); };\r\n @HostBinding('class.aside-toggled') get asideToggled() { return this.settings.getLayoutSetting('asideToggled'); };\r\n @HostBinding('class.aside-collapsed-text') get isCollapsedText() { return this.settings.getLayoutSetting('isCollapsedText'); };\r\n\r\n \r\n \r\n private sub: any;\r\n\r\n toasterConfig: any;\r\n toasterconfig: ToasterConfig = new ToasterConfig({\r\n positionClass: 'toast-top-right',\r\n //timeout: 10000,\r\n showCloseButton: false\r\n });\r\n\r\n constructor(private router: Router, public settings: SettingsService,\r\n public repo: Repository\r\n ) {\r\n var subtime: Subscription;\r\n\r\n\r\n\r\n \r\n }\r\n\r\n ngOnInit() {\r\n \r\n\r\n // prevent empty links to reload the page\r\n document.addEventListener('click', e => {\r\n const target = e.target as HTMLElement;\r\n if (target.tagName === 'A' && ['', '#'].indexOf(target.getAttribute('href')) > -1)\r\n e.preventDefault();\r\n });\r\n }\r\n ngOnDestroy(): any {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { LayoutComponent } from './layout.component';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { NavsearchComponent } from './header/navsearch/navsearch.component';\r\nimport { OffsidebarComponent } from './offsidebar/offsidebar.component';\r\nimport { UserblockComponent } from './sidebar/userblock/userblock.component';\r\nimport { UserblockService } from './sidebar/userblock/userblock.service';\r\nimport { FooterComponent } from './footer/footer.component';\r\n\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule\r\n ],\r\n providers: [\r\n UserblockService\r\n ],\r\n declarations: [\r\n LayoutComponent,\r\n SidebarComponent,\r\n UserblockComponent,\r\n HeaderComponent,\r\n NavsearchComponent,\r\n OffsidebarComponent,\r\n FooterComponent\r\n ],\r\n exports: [\r\n LayoutComponent,\r\n SidebarComponent,\r\n UserblockComponent,\r\n HeaderComponent,\r\n NavsearchComponent,\r\n OffsidebarComponent,\r\n FooterComponent\r\n ]\r\n})\r\nexport class LayoutModule { }\r\n","import { Injectable } from '@angular/core';\r\n\r\nconst themeA = require('../../shared/styles/themes/theme-a.scss');\r\nconst themeB = require('../../shared/styles/themes/theme-b.scss');\r\nconst themeC = require('../../shared/styles/themes/theme-c.scss');\r\nconst themeD = require('../../shared/styles/themes/theme-d.scss');\r\nconst themeE = require('../../shared/styles/themes/theme-e.scss');\r\nconst themeF = require('../../shared/styles/themes/theme-f.scss');\r\nconst themeG = require('../../shared/styles/themes/theme-g.scss');\r\nconst themeH = require('../../shared/styles/themes/theme-h.scss');\r\n\r\n@Injectable()\r\nexport class ThemesService {\r\n\r\n styleTag: any;\r\n defaultTheme: string = 'H';\r\n\r\n constructor() {\r\n this.createStyle();\r\n this.setTheme(this.defaultTheme);\r\n }\r\n\r\n private createStyle() {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n this.styleTag = document.createElement('style');\r\n this.styleTag.type = 'text/css';\r\n this.styleTag.id = 'appthemes';\r\n head.appendChild(this.styleTag);\r\n }\r\n\r\n setTheme(name) {\r\n switch (name) {\r\n case 'A':\r\n this.injectStylesheet(themeA);\r\n break;\r\n case 'B':\r\n this.injectStylesheet(themeB);\r\n break;\r\n case 'C':\r\n this.injectStylesheet(themeC);\r\n break;\r\n case 'D':\r\n this.injectStylesheet(themeD);\r\n break;\r\n case 'E':\r\n this.injectStylesheet(themeE);\r\n break;\r\n case 'F':\r\n this.injectStylesheet(themeF);\r\n break;\r\n case 'G':\r\n this.injectStylesheet(themeG);\r\n break;\r\n case 'H':\r\n this.injectStylesheet(themeH);\r\n break;\r\n }\r\n }\r\n\r\n // since v9, content is available in 'default'\r\n injectStylesheet(css) {\r\n this.styleTag.innerHTML = css.default;\r\n }\r\n\r\n getDefaultTheme() {\r\n return this.defaultTheme;\r\n }\r\n\r\n}\r\n","import { Routes } from '@angular/router';\r\nimport { LayoutComponent } from '../layout/layout.component';\r\nimport { AuthGuard } from '../shared/util/auth.guard';\r\nimport { Home } from './menu';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n //component: LayoutComponent,\r\n children: [\r\n { path: '', redirectTo: 'home', pathMatch: 'full' },\r\n //{ path: 'home', loadChildren: () => import('./home/home.module').then(m => m.HomeModule), component: LayoutComponent, canActivate: [AuthGuard], data: { auth: '1', func: Home.id } },\r\n { path: 'home', loadChildren: () => import('./home/home.module').then(m => m.HomeModule), component: LayoutComponent, canActivate: [AuthGuard]},\r\n { path: 'login', loadChildren: () => import('./login/login.module').then(m => m.LoginModule) },\r\n //{ path: 'login', loadChildren: './login/login.module#LoginModule' },\r\n { path: 'waitlogin', loadChildren: './waitlogin/waitlogin.module#WaitLoginModule' },\r\n { path: 'quantri', loadChildren: () => import('./baovp/baovp.module').then(m => m.BaoVpModule), component: LayoutComponent, canActivate: [AuthGuard] },\r\n { path: 'task', loadChildren: () => import('./baovp/baovp.module').then(m => m.BaoVpModule), component: LayoutComponent, canActivate: [AuthGuard] },\r\n //{ path: 'sathachs', loadChildren: () => import('./sathach/sathach.module').then(m => m.SatHachModule), component: LayoutComponent, canActivate: [AuthGuard] },\r\n //{ path: 'nhaplieu', loadChildren: () => import('./nhaplieu/nhaplieu.module').then(m => m.NhapLieuModule), component: LayoutComponent, canActivate: [AuthGuard] },\r\n //{ path: 'dautu', loadChildren: () => import('./dautu/dautu.module').then(m => m.DauTuModule), component: LayoutComponent, canActivate: [AuthGuard] },\r\n //{ path: 'hosocongchuc', loadChildren: () => import('./hosocongchuc/hosocongchuc.module').then(m => m.HoSoCongChucModule), component: LayoutComponent, canActivate: [AuthGuard] },\r\n { path: 'danhmuc', loadChildren: () => import('./danhmuc/danhmuc.module').then(m => m.DanhMucModule), component: LayoutComponent, canActivate: [AuthGuard] },\r\n //{ path: 'quantri', loadChildren: () => import('./quantri/quantri.module').then(m => m.QuanTriModule), component: LayoutComponent, canActivate: [AuthGuard] },\r\n { path: 'baocao', loadChildren: () => import('./baocao/baocao.module').then(m => m.BaoCaoModule), component: LayoutComponent, canActivate: [AuthGuard] },\r\n\r\n ]\r\n },\r\n // Not found\r\n { path: '**', redirectTo: 'home' }\r\n\r\n];\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable()\r\nexport class TranslatorService {\r\n\r\n private defaultLanguage: string = 'en';\r\n\r\n private availablelangs = [\r\n { code: 'en', text: 'English' },\r\n { code: 'es_AR', text: 'Spanish' }\r\n ];\r\n\r\n constructor(public translate: TranslateService) {\r\n\r\n if (!translate.getDefaultLang())\r\n translate.setDefaultLang(this.defaultLanguage);\r\n\r\n this.useLanguage();\r\n\r\n }\r\n\r\n useLanguage(lang: string = null) {\r\n this.translate.use(lang || this.translate.getDefaultLang());\r\n }\r\n\r\n getAvailableLanguages() {\r\n return this.availablelangs;\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n

\r\n
\r\n

Themes

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Layout

\r\n
\r\n

Fixed

\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Boxed

\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

Aside

\r\n
\r\n

Collapsed

\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Collapsed Text

\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Float

\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Hover

\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Show Scrollbar

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Language

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n

Connections

\r\n
\r\n \r\n
\r\n ONLINE\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Load more..\r\n \r\n
\r\n \r\n
\r\n

\r\n Tasks completion\r\n

\r\n
\r\n
\r\n 80% Complete\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Upload quota\r\n

\r\n
\r\n
\r\n 40% Complete\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy, ElementRef } from '@angular/core';\r\n\r\nimport { SettingsService } from '../../core/settings/settings.service';\r\nimport { ThemesService } from '../../core/themes/themes.service';\r\nimport { TranslatorService } from '../../core/translator/translator.service';\r\n\r\n@Component({\r\n selector: 'app-offsidebar',\r\n templateUrl: './offsidebar.component.html',\r\n styleUrls: ['./offsidebar.component.scss']\r\n})\r\nexport class OffsidebarComponent implements OnInit, OnDestroy {\r\n\r\n currentTheme: any;\r\n selectedLanguage: string;\r\n\r\n constructor(public settings: SettingsService, public themes: ThemesService, public translator: TranslatorService, public elem: ElementRef) {\r\n this.currentTheme = themes.getDefaultTheme();\r\n this.selectedLanguage = this.getLangs()[0].code;\r\n }\r\n\r\n ngOnInit() {\r\n this.anyClickClose();\r\n }\r\n\r\n setTheme() {\r\n this.themes.setTheme(this.currentTheme);\r\n }\r\n\r\n getLangs() {\r\n return this.translator.getAvailableLanguages();\r\n }\r\n\r\n setLang(value) {\r\n this.translator.useLanguage(value);\r\n }\r\n\r\n anyClickClose() {\r\n document.addEventListener('click', this.checkCloseOffsidebar, false);\r\n }\r\n\r\n checkCloseOffsidebar = e => {\r\n const contains = (this.elem.nativeElement !== e.target && this.elem.nativeElement.contains(e.target));\r\n if (!contains) {\r\n this.settings.setLayoutSetting('offsidebarOpen', false);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n document.removeEventListener('click', this.checkCloseOffsidebar);\r\n }\r\n}\r\n","// https://angular.io/styleguide#!#04-12\r\nexport function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient} from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class ListService {\r\n private token: string = \"\";\r\n private data: any;\r\n constructor(private _http: HttpClient) {\r\n console.log('khoi dong');\r\n var aa = localStorage.getItem('currentUser');\r\n \r\n if (aa != null) {\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n this.token = this.data.access_token;\r\n //console.log(this.token);\r\n }\r\n\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations'; // this is needed!\r\nimport { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\r\nimport { TranslateService, TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\n\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { CoreModule } from './core/core.module';\r\nimport { LayoutModule } from './layout/layout.module';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { RoutesModule } from './routes/routes.module';\r\nimport { AuthGuard } from './shared/util/auth.guard';\r\n\r\nimport { SlimLoadingBarModule } from 'ng2-slim-loading-bar';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeVi from '@angular/common/locales/vi';\r\nimport '@progress/kendo-angular-intl/locales/vi/all';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { TabModule } from '@syncfusion/ej2-angular-navigations';\r\n\r\n\r\n\r\n\r\n\r\n// https://github.com/ocombe/ng2-translate/issues/218\r\nexport function createTranslateLoader(http: HttpClient) {\r\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\r\n}\r\n\r\nregisterLocaleData(localeVi);\r\n\r\n@NgModule({ \r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n HttpClientModule,\r\n BrowserAnimationsModule, // required for ng2-tag-input\r\n CoreModule,\r\n LayoutModule,\r\n SharedModule.forRoot(),\r\n SlimLoadingBarModule.forRoot(),\r\n RoutesModule,\r\n BrowserModule, \r\n TabModule, \r\n \r\n FormsModule, ReactiveFormsModule,\r\n //----------Syncfusion\r\n //DatePickerModule,\r\n //TimePickerModule,\r\n //---------------------------------\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: (createTranslateLoader),\r\n deps: [HttpClient]\r\n }\r\n }),\r\n ],\r\n providers: [\r\n { provide: LOCALE_ID, useValue: 'vi' },\r\n AuthGuard\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #fff;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #37bc9b;\\n background-image: linear-gradient(to right, #37bc9b 0%, #58ceb1 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #30a487 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #206d5a;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #37bc9b;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #37bc9b;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #fcfcfc;\\n color: #37bc9b;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #37bc9b;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #37bc9b;\\n}\\n.sidebar-subnav {\\n background-color: #fff;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #37bc9b;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #37bc9b;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #37bc9b;\\n background-color: #37bc9b;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxcdGhlbWUtYi5zY3NzIiwiLi5cXC4uXFwuLlxcLi5cXC4uXFwuLlxcYXBwXFx2YXJpYWJsZXMuc2NzcyIsIi4uXFwuLlxcLi5cXC4uXFwuLlxcLi5cXGJvb3RzdHJhcFxcbWl4aW5zXFxfZ3JhZGllbnRzLnNjc3MiLCIuLlxcLi5cXC4uXFwuLlxcLi5cXC4uXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQUpoQztBQWdEQTtFQUNJLHNCQTVDNEI7QUFEaEM7QUFnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkNoRG9CO0VDQ3RCLHFFQUFBO0VBQ0EsMkJBQUE7QUZHRjtBRzBDSTtFSE1RO0lBQ0ksa0NBQUE7RUE3Q2Q7QUFDRjtBQWlESTtFQUNJLFdBdER3QjtBQU9oQztBQWtESTs7RUFFSSxXQTNEd0I7QUFXaEM7QUFpRFE7OztFQUNJLGNBNURvQjtBQWVoQztBQWlESTtFQUNJLHlCQ3hFZ0I7QUR5QnhCO0FBbURBOzs2RUFBQTtBQUdBO0VBQ0ksc0JBbkY0QjtBQW1DaEM7QUFrREk7RUFDSSxjQTVEMEI7QUFZbEM7QUF1RFE7RUFDSSxjQTlFc0I7QUEwQmxDO0FBc0RZO0VBQ0ksY0M5RlE7QUQwQ3hCO0FBd0RZO0VBQ0ksZUFsRmtCO0FBNEJsQztBQTZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNDNUdRO0FEaUR4QjtBQThEWTtFQUNJLGNDaEhRO0FEb0R4QjtBQWlFUTtFQUNJLDBCQ3RIWTtBRHVEeEI7QUFzRUE7RUFDSSxzQkFqSTRCO0FBOERoQztBQXFFSTtFQUNJLGNBcEgwQjtBQWlEbEM7QUF1RVE7RUFDSSxjQXpIc0I7QUFvRGxDO0FBdUVZO0VBQ0ksY0N6SVE7QURvRXhCO0FBMkVZO0VBQ0ksY0NoSlE7QUR1RXhCO0FBMkVnQjtFQUNJLHFCQ25KSTtFRG9KSix5QkNwSkk7QUQyRXhCO0FBb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjQ3JDUztBRDVDYiIsImZpbGUiOiJ0aGVtZS1iLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCb290c3RyYXBcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9taXhpbnNcIjtcclxuQGltcG9ydCAnLi4vYXBwL3ZhcmlhYmxlcyc7XHJcblxyXG5cclxuLy8gTEFZT1VUXHJcblxyXG4kY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRhc2lkZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuXHJcbi8vIE5BVkJBUiBUT1BcclxuXHJcbiRuYXYtdG9wLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyZWVuO1xyXG4kbmF2LXRvcC1iZy1zdGFydDogICAgICAgICAgICAgICRuYXYtdG9wLWJnO1xyXG4kbmF2LXRvcC1iZy1lbmQ6ICAgICAgICAgICAgICAgICRncmVlbi1saWdodDtcclxuJG5hdi1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuXHJcbiRuYXYtdG9wLWl0ZW06ICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJG5hdi10b3AtaXRlbS1hY3RpdmU6ICAgICAgICAgICBkYXJrZW4oJG5hdi10b3AtYmcsIDIwJSk7XHJcblxyXG4vLyBTSURFQkFSXHJcblxyXG4kc2lkZWJhci1iZzogICAgICAgICAgICAgICAgICAgICAgJGFzaWRlLWJnO1xyXG5cclxuJHNpZGViYXItaXRlbS1jb2xvcjogICAgICAgICAgICAgICM1MTUyNTM7XHJcbiRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlOiAgICAgICAkbmF2LXRvcC1iZztcclxuJHNpZGViYXItaXRlbS1iZy1hY3RpdmU6ICAgICAgICAgIGRhcmtlbigkc2lkZWJhci1iZywgMSUpO1xyXG5cclxuJHNpZGViYXItaWNvbi1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXRzO1xyXG4kc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTogICAgICAgJG5hdi10b3AtYmc7XHJcblxyXG4kc2lkZWJhci1idWxsZXQtY29sb3I6ICAgICAgICAgICAgcmdiYSgwLDAsMCwuMjUpO1xyXG4kc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlOiAgICAgJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcblxyXG4kc2lkZWJhci1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgIzkxOURBODtcclxuJHNpZGViYXItbGFiZWwtY29sb3I6ICAgICAgICAgICAgICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4vLyBPRkZTSURFQkFSXHJcblxyXG4kb2Zmc2lkZWJhci1iZzogICAgICAgICAgICNmZmY7XHJcbiRvZmZzaWRlYmFyLWJvcmRlci1jb2xvcjogZ3JleXNjYWxlKGRhcmtlbigkb2Zmc2lkZWJhci1iZywgMjAlKSk7XHJcbiRvZmZzaWRlYmFyLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3I7XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogbGF5b3V0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5ib2R5LCAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRlbnQtYmc7XHJcbn1cclxuXHJcbi53cmFwcGVyIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFzaWRlLWJnO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB0b3AtbmF2YmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4udG9wbmF2YmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQteCgkbmF2LXRvcC1iZy1zdGFydCwgJG5hdi10b3AtYmctZW5kKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICAgICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAtM3B4IDAgZGFya2VuKCRuYXYtdG9wLWJnLCA2JSkgaW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2YmFyLXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLFxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW07XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtLWFjdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAuZHJvcGRvd24taXRlbTphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBzaWRlYmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uc2lkZWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICAubmF2LWhlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1oZWFkaW5nLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJdGVtc1xyXG4uc2lkZWJhci1uYXYge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEl0ZW0gaWNvblxyXG4gICAgICAgICAgICA+IGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQWN0aXZlIGl0ZW0gc3RhdGVcclxuICAgICAgICAmLmFjdGl2ZSwgJi5vcGVuIHtcclxuICAgICAgICAgICAgJiwgPiBhLCA+IC5uYXYtaXRlbSwgLnNpZGViYXItbmF2IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC5uYXYtaXRlbSA+IGVtLCA+IGEgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLnNpZGViYXItc3VibmF2IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJnO1xyXG5cclxuICAgID4gLnNpZGViYXItc3VibmF2LWhlYWRlciB7XHJcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogb2Zmc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm9mZnNpZGViYXIge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkb2Zmc2lkZWJhci1ib3JkZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2Zmc2lkZWJhci1iZztcclxuICAgIGNvbG9yOiAkb2Zmc2lkZWJhci1jb2xvcjtcclxufVxyXG4iLCJcclxuLy8gQ3V0b21zIEdyYXkgY29sb3JzIGZvciB0aGVtZVxyXG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAjMjMyNzM1O1xyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAjM2EzZjUxO1xyXG4kZ3JheTogICAgICAgICAgICAgICAgICAjZGRlNmU5O1xyXG4kZ3JheS1saWdodDogICAgICAgICAgICAjZTRlYWVjO1xyXG4kZ3JheS1saWdodGVyOiAgICAgICAgICAjZWRmMWYyO1xyXG5cclxuLy8gQ3VzdG9tIGJyYW5kIGNvbG9ycyBmb3IgdGhlbWVcclxuJGludmVyc2U6ICAgICAgICAgICAgICAgIzEzMWUyNjtcclxuJHB1cnBsZTogICAgICAgICAgICAgICAgIzcyNjZiYTtcclxuJHBpbms6ICAgICAgICAgICAgICAgICAgI2Y1MzJlNTtcclxuJHllbGxvdzogICAgICAgICAgICAgICAgI2ZhZDczMjtcclxuJGdyZWVuOiAgICAgICAgICAgICAgICAgIzM3YmM5YjtcclxuXHJcbiRwcmltYXJ5OiAgICAgICAgICAgICAgICM1ZDljZWM7XHJcbiRzZWNvbmRhcnk6ICAgICAgICAgICAgICNmZmY7XHJcbiRzdWNjZXNzOiAgICAgICAgICAgICAgICMyN2MyNGM7XHJcbiRpbmZvOiAgICAgICAgICAgICAgICAgICMyM2I3ZTU7XHJcbiR3YXJuaW5nOiAgICAgICAgICAgICAgICNmZjkwMmI7XHJcbiRkYW5nZXI6ICAgICAgICAgICAgICAgICNmMDUwNTA7XHJcbiRkYXJrOiAgICAgICAgICAgICAgICAgICMzYTNmNTE7XHJcblxyXG4vLyBDdXN0b20gY29sb3IgdmFyaWFudHNcclxuJGFtb3VudE9mTGlnaHQ6IDEwJTtcclxuXHJcbiRwcmltYXJ5LWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHByaW1hcnksICRhbW91bnRPZkxpZ2h0KTtcclxuJHN1Y2Nlc3MtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1saWdodDogICAgICAgICAgICBsaWdodGVuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHdhcm5pbmcsICRhbW91bnRPZkxpZ2h0KTtcclxuJGRhbmdlci1saWdodDogICAgICAgICAgbGlnaHRlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWxpZ2h0OiAgICAgICAgICAgbGlnaHRlbigkZ3JlZW4sICRhbW91bnRPZkxpZ2h0KTtcclxuJHBpbmstbGlnaHQ6ICAgICAgICAgICAgbGlnaHRlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1saWdodDogICAgICAgICAgbGlnaHRlbigkeWVsbG93LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwcmltYXJ5LWRhcms6ICAgICAgICAgIGRhcmtlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1kYXJrOiAgICAgICAgICBkYXJrZW4oJHN1Y2Nlc3MsICRhbW91bnRPZkxpZ2h0KTtcclxuJGluZm8tZGFyazogICAgICAgICAgICAgZGFya2VuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWRhcms6ICAgICAgICAgIGRhcmtlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWRhcms6ICAgICAgICAgICBkYXJrZW4oJGRhbmdlciwgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW52ZXJzZS1kYXJrOiAgICAgICAgICBkYXJrZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWRhcms6ICAgICAgICAgICAgZGFya2VuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJHBpbmssICRhbW91bnRPZkxpZ2h0KTtcclxuJHB1cnBsZS1kYXJrOiAgICAgICAgICAgZGFya2VuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1kYXJrOiAgICAgICAgICAgZGFya2VuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuXHJcbi8vIFRoZW1lIHZhcmlhYmxlc1xyXG5cclxuLy8gdXNlZCBmb3Igc2lkZWJhcnMgYW5kIGNvbnRlbnQgc3BhY2luZ1xyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDU1cHg7XHJcblxyXG4vLyBCdXR0b24gc2Vjb25kYXJ5IHJlZGVmaW5pdGlvbiBzdHlsZSBmb3IgdGhlbWVcclxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAjMzMzO1xyXG4kYnRuLXNlY29uZGFyeS1iZzogICAgICAgICAgICAgICAgICNmZmY7XHJcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICAgI2VhZWFlYTtcclxuXHJcbi8vIFRvcCBCb3JkZXIgY29sb3IgZm9yIGN1c3RvbSBkZWZhdWx0IGNhcmRzICguY2FyZC1kZWZhdWx0KVxyXG4kY2FyZC1kZWZhdWx0LWJvcmRlci1jb2xvcjogICAgICAgICNjZmRiZTI7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFV0aWxpdGllcyB2YXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kdGV4dC1hbHBoYTogICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuJHRleHQtYWxwaGEtaW52ZXJzZTogICAgcmdiYSgwLDAsMCwuNSk7XHJcblxyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAxcmVtO1xyXG4kdGV4dC1zbTogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAwLjc0Mzc1O1xyXG4kdGV4dC1tZDogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjY2MjU7XHJcbiR0ZXh0LWxnOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNjI1O1xyXG5cclxuJGJvcmRlci1jb2xvcjogICAgICAgICAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuJHdkLXh4czogICAgICAgICAgICAgICAgNjBweDtcclxuJHdkLXhzOiAgICAgICAgICAgICAgICAgOTBweDtcclxuJHdkLXNtOiAgICAgICAgICAgICAgICAgMTUwcHg7XHJcbiR3ZC1zZDogICAgICAgICAgICAgICAgIDIwMHB4OyAvLyBzZCA9PSBzdGFuZGFyZFxyXG4kd2QtbWQ6ICAgICAgICAgICAgICAgICAyNDBweDtcclxuJHdkLWxnOiAgICAgICAgICAgICAgICAgMjgwcHg7XHJcbiR3ZC14bDogICAgICAgICAgICAgICAgIDMyMHB4O1xyXG4kd2QteHhsOiAgICAgICAgICAgICAgICAzNjBweDtcclxuJHdkLXdpZGU6ICAgICAgICAgICAgICAgMTAwJTtcclxuJHdkLWF1dG86ICAgICAgICAgICAgICAgYXV0bztcclxuJHdkLXplcm86ICAgICAgICAgICAgICAgMDtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gQm9vdHN0cmFwIDQgVmFyaWFibGVzIE92ZXJyaWRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQ29sb3Igc3lzdGVtXHJcblxyXG4kY29sb3JzOiAoXHJcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcclxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcclxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxyXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcclxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxyXG4gICAgJ2ludmVyc2UnOiAgICAkaW52ZXJzZSxcclxuXHJcbiAgICAncHJpbWFyeS1saWdodCc6ICRwcmltYXJ5LWxpZ2h0LFxyXG4gICAgJ3ByaW1hcnktZGFyayc6ICAkcHJpbWFyeS1kYXJrLFxyXG4gICAgJ3N1Y2Nlc3MtbGlnaHQnOiAkc3VjY2Vzcy1saWdodCxcclxuICAgICdzdWNjZXNzLWRhcmsnOiAgJHN1Y2Nlc3MtZGFyayxcclxuICAgICdpbmZvLWxpZ2h0JzogICAgJGluZm8tbGlnaHQsXHJcbiAgICAnaW5mby1kYXJrJzogICAgICRpbmZvLWRhcmssXHJcbiAgICAnd2FybmluZy1saWdodCc6ICR3YXJuaW5nLWxpZ2h0LFxyXG4gICAgJ3dhcm5pbmctZGFyayc6ICAkd2FybmluZy1kYXJrLFxyXG4gICAgJ2Rhbmdlci1saWdodCc6ICAkZGFuZ2VyLWxpZ2h0LFxyXG4gICAgJ2Rhbmdlci1kYXJrJzogICAkZGFuZ2VyLWRhcmssXHJcbiAgICAnZ3JlZW4tbGlnaHQnOiAgICRncmVlbi1saWdodCxcclxuICAgICdncmVlbi1kYXJrJzogICAgJGdyZWVuLWRhcmssXHJcbiAgICAncGluay1saWdodCc6ICAgICRwaW5rLWxpZ2h0LFxyXG4gICAgJ3BpbmstZGFyayc6ICAgICAkcGluay1kYXJrLFxyXG4gICAgJ3B1cnBsZS1saWdodCc6ICAkcHVycGxlLWxpZ2h0LFxyXG4gICAgJ3B1cnBsZS1kYXJrJzogICAkcHVycGxlLWRhcmssXHJcbiAgICAnaW52ZXJzZS1saWdodCc6ICRpbnZlcnNlLWxpZ2h0LFxyXG4gICAgJ2ludmVyc2UtZGFyayc6ICAkaW52ZXJzZS1kYXJrLFxyXG4gICAgJ3llbGxvdy1saWdodCc6ICAkeWVsbG93LWxpZ2h0LFxyXG4gICAgJ3llbGxvdy1kYXJrJzogICAkeWVsbG93LWRhcmssXHJcbik7XHJcblxyXG5cclxuJHRoZW1lLWNvbG9yczogKFxyXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcclxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlclxyXG4pO1xyXG5cclxuLy8gQm9keVxyXG5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRib2R5LWNvbG9yOiAjNjU2NTY1O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtO1xyXG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuMzc1cmVtO1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41Mjg1NzE0Mjk7XHJcblxyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjE7XHJcblxyXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAjOTA5RkE3O1xyXG5cclxuLy8gVGFibGVzXHJcblxyXG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICAjZmFmYmZjO1xyXG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICAjZmFmYmZjO1xyXG5cclxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgI2VlZTtcclxuXHJcbi8vIEJ1dHRvbnMgKyBGb3Jtc1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgMXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4zMTI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNjI1cmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjYyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMS4yNXJlbTtcclxuXHJcbiRpbnB1dC1oZWlnaHQ6IDI1cHg7IC8vIDM1cHhcclxuXHJcbi8vIEZvcm1zXHJcblxyXG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlcjtcclxuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5O1xyXG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgIzY2YWZlOTtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICNiN2JhYzk7XHJcblxyXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICAgICAgbm9uZTtcclxuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgICAgIG5vbmU7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgbGlnaHRlbigkcHJpbWFyeSwgMjUlKTtcclxuXHJcbi8vIERyb3Bkb3duc1xyXG5cclxuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2UxZTFlMTtcclxuXHJcbi8vIE5hdnNcclxuXHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICNmZmY7XHJcblxyXG4vLyBKdW1ib3Ryb25cclxuXHJcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICNmY2ZjZmM7XHJcblxyXG4vLyBMaXN0IGdyb3VwXHJcblxyXG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICAjZTRlYWVjO1xyXG5cclxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xyXG5cclxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjEyNXJlbTtcclxuXHJcblxyXG4vLyBCcmVhZGNydW1ic1xyXG5cclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZhZmFmYTtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgI2MxYzJjMztcclxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGJvZHktY29sb3I7XHJcbiIsIi8vIEdyYWRpZW50c1xyXG5cclxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xyXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5cclxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcclxufVxyXG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxyXG4vL1xyXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XHJcbi8vXHJcbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcclxuLy9cclxuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxyXG5cclxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcclxuLy8gICAgbWRcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcclxuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcclxuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcclxufVxyXG5cclxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgNTc2cHhcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcclxuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXHJcbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XHJcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXHJcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcclxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxyXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgNzY3Ljk4cHhcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXHJcbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCItc21cIlxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1pbiB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWF4IHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXHJcbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\";","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #fff;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #7266ba;\\n background-image: linear-gradient(to right, #7266ba 0%, #9289ca 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #5f51b0 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #443a80;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #7266ba;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #7266ba;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #fcfcfc;\\n color: #7266ba;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #7266ba;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #7266ba;\\n}\\n.sidebar-subnav {\\n background-color: #fff;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #7266ba;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #7266ba;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #7266ba;\\n background-color: #7266ba;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxcdGhlbWUtYy5zY3NzIiwiLi5cXC4uXFwuLlxcLi5cXC4uXFwuLlxcYXBwXFx2YXJpYWJsZXMuc2NzcyIsIi4uXFwuLlxcLi5cXC4uXFwuLlxcLi5cXGJvb3RzdHJhcFxcbWl4aW5zXFxfZ3JhZGllbnRzLnNjc3MiLCIuLlxcLi5cXC4uXFwuLlxcLi5cXC4uXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQUpoQztBQWdEQTtFQUNJLHNCQTVDNEI7QUFEaEM7QUFnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkNuRG9CO0VDSXRCLHFFQUFBO0VBQ0EsMkJBQUE7QUZHRjtBRzBDSTtFSE1RO0lBQ0ksa0NBQUE7RUE3Q2Q7QUFDRjtBQWlESTtFQUNJLFdBdER3QjtBQU9oQztBQWtESTs7RUFFSSxXQTNEd0I7QUFXaEM7QUFpRFE7OztFQUNJLGNBNURvQjtBQWVoQztBQWlESTtFQUNJLHlCQzNFZ0I7QUQ0QnhCO0FBbURBOzs2RUFBQTtBQUdBO0VBQ0ksc0JBbkY0QjtBQW1DaEM7QUFrREk7RUFDSSxjQTVEMEI7QUFZbEM7QUF1RFE7RUFDSSxjQTlFc0I7QUEwQmxDO0FBc0RZO0VBQ0ksY0NqR1E7QUQ2Q3hCO0FBd0RZO0VBQ0ksZUFsRmtCO0FBNEJsQztBQTZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNDL0dRO0FEb0R4QjtBQThEWTtFQUNJLGNDbkhRO0FEdUR4QjtBQWlFUTtFQUNJLDBCQ3pIWTtBRDBEeEI7QUFzRUE7RUFDSSxzQkFqSTRCO0FBOERoQztBQXFFSTtFQUNJLGNBcEgwQjtBQWlEbEM7QUF1RVE7RUFDSSxjQXpIc0I7QUFvRGxDO0FBdUVZO0VBQ0ksY0M1SVE7QUR1RXhCO0FBMkVZO0VBQ0ksY0NuSlE7QUQwRXhCO0FBMkVnQjtFQUNJLHFCQ3RKSTtFRHVKSix5QkN2Skk7QUQ4RXhCO0FBb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjQ3JDUztBRDVDYiIsImZpbGUiOiJ0aGVtZS1jLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCb290c3RyYXBcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9taXhpbnNcIjtcclxuQGltcG9ydCAnLi4vYXBwL3ZhcmlhYmxlcyc7XHJcblxyXG5cclxuLy8gTEFZT1VUXHJcblxyXG4kY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRhc2lkZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuXHJcbi8vIE5BVkJBUiBUT1BcclxuXHJcbiRuYXYtdG9wLWJnOiAgICAgICAgICAgICAgICAgICAgJHB1cnBsZTtcclxuJG5hdi10b3AtYmctc3RhcnQ6ICAgICAgICAgICAgICAkbmF2LXRvcC1iZztcclxuJG5hdi10b3AtYmctZW5kOiAgICAgICAgICAgICAgICAkcHVycGxlLWxpZ2h0O1xyXG4kbmF2LWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuJG5hdi10b3AtaXRlbTogICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kbmF2LXRvcC1pdGVtLWFjdGl2ZTogICAgICAgICAgIGRhcmtlbigkbmF2LXRvcC1iZywgMjAlKTtcclxuXHJcbi8vIFNJREVCQVJcclxuXHJcbiRzaWRlYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYXNpZGUtYmc7XHJcblxyXG4kc2lkZWJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgIzUxNTI1MztcclxuJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU6ICAgICAgICRuYXYtdG9wLWJnO1xyXG4kc2lkZWJhci1pdGVtLWJnLWFjdGl2ZTogICAgICAgICAgZGFya2VuKCRzaWRlYmFyLWJnLCAxJSk7XHJcblxyXG4kc2lkZWJhci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdHM7XHJcbiRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlOiAgICAgICAkbmF2LXRvcC1iZztcclxuXHJcbiRzaWRlYmFyLWJ1bGxldC1jb2xvcjogICAgICAgICAgICByZ2JhKDAsMCwwLC4yNSk7XHJcbiRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU6ICAgICAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuXHJcbiRzaWRlYmFyLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAjOTE5REE4O1xyXG4kc2lkZWJhci1sYWJlbC1jb2xvcjogICAgICAgICAgICAgJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbi8vIE9GRlNJREVCQVJcclxuXHJcbiRvZmZzaWRlYmFyLWJnOiAgICAgICAgICAgI2ZmZjtcclxuJG9mZnNpZGViYXItYm9yZGVyLWNvbG9yOiBncmV5c2NhbGUoZGFya2VuKCRvZmZzaWRlYmFyLWJnLCAyMCUpKTtcclxuJG9mZnNpZGViYXItY29sb3I6ICAgICAgICAkYm9keS1jb2xvcjtcclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBsYXlvdXRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbmJvZHksIC53cmFwcGVyIC5zZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29udGVudC1iZztcclxufVxyXG5cclxuLndyYXBwZXIgLmFzaWRlLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXNpZGUtYmc7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHRvcC1uYXZiYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi50b3BuYXZiYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10b3AtYmc7XHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC14KCRuYXYtdG9wLWJnLXN0YXJ0LCAkbmF2LXRvcC1iZy1lbmQpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rIHtcclxuICAgICAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIC0zcHggMCBkYXJrZW4oJG5hdi10b3AtYmcsIDYlKSBpbnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXZiYXItdGV4dCB7XHJcbiAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW07XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rIHtcclxuICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbTtcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW0tYWN0aXZlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZHJvcGRvd24taXRlbS5hY3RpdmUsIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10b3AtYmc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHNpZGViYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zaWRlYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJnO1xyXG5cclxuICAgIC5uYXYtaGVhZGluZyB7XHJcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWhlYWRpbmctY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEl0ZW1zXHJcbi5zaWRlYmFyLW5hdiB7XHJcbiAgICA+IGxpIHtcclxuICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gSXRlbSBpY29uXHJcbiAgICAgICAgICAgID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBY3RpdmUgaXRlbSBzdGF0ZVxyXG4gICAgICAgICYuYWN0aXZlLCAmLm9wZW4ge1xyXG4gICAgICAgICAgICAmLCA+IGEsID4gLm5hdi1pdGVtLCAuc2lkZWJhci1uYXYge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItaXRlbS1iZy1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLm5hdi1pdGVtID4gZW0sID4gYSA+IGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uc2lkZWJhci1zdWJuYXYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgPiAuc2lkZWJhci1zdWJuYXYtaGVhZGVyIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBvZmZzaWRlYmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ub2Zmc2lkZWJhciB7XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRvZmZzaWRlYmFyLWJvcmRlci1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmZzaWRlYmFyLWJnO1xyXG4gICAgY29sb3I6ICRvZmZzaWRlYmFyLWNvbG9yO1xyXG59XHJcbiIsIlxyXG4vLyBDdXRvbXMgR3JheSBjb2xvcnMgZm9yIHRoZW1lXHJcbiRncmF5LWRhcmtlcjogICAgICAgICAgICMyMzI3MzU7XHJcbiRncmF5LWRhcms6ICAgICAgICAgICAgICMzYTNmNTE7XHJcbiRncmF5OiAgICAgICAgICAgICAgICAgICNkZGU2ZTk7XHJcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICNlNGVhZWM7XHJcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICNlZGYxZjI7XHJcblxyXG4vLyBDdXN0b20gYnJhbmQgY29sb3JzIGZvciB0aGVtZVxyXG4kaW52ZXJzZTogICAgICAgICAgICAgICAjMTMxZTI2O1xyXG4kcHVycGxlOiAgICAgICAgICAgICAgICAjNzI2NmJhO1xyXG4kcGluazogICAgICAgICAgICAgICAgICAjZjUzMmU1O1xyXG4keWVsbG93OiAgICAgICAgICAgICAgICAjZmFkNzMyO1xyXG4kZ3JlZW46ICAgICAgICAgICAgICAgICAjMzdiYzliO1xyXG5cclxuJHByaW1hcnk6ICAgICAgICAgICAgICAgIzVkOWNlYztcclxuJHNlY29uZGFyeTogICAgICAgICAgICAgI2ZmZjtcclxuJHN1Y2Nlc3M6ICAgICAgICAgICAgICAgIzI3YzI0YztcclxuJGluZm86ICAgICAgICAgICAgICAgICAgIzIzYjdlNTtcclxuJHdhcm5pbmc6ICAgICAgICAgICAgICAgI2ZmOTAyYjtcclxuJGRhbmdlcjogICAgICAgICAgICAgICAgI2YwNTA1MDtcclxuJGRhcms6ICAgICAgICAgICAgICAgICAgIzNhM2Y1MTtcclxuXHJcbi8vIEN1c3RvbSBjb2xvciB2YXJpYW50c1xyXG4kYW1vdW50T2ZMaWdodDogMTAlO1xyXG5cclxuJHByaW1hcnktbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1saWdodDogICAgICAgICBsaWdodGVuKCRzdWNjZXNzLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbmZvLWxpZ2h0OiAgICAgICAgICAgIGxpZ2h0ZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRkYW5nZXIsICRhbW91bnRPZkxpZ2h0KTtcclxuJGludmVyc2UtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tbGlnaHQ6ICAgICAgICAgICBsaWdodGVuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1saWdodDogICAgICAgICAgICBsaWdodGVuKCRwaW5rLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwdXJwbGUtbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuJHByaW1hcnktZGFyazogICAgICAgICAgZGFya2VuKCRwcmltYXJ5LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRzdWNjZXNzLWRhcms6ICAgICAgICAgIGRhcmtlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctZGFyazogICAgICAgICAgZGFya2VuKCR3YXJuaW5nLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRkYW5nZXItZGFyazogICAgICAgICAgIGRhcmtlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWRhcms6ICAgICAgICAgIGRhcmtlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tZGFyazogICAgICAgICAgICBkYXJrZW4oJGdyZWVuLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwaW5rLWRhcms6ICAgICAgICAgICAgIGRhcmtlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWRhcms6ICAgICAgICAgICBkYXJrZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWRhcms6ICAgICAgICAgICBkYXJrZW4oJHllbGxvdywgJGFtb3VudE9mTGlnaHQpO1xyXG5cclxuLy8gVGhlbWUgdmFyaWFibGVzXHJcblxyXG4vLyB1c2VkIGZvciBzaWRlYmFycyBhbmQgY29udGVudCBzcGFjaW5nXHJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTVweDtcclxuXHJcbi8vIEJ1dHRvbiBzZWNvbmRhcnkgcmVkZWZpbml0aW9uIHN0eWxlIGZvciB0aGVtZVxyXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICMzMzM7XHJcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJGJ0bi1zZWNvbmRhcnktYm9yZGVyOiAgICAgICAgICAgICAjZWFlYWVhO1xyXG5cclxuLy8gVG9wIEJvcmRlciBjb2xvciBmb3IgY3VzdG9tIGRlZmF1bHQgY2FyZHMgKC5jYXJkLWRlZmF1bHQpXHJcbiRjYXJkLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiAgICAgICAgI2NmZGJlMjtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVXRpbGl0aWVzIHZhcmlhYmxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiR0ZXh0LWFscGhhOiAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xyXG4kdGV4dC1hbHBoYS1pbnZlcnNlOiAgICByZ2JhKDAsMCwwLC41KTtcclxuXHJcbiRmb250LXNpemUtYmFzZTogICAgICAgIDFyZW07XHJcbiR0ZXh0LXNtOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDAuNzQzNzU7XHJcbiR0ZXh0LW1kOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNjYyNTtcclxuJHRleHQtbGc6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi42MjU7XHJcblxyXG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4kd2QteHhzOiAgICAgICAgICAgICAgICA2MHB4O1xyXG4kd2QteHM6ICAgICAgICAgICAgICAgICA5MHB4O1xyXG4kd2Qtc206ICAgICAgICAgICAgICAgICAxNTBweDtcclxuJHdkLXNkOiAgICAgICAgICAgICAgICAgMjAwcHg7IC8vIHNkID09IHN0YW5kYXJkXHJcbiR3ZC1tZDogICAgICAgICAgICAgICAgIDI0MHB4O1xyXG4kd2QtbGc6ICAgICAgICAgICAgICAgICAyODBweDtcclxuJHdkLXhsOiAgICAgICAgICAgICAgICAgMzIwcHg7XHJcbiR3ZC14eGw6ICAgICAgICAgICAgICAgIDM2MHB4O1xyXG4kd2Qtd2lkZTogICAgICAgICAgICAgICAxMDAlO1xyXG4kd2QtYXV0bzogICAgICAgICAgICAgICBhdXRvO1xyXG4kd2QtemVybzogICAgICAgICAgICAgICAwO1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBCb290c3RyYXAgNCBWYXJpYWJsZXMgT3ZlcnJpZGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBDb2xvciBzeXN0ZW1cclxuXHJcbiRjb2xvcnM6IChcclxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxyXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxyXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXHJcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxyXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXHJcbiAgICAnaW52ZXJzZSc6ICAgICRpbnZlcnNlLFxyXG5cclxuICAgICdwcmltYXJ5LWxpZ2h0JzogJHByaW1hcnktbGlnaHQsXHJcbiAgICAncHJpbWFyeS1kYXJrJzogICRwcmltYXJ5LWRhcmssXHJcbiAgICAnc3VjY2Vzcy1saWdodCc6ICRzdWNjZXNzLWxpZ2h0LFxyXG4gICAgJ3N1Y2Nlc3MtZGFyayc6ICAkc3VjY2Vzcy1kYXJrLFxyXG4gICAgJ2luZm8tbGlnaHQnOiAgICAkaW5mby1saWdodCxcclxuICAgICdpbmZvLWRhcmsnOiAgICAgJGluZm8tZGFyayxcclxuICAgICd3YXJuaW5nLWxpZ2h0JzogJHdhcm5pbmctbGlnaHQsXHJcbiAgICAnd2FybmluZy1kYXJrJzogICR3YXJuaW5nLWRhcmssXHJcbiAgICAnZGFuZ2VyLWxpZ2h0JzogICRkYW5nZXItbGlnaHQsXHJcbiAgICAnZGFuZ2VyLWRhcmsnOiAgICRkYW5nZXItZGFyayxcclxuICAgICdncmVlbi1saWdodCc6ICAgJGdyZWVuLWxpZ2h0LFxyXG4gICAgJ2dyZWVuLWRhcmsnOiAgICAkZ3JlZW4tZGFyayxcclxuICAgICdwaW5rLWxpZ2h0JzogICAgJHBpbmstbGlnaHQsXHJcbiAgICAncGluay1kYXJrJzogICAgICRwaW5rLWRhcmssXHJcbiAgICAncHVycGxlLWxpZ2h0JzogICRwdXJwbGUtbGlnaHQsXHJcbiAgICAncHVycGxlLWRhcmsnOiAgICRwdXJwbGUtZGFyayxcclxuICAgICdpbnZlcnNlLWxpZ2h0JzogJGludmVyc2UtbGlnaHQsXHJcbiAgICAnaW52ZXJzZS1kYXJrJzogICRpbnZlcnNlLWRhcmssXHJcbiAgICAneWVsbG93LWxpZ2h0JzogICR5ZWxsb3ctbGlnaHQsXHJcbiAgICAneWVsbG93LWRhcmsnOiAgICR5ZWxsb3ctZGFyayxcclxuKTtcclxuXHJcblxyXG4kdGhlbWUtY29sb3JzOiAoXHJcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxyXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyXHJcbik7XHJcblxyXG4vLyBCb2R5XHJcblxyXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgI2Y1ZjdmYTtcclxuJGJvZHktY29sb3I6ICM2NTY1NjU7XHJcblxyXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW07XHJcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zNzVyZW07XHJcblxyXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUyODU3MTQyOTtcclxuXHJcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMTtcclxuXHJcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICM5MDlGQTc7XHJcblxyXG4vLyBUYWJsZXNcclxuXHJcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgICNmYWZiZmM7XHJcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgICNmYWZiZmM7XHJcblxyXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAjZWVlO1xyXG5cclxuLy8gQnV0dG9ucyArIEZvcm1zXHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAxcmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjMxMjVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC42MjVyZW07XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNjI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxLjI1cmVtO1xyXG5cclxuJGlucHV0LWhlaWdodDogMjVweDsgLy8gMzVweFxyXG5cclxuLy8gRm9ybXNcclxuXHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyO1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXk7XHJcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAjNjZhZmU5O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgI2I3YmFjOTtcclxuXHJcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgICAgICBub25lO1xyXG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICAgICAgbm9uZTtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICBsaWdodGVuKCRwcmltYXJ5LCAyNSUpO1xyXG5cclxuLy8gRHJvcGRvd25zXHJcblxyXG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZTFlMWUxO1xyXG5cclxuLy8gTmF2c1xyXG5cclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgI2ZmZjtcclxuXHJcbi8vIEp1bWJvdHJvblxyXG5cclxuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgI2ZjZmNmYztcclxuXHJcbi8vIExpc3QgZ3JvdXBcclxuXHJcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgICNlNGVhZWM7XHJcblxyXG4vLyBJbWFnZSB0aHVtYm5haWxzXHJcblxyXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMTI1cmVtO1xyXG5cclxuXHJcbi8vIEJyZWFkY3J1bWJzXHJcblxyXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAjZmFmYWZhO1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAjYzFjMmMzO1xyXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvcjtcclxuIiwiLy8gR3JhZGllbnRzXHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XHJcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG59XHJcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXHJcbi8vXHJcbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcclxuLy9cclxuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxyXG4vL1xyXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXHJcblxyXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxyXG4vLyAgICBtZFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xyXG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xyXG59XHJcblxyXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA1NzZweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcclxufVxyXG5cclxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cclxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcclxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cclxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxyXG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHJcbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA3NjcuOThweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcclxufVxyXG5cclxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cclxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIi1zbVwiXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWluIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtYXgge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cclxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\";","import { Component, ViewChild, OnInit, Output, Input, HostListener, EventEmitter, ElementRef } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { Repository } from '../../../services/repository'\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\nimport { Systems } from '../../../routes/menu'\r\nimport 'jquery'\r\nimport 'bootstrap'\r\n\r\n//import { Lists_cmmt } from '../../../routes/menu'\r\n\r\n\r\nconst swal = require('sweetalert');\r\n@Component({\r\n selector: 'app-dm-danhmucchungedit',\r\n templateUrl: './danhmucchungedit.component.html',\r\n //templateUrl: 'ClientApp/routes/DanhMuc/data/data.component.html',\r\n styleUrls: ['./danhmucchungedit.component.scss'],\r\n providers: [ListService, Repository]\r\n})\r\n\r\n\r\nexport class danhmucchungeditComponent implements OnInit {\r\n doanhnghiepid: string = null;\r\n\r\n\r\n quyen_them: boolean = false;\r\n quyen_sua: boolean = false;\r\n quyen_xoa: boolean = false;\r\n inputparents: any;\r\n inputnhomctmts: any;\r\n indLoading: boolean = false;\r\n doituongSelect: any = {\r\n Id: null, Ma_Doi_Tuong: null, Ten_Doi_Tuong: null\r\n , Ghi_Chu: null, Parent: null, Trang_Thai: null, Nhom_Doi_Tuong_ID: null, Ma_Ao: null\r\n , Doanh_Nghiep_Id: null\r\n };\r\n nhomdtid: string = null;\r\n hoatdong: string = null;\r\n\r\n @ViewChild('slCapTren', { static: false }) slCapTren: NgSelectComponent;\r\n @Output() save: EventEmitter = new EventEmitter();\r\n\r\n public ngxCurrencyOptions = {\r\n prefix: '',\r\n thousands: '.',\r\n decimal: ',',\r\n precision: 0,\r\n allowNegative: false\r\n };\r\n\r\n constructor(private _dataService: ListService, private repo: Repository) {\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n // @HostListener('document:keydown', ['$event'])\r\n // public handleKeyboardEvent(event: KeyboardEvent): void {\r\n\r\n // if(event.key===\"F9\")\r\n // {\r\n // this.saveproduct();\r\n // }\r\n // event.stopPropagation();\r\n\r\n // }\r\n\r\n comboSearchFn(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Doi_Tuong.toLowerCase().indexOf(term) > -1 || item.Ten_Doi_Tuong.toLowerCase().indexOf(term) > -1;\r\n }\r\n @ViewChild(\"mafocus\", { static: false }) mafocus: ElementRef;\r\n bnguonkinhphi: boolean = false;\r\n bnhomctmt: boolean = false;\r\n currentUser: any;\r\n tieudectmt: any;\r\n tieudectmtplace: any;\r\n\r\n loadDataInit(nhomdoituongid: string, id: string, donviid: string) {\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_tinhchatnguonkp.id.toLocaleLowerCase())\r\n // this.bnguonkinhphi = true;\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_cmmt.id.toLocaleLowerCase())\r\n // this.bnhomctmt = true;\r\n\r\n //if (nhomdoituongid.toLocaleUpperCase() == \"5E79BF59-78D9-4C54-8EF7-0A242F5CBC24\")\r\n // this.hoatdong = \"Ngừng theo dõi\"\r\n //else\r\n\r\n this.tieudectmtplace = \"Ghi chú\";\r\n this.tieudectmt = \"Ghi chú\";\r\n\r\n this.hoatdong = \"Hoạt động\"\r\n\r\n var authlogin = localStorage.getItem('currentUser');\r\n if (authlogin) {\r\n\r\n this.currentUser = JSON.parse(authlogin);\r\n var giatri = this.currentUser.ds_quyen.filter(name => name.Id === nhomdoituongid.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n if (giatri[0].Them == true)\r\n this.quyen_them = true;\r\n else\r\n this.quyen_them = false;\r\n if (giatri[0].Sua == true)\r\n this.quyen_sua = true;\r\n else\r\n this.quyen_sua = false;\r\n if (giatri[0].Xoa == true)\r\n this.quyen_xoa = true;\r\n else\r\n this.quyen_xoa = false;\r\n }\r\n\r\n //this.doanhnghiepid = this.currentUser.id_doanh_nghiep;\r\n\r\n }\r\n\r\n this.nhomdtid = nhomdoituongid;\r\n setTimeout(() => {\r\n this.mafocus.nativeElement.focus();\r\n }, 500);\r\n this.repo.postRequest(\"api/doituong/getall/\", { DoanhNghiepId: this.doanhnghiepid, NhomDoiTuongId: nhomdoituongid, Id: id, DonViId: donviid })\r\n .subscribe(response => {\r\n this.inputparents = response;\r\n });\r\n\r\n\r\n this.doituongSelect = {\r\n Id: null, Ma_Doi_Tuong: null, Ten_Doi_Tuong: null\r\n , Ghi_Chu: null, Parent: null, Trang_Thai: null, Nhom_Doi_Tuong_ID: nhomdoituongid, Ma_Ao: null\r\n , Created: null, Modified: null, CreatedBy: null, ModifiedBy: null\r\n , Doanh_Nghiep_Id: this.doanhnghiepid\r\n };\r\n if (id === null) {\r\n this.repo.postRequest(\"api/doituong/SinhMaDoiTuong/\", { DonViId: donviid, NhomDoiTuongId: nhomdoituongid, DoanhNghiepId: this.doanhnghiepid })\r\n .subscribe(response => {\r\n this.doituongSelect.Ma_Doi_Tuong = response;\r\n });\r\n\r\n this.doituongSelect.Trang_Thai = true;\r\n this.doituongSelect.Nhom_Doi_Tuong_ID = nhomdoituongid;\r\n this.doituongSelect.Created = new Date();\r\n this.doituongSelect.CreatedBy = this.currentUser.user_name;\r\n this.doituongSelect.Modified = new Date();\r\n this.doituongSelect.ModifiedBy = this.currentUser.user_name;\r\n\r\n }\r\n else {\r\n console.log(\"t11\");\r\n this.repo.postRequest(\"api/doituong/getbyid/\", { Id: id, NhomDoiTuongId: nhomdoituongid, DoanhNghiepId: this.doanhnghiepid })\r\n .subscribe(response => {\r\n console.log(response);\r\n this.doituongSelect.Id = id;\r\n this.doituongSelect.Ma_Doi_Tuong = response.Ma_Doi_Tuong;\r\n this.doituongSelect.Ten_Doi_Tuong = response.Ten_Doi_Tuong;\r\n this.doituongSelect.Trang_Thai = response.Trang_Thai;\r\n this.doituongSelect.Ghi_Chu = response.Ghi_Chu;\r\n this.doituongSelect.Parent = response.Parent;\r\n this.doituongSelect.Ma_Ao = response.Ma_Ao;\r\n this.doituongSelect.Nhom_Doi_Tuong_ID = nhomdoituongid;\r\n this.doituongSelect.Created = response.Created;\r\n this.doituongSelect.CreatedBy = response.CreatedBy;\r\n this.doituongSelect.Modified = new Date();\r\n this.doituongSelect.ModifiedBy = this.currentUser.user_name;\r\n\r\n\r\n this.doituongSelect.SapXep = response.SapXep;\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n keyTenPress(event: any) {\r\n if (event.which === 13) {\r\n this.slCapTren.focus();\r\n event.preventDefault();\r\n }\r\n }\r\n public closeModal() {\r\n this.save.emit(null);\r\n }\r\n public saveproduct() {\r\n if (this.doituongSelect.Ten_Doi_Tuong == null || this.doituongSelect.Ten_Doi_Tuong == \"\") {\r\n swal('Lỗi!', 'Vui lòng nhập tên đối tượng!.', 'error');\r\n return;\r\n }\r\n this.repo.postRequest(\"api/doituong/addorupdate\", this.doituongSelect)\r\n .subscribe(response => {\r\n $('#loading').hide();\r\n if (response != null && response.match('-')) {\r\n this.doituongSelect.Id = response;\r\n this.save.emit(this.doituongSelect);\r\n }\r\n else {\r\n swal('Lỗi!', response, 'error');\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
{{item.Ma_Doi_Tuong}}
\r\n
{{item.Ten_Doi_Tuong}}
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Global } from '../shared/global';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/map'\r\n\r\n\r\n@Injectable()\r\nexport class AuthenticationService {\r\n constructor(private http: HttpClient) { }\r\n\r\n\r\n getLoginToken() {\r\n\r\n\r\n \r\n let httpHeaders = new HttpHeaders()\r\n //.set('authorization','Bearer ' + this.token)\r\n .set('Content-Type', 'application/json')\r\n .set('Access-Control-Allow-Origin', '*');\r\n\r\n return this.http.get(Global.App_url + '/api/Account/LoginToken', {\r\n headers: httpHeaders,\r\n responseType: 'json'\r\n });\r\n \r\n }\r\n\r\n login(username: string, password: string, loginToken: string) {\r\n\r\n\r\n //var data = {\r\n // UserName: username, Password: password\r\n //}\r\n //let httpHeaders = new HttpHeaders()\r\n // //.set('authorization','Bearer ' + this.token)\r\n // .set('Content-Type', 'application/json')\r\n // .set('Access-Control-Allow-Origin', '*');\r\n\r\n //return this.http.post(Global.App_url + 'api/login/authenticate', data, {\r\n // headers: httpHeaders,\r\n // responseType: 'json'\r\n //});\r\n\r\n var data = \"grant_type=password&username=\" + encodeURIComponent(username) + \"&password=\" + encodeURIComponent(password) + \"&login-token=\" + encodeURIComponent(loginToken) + \"&g-recaptcha-response=\" + encodeURIComponent('');\r\n\r\n \r\n\r\n let httpHeaders = new HttpHeaders()\r\n //.set('authorization','Bearer ' + this.token)\r\n .set('Content-Type', 'application/json')\r\n .set('Access-Control-Allow-Origin', '*');\r\n\r\n return this.http.post(Global.App_url + '/token', data, {\r\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' }\r\n });\t \r\n \r\n }\r\n\r\n public getRequest(url: string, accesstoken: string, data?: any)\r\n : Observable {\r\n \r\n //console.log(this.token);\r\n\r\n let httpHeaders = new HttpHeaders()\r\n .set('authorization', 'Bearer ' + accesstoken)\r\n .set('Content-Type', 'application/json');\r\n\r\n return this.http.get(Global.App_url + url, {\r\n headers: httpHeaders,\r\n params: data,\r\n responseType: 'json'\r\n });\r\n\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('currentUser');\r\n sessionStorage.removeItem('currentUser');\r\n }\r\n\r\n fcAuthenticate(functionRight: string, accessRight: number): Observable {\r\n\r\n const headers = new HttpHeaders().set('content-type', 'application/json');\r\n var user = localStorage.getItem('currentUser');\r\n \r\n var body = {\r\n functionRight: functionRight, accessRight: accessRight, username: user.split(',')[1].split(':')[1]\r\n }\r\n\r\n return this.http.post(Global.App_url + 'api/login/fcAuthenticate', body);\r\n\r\n \r\n }\r\n\r\n}\r\n","/*!\r\n * modernizr v3.3.1\r\n * Build http://modernizr.com/download?-bgpositionshorthand-bgpositionxy-bgrepeatspace_bgrepeatround-bgsizecover-borderradius-cssanimations-csscalc-csstransforms-csstransforms3d-csstransitions-flexboxtweener-fontface-inlinesvg-localstorage-multiplebgs-preserve3d-sessionstorage-smil-svg-svgasimg-svgclippaths-svgfilters-svgforeignobject-websqldatabase-setclasses-dontmin\r\n *\r\n * Copyright (c)\r\n * Faruk Ates\r\n * Paul Irish\r\n * Alex Sexton\r\n * Ryan Seddon\r\n * Patrick Kettner\r\n * Stu Cox\r\n * Richard Herrera\r\n\r\n * MIT License\r\n */\r\n\r\n/*\r\n * Modernizr tests which native CSS3 and HTML5 features are available in the\r\n * current UA and makes the results available to you in two ways: as properties on\r\n * a global `Modernizr` object, and as classes on the `` element. This\r\n * information allows you to progressively enhance your pages with a granular level\r\n * of control over the experience.\r\n*/\r\n\r\n;(function(window, document, undefined){\r\n var tests = [];\r\n \r\n\r\n /**\r\n *\r\n * ModernizrProto is the constructor for Modernizr\r\n *\r\n * @class\r\n * @access public\r\n */\r\n\r\n var ModernizrProto = {\r\n // The current version, dummy\r\n _version: '3.3.1',\r\n\r\n // Any settings that don't work as separate modules\r\n // can go in here as configuration.\r\n _config: {\r\n 'classPrefix': '',\r\n 'enableClasses': true,\r\n 'enableJSClass': true,\r\n 'usePrefixes': true\r\n },\r\n\r\n // Queue of tests\r\n _q: [],\r\n\r\n // Stub these for people who are listening\r\n on: function(test, cb) {\r\n // I don't really think people should do this, but we can\r\n // safe guard it a bit.\r\n // -- NOTE:: this gets WAY overridden in src/addTest for actual async tests.\r\n // This is in case people listen to synchronous tests. I would leave it out,\r\n // but the code to *disallow* sync tests in the real version of this\r\n // function is actually larger than this.\r\n var self = this;\r\n setTimeout(function() {\r\n cb(self[test]);\r\n }, 0);\r\n },\r\n\r\n addTest: function(name, fn, options) {\r\n tests.push({name: name, fn: fn, options: options});\r\n },\r\n\r\n addAsyncTest: function(fn) {\r\n tests.push({name: null, fn: fn});\r\n }\r\n };\r\n\r\n \r\n\r\n // Fake some of Object.create so we can force non test results to be non \"own\" properties.\r\n var Modernizr = function() {};\r\n Modernizr.prototype = ModernizrProto;\r\n\r\n // Leak modernizr globally when you `require` it rather than force it here.\r\n // Overwrite name so constructor name is nicer :D\r\n Modernizr = new Modernizr();\r\n\r\n \r\n\r\n var classes = [];\r\n \r\n\r\n /**\r\n * is returns a boolean if the typeof an obj is exactly type.\r\n *\r\n * @access private\r\n * @function is\r\n * @param {*} obj - A thing we want to check the type of\r\n * @param {string} type - A string to compare the typeof against\r\n * @returns {boolean}\r\n */\r\n\r\n function is(obj, type) {\r\n return typeof obj === type;\r\n }\r\n ;\r\n\r\n /**\r\n * Run through all tests and detect their support in the current UA.\r\n *\r\n * @access private\r\n */\r\n\r\n function testRunner() {\r\n var featureNames;\r\n var feature;\r\n var aliasIdx;\r\n var result;\r\n var nameIdx;\r\n var featureName;\r\n var featureNameSplit;\r\n\r\n for (var featureIdx in tests) {\r\n if (tests.hasOwnProperty(featureIdx)) {\r\n featureNames = [];\r\n feature = tests[featureIdx];\r\n // run the test, throw the return value into the Modernizr,\r\n // then based on that boolean, define an appropriate className\r\n // and push it into an array of classes we'll join later.\r\n //\r\n // If there is no name, it's an 'async' test that is run,\r\n // but not directly added to the object. That should\r\n // be done with a post-run addTest call.\r\n if (feature.name) {\r\n featureNames.push(feature.name.toLowerCase());\r\n\r\n if (feature.options && feature.options.aliases && feature.options.aliases.length) {\r\n // Add all the aliases into the names list\r\n for (aliasIdx = 0; aliasIdx < feature.options.aliases.length; aliasIdx++) {\r\n featureNames.push(feature.options.aliases[aliasIdx].toLowerCase());\r\n }\r\n }\r\n }\r\n\r\n // Run the test, or use the raw value if it's not a function\r\n result = is(feature.fn, 'function') ? feature.fn() : feature.fn;\r\n\r\n\r\n // Set each of the names on the Modernizr object\r\n for (nameIdx = 0; nameIdx < featureNames.length; nameIdx++) {\r\n featureName = featureNames[nameIdx];\r\n // Support dot properties as sub tests. We don't do checking to make sure\r\n // that the implied parent tests have been added. You must call them in\r\n // order (either in the test, or make the parent test a dependency).\r\n //\r\n // Cap it to TWO to make the logic simple and because who needs that kind of subtesting\r\n // hashtag famous last words\r\n featureNameSplit = featureName.split('.');\r\n\r\n if (featureNameSplit.length === 1) {\r\n Modernizr[featureNameSplit[0]] = result;\r\n } else {\r\n // cast to a Boolean, if not one already\r\n /* jshint -W053 */\r\n if (Modernizr[featureNameSplit[0]] && !(Modernizr[featureNameSplit[0]] instanceof Boolean)) {\r\n Modernizr[featureNameSplit[0]] = new Boolean(Modernizr[featureNameSplit[0]]);\r\n }\r\n\r\n Modernizr[featureNameSplit[0]][featureNameSplit[1]] = result;\r\n }\r\n\r\n classes.push((result ? '' : 'no-') + featureNameSplit.join('-'));\r\n }\r\n }\r\n }\r\n }\r\n ;\r\n\r\n /**\r\n * docElement is a convenience wrapper to grab the root element of the document\r\n *\r\n * @access private\r\n * @returns {HTMLElement|SVGElement} The root element of the document\r\n */\r\n\r\n var docElement = document.documentElement;\r\n \r\n\r\n /**\r\n * A convenience helper to check if the document we are running in is an SVG document\r\n *\r\n * @access private\r\n * @returns {boolean}\r\n */\r\n\r\n var isSVG = docElement.nodeName.toLowerCase() === 'svg';\r\n \r\n\r\n /**\r\n * setClasses takes an array of class names and adds them to the root element\r\n *\r\n * @access private\r\n * @function setClasses\r\n * @param {string[]} classes - Array of class names\r\n */\r\n\r\n // Pass in an and array of class names, e.g.:\r\n // ['no-webp', 'borderradius', ...]\r\n function setClasses(classes) {\r\n var className = docElement.className;\r\n var classPrefix = Modernizr._config.classPrefix || '';\r\n\r\n if (isSVG) {\r\n className = className.baseVal;\r\n }\r\n\r\n // Change `no-js` to `js` (independently of the `enableClasses` option)\r\n // Handle classPrefix on this too\r\n if (Modernizr._config.enableJSClass) {\r\n var reJS = new RegExp('(^|\\\\s)' + classPrefix + 'no-js(\\\\s|$)');\r\n className = className.replace(reJS, '$1' + classPrefix + 'js$2');\r\n }\r\n\r\n if (Modernizr._config.enableClasses) {\r\n // Add the new classes\r\n className += ' ' + classPrefix + classes.join(' ' + classPrefix);\r\n isSVG ? docElement.className.baseVal = className : docElement.className = className;\r\n }\r\n\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * createElement is a convenience wrapper around document.createElement. Since we\r\n * use createElement all over the place, this allows for (slightly) smaller code\r\n * as well as abstracting away issues with creating elements in contexts other than\r\n * HTML documents (e.g. SVG documents).\r\n *\r\n * @access private\r\n * @function createElement\r\n * @returns {HTMLElement|SVGElement} An HTML or SVG element\r\n */\r\n\r\n function createElement() {\r\n if (typeof document.createElement !== 'function') {\r\n // This is the case in IE7, where the type of createElement is \"object\".\r\n // For this reason, we cannot call apply() as Object is not a Function.\r\n return document.createElement(arguments[0]);\r\n } else if (isSVG) {\r\n return document.createElementNS.call(document, 'http://www.w3.org/2000/svg', arguments[0]);\r\n } else {\r\n return document.createElement.apply(document, arguments);\r\n }\r\n }\r\n\r\n ;\r\n/*!\r\n{\r\n \"name\": \"Background Position Shorthand\",\r\n \"property\": \"bgpositionshorthand\",\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_backgroundposition_shorthand\"],\r\n \"notes\": [{\r\n \"name\": \"MDN Docs\",\r\n \"href\": \"https://developer.mozilla.org/en/CSS/background-position\"\r\n }, {\r\n \"name\": \"W3 Spec\",\r\n \"href\": \"https://www.w3.org/TR/css3-background/#background-position\"\r\n }, {\r\n \"name\": \"Demo\",\r\n \"href\": \"https://jsfiddle.net/Blink/bBXvt/\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects if you can use the shorthand method to define multiple parts of an\r\nelement's background-position simultaniously.\r\n\r\neg `background-position: right 10px bottom 10px`\r\n*/\r\n\r\n Modernizr.addTest('bgpositionshorthand', function() {\r\n var elem = createElement('a');\r\n var eStyle = elem.style;\r\n var val = 'right 10px bottom 10px';\r\n eStyle.cssText = 'background-position: ' + val + ';';\r\n return (eStyle.backgroundPosition === val);\r\n });\r\n\r\n\r\n /**\r\n * If the browsers follow the spec, then they would expose vendor-specific style as:\r\n * elem.style.WebkitBorderRadius\r\n * instead of something like the following, which would be technically incorrect:\r\n * elem.style.webkitBorderRadius\r\n\r\n * Webkit ghosts their properties in lowercase but Opera & Moz do not.\r\n * Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+\r\n * erik.eae.net/archives/2008/03/10/21.48.10/\r\n\r\n * More here: github.com/Modernizr/Modernizr/issues/issue/21\r\n *\r\n * @access private\r\n * @returns {string} The string representing the vendor-specific style properties\r\n */\r\n\r\n var omPrefixes = 'Moz O ms Webkit';\r\n \r\n\r\n var cssomPrefixes = (ModernizrProto._config.usePrefixes ? omPrefixes.split(' ') : []);\r\n ModernizrProto._cssomPrefixes = cssomPrefixes;\r\n \r\n\r\n\r\n /**\r\n * contains checks to see if a string contains another string\r\n *\r\n * @access private\r\n * @function contains\r\n * @param {string} str - The string we want to check for substrings\r\n * @param {string} substr - The substring we want to search the first string for\r\n * @returns {boolean}\r\n */\r\n\r\n function contains(str, substr) {\r\n return !!~('' + str).indexOf(substr);\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * Create our \"modernizr\" element that we do most feature tests on.\r\n *\r\n * @access private\r\n */\r\n\r\n var modElem = {\r\n elem: createElement('modernizr')\r\n };\r\n\r\n // Clean up this element\r\n Modernizr._q.push(function() {\r\n delete modElem.elem;\r\n });\r\n\r\n \r\n\r\n var mStyle = {\r\n style: modElem.elem.style\r\n };\r\n\r\n // kill ref for gc, must happen before mod.elem is removed, so we unshift on to\r\n // the front of the queue.\r\n Modernizr._q.unshift(function() {\r\n delete mStyle.style;\r\n });\r\n\r\n \r\n\r\n /**\r\n * getBody returns the body of a document, or an element that can stand in for\r\n * the body if a real body does not exist\r\n *\r\n * @access private\r\n * @function getBody\r\n * @returns {HTMLElement|SVGElement} Returns the real body of a document, or an\r\n * artificially created element that stands in for the body\r\n */\r\n\r\n function getBody() {\r\n // After page load injecting a fake body doesn't work so check if body exists\r\n var body = document.body;\r\n\r\n if (!body) {\r\n // Can't use the real body create a fake one.\r\n body = createElement(isSVG ? 'svg' : 'body');\r\n body.fake = true;\r\n }\r\n\r\n return body;\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * injectElementWithStyles injects an element with style element and some CSS rules\r\n *\r\n * @access private\r\n * @function injectElementWithStyles\r\n * @param {string} rule - String representing a css rule\r\n * @param {function} callback - A function that is used to test the injected element\r\n * @param {number} [nodes] - An integer representing the number of additional nodes you want injected\r\n * @param {string[]} [testnames] - An array of strings that are used as ids for the additional nodes\r\n * @returns {boolean}\r\n */\r\n\r\n function injectElementWithStyles(rule, callback, nodes, testnames) {\r\n var mod = 'modernizr';\r\n var style;\r\n var ret;\r\n var node;\r\n var docOverflow;\r\n var div = createElement('div');\r\n var body = getBody();\r\n\r\n if (parseInt(nodes, 10)) {\r\n // In order not to give false positives we create a node for each test\r\n // This also allows the method to scale for unspecified uses\r\n while (nodes--) {\r\n node = createElement('div');\r\n node.id = testnames ? testnames[nodes] : mod + (nodes + 1);\r\n div.appendChild(node);\r\n }\r\n }\r\n\r\n style = createElement('style');\r\n style.type = 'text/css';\r\n style.id = 's' + mod;\r\n\r\n // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.\r\n // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270\r\n (!body.fake ? div : body).appendChild(style);\r\n body.appendChild(div);\r\n\r\n if (style.styleSheet) {\r\n style.styleSheet.cssText = rule;\r\n } else {\r\n style.appendChild(document.createTextNode(rule));\r\n }\r\n div.id = mod;\r\n\r\n if (body.fake) {\r\n //avoid crashing IE8, if background image is used\r\n body.style.background = '';\r\n //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible\r\n body.style.overflow = 'hidden';\r\n docOverflow = docElement.style.overflow;\r\n docElement.style.overflow = 'hidden';\r\n docElement.appendChild(body);\r\n }\r\n\r\n ret = callback(div, rule);\r\n // If this is done after page load we don't want to remove the body so check if body exists\r\n if (body.fake) {\r\n body.parentNode.removeChild(body);\r\n docElement.style.overflow = docOverflow;\r\n // Trigger layout so kinetic scrolling isn't disabled in iOS6+\r\n docElement.offsetHeight;\r\n } else {\r\n div.parentNode.removeChild(div);\r\n }\r\n\r\n return !!ret;\r\n\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * domToCSS takes a camelCase string and converts it to kebab-case\r\n * e.g. boxSizing -> box-sizing\r\n *\r\n * @access private\r\n * @function domToCSS\r\n * @param {string} name - String name of camelCase prop we want to convert\r\n * @returns {string} The kebab-case version of the supplied name\r\n */\r\n\r\n function domToCSS(name) {\r\n return name.replace(/([A-Z])/g, function(str, m1) {\r\n return '-' + m1.toLowerCase();\r\n }).replace(/^ms-/, '-ms-');\r\n }\r\n ;\r\n\r\n /**\r\n * nativeTestProps allows for us to use native feature detection functionality if available.\r\n * some prefixed form, or false, in the case of an unsupported rule\r\n *\r\n * @access private\r\n * @function nativeTestProps\r\n * @param {array} props - An array of property names\r\n * @param {string} value - A string representing the value we want to check via @supports\r\n * @returns {boolean|undefined} A boolean when @supports exists, undefined otherwise\r\n */\r\n\r\n // Accepts a list of property names and a single value\r\n // Returns `undefined` if native detection not available\r\n function nativeTestProps(props, value) {\r\n var i = props.length;\r\n // Start with the JS API: http://www.w3.org/TR/css3-conditional/#the-css-interface\r\n if ('CSS' in window && 'supports' in window.CSS) {\r\n // Try every prefixed variant of the property\r\n while (i--) {\r\n if (window.CSS.supports(domToCSS(props[i]), value)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n // Otherwise fall back to at-rule (for Opera 12.x)\r\n else if ('CSSSupportsRule' in window) {\r\n // Build a condition string for every prefixed variant\r\n var conditionText = [];\r\n while (i--) {\r\n conditionText.push('(' + domToCSS(props[i]) + ':' + value + ')');\r\n }\r\n conditionText = conditionText.join(' or ');\r\n return injectElementWithStyles('@supports (' + conditionText + ') { #modernizr { position: absolute; } }', function(node) {\r\n return getComputedStyle(node, null).position == 'absolute';\r\n });\r\n }\r\n return undefined;\r\n }\r\n ;\r\n\r\n /**\r\n * cssToDOM takes a kebab-case string and converts it to camelCase\r\n * e.g. box-sizing -> boxSizing\r\n *\r\n * @access private\r\n * @function cssToDOM\r\n * @param {string} name - String name of kebab-case prop we want to convert\r\n * @returns {string} The camelCase version of the supplied name\r\n */\r\n\r\n function cssToDOM(name) {\r\n return name.replace(/([a-z])-([a-z])/g, function(str, m1, m2) {\r\n return m1 + m2.toUpperCase();\r\n }).replace(/^-/, '');\r\n }\r\n ;\r\n\r\n // testProps is a generic CSS / DOM property test.\r\n\r\n // In testing support for a given CSS property, it's legit to test:\r\n // `elem.style[styleName] !== undefined`\r\n // If the property is supported it will return an empty string,\r\n // if unsupported it will return undefined.\r\n\r\n // We'll take advantage of this quick test and skip setting a style\r\n // on our modernizr element, but instead just testing undefined vs\r\n // empty string.\r\n\r\n // Property names can be provided in either camelCase or kebab-case.\r\n\r\n function testProps(props, prefixed, value, skipValueTest) {\r\n skipValueTest = is(skipValueTest, 'undefined') ? false : skipValueTest;\r\n\r\n // Try native detect first\r\n if (!is(value, 'undefined')) {\r\n var result = nativeTestProps(props, value);\r\n if (!is(result, 'undefined')) {\r\n return result;\r\n }\r\n }\r\n\r\n // Otherwise do it properly\r\n var afterInit, i, propsLength, prop, before;\r\n\r\n // If we don't have a style element, that means we're running async or after\r\n // the core tests, so we'll need to create our own elements to use\r\n\r\n // inside of an SVG element, in certain browsers, the `style` element is only\r\n // defined for valid tags. Therefore, if `modernizr` does not have one, we\r\n // fall back to a less used element and hope for the best.\r\n var elems = ['modernizr', 'tspan'];\r\n while (!mStyle.style) {\r\n afterInit = true;\r\n mStyle.modElem = createElement(elems.shift());\r\n mStyle.style = mStyle.modElem.style;\r\n }\r\n\r\n // Delete the objects if we created them.\r\n function cleanElems() {\r\n if (afterInit) {\r\n delete mStyle.style;\r\n delete mStyle.modElem;\r\n }\r\n }\r\n\r\n propsLength = props.length;\r\n for (i = 0; i < propsLength; i++) {\r\n prop = props[i];\r\n before = mStyle.style[prop];\r\n\r\n if (contains(prop, '-')) {\r\n prop = cssToDOM(prop);\r\n }\r\n\r\n if (mStyle.style[prop] !== undefined) {\r\n\r\n // If value to test has been passed in, do a set-and-check test.\r\n // 0 (integer) is a valid property value, so check that `value` isn't\r\n // undefined, rather than just checking it's truthy.\r\n if (!skipValueTest && !is(value, 'undefined')) {\r\n\r\n // Needs a try catch block because of old IE. This is slow, but will\r\n // be avoided in most cases because `skipValueTest` will be used.\r\n try {\r\n mStyle.style[prop] = value;\r\n } catch (e) {}\r\n\r\n // If the property value has changed, we assume the value used is\r\n // supported. If `value` is empty string, it'll fail here (because\r\n // it hasn't changed), which matches how browsers have implemented\r\n // CSS.supports()\r\n if (mStyle.style[prop] != before) {\r\n cleanElems();\r\n return prefixed == 'pfx' ? prop : true;\r\n }\r\n }\r\n // Otherwise just return true, or the property name if this is a\r\n // `prefixed()` call\r\n else {\r\n cleanElems();\r\n return prefixed == 'pfx' ? prop : true;\r\n }\r\n }\r\n }\r\n cleanElems();\r\n return false;\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * List of JavaScript DOM values used for tests\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr._domPrefixes\r\n * @optionName Modernizr._domPrefixes\r\n * @optionProp domPrefixes\r\n * @access public\r\n * @example\r\n *\r\n * Modernizr._domPrefixes is exactly the same as [_prefixes](#modernizr-_prefixes), but rather\r\n * than kebab-case properties, all properties are their Capitalized variant\r\n *\r\n * ```js\r\n * Modernizr._domPrefixes === [ \"Moz\", \"O\", \"ms\", \"Webkit\" ];\r\n * ```\r\n */\r\n\r\n var domPrefixes = (ModernizrProto._config.usePrefixes ? omPrefixes.toLowerCase().split(' ') : []);\r\n ModernizrProto._domPrefixes = domPrefixes;\r\n \r\n\r\n /**\r\n * fnBind is a super small [bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind) polyfill.\r\n *\r\n * @access private\r\n * @function fnBind\r\n * @param {function} fn - a function you want to change `this` reference to\r\n * @param {object} that - the `this` you want to call the function with\r\n * @returns {function} The wrapped version of the supplied function\r\n */\r\n\r\n function fnBind(fn, that) {\r\n return function() {\r\n return fn.apply(that, arguments);\r\n };\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * testDOMProps is a generic DOM property test; if a browser supports\r\n * a certain property, it won't return undefined for it.\r\n *\r\n * @access private\r\n * @function testDOMProps\r\n * @param {array.} props - An array of properties to test for\r\n * @param {object} obj - An object or Element you want to use to test the parameters again\r\n * @param {boolean|object} elem - An Element to bind the property lookup again. Use `false` to prevent the check\r\n */\r\n function testDOMProps(props, obj, elem) {\r\n var item;\r\n\r\n for (var i in props) {\r\n if (props[i] in obj) {\r\n\r\n // return the property name as a string\r\n if (elem === false) {\r\n return props[i];\r\n }\r\n\r\n item = obj[props[i]];\r\n\r\n // let's bind a function\r\n if (is(item, 'function')) {\r\n // bind to obj unless overriden\r\n return fnBind(item, elem || obj);\r\n }\r\n\r\n // return the unbound function or obj or value\r\n return item;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * testPropsAll tests a list of DOM properties we want to check against.\r\n * We specify literally ALL possible (known and/or likely) properties on\r\n * the element including the non-vendor prefixed one, for forward-\r\n * compatibility.\r\n *\r\n * @access private\r\n * @function testPropsAll\r\n * @param {string} prop - A string of the property to test for\r\n * @param {string|object} [prefixed] - An object to check the prefixed properties on. Use a string to skip\r\n * @param {HTMLElement|SVGElement} [elem] - An element used to test the property and value against\r\n * @param {string} [value] - A string of a css value\r\n * @param {boolean} [skipValueTest] - An boolean representing if you want to test if value sticks when set\r\n */\r\n function testPropsAll(prop, prefixed, elem, value, skipValueTest) {\r\n\r\n var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),\r\n props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');\r\n\r\n // did they call .prefixed('boxSizing') or are we just testing a prop?\r\n if (is(prefixed, 'string') || is(prefixed, 'undefined')) {\r\n return testProps(props, prefixed, value, skipValueTest);\r\n\r\n // otherwise, they called .prefixed('requestAnimationFrame', window[, elem])\r\n } else {\r\n props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');\r\n return testDOMProps(props, prefixed, elem);\r\n }\r\n }\r\n\r\n // Modernizr.testAllProps() investigates whether a given style property,\r\n // or any of its vendor-prefixed variants, is recognized\r\n //\r\n // Note that the property names must be provided in the camelCase variant.\r\n // Modernizr.testAllProps('boxSizing')\r\n ModernizrProto.testAllProps = testPropsAll;\r\n\r\n \r\n\r\n /**\r\n * testAllProps determines whether a given CSS property is supported in the browser\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr.testAllProps\r\n * @optionName Modernizr.testAllProps()\r\n * @optionProp testAllProps\r\n * @access public\r\n * @function testAllProps\r\n * @param {string} prop - String naming the property to test (either camelCase or kebab-case)\r\n * @param {string} [value] - String of the value to test\r\n * @param {boolean} [skipValueTest=false] - Whether to skip testing that the value is supported when using non-native detection\r\n * @example\r\n *\r\n * testAllProps determines whether a given CSS property, in some prefixed form,\r\n * is supported by the browser.\r\n *\r\n * ```js\r\n * testAllProps('boxSizing') // true\r\n * ```\r\n *\r\n * It can optionally be given a CSS value in string form to test if a property\r\n * value is valid\r\n *\r\n * ```js\r\n * testAllProps('display', 'block') // true\r\n * testAllProps('display', 'penguin') // false\r\n * ```\r\n *\r\n * A boolean can be passed as a third parameter to skip the value check when\r\n * native detection (@supports) isn't available.\r\n *\r\n * ```js\r\n * testAllProps('shapeOutside', 'content-box', true);\r\n * ```\r\n */\r\n\r\n function testAllProps(prop, value, skipValueTest) {\r\n return testPropsAll(prop, undefined, undefined, value, skipValueTest);\r\n }\r\n ModernizrProto.testAllProps = testAllProps;\r\n \r\n/*!\r\n{\r\n \"name\": \"Background Position XY\",\r\n \"property\": \"bgpositionxy\",\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_backgroundposition_xy\"],\r\n \"authors\": [\"Allan Lei\", \"Brandom Aaron\"],\r\n \"notes\": [{\r\n \"name\": \"Demo\",\r\n \"href\": \"https://jsfiddle.net/allanlei/R8AYS/\"\r\n }, {\r\n \"name\": \"Adapted From\",\r\n \"href\": \"https://github.com/brandonaaron/jquery-cssHooks/blob/master/bgpos.js\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects the ability to control an element's background position using css\r\n*/\r\n\r\n Modernizr.addTest('bgpositionxy', function() {\r\n return testAllProps('backgroundPositionX', '3px', true) && testAllProps('backgroundPositionY', '5px', true);\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"Background Repeat\",\r\n \"property\": [\"bgrepeatspace\", \"bgrepeatround\"],\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_backgroundrepeat\"],\r\n \"authors\": [\"Ryan Seddon\"],\r\n \"notes\": [{\r\n \"name\": \"MDN Docs\",\r\n \"href\": \"https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat\"\r\n }, {\r\n \"name\": \"Test Page\",\r\n \"href\": \"https://jsbin.com/uzesun/\"\r\n }, {\r\n \"name\": \"Demo\",\r\n \"href\": \"https://jsfiddle.net/ryanseddon/yMLTQ/6/\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects the ability to use round and space as properties for background-repeat\r\n*/\r\n\r\n // Must value-test these\r\n Modernizr.addTest('bgrepeatround', testAllProps('backgroundRepeat', 'round'));\r\n Modernizr.addTest('bgrepeatspace', testAllProps('backgroundRepeat', 'space'));\r\n\r\n/*!\r\n{\r\n \"name\": \"Background Size Cover\",\r\n \"property\": \"bgsizecover\",\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_backgroundsizecover\"],\r\n \"notes\": [{\r\n \"name\" : \"MDN Docs\",\r\n \"href\": \"https://developer.mozilla.org/en/CSS/background-size\"\r\n }]\r\n}\r\n!*/\r\n\r\n // Must test value, as this specifically tests the `cover` value\r\n Modernizr.addTest('bgsizecover', testAllProps('backgroundSize', 'cover'));\r\n\r\n/*!\r\n{\r\n \"name\": \"Border Radius\",\r\n \"property\": \"borderradius\",\r\n \"caniuse\": \"border-radius\",\r\n \"polyfills\": [\"css3pie\"],\r\n \"tags\": [\"css\"],\r\n \"notes\": [{\r\n \"name\": \"Comprehensive Compat Chart\",\r\n \"href\": \"https://muddledramblings.com/table-of-css3-border-radius-compliance\"\r\n }]\r\n}\r\n!*/\r\n\r\n Modernizr.addTest('borderradius', testAllProps('borderRadius', '0px', true));\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Animations\",\r\n \"property\": \"cssanimations\",\r\n \"caniuse\": \"css-animation\",\r\n \"polyfills\": [\"transformie\", \"csssandpaper\"],\r\n \"tags\": [\"css\"],\r\n \"warnings\": [\"Android < 4 will pass this test, but can only animate a single property at a time\"],\r\n \"notes\": [{\r\n \"name\" : \"Article: 'Dispelling the Android CSS animation myths'\",\r\n \"href\": \"https://goo.gl/OGw5Gm\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects whether or not elements can be animated using CSS\r\n*/\r\n\r\n Modernizr.addTest('cssanimations', testAllProps('animationName', 'a', true));\r\n\r\n\r\n /**\r\n * List of property values to set for css tests. See ticket #21\r\n * http://git.io/vUGl4\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr._prefixes\r\n * @optionName Modernizr._prefixes\r\n * @optionProp prefixes\r\n * @access public\r\n * @example\r\n *\r\n * Modernizr._prefixes is the internal list of prefixes that we test against\r\n * inside of things like [prefixed](#modernizr-prefixed) and [prefixedCSS](#-code-modernizr-prefixedcss). It is simply\r\n * an array of kebab-case vendor prefixes you can use within your code.\r\n *\r\n * Some common use cases include\r\n *\r\n * Generating all possible prefixed version of a CSS property\r\n * ```js\r\n * var rule = Modernizr._prefixes.join('transform: rotate(20deg); ');\r\n *\r\n * rule === 'transform: rotate(20deg); webkit-transform: rotate(20deg); moz-transform: rotate(20deg); o-transform: rotate(20deg); ms-transform: rotate(20deg);'\r\n * ```\r\n *\r\n * Generating all possible prefixed version of a CSS value\r\n * ```js\r\n * rule = 'display:' + Modernizr._prefixes.join('flex; display:') + 'flex';\r\n *\r\n * rule === 'display:flex; display:-webkit-flex; display:-moz-flex; display:-o-flex; display:-ms-flex; display:flex'\r\n * ```\r\n */\r\n\r\n var prefixes = (ModernizrProto._config.usePrefixes ? ' -webkit- -moz- -o- -ms- '.split(' ') : []);\r\n\r\n // expose these for the plugin API. Look in the source for how to join() them against your input\r\n ModernizrProto._prefixes = prefixes;\r\n\r\n \r\n/*!\r\n{\r\n \"name\": \"CSS Calc\",\r\n \"property\": \"csscalc\",\r\n \"caniuse\": \"calc\",\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_calc\"],\r\n \"authors\": [\"@calvein\"]\r\n}\r\n!*/\r\n/* DOC\r\nMethod of allowing calculated values for length units. For example:\r\n\r\n```css\r\n//lem {\r\n width: calc(100% - 3em);\r\n}\r\n```\r\n*/\r\n\r\n Modernizr.addTest('csscalc', function() {\r\n var prop = 'width:';\r\n var value = 'calc(10px);';\r\n var el = createElement('a');\r\n\r\n el.style.cssText = prop + prefixes.join(value + prop);\r\n\r\n return !!el.style.length;\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Transforms\",\r\n \"property\": \"csstransforms\",\r\n \"caniuse\": \"transforms2d\",\r\n \"tags\": [\"css\"]\r\n}\r\n!*/\r\n\r\n Modernizr.addTest('csstransforms', function() {\r\n // Android < 3.0 is buggy, so we sniff and blacklist\r\n // http://git.io/hHzL7w\r\n return navigator.userAgent.indexOf('Android 2.') === -1 &&\r\n testAllProps('transform', 'scale(1)', true);\r\n });\r\n\r\n\r\n /**\r\n * testStyles injects an element with style element and some CSS rules\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr.testStyles\r\n * @optionName Modernizr.testStyles()\r\n * @optionProp testStyles\r\n * @access public\r\n * @function testStyles\r\n * @param {string} rule - String representing a css rule\r\n * @param {function} callback - A function that is used to test the injected element\r\n * @param {number} [nodes] - An integer representing the number of additional nodes you want injected\r\n * @param {string[]} [testnames] - An array of strings that are used as ids for the additional nodes\r\n * @returns {boolean}\r\n * @example\r\n *\r\n * `Modernizr.testStyles` takes a CSS rule and injects it onto the current page\r\n * along with (possibly multiple) DOM elements. This lets you check for features\r\n * that can not be detected by simply checking the [IDL](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Interface_development_guide/IDL_interface_rules).\r\n *\r\n * ```js\r\n * Modernizr.testStyles('#modernizr { width: 9px; color: papayawhip; }', function(elem, rule) {\r\n * // elem is the first DOM node in the page (by default #modernizr)\r\n * // rule is the first argument you supplied - the CSS rule in string form\r\n *\r\n * addTest('widthworks', elem.style.width === '9px')\r\n * });\r\n * ```\r\n *\r\n * If your test requires multiple nodes, you can include a third argument\r\n * indicating how many additional div elements to include on the page. The\r\n * additional nodes are injected as children of the `elem` that is returned as\r\n * the first argument to the callback.\r\n *\r\n * ```js\r\n * Modernizr.testStyles('#modernizr {width: 1px}; #modernizr2 {width: 2px}', function(elem) {\r\n * document.getElementById('modernizr').style.width === '1px'; // true\r\n * document.getElementById('modernizr2').style.width === '2px'; // true\r\n * elem.firstChild === document.getElementById('modernizr2'); // true\r\n * }, 1);\r\n * ```\r\n *\r\n * By default, all of the additional elements have an ID of `modernizr[n]`, where\r\n * `n` is its index (e.g. the first additional, second overall is `#modernizr2`,\r\n * the second additional is `#modernizr3`, etc.).\r\n * If you want to have more meaningful IDs for your function, you can provide\r\n * them as the fourth argument, as an array of strings\r\n *\r\n * ```js\r\n * Modernizr.testStyles('#foo {width: 10px}; #bar {height: 20px}', function(elem) {\r\n * elem.firstChild === document.getElementById('foo'); // true\r\n * elem.lastChild === document.getElementById('bar'); // true\r\n * }, 2, ['foo', 'bar']);\r\n * ```\r\n *\r\n */\r\n\r\n var testStyles = ModernizrProto.testStyles = injectElementWithStyles;\r\n \r\n/*!\r\n{\r\n \"name\": \"CSS Supports\",\r\n \"property\": \"supports\",\r\n \"caniuse\": \"css-featurequeries\",\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_supports\"],\r\n \"notes\": [{\r\n \"name\": \"W3 Spec\",\r\n \"href\": \"http://dev.w3.org/csswg/css3-conditional/#at-supports\"\r\n },{\r\n \"name\": \"Related Github Issue\",\r\n \"href\": \"github.com/Modernizr/Modernizr/issues/648\"\r\n },{\r\n \"name\": \"W3 Info\",\r\n \"href\": \"http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface\"\r\n }]\r\n}\r\n!*/\r\n\r\n var newSyntax = 'CSS' in window && 'supports' in window.CSS;\r\n var oldSyntax = 'supportsCSS' in window;\r\n Modernizr.addTest('supports', newSyntax || oldSyntax);\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Transforms 3D\",\r\n \"property\": \"csstransforms3d\",\r\n \"caniuse\": \"transforms3d\",\r\n \"tags\": [\"css\"],\r\n \"warnings\": [\r\n \"Chrome may occassionally fail this test on some systems; more info: https://code.google.com/p/chromium/issues/detail?id=129004\"\r\n ]\r\n}\r\n!*/\r\n\r\n Modernizr.addTest('csstransforms3d', function() {\r\n var ret = !!testAllProps('perspective', '1px', true);\r\n var usePrefix = Modernizr._config.usePrefixes;\r\n\r\n // Webkit's 3D transforms are passed off to the browser's own graphics renderer.\r\n // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in\r\n // some conditions. As a result, Webkit typically recognizes the syntax but\r\n // will sometimes throw a false positive, thus we must do a more thorough check:\r\n if (ret && (!usePrefix || 'webkitPerspective' in docElement.style)) {\r\n var mq;\r\n var defaultStyle = '#modernizr{width:0;height:0}';\r\n // Use CSS Conditional Rules if available\r\n if (Modernizr.supports) {\r\n mq = '@supports (perspective: 1px)';\r\n } else {\r\n // Otherwise, Webkit allows this media query to succeed only if the feature is enabled.\r\n // `@media (transform-3d),(-webkit-transform-3d){ ... }`\r\n mq = '@media (transform-3d)';\r\n if (usePrefix) {\r\n mq += ',(-webkit-transform-3d)';\r\n }\r\n }\r\n\r\n mq += '{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}';\r\n\r\n testStyles(defaultStyle + mq, function(elem) {\r\n ret = elem.offsetWidth === 7 && elem.offsetHeight === 18;\r\n });\r\n }\r\n\r\n return ret;\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Transform Style preserve-3d\",\r\n \"property\": \"preserve3d\",\r\n \"authors\": [\"edmellum\"],\r\n \"tags\": [\"css\"],\r\n \"notes\": [{\r\n \"name\": \"MDN Docs\",\r\n \"href\": \"https://developer.mozilla.org/en-US/docs/Web/CSS/transform-style\"\r\n },{\r\n \"name\": \"Related Github Issue\",\r\n \"href\": \"https://github.com/Modernizr/Modernizr/issues/762\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects support for `transform-style: preserve-3d`, for getting a proper 3D perspective on elements.\r\n*/\r\n\r\n Modernizr.addTest('preserve3d', testAllProps('transformStyle', 'preserve-3d'));\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Transitions\",\r\n \"property\": \"csstransitions\",\r\n \"caniuse\": \"css-transitions\",\r\n \"tags\": [\"css\"]\r\n}\r\n!*/\r\n\r\n Modernizr.addTest('csstransitions', testAllProps('transition', 'all', true));\r\n\r\n/*!\r\n{\r\n \"name\": \"Flexbox (tweener)\",\r\n \"property\": \"flexboxtweener\",\r\n \"tags\": [\"css\"],\r\n \"polyfills\": [\"flexie\"],\r\n \"notes\": [{\r\n \"name\": \"The _inbetween_ flexbox\",\r\n \"href\": \"https://www.w3.org/TR/2011/WD-css3-flexbox-20111129/\"\r\n }],\r\n \"warnings\": [\"This represents an old syntax, not the latest standard syntax.\"]\r\n}\r\n!*/\r\n\r\n Modernizr.addTest('flexboxtweener', testAllProps('flexAlign', 'end', true));\r\n\r\n/*!\r\n{\r\n \"name\": \"@font-face\",\r\n \"property\": \"fontface\",\r\n \"authors\": [\"Diego Perini\", \"Mat Marquis\"],\r\n \"tags\": [\"css\"],\r\n \"knownBugs\": [\r\n \"False Positive: WebOS https://github.com/Modernizr/Modernizr/issues/342\",\r\n \"False Postive: WP7 https://github.com/Modernizr/Modernizr/issues/538\"\r\n ],\r\n \"notes\": [{\r\n \"name\": \"@font-face detection routine by Diego Perini\",\r\n \"href\": \"http://javascript.nwbox.com/CSSSupport/\"\r\n },{\r\n \"name\": \"Filament Group @font-face compatibility research\",\r\n \"href\": \"https://docs.google.com/presentation/d/1n4NyG4uPRjAA8zn_pSQ_Ket0RhcWC6QlZ6LMjKeECo0/edit#slide=id.p\"\r\n },{\r\n \"name\": \"Filament Grunticon/@font-face device testing results\",\r\n \"href\": \"https://docs.google.com/spreadsheet/ccc?key=0Ag5_yGvxpINRdHFYeUJPNnZMWUZKR2ItMEpRTXZPdUE#gid=0\"\r\n },{\r\n \"name\": \"CSS fonts on Android\",\r\n \"href\": \"https://stackoverflow.com/questions/3200069/css-fonts-on-android\"\r\n },{\r\n \"name\": \"@font-face and Android\",\r\n \"href\": \"http://archivist.incutio.com/viewlist/css-discuss/115960\"\r\n }]\r\n}\r\n!*/\r\n\r\n var blacklist = (function() {\r\n var ua = navigator.userAgent;\r\n var wkvers = ua.match(/applewebkit\\/([0-9]+)/gi) && parseFloat(RegExp.$1);\r\n var webos = ua.match(/w(eb)?osbrowser/gi);\r\n var wppre8 = ua.match(/windows phone/gi) && ua.match(/iemobile\\/([0-9])+/gi) && parseFloat(RegExp.$1) >= 9;\r\n var oldandroid = wkvers < 533 && ua.match(/android/gi);\r\n return webos || oldandroid || wppre8;\r\n }());\r\n if (blacklist) {\r\n Modernizr.addTest('fontface', false);\r\n } else {\r\n testStyles('@font-face {font-family:\"font\";src:url(\"https://\")}', function(node, rule) {\r\n var style = document.getElementById('smodernizr');\r\n var sheet = style.sheet || style.styleSheet;\r\n var cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : '';\r\n var bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0;\r\n Modernizr.addTest('fontface', bool);\r\n });\r\n }\r\n;\r\n/*!\r\n{\r\n \"name\": \"SVG\",\r\n \"property\": \"svg\",\r\n \"caniuse\": \"svg\",\r\n \"tags\": [\"svg\"],\r\n \"authors\": [\"Erik Dahlstrom\"],\r\n \"polyfills\": [\r\n \"svgweb\",\r\n \"raphael\",\r\n \"amplesdk\",\r\n \"canvg\",\r\n \"svg-boilerplate\",\r\n \"sie\",\r\n \"dojogfx\",\r\n \"fabricjs\"\r\n ]\r\n}\r\n!*/\r\n/* DOC\r\nDetects support for SVG in `` or `` elements.\r\n*/\r\n\r\n Modernizr.addTest('svg', !!document.createElementNS && !!document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect);\r\n\r\n\r\n /**\r\n * hasOwnProp is a shim for hasOwnProperty that is needed for Safari 2.0 support\r\n *\r\n * @author kangax\r\n * @access private\r\n * @function hasOwnProp\r\n * @param {object} object - The object to check for a property\r\n * @param {string} property - The property to check for\r\n * @returns {boolean}\r\n */\r\n\r\n // hasOwnProperty shim by kangax needed for Safari 2.0 support\r\n var hasOwnProp;\r\n\r\n (function() {\r\n var _hasOwnProperty = ({}).hasOwnProperty;\r\n /* istanbul ignore else */\r\n /* we have no way of testing IE 5.5 or safari 2,\r\n * so just assume the else gets hit */\r\n if (!is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined')) {\r\n hasOwnProp = function(object, property) {\r\n return _hasOwnProperty.call(object, property);\r\n };\r\n }\r\n else {\r\n hasOwnProp = function(object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */\r\n return ((property in object) && is(object.constructor.prototype[property], 'undefined'));\r\n };\r\n }\r\n })();\r\n\r\n \r\n\r\n\r\n // _l tracks listeners for async tests, as well as tests that execute after the initial run\r\n ModernizrProto._l = {};\r\n\r\n /**\r\n * Modernizr.on is a way to listen for the completion of async tests. Being\r\n * asynchronous, they may not finish before your scripts run. As a result you\r\n * will get a possibly false negative `undefined` value.\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr.on\r\n * @access public\r\n * @function on\r\n * @param {string} feature - String name of the feature detect\r\n * @param {function} cb - Callback function returning a Boolean - true if feature is supported, false if not\r\n * @example\r\n *\r\n * ```js\r\n * Modernizr.on('flash', function( result ) {\r\n * if (result) {\r\n * // the browser has flash\r\n * } else {\r\n * // the browser does not have flash\r\n * }\r\n * });\r\n * ```\r\n */\r\n\r\n ModernizrProto.on = function(feature, cb) {\r\n // Create the list of listeners if it doesn't exist\r\n if (!this._l[feature]) {\r\n this._l[feature] = [];\r\n }\r\n\r\n // Push this test on to the listener list\r\n this._l[feature].push(cb);\r\n\r\n // If it's already been resolved, trigger it on next tick\r\n if (Modernizr.hasOwnProperty(feature)) {\r\n // Next Tick\r\n setTimeout(function() {\r\n Modernizr._trigger(feature, Modernizr[feature]);\r\n }, 0);\r\n }\r\n };\r\n\r\n /**\r\n * _trigger is the private function used to signal test completion and run any\r\n * callbacks registered through [Modernizr.on](#modernizr-on)\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr._trigger\r\n * @access private\r\n * @function _trigger\r\n * @param {string} feature - string name of the feature detect\r\n * @param {function|boolean} [res] - A feature detection function, or the boolean =\r\n * result of a feature detection function\r\n */\r\n\r\n ModernizrProto._trigger = function(feature, res) {\r\n if (!this._l[feature]) {\r\n return;\r\n }\r\n\r\n var cbs = this._l[feature];\r\n\r\n // Force async\r\n setTimeout(function() {\r\n var i, cb;\r\n for (i = 0; i < cbs.length; i++) {\r\n cb = cbs[i];\r\n cb(res);\r\n }\r\n }, 0);\r\n\r\n // Don't trigger these again\r\n delete this._l[feature];\r\n };\r\n\r\n /**\r\n * addTest allows you to define your own feature detects that are not currently\r\n * included in Modernizr (under the covers it's the exact same code Modernizr\r\n * uses for its own [feature detections](https://github.com/Modernizr/Modernizr/tree/master/feature-detects)). Just like the offical detects, the result\r\n * will be added onto the Modernizr object, as well as an appropriate className set on\r\n * the html element when configured to do so\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr.addTest\r\n * @optionName Modernizr.addTest()\r\n * @optionProp addTest\r\n * @access public\r\n * @function addTest\r\n * @param {string|object} feature - The string name of the feature detect, or an\r\n * object of feature detect names and test\r\n * @param {function|boolean} test - Function returning true if feature is supported,\r\n * false if not. Otherwise a boolean representing the results of a feature detection\r\n * @example\r\n *\r\n * The most common way of creating your own feature detects is by calling\r\n * `Modernizr.addTest` with a string (preferably just lowercase, without any\r\n * punctuation), and a function you want executed that will return a boolean result\r\n *\r\n * ```js\r\n * Modernizr.addTest('itsTuesday', function() {\r\n * var d = new Date();\r\n * return d.getDay() === 2;\r\n * });\r\n * ```\r\n *\r\n * When the above is run, it will set Modernizr.itstuesday to `true` when it is tuesday,\r\n * and to `false` every other day of the week. One thing to notice is that the names of\r\n * feature detect functions are always lowercased when added to the Modernizr object. That\r\n * means that `Modernizr.itsTuesday` will not exist, but `Modernizr.itstuesday` will.\r\n *\r\n *\r\n * Since we only look at the returned value from any feature detection function,\r\n * you do not need to actually use a function. For simple detections, just passing\r\n * in a statement that will return a boolean value works just fine.\r\n *\r\n * ```js\r\n * Modernizr.addTest('hasJquery', 'jQuery' in window);\r\n * ```\r\n *\r\n * Just like before, when the above runs `Modernizr.hasjquery` will be true if\r\n * jQuery has been included on the page. Not using a function saves a small amount\r\n * of overhead for the browser, as well as making your code much more readable.\r\n *\r\n * Finally, you also have the ability to pass in an object of feature names and\r\n * their tests. This is handy if you want to add multiple detections in one go.\r\n * The keys should always be a string, and the value can be either a boolean or\r\n * function that returns a boolean.\r\n *\r\n * ```js\r\n * var detects = {\r\n * 'hasjquery': 'jQuery' in window,\r\n * 'itstuesday': function() {\r\n * var d = new Date();\r\n * return d.getDay() === 2;\r\n * }\r\n * }\r\n *\r\n * Modernizr.addTest(detects);\r\n * ```\r\n *\r\n * There is really no difference between the first methods and this one, it is\r\n * just a convenience to let you write more readable code.\r\n */\r\n\r\n function addTest(feature, test) {\r\n\r\n if (typeof feature == 'object') {\r\n for (var key in feature) {\r\n if (hasOwnProp(feature, key)) {\r\n addTest(key, feature[ key ]);\r\n }\r\n }\r\n } else {\r\n\r\n feature = feature.toLowerCase();\r\n var featureNameSplit = feature.split('.');\r\n var last = Modernizr[featureNameSplit[0]];\r\n\r\n // Again, we don't check for parent test existence. Get that right, though.\r\n if (featureNameSplit.length == 2) {\r\n last = last[featureNameSplit[1]];\r\n }\r\n\r\n if (typeof last != 'undefined') {\r\n // we're going to quit if you're trying to overwrite an existing test\r\n // if we were to allow it, we'd do this:\r\n // var re = new RegExp(\"\\\\b(no-)?\" + feature + \"\\\\b\");\r\n // docElement.className = docElement.className.replace( re, '' );\r\n // but, no rly, stuff 'em.\r\n return Modernizr;\r\n }\r\n\r\n test = typeof test == 'function' ? test() : test;\r\n\r\n // Set the value (this is the magic, right here).\r\n if (featureNameSplit.length == 1) {\r\n Modernizr[featureNameSplit[0]] = test;\r\n } else {\r\n // cast to a Boolean, if not one already\r\n /* jshint -W053 */\r\n if (Modernizr[featureNameSplit[0]] && !(Modernizr[featureNameSplit[0]] instanceof Boolean)) {\r\n Modernizr[featureNameSplit[0]] = new Boolean(Modernizr[featureNameSplit[0]]);\r\n }\r\n\r\n Modernizr[featureNameSplit[0]][featureNameSplit[1]] = test;\r\n }\r\n\r\n // Set a single class (either `feature` or `no-feature`)\r\n /* jshint -W041 */\r\n setClasses([(!!test && test != false ? '' : 'no-') + featureNameSplit.join('-')]);\r\n /* jshint +W041 */\r\n\r\n // Trigger the event\r\n Modernizr._trigger(feature, test);\r\n }\r\n\r\n return Modernizr; // allow chaining.\r\n }\r\n\r\n // After all the tests are run, add self to the Modernizr prototype\r\n Modernizr._q.push(function() {\r\n ModernizrProto.addTest = addTest;\r\n });\r\n\r\n \r\n\r\n/*!\r\n{\r\n \"name\": \"SVG as an tag source\",\r\n \"property\": \"svgasimg\",\r\n \"caniuse\" : \"svg-img\",\r\n \"tags\": [\"svg\"],\r\n \"authors\": [\"Chris Coyier\"],\r\n \"notes\": [{\r\n \"name\": \"HTML5 Spec\",\r\n \"href\": \"http://www.w3.org/TR/html5/embedded-content-0.html#the-img-element\"\r\n }]\r\n}\r\n!*/\r\n\r\n\r\n // Original Async test by Stu Cox\r\n // https://gist.github.com/chriscoyier/8774501\r\n\r\n // Now a Sync test based on good results here\r\n // http://codepen.io/chriscoyier/pen/bADFx\r\n\r\n // Note http://www.w3.org/TR/SVG11/feature#Image is *supposed* to represent\r\n // support for the `` tag in SVG, not an SVG file linked from an ``\r\n // tag in HTML – but it’s a heuristic which works\r\n Modernizr.addTest('svgasimg', document.implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#Image', '1.1'));\r\n\r\n\r\n /**\r\n * Object.prototype.toString can be used with every object and allows you to\r\n * get its class easily. Abstracting it off of an object prevents situations\r\n * where the toString property has been overridden\r\n *\r\n * @access private\r\n * @function toStringFn\r\n * @returns {function} An abstracted toString function\r\n */\r\n\r\n var toStringFn = ({}).toString;\r\n \r\n/*!\r\n{\r\n \"name\": \"SVG clip paths\",\r\n \"property\": \"svgclippaths\",\r\n \"tags\": [\"svg\"],\r\n \"notes\": [{\r\n \"name\": \"Demo\",\r\n \"href\": \"http://srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects support for clip paths in SVG (only, not on HTML content).\r\n\r\nSee [this discussion](https://github.com/Modernizr/Modernizr/issues/213) regarding applying SVG clip paths to HTML content.\r\n*/\r\n\r\n Modernizr.addTest('svgclippaths', function() {\r\n return !!document.createElementNS &&\r\n /SVGClipPath/.test(toStringFn.call(document.createElementNS('http://www.w3.org/2000/svg', 'clipPath')));\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"SVG filters\",\r\n \"property\": \"svgfilters\",\r\n \"caniuse\": \"svg-filters\",\r\n \"tags\": [\"svg\"],\r\n \"builderAliases\": [\"svg_filters\"],\r\n \"authors\": [\"Erik Dahlstrom\"],\r\n \"notes\": [{\r\n \"name\": \"W3C Spec\",\r\n \"href\": \"https://www.w3.org/TR/SVG11/filters.html\"\r\n }]\r\n}\r\n!*/\r\n\r\n // Should fail in Safari: https://stackoverflow.com/questions/9739955/feature-detecting-support-for-svg-filters.\r\n Modernizr.addTest('svgfilters', function() {\r\n var result = false;\r\n try {\r\n result = 'SVGFEColorMatrixElement' in window &&\r\n SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE == 2;\r\n }\r\n catch (e) {}\r\n return result;\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"SVG foreignObject\",\r\n \"property\": \"svgforeignobject\",\r\n \"tags\": [\"svg\"],\r\n \"notes\": [{\r\n \"name\": \"W3C Spec\",\r\n \"href\": \"https://www.w3.org/TR/SVG11/extend.html\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects support for foreignObject tag in SVG.\r\n*/\r\n\r\n Modernizr.addTest('svgforeignobject', function() {\r\n return !!document.createElementNS &&\r\n /SVGForeignObject/.test(toStringFn.call(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')));\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"Inline SVG\",\r\n \"property\": \"inlinesvg\",\r\n \"caniuse\": \"svg-html5\",\r\n \"tags\": [\"svg\"],\r\n \"notes\": [{\r\n \"name\": \"Test page\",\r\n \"href\": \"https://paulirish.com/demo/inline-svg\"\r\n }, {\r\n \"name\": \"Test page and results\",\r\n \"href\": \"https://codepen.io/eltonmesquita/full/GgXbvo/\"\r\n }],\r\n \"polyfills\": [\"inline-svg-polyfill\"],\r\n \"knownBugs\": [\"False negative on some Chromia browsers.\"]\r\n}\r\n!*/\r\n/* DOC\r\nDetects support for inline SVG in HTML (not within XHTML).\r\n*/\r\n\r\n Modernizr.addTest('inlinesvg', function() {\r\n var div = createElement('div');\r\n div.innerHTML = '';\r\n return (typeof SVGRect != 'undefined' && div.firstChild && div.firstChild.namespaceURI) == 'http://www.w3.org/2000/svg';\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"SVG SMIL animation\",\r\n \"property\": \"smil\",\r\n \"caniuse\": \"svg-smil\",\r\n \"tags\": [\"svg\"],\r\n \"notes\": [{\r\n \"name\": \"W3C Synchronised Multimedia spec\",\r\n \"href\": \"https://www.w3.org/AudioVideo/\"\r\n }]\r\n}\r\n!*/\r\n\r\n // SVG SMIL animation\r\n Modernizr.addTest('smil', function() {\r\n return !!document.createElementNS &&\r\n /SVGAnimate/.test(toStringFn.call(document.createElementNS('http://www.w3.org/2000/svg', 'animate')));\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"Local Storage\",\r\n \"property\": \"localstorage\",\r\n \"caniuse\": \"namevalue-storage\",\r\n \"tags\": [\"storage\"],\r\n \"knownBugs\": [],\r\n \"notes\": [],\r\n \"warnings\": [],\r\n \"polyfills\": [\r\n \"joshuabell-polyfill\",\r\n \"cupcake\",\r\n \"storagepolyfill\",\r\n \"amplifyjs\",\r\n \"yui-cacheoffline\"\r\n ]\r\n}\r\n!*/\r\n\r\n // In FF4, if disabled, window.localStorage should === null.\r\n\r\n // Normally, we could not test that directly and need to do a\r\n // `('localStorage' in window) && ` test first because otherwise Firefox will\r\n // throw bugzil.la/365772 if cookies are disabled\r\n\r\n // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem\r\n // will throw the exception:\r\n // QUOTA_EXCEEDED_ERROR DOM Exception 22.\r\n // Peculiarly, getItem and removeItem calls do not throw.\r\n\r\n // Because we are forced to try/catch this, we'll go aggressive.\r\n\r\n // Just FWIW: IE8 Compat mode supports these features completely:\r\n // www.quirksmode.org/dom/html5.html\r\n // But IE8 doesn't support either with local files\r\n\r\n Modernizr.addTest('localstorage', function() {\r\n var mod = 'modernizr';\r\n try {\r\n localStorage.setItem(mod, mod);\r\n localStorage.removeItem(mod);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"Session Storage\",\r\n \"property\": \"sessionstorage\",\r\n \"tags\": [\"storage\"],\r\n \"polyfills\": [\"joshuabell-polyfill\", \"cupcake\", \"sessionstorage\"]\r\n}\r\n!*/\r\n\r\n // Because we are forced to try/catch this, we'll go aggressive.\r\n\r\n // Just FWIW: IE8 Compat mode supports these features completely:\r\n // www.quirksmode.org/dom/html5.html\r\n // But IE8 doesn't support either with local files\r\n Modernizr.addTest('sessionstorage', function() {\r\n var mod = 'modernizr';\r\n try {\r\n sessionStorage.setItem(mod, mod);\r\n sessionStorage.removeItem(mod);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"Web SQL Database\",\r\n \"property\": \"websqldatabase\",\r\n \"caniuse\": \"sql-storage\",\r\n \"tags\": [\"storage\"]\r\n}\r\n!*/\r\n\r\n // Chrome incognito mode used to throw an exception when using openDatabase\r\n // It doesn't anymore.\r\n Modernizr.addTest('websqldatabase', 'openDatabase' in window);\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Multiple Backgrounds\",\r\n \"caniuse\": \"multibackgrounds\",\r\n \"property\": \"multiplebgs\",\r\n \"tags\": [\"css\"]\r\n}\r\n!*/\r\n\r\n // Setting multiple images AND a color on the background shorthand property\r\n // and then querying the style.background property value for the number of\r\n // occurrences of \"url(\" is a reliable method for detecting ACTUAL support for this!\r\n\r\n Modernizr.addTest('multiplebgs', function() {\r\n var style = createElement('a').style;\r\n style.cssText = 'background:url(https://),url(https://),red url(https://)';\r\n\r\n // If the UA supports multiple backgrounds, there should be three occurrences\r\n // of the string \"url(\" in the return value for elemStyle.background\r\n return (/(url\\s*\\(.*?){3}/).test(style.background);\r\n });\r\n\r\n\r\n // Run each test\r\n testRunner();\r\n\r\n // Remove the \"no-js\" class if it exists\r\n setClasses(classes);\r\n\r\n delete ModernizrProto.addTest;\r\n delete ModernizrProto.addAsyncTest;\r\n\r\n // Run the things that are supposed to run after the tests\r\n for (var i = 0; i < Modernizr._q.length; i++) {\r\n Modernizr._q[i]();\r\n }\r\n\r\n // Leak Modernizr namespace\r\n window.Modernizr = Modernizr;\r\n\r\n\r\n;\r\n\r\n})(window, document);","import { ViewChild, ElementRef ,Injectable } from '@angular/core';\r\nimport { AuthorizationService } from '../../services/authorization.service';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n @ViewChild(\"ipusername\") ipusername: ElementRef;\r\n constructor(private router: Router, public authorizationService: AuthorizationService)\r\n {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise | boolean\r\n {\r\n \r\n var aa = localStorage.getItem('currentUser');\r\n console.log('vao kiem tra quyen ');\r\n //console.log(aa);\r\n if (aa) {\r\n console.log(\"vao trong aa\");\r\n return true;\r\n // let data = JSON.parse(aa);\r\n // if (data != null && (data.user_name == \"admin\" || data.is_admin == \"1\")) {\r\n // return true;\r\n // }\r\n //console.log(route);\r\n // if (route.data['auth'] == undefined)\r\n // return this.hasRequiredPermission(route.firstChild.data['auth'], route.firstChild.data['func']); \r\n // var abc = this.hasRequiredPermission(route.data['auth'], route.data['func']);\r\n // return abc;\r\n }\r\n //var ua = this.ipusername.nativeElement.value;\r\n //if (ua) {\r\n // console.log('Vao Auth Router');\r\n // console.log(ua);\r\n // this.router.navigate(['/waitlogin'], { queryParams: { returnUrl: state.url } });\r\n // return false;\r\n\r\n //}\r\n\r\n // not logged in so redirect to login page with the return url\r\n console.log('redirect to login');\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n protected hasRequiredPermission(authGroup: number, functionid: string): Promise | boolean {\r\n console.log('vao kiem tra quyen ' + authGroup)\r\n\r\n if (authGroup == 0)\r\n return true;\r\n \r\n // If user’s permissions already retrieved from the API\r\n if (this.authorizationService.permissions && this.authorizationService.permissions.length > 0) {\r\n console.log('Da co quyen')\r\n //console.log(this.authorizationService.permissions);\r\n var abc = this.authorizationService.hasPermission(authGroup, functionid);\r\n console.log(abc);\r\n return abc;\r\n } else {\r\n console.log('vao khoi tao phan quyen')\r\n // Otherwise, must request permissions from the API first\r\n const promise = new Promise((resolve, reject) => {\r\n this.authorizationService.initializePermissions()\r\n .then(() => {\r\n var ms = this.authorizationService.hasPermission(authGroup, functionid);\r\n console.log(\"test ms\");\r\n console.log(ms);\r\n resolve(ms);\r\n\r\n }).catch(() => {\r\n resolve(false);\r\n });\r\n });\r\n \r\n return promise;\r\n }\r\n }\r\n}\r\n","import { Component,ViewChild, OnInit,Output, Input,HostListener,EventEmitter,ElementRef } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { Repository } from '../../../services/repository'\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\nimport { SatHachs_DanhSachThi } from '../../../routes/menu'\r\nimport 'jquery'\r\nimport 'bootstrap'\r\n\r\n//import { Lists_cmmt } from '../../../routes/menu'\r\n\r\n\r\nconst swal = require('sweetalert');\r\n@Component({\r\n selector: 'app-dm-ngayhethanedit',\r\n templateUrl: './ngayhethanedit.component.html',\r\n //templateUrl: 'ClientApp/routes/DanhMuc/data/data.component.html',\r\n styleUrls: ['./ngayhethanedit.component.scss'],\r\n providers: [ListService, Repository]\r\n})\r\n\r\n\r\nexport class ngayhethaneditComponent implements OnInit {\r\n\r\n \r\n public ngayhethan: Date = null;\r\n quyen_them: boolean = false;\r\n quyen_sua: boolean = false;\r\n quyen_xoa: boolean = false;\r\n inputparents: any;\r\n inputnhomctmts: any;\r\n indLoading: boolean = false;\r\n doituongSelect: any = {\r\n Id: null, SoBaoDanh: null, HoVaTen: null, NgaySinh: null, SoCMND: null, NgayCap: null, NoiCap: null\r\n , TenDonVi: null, Email: null, NgayHetHan: null\r\n , PhanHeId: null, Created: null, Modified: null, CreatedBy: null, ModifiedBy: null\r\n }; \r\n nhomdtid:string=null;\r\n hoatdong:string=null;\r\n\r\n @ViewChild('slCapTren', { static: false }) slCapTren: NgSelectComponent;\r\n @ViewChild('slNhomCTMT', { static: false }) slNhomCTMT: NgSelectComponent;\r\n @Output() save: EventEmitter = new EventEmitter();\r\n \r\n public ngxCurrencyOptions = {\r\n prefix: '',\r\n thousands: '.',\r\n decimal: ',',\r\n precision: 0,\r\n allowNegative: false\r\n };\r\n\r\n constructor( private _dataService: ListService, private repo: Repository) {\r\n \r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n // @HostListener('document:keydown', ['$event'])\r\n // public handleKeyboardEvent(event: KeyboardEvent): void {\r\n \r\n // if(event.key===\"F9\")\r\n // {\r\n // this.saveproduct();\r\n // }\r\n // event.stopPropagation();\r\n \r\n // }\r\n\r\n comboSearchFn(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Doi_Tuong.toLowerCase().indexOf(term) > -1 || item.Ten_Doi_Tuong.toLowerCase().indexOf(term) > -1;\r\n }\r\n @ViewChild(\"mafocus\", { static: false }) mafocus: ElementRef;\r\n bnguonkinhphi: boolean = false;\r\n bnhomctmt: boolean = false;\r\n currentUser: any;\r\n loadDataInit(nhomdoituongid: string, id: string, donviid: string) {\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_tinhchatnguonkp.id.toLocaleLowerCase())\r\n // this.bnguonkinhphi = true;\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_cmmt.id.toLocaleLowerCase())\r\n // this.bnhomctmt = true;\r\n\r\n //if (nhomdoituongid.toLocaleUpperCase() == \"5E79BF59-78D9-4C54-8EF7-0A242F5CBC24\")\r\n // this.hoatdong = \"Ngừng theo dõi\"\r\n //else\r\n this.hoatdong = \"Hoạt động\"\r\n\r\n var authlogin = localStorage.getItem('currentUser');\r\n if (authlogin) {\r\n\r\n this.currentUser = JSON.parse(authlogin);\r\n var giatri = this.currentUser.ds_quyen.filter(name => name.Id === nhomdoituongid.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n if (giatri[0].Them == true)\r\n this.quyen_them = true;\r\n else\r\n this.quyen_them = false;\r\n if (giatri[0].Sua == true)\r\n this.quyen_sua = true;\r\n else\r\n this.quyen_sua = false;\r\n if (giatri[0].Xoa == true)\r\n this.quyen_xoa = true;\r\n else\r\n this.quyen_xoa = false;\r\n }\r\n } \r\n\r\n this.nhomdtid = nhomdoituongid;\r\n setTimeout(() => {\r\n this.mafocus.nativeElement.focus(); \r\n },500);\r\n //this.repo.getRequest(\"api/doituong/getall2/\" + nhomdoituongid + '/'+id+'/'+donviid)\r\n //.subscribe(response => { \r\n // this.inputparents=response;\r\n //});\r\n \r\n\r\n this.doituongSelect = {\r\n Id: null, SoBaoDanh: null, HoVaTen: null, NgaySinh: null, SoCMND: null, NgayCap: null, NoiCap: null\r\n , TenDonVi: null, Email: null, NgayHetHan: null\r\n , PhanHeId: null, Created: null, Modified: null, CreatedBy: null, ModifiedBy: null\r\n };\r\n this.ngayhethan = null;\r\n\r\n this.doituongSelect.SoBaoDanh = id;\r\n \r\n \r\n }\r\n \r\n keyTenPress(event: any) { \r\n if (event.which === 13) {\r\n this.slCapTren.focus();\r\n event.preventDefault();\r\n }\r\n }\r\n public closeModal(){\r\n this.save.emit(null);\r\n }\r\n public saveproduct() {\r\n if (this.doituongSelect.SoBaoDanh == null || this.doituongSelect.SoBaoDanh == \"\") {\r\n swal('Lỗi!', 'Vui lòng chọn danh sách cán bộ trước khi thiết lập ngày hết hạn!.', 'error');\r\n return;\r\n }\r\n\r\n if (this.ngayhethan != null)\r\n this.doituongSelect.NgayHetHanS = this.ngayhethan.getFullYear() + '-' + (this.ngayhethan.getMonth() + 1) + '-' + this.ngayhethan.getDate()\r\n + ' ' + this.ngayhethan.getHours() + ':' + this.ngayhethan.getMinutes()\r\n + ':' + this.ngayhethan.getSeconds();\r\n else {\r\n swal('Lỗi!', 'Vui lòng nhập ngày hết hạn!.', 'error');\r\n return;\r\n }\r\n \r\n this.repo.postRequest(\"api/danhsachthi/thietlapngayhethan\", { GhiChu: this.doituongSelect.SoBaoDanh, NgayHetHanS: this.doituongSelect.NgayHetHanS })\r\n .subscribe(response => { \r\n //if (response != null && response.match('-')) {\r\n this.save.emit(this.doituongSelect);\r\n //}\r\n //else {\r\n // swal('Lỗi!', response, 'error');\r\n //}\r\n }); \r\n }\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n}\r\n","
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n\r\n","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #3a3f51;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #1797be;\\n background-image: linear-gradient(to right, #1797be 0%, #23b7e5 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #1381a3 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #0c4f63;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #1797be;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #1797be;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #1797be;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #1797be;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #1797be;\\n}\\n.sidebar-subnav {\\n background-color: #3a3f51;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #1797be;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #1797be;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #1797be;\\n background-color: #1797be;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxcdGhlbWUtZS5zY3NzIiwiLi5cXC4uXFwuLlxcLi5cXC4uXFwuLlxcYXBwXFx2YXJpYWJsZXMuc2NzcyIsIi4uXFwuLlxcLi5cXC4uXFwuLlxcLi5cXGJvb3RzdHJhcFxcbWl4aW5zXFxfZ3JhZGllbnRzLnNjc3MiLCIuLlxcLi5cXC4uXFwuLlxcLi5cXC4uXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQUpoQztBQWdEQTtFQUNJLHlCQ25Eb0I7QURNeEI7QUFnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkN2Qm9CO0VDeEJ0QixxRUFBQTtFQUNBLDJCQUFBO0FGR0Y7QUcwQ0k7RUhNUTtJQUNJLGtDQUFBO0VBN0NkO0FBQ0Y7QUFpREk7RUFDSSxXQXREd0I7QUFPaEM7QUFrREk7O0VBRUksV0EzRHdCO0FBV2hDO0FBaURROzs7RUFDSSxjQTVEb0I7QUFlaEM7QUFpREk7RUFDSSx5QkMvQ2dCO0FEQXhCO0FBbURBOzs2RUFBQTtBQUdBO0VBQ0kseUJDMUZvQjtBRDBDeEI7QUFrREk7RUFDSSxjQTVEMEI7QUFZbEM7QUF1RFE7RUFDSSxjQTlFc0I7QUEwQmxDO0FBc0RZO0VBQ0ksY0NyRVE7QURpQnhCO0FBd0RZO0VBQ0ksZUFsRmtCO0FBNEJsQztBQTZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNDbkZRO0FEd0J4QjtBQThEWTtFQUNJLGNDdkZRO0FEMkJ4QjtBQWlFUTtFQUNJLDBCQzdGWTtBRDhCeEI7QUFzRUE7RUFDSSx5QkN4SW9CO0FEcUV4QjtBQXFFSTtFQUNJLGNBcEgwQjtBQWlEbEM7QUF1RVE7RUFDSSxjQXpIc0I7QUFvRGxDO0FBdUVZO0VBQ0ksY0NoSFE7QUQyQ3hCO0FBMkVZO0VBQ0ksY0N2SFE7QUQ4Q3hCO0FBMkVnQjtFQUNJLHFCQzFISTtFRDJISix5QkMzSEk7QURrRHhCO0FBb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjQ3JDUztBRDVDYiIsImZpbGUiOiJ0aGVtZS1lLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCb290c3RyYXBcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9taXhpbnNcIjtcclxuQGltcG9ydCAnLi4vYXBwL3ZhcmlhYmxlcyc7XHJcblxyXG5cclxuLy8gTEFZT1VUXHJcblxyXG4kY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRhc2lkZS1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktZGFyaztcclxuXHJcbi8vIE5BVkJBUiBUT1BcclxuXHJcbiRuYXYtdG9wLWJnOiAgICAgICAgICAgICAgICAgICAgJGluZm8tZGFyaztcclxuJG5hdi10b3AtYmctc3RhcnQ6ICAgICAgICAgICAgICAkbmF2LXRvcC1iZztcclxuJG5hdi10b3AtYmctZW5kOiAgICAgICAgICAgICAgICAkaW5mbztcclxuJG5hdi1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuXHJcbiRuYXYtdG9wLWl0ZW06ICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJG5hdi10b3AtaXRlbS1hY3RpdmU6ICAgICAgICAgICBkYXJrZW4oJG5hdi10b3AtYmcsIDIwJSk7XHJcblxyXG4vLyBTSURFQkFSXHJcblxyXG4kc2lkZWJhci1iZzogICAgICAgICAgICAgICAgICAgICAgJGFzaWRlLWJnO1xyXG5cclxuJHNpZGViYXItaXRlbS1jb2xvcjogICAgICAgICAgICAgICNlMWUyZTM7XHJcbiRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlOiAgICAgICAkbmF2LXRvcC1iZztcclxuJHNpZGViYXItaXRlbS1iZy1hY3RpdmU6ICAgICAgICAgIGRhcmtlbigkc2lkZWJhci1iZywgMSUpO1xyXG5cclxuJHNpZGViYXItaWNvbi1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXRzO1xyXG4kc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTogICAgICAgJG5hdi10b3AtYmc7XHJcblxyXG4kc2lkZWJhci1idWxsZXQtY29sb3I6ICAgICAgICAgICAgcmdiYSgwLDAsMCwuMjUpO1xyXG4kc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlOiAgICAgJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcblxyXG4kc2lkZWJhci1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgIzkxOURBODtcclxuJHNpZGViYXItbGFiZWwtY29sb3I6ICAgICAgICAgICAgICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4vLyBPRkZTSURFQkFSXHJcblxyXG4kb2Zmc2lkZWJhci1iZzogICAgICAgICAgICNmZmY7XHJcbiRvZmZzaWRlYmFyLWJvcmRlci1jb2xvcjogZ3JleXNjYWxlKGRhcmtlbigkb2Zmc2lkZWJhci1iZywgMjAlKSk7XHJcbiRvZmZzaWRlYmFyLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3I7XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogbGF5b3V0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5ib2R5LCAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRlbnQtYmc7XHJcbn1cclxuXHJcbi53cmFwcGVyIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFzaWRlLWJnO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB0b3AtbmF2YmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4udG9wbmF2YmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQteCgkbmF2LXRvcC1iZy1zdGFydCwgJG5hdi10b3AtYmctZW5kKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICAgICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAtM3B4IDAgZGFya2VuKCRuYXYtdG9wLWJnLCA2JSkgaW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2YmFyLXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLFxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW07XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtLWFjdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAuZHJvcGRvd24taXRlbTphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBzaWRlYmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uc2lkZWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICAubmF2LWhlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1oZWFkaW5nLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJdGVtc1xyXG4uc2lkZWJhci1uYXYge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEl0ZW0gaWNvblxyXG4gICAgICAgICAgICA+IGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQWN0aXZlIGl0ZW0gc3RhdGVcclxuICAgICAgICAmLmFjdGl2ZSwgJi5vcGVuIHtcclxuICAgICAgICAgICAgJiwgPiBhLCA+IC5uYXYtaXRlbSwgLnNpZGViYXItbmF2IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC5uYXYtaXRlbSA+IGVtLCA+IGEgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLnNpZGViYXItc3VibmF2IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJnO1xyXG5cclxuICAgID4gLnNpZGViYXItc3VibmF2LWhlYWRlciB7XHJcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogb2Zmc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm9mZnNpZGViYXIge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkb2Zmc2lkZWJhci1ib3JkZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2Zmc2lkZWJhci1iZztcclxuICAgIGNvbG9yOiAkb2Zmc2lkZWJhci1jb2xvcjtcclxufVxyXG4iLCJcclxuLy8gQ3V0b21zIEdyYXkgY29sb3JzIGZvciB0aGVtZVxyXG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAjMjMyNzM1O1xyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAjM2EzZjUxO1xyXG4kZ3JheTogICAgICAgICAgICAgICAgICAjZGRlNmU5O1xyXG4kZ3JheS1saWdodDogICAgICAgICAgICAjZTRlYWVjO1xyXG4kZ3JheS1saWdodGVyOiAgICAgICAgICAjZWRmMWYyO1xyXG5cclxuLy8gQ3VzdG9tIGJyYW5kIGNvbG9ycyBmb3IgdGhlbWVcclxuJGludmVyc2U6ICAgICAgICAgICAgICAgIzEzMWUyNjtcclxuJHB1cnBsZTogICAgICAgICAgICAgICAgIzcyNjZiYTtcclxuJHBpbms6ICAgICAgICAgICAgICAgICAgI2Y1MzJlNTtcclxuJHllbGxvdzogICAgICAgICAgICAgICAgI2ZhZDczMjtcclxuJGdyZWVuOiAgICAgICAgICAgICAgICAgIzM3YmM5YjtcclxuXHJcbiRwcmltYXJ5OiAgICAgICAgICAgICAgICM1ZDljZWM7XHJcbiRzZWNvbmRhcnk6ICAgICAgICAgICAgICNmZmY7XHJcbiRzdWNjZXNzOiAgICAgICAgICAgICAgICMyN2MyNGM7XHJcbiRpbmZvOiAgICAgICAgICAgICAgICAgICMyM2I3ZTU7XHJcbiR3YXJuaW5nOiAgICAgICAgICAgICAgICNmZjkwMmI7XHJcbiRkYW5nZXI6ICAgICAgICAgICAgICAgICNmMDUwNTA7XHJcbiRkYXJrOiAgICAgICAgICAgICAgICAgICMzYTNmNTE7XHJcblxyXG4vLyBDdXN0b20gY29sb3IgdmFyaWFudHNcclxuJGFtb3VudE9mTGlnaHQ6IDEwJTtcclxuXHJcbiRwcmltYXJ5LWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHByaW1hcnksICRhbW91bnRPZkxpZ2h0KTtcclxuJHN1Y2Nlc3MtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1saWdodDogICAgICAgICAgICBsaWdodGVuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHdhcm5pbmcsICRhbW91bnRPZkxpZ2h0KTtcclxuJGRhbmdlci1saWdodDogICAgICAgICAgbGlnaHRlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWxpZ2h0OiAgICAgICAgICAgbGlnaHRlbigkZ3JlZW4sICRhbW91bnRPZkxpZ2h0KTtcclxuJHBpbmstbGlnaHQ6ICAgICAgICAgICAgbGlnaHRlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1saWdodDogICAgICAgICAgbGlnaHRlbigkeWVsbG93LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwcmltYXJ5LWRhcms6ICAgICAgICAgIGRhcmtlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1kYXJrOiAgICAgICAgICBkYXJrZW4oJHN1Y2Nlc3MsICRhbW91bnRPZkxpZ2h0KTtcclxuJGluZm8tZGFyazogICAgICAgICAgICAgZGFya2VuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWRhcms6ICAgICAgICAgIGRhcmtlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWRhcms6ICAgICAgICAgICBkYXJrZW4oJGRhbmdlciwgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW52ZXJzZS1kYXJrOiAgICAgICAgICBkYXJrZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWRhcms6ICAgICAgICAgICAgZGFya2VuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJHBpbmssICRhbW91bnRPZkxpZ2h0KTtcclxuJHB1cnBsZS1kYXJrOiAgICAgICAgICAgZGFya2VuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1kYXJrOiAgICAgICAgICAgZGFya2VuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuXHJcbi8vIFRoZW1lIHZhcmlhYmxlc1xyXG5cclxuLy8gdXNlZCBmb3Igc2lkZWJhcnMgYW5kIGNvbnRlbnQgc3BhY2luZ1xyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDU1cHg7XHJcblxyXG4vLyBCdXR0b24gc2Vjb25kYXJ5IHJlZGVmaW5pdGlvbiBzdHlsZSBmb3IgdGhlbWVcclxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAjMzMzO1xyXG4kYnRuLXNlY29uZGFyeS1iZzogICAgICAgICAgICAgICAgICNmZmY7XHJcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICAgI2VhZWFlYTtcclxuXHJcbi8vIFRvcCBCb3JkZXIgY29sb3IgZm9yIGN1c3RvbSBkZWZhdWx0IGNhcmRzICguY2FyZC1kZWZhdWx0KVxyXG4kY2FyZC1kZWZhdWx0LWJvcmRlci1jb2xvcjogICAgICAgICNjZmRiZTI7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFV0aWxpdGllcyB2YXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kdGV4dC1hbHBoYTogICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuJHRleHQtYWxwaGEtaW52ZXJzZTogICAgcmdiYSgwLDAsMCwuNSk7XHJcblxyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAxcmVtO1xyXG4kdGV4dC1zbTogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAwLjc0Mzc1O1xyXG4kdGV4dC1tZDogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjY2MjU7XHJcbiR0ZXh0LWxnOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNjI1O1xyXG5cclxuJGJvcmRlci1jb2xvcjogICAgICAgICAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuJHdkLXh4czogICAgICAgICAgICAgICAgNjBweDtcclxuJHdkLXhzOiAgICAgICAgICAgICAgICAgOTBweDtcclxuJHdkLXNtOiAgICAgICAgICAgICAgICAgMTUwcHg7XHJcbiR3ZC1zZDogICAgICAgICAgICAgICAgIDIwMHB4OyAvLyBzZCA9PSBzdGFuZGFyZFxyXG4kd2QtbWQ6ICAgICAgICAgICAgICAgICAyNDBweDtcclxuJHdkLWxnOiAgICAgICAgICAgICAgICAgMjgwcHg7XHJcbiR3ZC14bDogICAgICAgICAgICAgICAgIDMyMHB4O1xyXG4kd2QteHhsOiAgICAgICAgICAgICAgICAzNjBweDtcclxuJHdkLXdpZGU6ICAgICAgICAgICAgICAgMTAwJTtcclxuJHdkLWF1dG86ICAgICAgICAgICAgICAgYXV0bztcclxuJHdkLXplcm86ICAgICAgICAgICAgICAgMDtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gQm9vdHN0cmFwIDQgVmFyaWFibGVzIE92ZXJyaWRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQ29sb3Igc3lzdGVtXHJcblxyXG4kY29sb3JzOiAoXHJcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcclxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcclxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxyXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcclxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxyXG4gICAgJ2ludmVyc2UnOiAgICAkaW52ZXJzZSxcclxuXHJcbiAgICAncHJpbWFyeS1saWdodCc6ICRwcmltYXJ5LWxpZ2h0LFxyXG4gICAgJ3ByaW1hcnktZGFyayc6ICAkcHJpbWFyeS1kYXJrLFxyXG4gICAgJ3N1Y2Nlc3MtbGlnaHQnOiAkc3VjY2Vzcy1saWdodCxcclxuICAgICdzdWNjZXNzLWRhcmsnOiAgJHN1Y2Nlc3MtZGFyayxcclxuICAgICdpbmZvLWxpZ2h0JzogICAgJGluZm8tbGlnaHQsXHJcbiAgICAnaW5mby1kYXJrJzogICAgICRpbmZvLWRhcmssXHJcbiAgICAnd2FybmluZy1saWdodCc6ICR3YXJuaW5nLWxpZ2h0LFxyXG4gICAgJ3dhcm5pbmctZGFyayc6ICAkd2FybmluZy1kYXJrLFxyXG4gICAgJ2Rhbmdlci1saWdodCc6ICAkZGFuZ2VyLWxpZ2h0LFxyXG4gICAgJ2Rhbmdlci1kYXJrJzogICAkZGFuZ2VyLWRhcmssXHJcbiAgICAnZ3JlZW4tbGlnaHQnOiAgICRncmVlbi1saWdodCxcclxuICAgICdncmVlbi1kYXJrJzogICAgJGdyZWVuLWRhcmssXHJcbiAgICAncGluay1saWdodCc6ICAgICRwaW5rLWxpZ2h0LFxyXG4gICAgJ3BpbmstZGFyayc6ICAgICAkcGluay1kYXJrLFxyXG4gICAgJ3B1cnBsZS1saWdodCc6ICAkcHVycGxlLWxpZ2h0LFxyXG4gICAgJ3B1cnBsZS1kYXJrJzogICAkcHVycGxlLWRhcmssXHJcbiAgICAnaW52ZXJzZS1saWdodCc6ICRpbnZlcnNlLWxpZ2h0LFxyXG4gICAgJ2ludmVyc2UtZGFyayc6ICAkaW52ZXJzZS1kYXJrLFxyXG4gICAgJ3llbGxvdy1saWdodCc6ICAkeWVsbG93LWxpZ2h0LFxyXG4gICAgJ3llbGxvdy1kYXJrJzogICAkeWVsbG93LWRhcmssXHJcbik7XHJcblxyXG5cclxuJHRoZW1lLWNvbG9yczogKFxyXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcclxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlclxyXG4pO1xyXG5cclxuLy8gQm9keVxyXG5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRib2R5LWNvbG9yOiAjNjU2NTY1O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtO1xyXG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuMzc1cmVtO1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41Mjg1NzE0Mjk7XHJcblxyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjE7XHJcblxyXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAjOTA5RkE3O1xyXG5cclxuLy8gVGFibGVzXHJcblxyXG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICAjZmFmYmZjO1xyXG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICAjZmFmYmZjO1xyXG5cclxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgI2VlZTtcclxuXHJcbi8vIEJ1dHRvbnMgKyBGb3Jtc1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgMXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4zMTI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNjI1cmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjYyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMS4yNXJlbTtcclxuXHJcbiRpbnB1dC1oZWlnaHQ6IDI1cHg7IC8vIDM1cHhcclxuXHJcbi8vIEZvcm1zXHJcblxyXG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlcjtcclxuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5O1xyXG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgIzY2YWZlOTtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICNiN2JhYzk7XHJcblxyXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICAgICAgbm9uZTtcclxuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgICAgIG5vbmU7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgbGlnaHRlbigkcHJpbWFyeSwgMjUlKTtcclxuXHJcbi8vIERyb3Bkb3duc1xyXG5cclxuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2UxZTFlMTtcclxuXHJcbi8vIE5hdnNcclxuXHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICNmZmY7XHJcblxyXG4vLyBKdW1ib3Ryb25cclxuXHJcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICNmY2ZjZmM7XHJcblxyXG4vLyBMaXN0IGdyb3VwXHJcblxyXG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICAjZTRlYWVjO1xyXG5cclxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xyXG5cclxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjEyNXJlbTtcclxuXHJcblxyXG4vLyBCcmVhZGNydW1ic1xyXG5cclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZhZmFmYTtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgI2MxYzJjMztcclxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGJvZHktY29sb3I7XHJcbiIsIi8vIEdyYWRpZW50c1xyXG5cclxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xyXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5cclxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcclxufVxyXG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxyXG4vL1xyXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XHJcbi8vXHJcbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcclxuLy9cclxuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxyXG5cclxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcclxuLy8gICAgbWRcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcclxuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcclxuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcclxufVxyXG5cclxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgNTc2cHhcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcclxuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXHJcbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XHJcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXHJcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcclxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxyXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgNzY3Ljk4cHhcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXHJcbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCItc21cIlxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1pbiB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWF4IHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXHJcbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\";","import { Component,ViewChild, OnInit,Output, Input,HostListener,EventEmitter,ElementRef } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { Global } from '../../../shared/global';\r\nimport { Repository } from '../../../services/repository'\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\nimport { Lists_phongban } from '../../../routes/menu'\r\nimport 'jquery'\r\nimport 'bootstrap'\r\n\r\n\r\nconst swal = require('sweetalert');\r\n@Component({\r\n selector: 'app-quantri-phanheedit',\r\n templateUrl: './phanheedit.component.html',\r\n //templateUrl: 'ClientApp/routes/DanhMuc/data/data.component.html',\r\n styleUrls: ['./phanheedit.component.scss'],\r\n providers: [ListService, Repository]\r\n})\r\n\r\n\r\nexport class phanheeditComponent implements OnInit {\r\n\r\n \r\n @ViewChild('dteChung', { static: false }) doituongchungedit: any;\r\n @ViewChild('slCapTren', { static: false }) slCapTren: any;\r\n @ViewChild('slGiaoDien', { static: false }) slGiaoDien: any;\r\n \r\n \r\n quyen_them: boolean = false;\r\n quyen_sua: boolean = false;\r\n quyen_xoa: boolean = false;\r\n public ngxCurrencyOptions = {\r\n prefix: '',\r\n thousands: '.',\r\n decimal: ',',\r\n precision: 0,\r\n allowNegative: true\r\n };\r\n\r\n inputparents: any;\r\n inputluoi: any = [{ Id: 1, Name: 'Trang chi tiết' }, {Id:2, Name: 'Trang thống kê'}]\r\n inputhienthis: any = [\r\n { Id: 1, Ma_Doi_Tuong: 'HT', Ten_Doi_Tuong: 'Hệ thống' }\r\n , { Id: 2, Ma_Doi_Tuong: 'DM', Ten_Doi_Tuong: 'Danh mục' }\r\n //, { Id: 3, Ma_Doi_Tuong: 'CT', Ten_Doi_Tuong: 'Chứng từ' }\r\n , { Id: 4, Ma_Doi_Tuong: 'BC', Ten_Doi_Tuong: 'Báo cáo' }\r\n , { Id: 5, Ma_Doi_Tuong: 'PH', Ten_Doi_Tuong: 'Phân hệ' }\r\n , { Id: 6, Ma_Doi_Tuong: 'CN', Ten_Doi_Tuong: 'Chức năng' }\r\n ];\r\n \r\n donviid: any;\r\n tabselected: number = 1;\r\n\r\n indLoading: boolean = false; \r\n doituongSelect: any = {\r\n ChiTiet: {\r\n Id: null, Ma_Phan_He: null, Ten_Phan_He: null\r\n , Ma_Giao_Dien: null, Hien_Thi: null, Trang_Thai: null\r\n , Chu_Thich_Ma: null, Chu_Thich_Ten: null\r\n ,Parent:null\r\n }\r\n , TaiKhoans: {\r\n Tich:null,Id: null, Ma_Tai_Khoan: null, Ten_Tai_Khoan: null\r\n , Parent: null\r\n }\r\n , PhanHes: {\r\n Tich: null, Id: null, Ma_Phan_He: null, Ten_Phan_He: null\r\n , Parent: null\r\n }, CapTrens: {\r\n Id: null, Ma_Phan_He: null, Ten_Phan_He: null\r\n , Parent: null\r\n }, GiaoDiens: {\r\n Id: null, Ma_Giao_Dien: null, Ten_Giao_Dien: null\r\n \r\n }\r\n , DataTieuDeTK: null, DataTieuDePH: null, DataTieuDeCot:null\r\n , TaiKhoan_TimKiems: null, PhanHe_TimKiems: null\r\n }; \r\n nhomdtid:string=null;\r\n\r\n\r\n @Output() save: EventEmitter = new EventEmitter();\r\n \r\n \r\n\r\n constructor( private _dataService: ListService, private repo: Repository) {\r\n \r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n\r\n }\r\n\r\n // @HostListener('document:keydown', ['$event'])\r\n // public handleKeyboardEvent(event: KeyboardEvent): void {\r\n \r\n // if(event.key===\"F9\")\r\n // {\r\n // this.saveproduct();\r\n // }\r\n // event.stopPropagation();\r\n \r\n // }\r\n TichTK(value) {\r\n this.doituongSelect.TaiKhoan_TimKiems.forEach((item: any) => {\r\n if (item.Id == value.Id)\r\n item.Tich = value.Tich;\r\n });\r\n }\r\n TichPH(value) {\r\n this.doituongSelect.PhanHe_TimKiems.forEach((item: any) => {\r\n if (item.Id == value.Id)\r\n item.Tich = value.Tich;\r\n });\r\n }\r\n TichCot(value) {\r\n this.doituongSelect.Cot_TimKiems.forEach((item: any) => {\r\n if (item.Id == value.Id)\r\n item.Tich = value.Tich;\r\n });\r\n }\r\n changesearchTK(value) {\r\n let datatam = this.doituongSelect.TaiKhoan_TimKiems;\r\n //console.log(datatam);\r\n this.doituongSelect.DataTieuDeTK.forEach((item: any) => {\r\n if (item.TimKiem != null && item.TimKiem != \"\") {\r\n datatam = datatam.filter((s) => s[item.ColumnName] !== null && s[item.ColumnName].toString().toLowerCase().indexOf(item.TimKiem.toLowerCase()) !== -1);\r\n\r\n }\r\n });\r\n this.doituongSelect.TaiKhoans = datatam;\r\n\r\n }\r\n changesearchCot(value) {\r\n let datatam = this.doituongSelect.Cot_TimKiems;\r\n //console.log(datatam);\r\n this.doituongSelect.DataTieuDeCot.forEach((item: any) => {\r\n if (item.TimKiem != null && item.TimKiem != \"\") {\r\n datatam = datatam.filter((s) => s[item.ColumnName] !== null && s[item.ColumnName].toString().toLowerCase().indexOf(item.TimKiem.toLowerCase()) !== -1);\r\n\r\n }\r\n });\r\n this.doituongSelect.Cots = datatam;\r\n\r\n }\r\n changesearchPH(value) {\r\n let datatam = this.doituongSelect.PhanHe_TimKiems;\r\n //console.log(datatam);\r\n this.doituongSelect.DataTieuDePH.forEach((item: any) => {\r\n if (item.TimKiem != null && item.TimKiem != \"\") {\r\n datatam = datatam.filter((s) => s[item.ColumnName] !== null && s[item.ColumnName].toString().toLowerCase().indexOf(item.TimKiem.toLowerCase()) !== -1);\r\n\r\n }\r\n });\r\n this.doituongSelect.PhanHes = datatam;\r\n\r\n }\r\n comboSearchFn(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Doi_Tuong.toLowerCase().indexOf(term) > -1 || item.Ten_Doi_Tuong.toLowerCase().indexOf(term) > -1;\r\n }\r\n comboSearchFn_PH(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Phan_He.toLowerCase().indexOf(term) > -1 || item.Ten_Phan_He.toLowerCase().indexOf(term) > -1;\r\n }\r\n comboSearchFn_GD(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Giao_Dien.toLowerCase().indexOf(term) > -1 || item.Ten_Giao_Dien.toLowerCase().indexOf(term) > -1;\r\n }\r\n comboSearchFn_TK(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Tai_Khoan.toLowerCase().indexOf(term) > -1 || item.Ten_Tai_Khoan.toLowerCase().indexOf(term) > -1;\r\n }\r\n @ViewChild(\"mafocus\",{static:false}) mafocus : ElementRef;\r\n\r\n loadDataInit(nhomdoituongid: string, id: string, donviid: string) {\r\n\r\n var authlogin = localStorage.getItem('currentUser');\r\n if (authlogin) {\r\n\r\n let data = JSON.parse(authlogin);\r\n this.donviid = data.id_don_vi;\r\n var giatri = data.ds_quyen.filter(name => name.Id === nhomdoituongid.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n if (giatri[0].Them == true)\r\n this.quyen_them = true;\r\n else\r\n this.quyen_them = false;\r\n if (giatri[0].Sua == true)\r\n this.quyen_sua = true;\r\n else\r\n this.quyen_sua = false;\r\n if (giatri[0].Xoa == true)\r\n this.quyen_xoa = true;\r\n else\r\n this.quyen_xoa = false;\r\n }\r\n }\r\n\r\n this.nhomdtid = nhomdoituongid;\r\n setTimeout(() => {\r\n this.mafocus.nativeElement.focus();\r\n }, 500);\r\n\r\n //this.repo.getRequest(\"api/doituong/getall2/\" + Lists_donvitinh.id + '/null/' + donviid)\r\n // .subscribe(response => {\r\n // this.inputdvts = response;\r\n // });\r\n\r\n\r\n this.doituongSelect = {\r\n ChiTiet: {\r\n Id: null, Ma_Phan_He: null, Ten_Phan_He: null\r\n , Ma_Giao_Dien: null, Hien_Thi: null, Trang_Thai: null\r\n , Chu_Thich_Ma: null, Chu_Thich_Ten: null\r\n , Parent: null\r\n }\r\n , TaiKhoans: {\r\n Tich: null, Id: null, Ma_Tai_Khoan: null, Ten_Tai_Khoan: null\r\n , Parent: null\r\n }\r\n , PhanHes: {\r\n Tich: null, Id: null, Ma_Phan_He: null, Ten_Phan_He: null\r\n , Parent: null\r\n }\r\n , Cots: {\r\n Tich: null, Id: null, Ma_Phan_He: null, Ten_Phan_He: null\r\n , Parent: null\r\n }\r\n , CapTrens: {\r\n Id: null, Ma_Phan_He: null, Ten_Phan_He: null\r\n , Parent: null\r\n }, GiaoDiens: {\r\n Id: null, Ma_Giao_Dien: null, Ten_Giao_Dien: null\r\n\r\n }\r\n , DataTieuDeTK: null, DataTieuDePH: null, DataTieuCot: null\r\n , TaiKhoan_TimKiems: null, PhanHe_TimKiems: null, Cot_TimKiems: null\r\n };\r\n\r\n console.log(\"ttt\");\r\n this.repo.postRequest(\"api/phanhe/getmodelbyid/\", {Id: id})\r\n .subscribe(response => {\r\n \r\n console.log(response);\r\n this.doituongSelect.ChiTiet = response.ChiTiet;\r\n this.doituongSelect.TaiKhoans = response.TaiKhoans;\r\n this.doituongSelect.PhanHes = response.PhanHes;\r\n this.doituongSelect.Cots = response.Cots;\r\n this.doituongSelect.TaiKhoan_TimKiems = response.TaiKhoans;\r\n this.doituongSelect.PhanHe_TimKiems = response.PhanHes;\r\n this.doituongSelect.Cot_TimKiems = response.Cots;\r\n this.doituongSelect.CapTrens = response.CapTrens;\r\n this.doituongSelect.GiaoDiens = response.GiaoDiens;\r\n this.doituongSelect.DataTieuDeTK = response.DataTieuDeTK;\r\n this.doituongSelect.DataTieuDePH = response.DataTieuDePH;\r\n this.doituongSelect.DataTieuDeCot = response.DataTieuDeCot;\r\n }); \r\n \r\n }\r\n selectedTab(tab: number) {\r\n this.tabselected = tab;\r\n if (tab === 2) {\r\n\r\n\r\n \r\n }\r\n else {\r\n setTimeout(() => {\r\n this.mafocus.nativeElement.focus();\r\n }, 100);\r\n }\r\n \r\n }\r\n keyTenPress(event: any) { \r\n if (event.which === 13) {\r\n //this.slLoaiTaiSan.focus();\r\n event.preventDefault();\r\n }\r\n }\r\n \r\n public closeModal(){\r\n this.save.emit(null);\r\n }\r\n public saveproduct() {\r\n this.doituongSelect.TaiKhoans = this.doituongSelect.TaiKhoan_TimKiems;\r\n this.doituongSelect.PhanHes = this.doituongSelect.PhanHe_TimKiems;\r\n this.doituongSelect.Cots = this.doituongSelect.Cot_TimKiems;\r\n if (this.doituongSelect.ChiTiet.Ma_Phan_He == null || this.doituongSelect.ChiTiet.Ma_Phan_He == \"\") {\r\n swal('Lỗi!', 'Vui lòng nhập mã phân hệ!.', 'error');\r\n return;\r\n }\r\n\r\n if (this.doituongSelect.ChiTiet.Ten_Phan_He == null || this.doituongSelect.ChiTiet.Ten_Phan_He == \"\") {\r\n swal('Lỗi!', 'Vui lòng nhập tên phân hệ!.', 'error');\r\n return;\r\n }\r\n\r\n \r\n \r\n this.repo.postRequest(\"api/phanhe/addorupdate2\",this.doituongSelect)\r\n .subscribe(response => { \r\n console.log(response);\r\n //this.doituongSelect.ChiTiet.Id=response;\r\n this.save.emit(this.doituongSelect);\r\n }); \r\n }\r\n \r\n comboSeleted: NgSelectComponent;\r\n AddDoiTuong(cobo: NgSelectComponent) {\r\n\r\n this.comboSeleted = cobo;\r\n cobo.close();\r\n this.doituongchungedit.loadDataInit(Lists_phongban.id, null, this.donviid);\r\n \r\n }\r\n saveModal(doituong: any) {\r\n console.log(doituong);\r\n \r\n\r\n //this.doituongSelect.Loai_Tai_San_Id = doituong.Id;\r\n \r\n this.comboSeleted.focus();\r\n }\r\n \r\n keySoTKPress(event: any) {\r\n if (event.which === 13) {\r\n //this.inputTenKB.focus();\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
{{item.Ma_Phan_He}}
\r\n
{{item.Ten_Phan_He}}
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
{{item.Ma_Giao_Dien}}
\r\n
{{item.Ten_Giao_Dien}}
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
{{item.Ma_Doi_Tuong}}
\r\n
{{item.Ten_Doi_Tuong}}
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n Danh sách phân hệ\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
{{ut.FullName}}
\r\n \r\n
\r\n {{u[u1.ColumnName] | number}}\r\n {{u[u1.ColumnName]}}\r\n \r\n {{u[u1.ColumnName] | date: 'dd/MM/yyyy'}}\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n \r\n
\r\n","
\r\n \r\n
\r\n
\r\n \"Avatar\"\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ 'sidebar.WELCOME' | translate }} {{user.UserName}}\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { UserblockService } from './userblock.service';\r\n\r\n@Component({\r\n selector: 'app-userblock',\r\n templateUrl: './userblock.component.html',\r\n styleUrls: ['./userblock.component.scss']\r\n})\r\nexport class UserblockComponent implements OnInit {\r\n user: any = { HoSoId: null, UserName: null, Picture: null }\r\n currentUser: any;\r\n constructor(public userblockService: UserblockService) {\r\n\r\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n\r\n if (this.currentUser != null) {\r\n this.user.HoSoId = this.currentUser.ho_so_id;\r\n this.user.Picture = this.currentUser.picture;\r\n this.user.UserName = this.currentUser.user_name;\r\n }\r\n\r\n \r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n userBlockIsVisible() {\r\n return this.userblockService.getVisibility();\r\n }\r\n\r\n}\r\n","import { Component,ViewChild, OnInit,Output, Input,HostListener,EventEmitter,ElementRef } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Global, BaoCao } from '../../../shared/global';\r\nimport { Repository } from '../../../services/repository'\r\nimport { FilterService, ToolbarService, SelectionService, SortService, GridComponent } from '@syncfusion/ej2-angular-grids';\r\nimport 'jquery'\r\nimport 'bootstrap'\r\nimport { Observable } from 'rxjs';\r\nimport { retry } from 'rxjs-compat/operator/retry';\r\nconst swal = require('sweetalert');\r\n@Component({\r\n selector: 'app-tonghop-choncauhoiedit',\r\n templateUrl: './choncauhoiedit.component.html', \r\n styleUrls: ['./choncanboedit.component.scss'],\r\n providers: [ListService, Repository, ToolbarService, SelectionService, FilterService, SortService]\r\n})\r\n\r\n\r\nexport class choncauhoieditComponent implements OnInit {\r\n\r\n @Output() savect: EventEmitter = new EventEmitter();\r\n @ViewChild('grid') public grid: GridComponent;\r\n \r\n //------------khai bao control\r\n public pageSettings: Object;\r\n public selectOptions: Object;\r\n \r\n public filterSettings: Object;\r\n\r\n datas: any = [];\r\n\r\n //-----------------cac hàm khởi tạo dữ liệu ban đầu\r\n constructor(private fb: FormBuilder, private _dataService: ListService, private repo: Repository) {\r\n this.filterSettings = { type: 'Excel' };\r\n this.selectOptions = { persistSelection: true };\r\n this.pageSettings = { pageCount: 5, pageSizes: true, pageSize: 10 };\r\n }\r\n\r\n // @HostListener('document:keydown', ['$event'])\r\n public innerHeight: any\r\n \r\n loadDataInit( donvi: string, user_name: string) {\r\n this.repo.postRequest(\"api/cauhoi/getviewsearch\", { DonViId: donvi, UserName: user_name, GhiChu: null })\r\n .subscribe(response => {\r\n this.datas = response;\r\n }); \r\n \r\n \r\n }\r\n \r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n public savectu() {\r\n this.savect.emit(this.grid.getSelectedRecords());\r\n\r\n }\r\n \r\n\r\n \r\n\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","\r\nimport './modernizr.js'; // 'npm run modernizr' to create this file\r\n\r\nimport '../node_modules/jquery-slimscroll/jquery.slimscroll.js';\r\n\r\n","import { Component,ViewChild, OnInit,Output, Input,HostListener,EventEmitter,ElementRef } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { Repository } from '../../../services/repository'\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\nimport { SatHachs_LoaiThi } from '../../../routes/menu'\r\nimport 'jquery'\r\nimport 'bootstrap'\r\n\r\n//import { Lists_cmmt } from '../../../routes/menu'\r\n\r\n\r\nconst swal = require('sweetalert');\r\n@Component({\r\n selector: 'app-dm-loaithiedit',\r\n templateUrl: './loaithiedit.component.html',\r\n //templateUrl: 'ClientApp/routes/DanhMuc/data/data.component.html',\r\n styleUrls: ['./loaithiedit.component.scss'],\r\n providers: [ListService, Repository]\r\n})\r\n\r\n\r\nexport class loaithieditComponent implements OnInit {\r\n\r\n \r\n \r\n quyen_them: boolean = false;\r\n quyen_sua: boolean = false;\r\n quyen_xoa: boolean = false;\r\n inputparents: any;\r\n inputnhomctmts: any;\r\n indLoading: boolean = false;\r\n doituongSelect: any = {\r\n Id: null, Ma: null, Ten: null, ThuTu: null, GhiChu: null\r\n }; \r\n nhomdtid:string=null;\r\n hoatdong:string=null;\r\n\r\n @ViewChild('slCapTren', { static: false }) slCapTren: NgSelectComponent;\r\n @ViewChild('slNhomCTMT', { static: false }) slNhomCTMT: NgSelectComponent;\r\n @Output() save: EventEmitter = new EventEmitter();\r\n \r\n public ngxCurrencyOptions = {\r\n prefix: '',\r\n thousands: '.',\r\n decimal: ',',\r\n precision: 0,\r\n allowNegative: false\r\n };\r\n\r\n constructor( private _dataService: ListService, private repo: Repository) {\r\n \r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n // @HostListener('document:keydown', ['$event'])\r\n // public handleKeyboardEvent(event: KeyboardEvent): void {\r\n \r\n // if(event.key===\"F9\")\r\n // {\r\n // this.saveproduct();\r\n // }\r\n // event.stopPropagation();\r\n \r\n // }\r\n\r\n comboSearchFn(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Doi_Tuong.toLowerCase().indexOf(term) > -1 || item.Ten_Doi_Tuong.toLowerCase().indexOf(term) > -1;\r\n }\r\n @ViewChild(\"mafocus\", { static: false }) mafocus: ElementRef;\r\n bnguonkinhphi: boolean = false;\r\n bnhomctmt: boolean = false;\r\n currentUser: any;\r\n loadDataInit(nhomdoituongid: string, id: string, donviid: string) {\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_tinhchatnguonkp.id.toLocaleLowerCase())\r\n // this.bnguonkinhphi = true;\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_cmmt.id.toLocaleLowerCase())\r\n // this.bnhomctmt = true;\r\n\r\n //if (nhomdoituongid.toLocaleUpperCase() == \"5E79BF59-78D9-4C54-8EF7-0A242F5CBC24\")\r\n // this.hoatdong = \"Ngừng theo dõi\"\r\n //else\r\n this.hoatdong = \"Hoạt động\"\r\n\r\n var authlogin = localStorage.getItem('currentUser');\r\n if (authlogin) {\r\n\r\n this.currentUser = JSON.parse(authlogin);\r\n var giatri = this.currentUser.ds_quyen.filter(name => name.Id === nhomdoituongid.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n if (giatri[0].Them == true)\r\n this.quyen_them = true;\r\n else\r\n this.quyen_them = false;\r\n if (giatri[0].Sua == true)\r\n this.quyen_sua = true;\r\n else\r\n this.quyen_sua = false;\r\n if (giatri[0].Xoa == true)\r\n this.quyen_xoa = true;\r\n else\r\n this.quyen_xoa = false;\r\n }\r\n } \r\n\r\n this.nhomdtid = nhomdoituongid;\r\n setTimeout(() => {\r\n this.mafocus.nativeElement.focus(); \r\n },500);\r\n //this.repo.getRequest(\"api/doituong/getall2/\" + nhomdoituongid + '/'+id+'/'+donviid)\r\n //.subscribe(response => { \r\n // this.inputparents=response;\r\n //});\r\n \r\n\r\n this.doituongSelect = {\r\n Id: null, Ma: null, Ten: null, ThuTu: null, GhiChu: null, TongSoCauHoi: null, SoDiemDat: null\r\n , PhanHeId: null, Created: null, Modified: null, CreatedBy: null, ModifiedBy: null\r\n }; \r\n if(id === null)\r\n {\r\n this.doituongSelect.PhanHeId = nhomdoituongid;\r\n this.doituongSelect.Created = new Date();\r\n this.doituongSelect.CreatedBy = this.currentUser.user_name;\r\n this.doituongSelect.Modified = new Date();\r\n this.doituongSelect.ModifiedBy = this.currentUser.user_name;\r\n \r\n }\r\n else {\r\n console.log(\"t11\");\r\n this.repo.postRequest(\"api/dmloaithi/getbyid/\", { IdGuid: id, PhanHeId: nhomdoituongid })\r\n .subscribe(response => { \r\n console.log(response);\r\n this.doituongSelect.Id = id;\r\n this.doituongSelect.Ma = response.Ma;\r\n this.doituongSelect.Ten = response.Ten;\r\n this.doituongSelect.GhiChu = response.GhiChu;\r\n this.doituongSelect.PhanHeId = nhomdoituongid;\r\n this.doituongSelect.Created = response.Created;\r\n this.doituongSelect.CreatedBy = response.CreatedBy;\r\n this.doituongSelect.Modified = new Date();\r\n this.doituongSelect.ModifiedBy = this.currentUser.user_name;\r\n \r\n this.doituongSelect.TongSoCauHoi = response.TongSoCauHoi;\r\n this.doituongSelect.SoDiemDat = response.SoDiemDat;\r\n this.doituongSelect.ThuTu = response.ThuTu;\r\n }); \r\n }\r\n \r\n \r\n }\r\n \r\n keyTenPress(event: any) { \r\n if (event.which === 13) {\r\n this.slCapTren.focus();\r\n event.preventDefault();\r\n }\r\n }\r\n public closeModal(){\r\n this.save.emit(null);\r\n }\r\n public saveproduct() {\r\n if (this.doituongSelect.Ma == null || this.doituongSelect.Ma == \"\") {\r\n swal('Lỗi!', 'Vui lòng nhập mã đối tượng!.', 'error');\r\n return;\r\n }\r\n if (this.doituongSelect.Ten == null || this.doituongSelect.Ten == \"\") {\r\n swal('Lỗi!', 'Vui lòng nhập tên đối tượng!.', 'error');\r\n return;\r\n }\r\n this.repo.postRequest(\"api/dmloaithi/addorupdate\",this.doituongSelect)\r\n .subscribe(response => { \r\n console.log(response);\r\n if (response != null && response.match('-')) {\r\n this.save.emit(this.doituongSelect);\r\n }\r\n else {\r\n swal('Lỗi!', response, 'error');\r\n }\r\n }); \r\n }\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n\r\n","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #fff;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #23b7e5;\\n background-image: linear-gradient(to right, #23b7e5 0%, #51c6ea 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #19a5d1 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #117391;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #23b7e5;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #23b7e5;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #fcfcfc;\\n color: #23b7e5;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #23b7e5;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #23b7e5;\\n}\\n.sidebar-subnav {\\n background-color: #fff;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #23b7e5;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #23b7e5;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #23b7e5;\\n background-color: #23b7e5;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxcdGhlbWUtYS5zY3NzIiwiLi5cXC4uXFwuLlxcLi5cXC4uXFwuLlxcYXBwXFx2YXJpYWJsZXMuc2NzcyIsIi4uXFwuLlxcLi5cXC4uXFwuLlxcLi5cXGJvb3RzdHJhcFxcbWl4aW5zXFxfZ3JhZGllbnRzLnNjc3MiLCIuLlxcLi5cXC4uXFwuLlxcLi5cXC4uXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQUpoQztBQWdEQTtFQUNJLHNCQTVDNEI7QUFEaEM7QUFnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkMzQ29CO0VDSnRCLHFFQUFBO0VBQ0EsMkJBQUE7QUZHRjtBRzBDSTtFSE1RO0lBQ0ksa0NBQUE7RUE3Q2Q7QUFDRjtBQWlESTtFQUNJLFdBdER3QjtBQU9oQztBQWtESTs7RUFFSSxXQTNEd0I7QUFXaEM7QUFpRFE7OztFQUNJLGNBNURvQjtBQWVoQztBQWlESTtFQUNJLHlCQ25FZ0I7QURvQnhCO0FBbURBOzs2RUFBQTtBQUdBO0VBQ0ksc0JBbkY0QjtBQW1DaEM7QUFrREk7RUFDSSxjQTVEMEI7QUFZbEM7QUF1RFE7RUFDSSxjQTlFc0I7QUEwQmxDO0FBc0RZO0VBQ0ksY0N6RlE7QURxQ3hCO0FBd0RZO0VBQ0ksZUFsRmtCO0FBNEJsQztBQTZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNDdkdRO0FENEN4QjtBQThEWTtFQUNJLGNDM0dRO0FEK0N4QjtBQWlFUTtFQUNJLDBCQ2pIWTtBRGtEeEI7QUFzRUE7RUFDSSxzQkFqSTRCO0FBOERoQztBQXFFSTtFQUNJLGNBcEgwQjtBQWlEbEM7QUF1RVE7RUFDSSxjQXpIc0I7QUFvRGxDO0FBdUVZO0VBQ0ksY0NwSVE7QUQrRHhCO0FBMkVZO0VBQ0ksY0MzSVE7QURrRXhCO0FBMkVnQjtFQUNJLHFCQzlJSTtFRCtJSix5QkMvSUk7QURzRXhCO0FBb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjQ3JDUztBRDVDYiIsImZpbGUiOiJ0aGVtZS1hLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCb290c3RyYXBcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9taXhpbnNcIjtcclxuQGltcG9ydCAnLi4vYXBwL3ZhcmlhYmxlcyc7XHJcblxyXG5cclxuLy8gTEFZT1VUXHJcblxyXG4kY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRhc2lkZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuXHJcbi8vIE5BVkJBUiBUT1BcclxuXHJcbiRuYXYtdG9wLWJnOiAgICAgICAgICAgICAgICAgICAgJGluZm87XHJcbiRuYXYtdG9wLWJnLXN0YXJ0OiAgICAgICAgICAgICAgJG5hdi10b3AtYmc7XHJcbiRuYXYtdG9wLWJnLWVuZDogICAgICAgICAgICAgICAgJGluZm8tbGlnaHQ7XHJcbiRuYXYtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcblxyXG4kbmF2LXRvcC1pdGVtOiAgICAgICAgICAgICAgICAgICNmZmY7XHJcbiRuYXYtdG9wLWl0ZW0tYWN0aXZlOiAgICAgICAgICAgZGFya2VuKCRuYXYtdG9wLWJnLCAyMCUpO1xyXG5cclxuLy8gU0lERUJBUlxyXG5cclxuJHNpZGViYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRhc2lkZS1iZztcclxuXHJcbiRzaWRlYmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAjNTE1MjUzO1xyXG4kc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTogICAgICAgJG5hdi10b3AtYmc7XHJcbiRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlOiAgICAgICAgICBkYXJrZW4oJHNpZGViYXItYmcsIDElKTtcclxuXHJcbiRzaWRlYmFyLWljb24tY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0cztcclxuJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU6ICAgICAgICRuYXYtdG9wLWJnO1xyXG5cclxuJHNpZGViYXItYnVsbGV0LWNvbG9yOiAgICAgICAgICAgIHJnYmEoMCwwLDAsLjI1KTtcclxuJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTogICAgICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuJHNpZGViYXItaGVhZGluZy1jb2xvcjogICAgICAgICAgICM5MTlEQTg7XHJcbiRzaWRlYmFyLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuLy8gT0ZGU0lERUJBUlxyXG5cclxuJG9mZnNpZGViYXItYmc6ICAgICAgICAgICAjZmZmO1xyXG4kb2Zmc2lkZWJhci1ib3JkZXItY29sb3I6IGdyZXlzY2FsZShkYXJrZW4oJG9mZnNpZGViYXItYmcsIDIwJSkpO1xyXG4kb2Zmc2lkZWJhci1jb2xvcjogICAgICAgICRib2R5LWNvbG9yO1xyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGxheW91dFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuYm9keSwgLndyYXBwZXIgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250ZW50LWJnO1xyXG59XHJcblxyXG4ud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhc2lkZS1iZztcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdG9wLW5hdmJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnRvcG5hdmJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LXgoJG5hdi10b3AtYmctc3RhcnQsICRuYXYtdG9wLWJnLWVuZCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgLTNweCAwIGRhcmtlbigkbmF2LXRvcC1iZywgNiUpIGluc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdmJhci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbS1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNpZGViYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgLm5hdi1oZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaGVhZGluZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSXRlbXNcclxuLnNpZGViYXItbmF2IHtcclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBJdGVtIGljb25cclxuICAgICAgICAgICAgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFjdGl2ZSBpdGVtIHN0YXRlXHJcbiAgICAgICAgJi5hY3RpdmUsICYub3BlbiB7XHJcbiAgICAgICAgICAgICYsID4gYSwgPiAubmF2LWl0ZW0sIC5zaWRlYmFyLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1pdGVtLWJnLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAubmF2LWl0ZW0gPiBlbSwgPiBhID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5zaWRlYmFyLXN1Ym5hdiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICA+IC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IG9mZnNpZGViYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5vZmZzaWRlYmFyIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG9mZnNpZGViYXItYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZnNpZGViYXItYmc7XHJcbiAgICBjb2xvcjogJG9mZnNpZGViYXItY29sb3I7XHJcbn1cclxuIiwiXHJcbi8vIEN1dG9tcyBHcmF5IGNvbG9ycyBmb3IgdGhlbWVcclxuJGdyYXktZGFya2VyOiAgICAgICAgICAgIzIzMjczNTtcclxuJGdyYXktZGFyazogICAgICAgICAgICAgIzNhM2Y1MTtcclxuJGdyYXk6ICAgICAgICAgICAgICAgICAgI2RkZTZlOTtcclxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgI2U0ZWFlYztcclxuJGdyYXktbGlnaHRlcjogICAgICAgICAgI2VkZjFmMjtcclxuXHJcbi8vIEN1c3RvbSBicmFuZCBjb2xvcnMgZm9yIHRoZW1lXHJcbiRpbnZlcnNlOiAgICAgICAgICAgICAgICMxMzFlMjY7XHJcbiRwdXJwbGU6ICAgICAgICAgICAgICAgICM3MjY2YmE7XHJcbiRwaW5rOiAgICAgICAgICAgICAgICAgICNmNTMyZTU7XHJcbiR5ZWxsb3c6ICAgICAgICAgICAgICAgICNmYWQ3MzI7XHJcbiRncmVlbjogICAgICAgICAgICAgICAgICMzN2JjOWI7XHJcblxyXG4kcHJpbWFyeTogICAgICAgICAgICAgICAjNWQ5Y2VjO1xyXG4kc2Vjb25kYXJ5OiAgICAgICAgICAgICAjZmZmO1xyXG4kc3VjY2VzczogICAgICAgICAgICAgICAjMjdjMjRjO1xyXG4kaW5mbzogICAgICAgICAgICAgICAgICAjMjNiN2U1O1xyXG4kd2FybmluZzogICAgICAgICAgICAgICAjZmY5MDJiO1xyXG4kZGFuZ2VyOiAgICAgICAgICAgICAgICAjZjA1MDUwO1xyXG4kZGFyazogICAgICAgICAgICAgICAgICAjM2EzZjUxO1xyXG5cclxuLy8gQ3VzdG9tIGNvbG9yIHZhcmlhbnRzXHJcbiRhbW91bnRPZkxpZ2h0OiAxMCU7XHJcblxyXG4kcHJpbWFyeS1saWdodDogICAgICAgICBsaWdodGVuKCRwcmltYXJ5LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRzdWNjZXNzLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHN1Y2Nlc3MsICRhbW91bnRPZkxpZ2h0KTtcclxuJGluZm8tbGlnaHQ6ICAgICAgICAgICAgbGlnaHRlbigkaW5mbywgJGFtb3VudE9mTGlnaHQpO1xyXG4kd2FybmluZy1saWdodDogICAgICAgICBsaWdodGVuKCR3YXJuaW5nLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRkYW5nZXItbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJGRhbmdlciwgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW52ZXJzZS1saWdodDogICAgICAgICBsaWdodGVuKCRpbnZlcnNlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRncmVlbi1saWdodDogICAgICAgICAgIGxpZ2h0ZW4oJGdyZWVuLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwaW5rLWxpZ2h0OiAgICAgICAgICAgIGxpZ2h0ZW4oJHBpbmssICRhbW91bnRPZkxpZ2h0KTtcclxuJHB1cnBsZS1saWdodDogICAgICAgICAgbGlnaHRlbigkcHVycGxlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR5ZWxsb3ctbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJHllbGxvdywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHJpbWFyeS1kYXJrOiAgICAgICAgICBkYXJrZW4oJHByaW1hcnksICRhbW91bnRPZkxpZ2h0KTtcclxuJHN1Y2Nlc3MtZGFyazogICAgICAgICAgZGFya2VuKCRzdWNjZXNzLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbmZvLWRhcms6ICAgICAgICAgICAgIGRhcmtlbigkaW5mbywgJGFtb3VudE9mTGlnaHQpO1xyXG4kd2FybmluZy1kYXJrOiAgICAgICAgICBkYXJrZW4oJHdhcm5pbmcsICRhbW91bnRPZkxpZ2h0KTtcclxuJGRhbmdlci1kYXJrOiAgICAgICAgICAgZGFya2VuKCRkYW5nZXIsICRhbW91bnRPZkxpZ2h0KTtcclxuJGludmVyc2UtZGFyazogICAgICAgICAgZGFya2VuKCRpbnZlcnNlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRncmVlbi1kYXJrOiAgICAgICAgICAgIGRhcmtlbigkZ3JlZW4sICRhbW91bnRPZkxpZ2h0KTtcclxuJHBpbmstZGFyazogICAgICAgICAgICAgZGFya2VuKCRwaW5rLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwdXJwbGUtZGFyazogICAgICAgICAgIGRhcmtlbigkcHVycGxlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR5ZWxsb3ctZGFyazogICAgICAgICAgIGRhcmtlbigkeWVsbG93LCAkYW1vdW50T2ZMaWdodCk7XHJcblxyXG4vLyBUaGVtZSB2YXJpYWJsZXNcclxuXHJcbi8vIHVzZWQgZm9yIHNpZGViYXJzIGFuZCBjb250ZW50IHNwYWNpbmdcclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1NXB4O1xyXG5cclxuLy8gQnV0dG9uIHNlY29uZGFyeSByZWRlZmluaXRpb24gc3R5bGUgZm9yIHRoZW1lXHJcbiRidG4tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgIzMzMztcclxuJGJ0bi1zZWNvbmRhcnktYmc6ICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kYnRuLXNlY29uZGFyeS1ib3JkZXI6ICAgICAgICAgICAgICNlYWVhZWE7XHJcblxyXG4vLyBUb3AgQm9yZGVyIGNvbG9yIGZvciBjdXN0b20gZGVmYXVsdCBjYXJkcyAoLmNhcmQtZGVmYXVsdClcclxuJGNhcmQtZGVmYXVsdC1ib3JkZXItY29sb3I6ICAgICAgICAjY2ZkYmUyO1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBVdGlsaXRpZXMgdmFyaWFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRleHQtYWxwaGE6ICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuNSk7XHJcbiR0ZXh0LWFscGhhLWludmVyc2U6ICAgIHJnYmEoMCwwLDAsLjUpO1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgMXJlbTtcclxuJHRleHQtc206ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMC43NDM3NTtcclxuJHRleHQtbWQ6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS42NjI1O1xyXG4kdGV4dC1sZzogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjYyNTtcclxuXHJcbiRib3JkZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbiR3ZC14eHM6ICAgICAgICAgICAgICAgIDYwcHg7XHJcbiR3ZC14czogICAgICAgICAgICAgICAgIDkwcHg7XHJcbiR3ZC1zbTogICAgICAgICAgICAgICAgIDE1MHB4O1xyXG4kd2Qtc2Q6ICAgICAgICAgICAgICAgICAyMDBweDsgLy8gc2QgPT0gc3RhbmRhcmRcclxuJHdkLW1kOiAgICAgICAgICAgICAgICAgMjQwcHg7XHJcbiR3ZC1sZzogICAgICAgICAgICAgICAgIDI4MHB4O1xyXG4kd2QteGw6ICAgICAgICAgICAgICAgICAzMjBweDtcclxuJHdkLXh4bDogICAgICAgICAgICAgICAgMzYwcHg7XHJcbiR3ZC13aWRlOiAgICAgICAgICAgICAgIDEwMCU7XHJcbiR3ZC1hdXRvOiAgICAgICAgICAgICAgIGF1dG87XHJcbiR3ZC16ZXJvOiAgICAgICAgICAgICAgIDA7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEJvb3RzdHJhcCA0IFZhcmlhYmxlcyBPdmVycmlkZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIENvbG9yIHN5c3RlbVxyXG5cclxuJGNvbG9yczogKFxyXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXHJcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXHJcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcclxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXHJcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXHJcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcclxuICAgICdpbnZlcnNlJzogICAgJGludmVyc2UsXHJcblxyXG4gICAgJ3ByaW1hcnktbGlnaHQnOiAkcHJpbWFyeS1saWdodCxcclxuICAgICdwcmltYXJ5LWRhcmsnOiAgJHByaW1hcnktZGFyayxcclxuICAgICdzdWNjZXNzLWxpZ2h0JzogJHN1Y2Nlc3MtbGlnaHQsXHJcbiAgICAnc3VjY2Vzcy1kYXJrJzogICRzdWNjZXNzLWRhcmssXHJcbiAgICAnaW5mby1saWdodCc6ICAgICRpbmZvLWxpZ2h0LFxyXG4gICAgJ2luZm8tZGFyayc6ICAgICAkaW5mby1kYXJrLFxyXG4gICAgJ3dhcm5pbmctbGlnaHQnOiAkd2FybmluZy1saWdodCxcclxuICAgICd3YXJuaW5nLWRhcmsnOiAgJHdhcm5pbmctZGFyayxcclxuICAgICdkYW5nZXItbGlnaHQnOiAgJGRhbmdlci1saWdodCxcclxuICAgICdkYW5nZXItZGFyayc6ICAgJGRhbmdlci1kYXJrLFxyXG4gICAgJ2dyZWVuLWxpZ2h0JzogICAkZ3JlZW4tbGlnaHQsXHJcbiAgICAnZ3JlZW4tZGFyayc6ICAgICRncmVlbi1kYXJrLFxyXG4gICAgJ3BpbmstbGlnaHQnOiAgICAkcGluay1saWdodCxcclxuICAgICdwaW5rLWRhcmsnOiAgICAgJHBpbmstZGFyayxcclxuICAgICdwdXJwbGUtbGlnaHQnOiAgJHB1cnBsZS1saWdodCxcclxuICAgICdwdXJwbGUtZGFyayc6ICAgJHB1cnBsZS1kYXJrLFxyXG4gICAgJ2ludmVyc2UtbGlnaHQnOiAkaW52ZXJzZS1saWdodCxcclxuICAgICdpbnZlcnNlLWRhcmsnOiAgJGludmVyc2UtZGFyayxcclxuICAgICd5ZWxsb3ctbGlnaHQnOiAgJHllbGxvdy1saWdodCxcclxuICAgICd5ZWxsb3ctZGFyayc6ICAgJHllbGxvdy1kYXJrLFxyXG4pO1xyXG5cclxuXHJcbiR0aGVtZS1jb2xvcnM6IChcclxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXHJcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXHJcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXJcclxuKTtcclxuXHJcbi8vIEJvZHlcclxuXHJcbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYm9keS1jb2xvcjogIzY1NjU2NTtcclxuXHJcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbTtcclxuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjM3NXJlbTtcclxuXHJcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNTI4NTcxNDI5O1xyXG5cclxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4xO1xyXG5cclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgIzkwOUZBNztcclxuXHJcbi8vIFRhYmxlc1xyXG5cclxuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgI2ZhZmJmYztcclxuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgI2ZhZmJmYztcclxuXHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICNlZWU7XHJcblxyXG4vLyBCdXR0b25zICsgRm9ybXNcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIDFyZW07XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMzEyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjYyNXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC42MjVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDEuMjVyZW07XHJcblxyXG4kaW5wdXQtaGVpZ2h0OiAyNXB4OyAvLyAzNXB4XHJcblxyXG4vLyBGb3Jtc1xyXG5cclxuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXI7XHJcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheTtcclxuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICM2NmFmZTk7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAjYjdiYWM5O1xyXG5cclxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgICAgIG5vbmU7XHJcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgICAgICBub25lO1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgIGxpZ2h0ZW4oJHByaW1hcnksIDI1JSk7XHJcblxyXG4vLyBEcm9wZG93bnNcclxuXHJcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNlMWUxZTE7XHJcblxyXG4vLyBOYXZzXHJcblxyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAjZmZmO1xyXG5cclxuLy8gSnVtYm90cm9uXHJcblxyXG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZmNmY2ZjO1xyXG5cclxuLy8gTGlzdCBncm91cFxyXG5cclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgI2U0ZWFlYztcclxuXHJcbi8vIEltYWdlIHRodW1ibmFpbHNcclxuXHJcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4xMjVyZW07XHJcblxyXG5cclxuLy8gQnJlYWRjcnVtYnNcclxuXHJcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICNmYWZhZmE7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICNjMWMyYzM7XHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRib2R5LWNvbG9yO1xyXG4iLCIvLyBHcmFkaWVudHNcclxuXHJcbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcclxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cclxuLy9cclxuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxyXG4vL1xyXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXHJcbi8vXHJcbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cclxuXHJcbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXHJcbi8vICAgIG1kXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XHJcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDU3NnB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xyXG59XHJcblxyXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxyXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxyXG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxyXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XHJcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cclxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDc2Ny45OHB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xyXG59XHJcblxyXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxyXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiLXNtXCJcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtaW4ge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1heCB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxyXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { SettingsService } from '../../core/settings/settings.service';\r\n\r\n@Component({\r\n selector: '[app-footer]',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor(public settings: SettingsService) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\nimport { Subject } from \"rxjs/Subject\";\nimport { Observable } from \"rxjs/Observable\";\n\n@Injectable()\nexport class ToolDataService {\n private subject = new Subject();\n\n checkvalidate(formatMask: any) {\n var dateStr = formatMask.getMaskedValue();\n\n const monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n const parts = dateStr.split('/');\n const day = parseInt(parts[0], 10);\n const month = parseInt(parts[1], 10);\n const year = parseInt(parts[2], 10);\n \n \n if (year < 1770 || year > 3000 || month === 0 || month > 12 || isNaN(day) || isNaN(month) || isNaN(year)) {\n return false;\n }\n \n if (year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0)) {\n monthLength[1] = 29;\n }\n \n if (!(day > 0 && day <= monthLength[month - 1])) {\n return false;\n };\n return true;\n }\n\n}\n\n\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class ColorsService {\r\n\r\n APP_COLORS = {\r\n 'primary': '#5d9cec',\r\n 'success': '#27c24c',\r\n 'info': '#23b7e5',\r\n 'warning': '#ff902b',\r\n 'danger': '#f05050',\r\n 'inverse': '#131e26',\r\n 'green': '#37bc9b',\r\n 'pink': '#f532e5',\r\n 'purple': '#7266ba',\r\n 'dark': '#3a3f51',\r\n 'yellow': '#fad732',\r\n 'gray-darker': '#232735',\r\n 'gray-dark': '#3a3f51',\r\n 'gray': '#dde6e9',\r\n 'gray-light': '#e4eaec',\r\n 'gray-lighter': '#edf1f2'\r\n };\r\n\r\n constructor() { }\r\n\r\n byName(name) {\r\n // console.log(name +' -> ' + this.APP_COLORS[name])\r\n return (this.APP_COLORS[name] || '#fff');\r\n }\r\n\r\n}\r\n","import { Component, ViewChild, OnInit, Output, Input, HostListener, EventEmitter, ElementRef } from '@angular/core';\r\nimport { Repository } from '../../../services/repository'\r\n\r\n\r\n\r\n@Component({\r\n selector: 'article-status',\r\n template: `\r\n {{ statusText }}\r\n {{ statusText }}\r\n `,\r\n providers: [Repository]\r\n })\r\nexport class ArticleStatusDirective implements OnInit {\r\n\r\n \r\n renderValue: string;\r\n\r\n @Input() articleid: string | number;\r\n status: any = null;\r\n statusText: any = null;\r\n constructor(private repo: Repository) {\r\n\r\n\r\n }\r\n ngOnInit() {\r\n this.repo.getRequest(\"api/nguoidung/getarticleapprovers/\" + this.articleid)\r\n .subscribe(response => {\r\n \r\n var keepGoing = true;\r\n response.forEach(\r\n (item) => {\r\n if (keepGoing && item.TrangThaiDuyet != 'Đã duyệt' && item.TrangThaiDuyet != 'Hoàn thành') {\r\n keepGoing = false;\r\n this.status = 'Continue' \r\n this.statusText = 'Đang duyệt'\r\n }\r\n })\r\n if (keepGoing) {\r\n this.status = 'Completed'\r\n this.statusText = 'Hoàn thành'\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class UserblockService {\r\n public userBlockVisible: boolean;\r\n constructor() {\r\n // initially visible\r\n this.userBlockVisible = true;\r\n }\r\n\r\n getVisibility() {\r\n return this.userBlockVisible;\r\n }\r\n\r\n setVisibility(stat = true) {\r\n this.userBlockVisible = stat;\r\n }\r\n\r\n toggleVisibility() {\r\n this.userBlockVisible = !this.userBlockVisible;\r\n }\r\n\r\n}\r\n","import { Component,ViewChild, OnInit,Output, Input,HostListener,EventEmitter,ElementRef } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { Repository } from '../../../services/repository'\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\nimport { SatHachs_DanhSachThi } from '../../../routes/menu'\r\nimport 'jquery'\r\nimport 'bootstrap'\r\n\r\n//import { Lists_cmmt } from '../../../routes/menu'\r\n\r\n\r\nconst swal = require('sweetalert');\r\n@Component({\r\n selector: 'app-dm-danhsachthiedit',\r\n templateUrl: './danhsachthiedit.component.html',\r\n //templateUrl: 'ClientApp/routes/DanhMuc/data/data.component.html',\r\n styleUrls: ['./danhsachthiedit.component.scss'],\r\n providers: [ListService, Repository]\r\n})\r\n\r\n\r\nexport class danhsachthieditComponent implements OnInit {\r\n\r\n public ngaycap: Date = null;\r\n public ngayhethan: Date = null;\r\n public ngaysinh: Date = null;\r\n \r\n quyen_them: boolean = false;\r\n quyen_sua: boolean = false;\r\n quyen_xoa: boolean = false;\r\n inputparents: any;\r\n inputnhomctmts: any;\r\n indLoading: boolean = false;\r\n doituongSelect: any = {\r\n Id: null, SoBaoDanh: null, HoVaTen: null, NgaySinh: null, SoCMND: null, NgayCap: null, NoiCap: null\r\n , TenDonVi: null, Email: null, NgayHetHan: null\r\n , PhanHeId: null, Created: null, Modified: null, CreatedBy: null, ModifiedBy: null\r\n }; \r\n nhomdtid:string=null;\r\n hoatdong:string=null;\r\n\r\n @ViewChild('slCapTren', { static: false }) slCapTren: NgSelectComponent;\r\n @ViewChild('slNhomCTMT', { static: false }) slNhomCTMT: NgSelectComponent;\r\n @Output() save: EventEmitter = new EventEmitter();\r\n \r\n public ngxCurrencyOptions = {\r\n prefix: '',\r\n thousands: '.',\r\n decimal: ',',\r\n precision: 0,\r\n allowNegative: false\r\n };\r\n\r\n constructor( private _dataService: ListService, private repo: Repository) {\r\n \r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n // @HostListener('document:keydown', ['$event'])\r\n // public handleKeyboardEvent(event: KeyboardEvent): void {\r\n \r\n // if(event.key===\"F9\")\r\n // {\r\n // this.saveproduct();\r\n // }\r\n // event.stopPropagation();\r\n \r\n // }\r\n\r\n comboSearchFn(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Doi_Tuong.toLowerCase().indexOf(term) > -1 || item.Ten_Doi_Tuong.toLowerCase().indexOf(term) > -1;\r\n }\r\n @ViewChild(\"mafocus\", { static: false }) mafocus: ElementRef;\r\n bnguonkinhphi: boolean = false;\r\n bnhomctmt: boolean = false;\r\n currentUser: any;\r\n loadDataInit(nhomdoituongid: string, id: string, donviid: string) {\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_tinhchatnguonkp.id.toLocaleLowerCase())\r\n // this.bnguonkinhphi = true;\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_cmmt.id.toLocaleLowerCase())\r\n // this.bnhomctmt = true;\r\n\r\n //if (nhomdoituongid.toLocaleUpperCase() == \"5E79BF59-78D9-4C54-8EF7-0A242F5CBC24\")\r\n // this.hoatdong = \"Ngừng theo dõi\"\r\n //else\r\n this.hoatdong = \"Hoạt động\"\r\n\r\n var authlogin = localStorage.getItem('currentUser');\r\n if (authlogin) {\r\n\r\n this.currentUser = JSON.parse(authlogin);\r\n var giatri = this.currentUser.ds_quyen.filter(name => name.Id === nhomdoituongid.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n if (giatri[0].Them == true)\r\n this.quyen_them = true;\r\n else\r\n this.quyen_them = false;\r\n if (giatri[0].Sua == true)\r\n this.quyen_sua = true;\r\n else\r\n this.quyen_sua = false;\r\n if (giatri[0].Xoa == true)\r\n this.quyen_xoa = true;\r\n else\r\n this.quyen_xoa = false;\r\n }\r\n } \r\n\r\n this.nhomdtid = nhomdoituongid;\r\n setTimeout(() => {\r\n this.mafocus.nativeElement.focus(); \r\n },500);\r\n //this.repo.getRequest(\"api/doituong/getall2/\" + nhomdoituongid + '/'+id+'/'+donviid)\r\n //.subscribe(response => { \r\n // this.inputparents=response;\r\n //});\r\n \r\n\r\n this.doituongSelect = {\r\n Id: null, SoBaoDanh: null, HoVaTen: null, NgaySinh: null, SoCMND: null, NgayCap: null, NoiCap: null\r\n , TenDonVi: null, Email: null, NgayHetHan: null, NgayCapS: null, NgayHetHanS: null\r\n , PhanHeId: null, Created: null, Modified: null, CreatedBy: null, ModifiedBy: null\r\n };\r\n this.ngaycap = null;\r\n this.ngayhethan = null;\r\n this.ngaysinh = null;\r\n if(id === null)\r\n {\r\n this.doituongSelect.PhanHeId = nhomdoituongid;\r\n this.doituongSelect.Created = new Date();\r\n this.doituongSelect.CreatedBy = this.currentUser.user_name;\r\n this.doituongSelect.Modified = new Date();\r\n this.doituongSelect.ModifiedBy = this.currentUser.user_name;\r\n \r\n }\r\n else {\r\n console.log(\"t11\");\r\n this.repo.postRequest(\"api/danhsachthi/getbyid/\", { IdGuid: id, PhanHeId: nhomdoituongid })\r\n .subscribe(response => { \r\n console.log(response);\r\n this.doituongSelect.Id = id;\r\n this.doituongSelect.SoBaoDanh = response.SoBaoDanh;\r\n this.doituongSelect.HoVaTen = response.HoVaTen;\r\n this.doituongSelect.NgaySinh = response.NgaySinh;\r\n this.doituongSelect.PhanHeId = nhomdoituongid;\r\n this.doituongSelect.Created = response.Created;\r\n this.doituongSelect.CreatedBy = response.CreatedBy;\r\n this.doituongSelect.Modified = new Date();\r\n this.doituongSelect.ModifiedBy = this.currentUser.user_name;\r\n \r\n this.doituongSelect.SoCMND = response.SoCMND;\r\n this.doituongSelect.NgayCap = response.NgayCap;\r\n this.doituongSelect.NoiCap = response.NoiCap;\r\n this.doituongSelect.TenDonVi = response.TenDonVi;\r\n this.doituongSelect.Email = response.Email;\r\n this.doituongSelect.NgayHetHan = response.NgayHetHan;\r\n\r\n if (response.NgayCap != null)\r\n this.ngaycap = new Date(response.NgayCap);\r\n else\r\n this.ngaycap = null;\r\n if (response.NgayHetHan != null)\r\n this.ngayhethan = new Date(response.NgayHetHan);\r\n else\r\n this.ngayhethan = null;\r\n if (response.NgaySinh != null)\r\n this.ngaysinh = new Date(response.NgaySinh);\r\n else\r\n this.ngaysinh = null;\r\n\r\n }); \r\n }\r\n \r\n \r\n }\r\n \r\n keyTenPress(event: any) { \r\n if (event.which === 13) {\r\n this.slCapTren.focus();\r\n event.preventDefault();\r\n }\r\n }\r\n public closeModal(){\r\n this.save.emit(null);\r\n }\r\n public saveproduct() {\r\n if (this.doituongSelect.SoBaoDanh == null || this.doituongSelect.SoBaoDanh == \"\") {\r\n swal('Lỗi!', 'Vui lòng nhập mã đăng nhập!.', 'error');\r\n return;\r\n }\r\n if (this.doituongSelect.HoVaTen == null || this.doituongSelect.HoVaTen == \"\") {\r\n swal('Lỗi!', 'Vui lòng nhập Họ tên cán bộ!.', 'error');\r\n return;\r\n }\r\n\r\n if (this.ngaycap != null)\r\n this.doituongSelect.NgayCapS = this.ngaycap.getDate() + '/' + (this.ngaycap.getMonth() + 1) + '/' + this.ngaycap.getFullYear();\r\n if (this.ngayhethan != null)\r\n this.doituongSelect.NgayHetHanS = this.ngayhethan.getDate() + '/' + (this.ngayhethan.getMonth() + 1) + '/' + this.ngayhethan.getFullYear()\r\n + '/' + this.ngayhethan.getHours() + '/' + this.ngayhethan.getMinutes()\r\n + '/' + this.ngayhethan.getSeconds();\r\n\r\n this.repo.postRequest(\"api/danhsachthi/addorupdate\",this.doituongSelect)\r\n .subscribe(response => { \r\n console.log(response);\r\n if (response != null && response.match('-')) {\r\n this.save.emit(this.doituongSelect);\r\n }\r\n else {\r\n swal('Lỗi!', response, 'error');\r\n }\r\n }); \r\n }\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n","import { NgModule, Optional, SkipSelf } from '@angular/core';\r\n\r\nimport { SettingsService } from './settings/settings.service';\r\nimport { ThemesService } from './themes/themes.service';\r\nimport { TranslatorService } from './translator/translator.service';\r\nimport { MenuService } from './menu/menu.service';\r\n\r\nimport { throwIfAlreadyLoaded } from './module-import-guard';\r\n\r\n@NgModule({\r\n imports: [\r\n ],\r\n providers: [\r\n SettingsService,\r\n ThemesService,\r\n TranslatorService,\r\n MenuService\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ]\r\n})\r\nexport class CoreModule {\r\n constructor( @Optional() @SkipSelf() parentModule: CoreModule) {\r\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\r\n }\r\n}\r\n","import { Component,ViewChild, OnInit,Output, Input,HostListener,EventEmitter,ElementRef } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Global, BaoCao } from '../../../shared/global';\r\nimport { Repository } from '../../../services/repository'\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\n\r\nimport { interval } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\n\r\nimport 'jquery'\r\nimport 'bootstrap'\r\n\r\nimport { retry } from 'rxjs-compat/operator/retry';\r\nimport { FileManager } from '@syncfusion/ej2-filemanager';\r\nimport { FileManagerModule, NavigationPaneService, ToolbarService, DetailsViewService } from '@syncfusion/ej2-angular-filemanager';\r\nconst swal = require('sweetalert');\r\nimport { loadCldr, L10n } from '@syncfusion/ej2-base';\r\n\r\n\r\ndeclare let require: Function;\r\nloadCldr(\r\n require('../../../../../node_modules/cldr-data/supplemental/numberingSystems.json'),\r\n require('../../../../../node_modules/cldr-data/main/vi/ca-gregorian.json'),\r\n require('../../../../../node_modules/cldr-data/main/vi/currencies.json'),\r\n require('../../../../../node_modules/cldr-data/main/vi/numbers.json'),\r\n require('../../../../../node_modules/cldr-data/main/vi/timeZoneNames.json')\r\n);\r\n\r\nL10n.load({\r\n \"vi\": {\r\n \r\n 'filemanager': {\r\n \"NewFolder\": \"Thêm thư mục\",\r\n \"Upload\": \"Tải\",\r\n \"Delete\": \"Xóa\",\r\n \"Rename\": \"Đổi tên\",\r\n \"Download\": \"Download\",\r\n \"Cut\": \"Cut\",\r\n \"Copy\": \"Sao chép\",\r\n \"Paste\": \"Dán\",\r\n \"SortBy\": \"Sắp xếp\",\r\n \"Refresh\": \"Làm mới\",\r\n \"Item-Selection\": \"Chọn đối tượng\",\r\n \"Items-Selection\": \"Chọn nhiều đối tượng\",\r\n \"View\": \"Thẻ\",\r\n \"Details\": \"Chi tiết\",\r\n \"SelectAll\": \"Chọn tất\",\r\n \"Open\": \"Mở\",\r\n \"Tooltip-NewFolder\": \"Tạo thư mục\",\r\n \"Tooltip-Upload\": \"Tải lên tệp\",\r\n \"Tooltip-Delete\": \"Xóa\",\r\n \"Tooltip-Rename\": \"Đổi tên\",\r\n \"Tooltip-Download\": \"Tải xuống\",\r\n \"Tooltip-Cut\": \"Cut\",\r\n \"Tooltip-Copy\": \"Sao chép\",\r\n \"Tooltip-Paste\": \"Dán\",\r\n \"Tooltip-SortBy\": \"Sắp xếp\",\r\n \"Tooltip-Refresh\": \"Làm mới\",\r\n \"Tooltip-Selection\": \"Chọn\",\r\n \"Tooltip-View\": \"Hiển thị thẻ\",\r\n \"Tooltip-Details\": \"Hiển thị chi tiết\",\r\n \"Tooltip-SelectAll\": \"Chọn tất cả\",\r\n \"Name\": \"Tên\",\r\n \"Size\": \"Dung lượng\",\r\n \"DateModified\": \"Ngày thay đổi\",\r\n \"DateCreated\": \"Ngày tạp\",\r\n \"Path\": \"Đường dẫn\",\r\n \"Modified\": \"Modified\",\r\n \"Created\": \"Created\",\r\n \"Location\": \"Vị trí\",\r\n \"Type\": \"Kiểu\",\r\n \"Permission\": \"Quyền\",\r\n \"Ascending\": \"Tăng dần\",\r\n \"Descending\": \"Giảm dần\",\r\n \"None\": \"None\",\r\n \"View-LargeIcons\": \"Hiển thị lớn\",\r\n \"View-Details\": \"Hiển thị chi tiết\",\r\n \"Search\": \"Tìm kiếm\",\r\n \"Button-Ok\": \"Đồng ý\",\r\n \"Button-Cancel\": \"Hủy\",\r\n \"Button-Yes\": \"Đồng ý\",\r\n \"Button-No\": \"Không\",\r\n \"Button-Create\": \"Tạo\",\r\n \"Button-Save\": \"Lưu\",\r\n \"Header-NewFolder\": \"Thư mục\",\r\n \"Content-NewFolder\": \"Nhập tên thư mục\",\r\n \"Header-Rename\": \"Đổi ten\",\r\n \"Content-Rename\": \"Nhập tên mới\",\r\n \"Header-Rename-Confirmation\": \"Xác nhận đổi tên\",\r\n \"Content-Rename-Confirmation\": \"Nếu bạn thay đổi phần mở rộng của tệp\",\r\n \"Header-Delete\": \"Xóa tệp\",\r\n \"Content-Delete\": \"Bạn có chắc xóa tệp này\",\r\n \"Header-Multiple-Delete\": \"Xóa nhiều tệp\",\r\n \"Content-Multiple-Delete\": \"Bạn có chắc chắn xóa những tệp này {0} ?\",\r\n \"Header-Folder-Delete\": \"Xóa thư mục\",\r\n \"Content-Folder-Delete\": \"Bạn chắc chắn muốn xóa thư mục này?\",\r\n \"Header-Duplicate\": \"Tệp đã tồn tại\",\r\n \"Content-Duplicate\": \"{0} Tập đã tồn tại bạn có muốn ghi đè không?\",\r\n \"Header-Upload\": \"Tải tệp\",\r\n \"Error\": \"Lỗi\",\r\n \"Validation-Empty\": \"Tệp hoặc thư mục trống\",\r\n \"Validation-Invalid\": \"Tệp hoặc thư mục {0} có chứa ký tự không hợp lệ!\",\r\n \"Validation-NewFolder-Exists\": \"Tệp hoặc thư mục tên {0} đã tồn tại.\",\r\n \"Validation-Rename-Exists\": \"Không thể đổi tên {0} thành {1}\",\r\n \"Folder-Empty\": \"Thư mục trống\",\r\n \"File-Upload\": \"Kéo tệp vào để tải lên\",\r\n \"Search-Empty\": \"Không có kết quả hợp lệ\",\r\n \"Search-Key\": \"Hãy thử với từ khóa khác\",\r\n \"Filter-Empty\": \"Không có kết quả\",\r\n \"Filter-Key\": \"Hãy thử lọc với từ khóa khác\",\r\n \"Sub-Folder-Error\": \"Lỗi thư mục chuyến đến là tư mục con của nó.\",\r\n \"Same-Folder-Error\": \"Thư mục chuyển đến cùng tên.\",\r\n \"Access-Denied\": \"Bạn không có quyền\",\r\n \"Access-Details\": \"Bạn không có quyền truy cập\",\r\n \"Header-Retry\": \"Tệp đã tồn tại\",\r\n \"Content-Retry\": \"Tệp đã tồn tại trong thư mục. Bạn muốn làm gì?\",\r\n \"Button-Keep-Both\": \"Giữ cả 2\",\r\n \"Button-Replace\": \"Thay thế\",\r\n \"Button-Skip\": \"Bỏ qua\",\r\n \"ApplyAll-Label\": \"Áp dụng cho tất cả\",\r\n \"KB\": \"KB\",\r\n \"Access-Message\": \"{0} không có quyền. Bạn cần có quyền {1} để thực hiện hành động này.\",\r\n \"Network-Error\": \"Lỗi mạng: Failed to send on XMLHTTPRequest: Failed to load\",\r\n \"Server-Error\": \"Lỗi máy chủ: Invalid response from\"\r\n }\r\n\r\n }\r\n});\r\n\r\n@Component({\r\n selector: 'app-quantri-filemanager',\r\n templateUrl: './filemanager.component.html',\r\n\r\n providers: [ListService, Repository,\r\n NavigationPaneService, ToolbarService, DetailsViewService\r\n ]\r\n})\r\n\r\n\r\nexport class filemanagerComponent implements OnInit {\r\n\r\n @Input() DeNghi: number;\r\n @Output() savect: EventEmitter = new EventEmitter();\r\n @ViewChild('fileManager')\r\n public fileManagerInstance: FileManager;\r\n\r\n public ajaxSettings: object;\r\n public view: string;\r\n public hostUrl: string = '/';\r\n public codeClass: string = null;\r\n\r\n \r\n //-----------------cac hàm khởi tạo dữ liệu ban đầu\r\n constructor(private fb: FormBuilder, private _dataService: ListService, private repo: Repository) {\r\n\r\n\r\n \r\n \r\n } \r\n\r\n public ngOnInit(): void {\r\n \r\n this.view = \"Details\";\r\n\r\n //interval(2000).pipe(take(1))\r\n // .subscribe(() => {\r\n // // place you code here\r\n // this.fileManagerInstance.refreshLayout();\r\n // this.fileManagerInstance.disableToolbarItems([\"newfolder\"]);\r\n // });\r\n }\r\n currentUser: any;\r\n loaiuser: number\r\n loadDataInit(Id: any, codeClass,cr) {\r\n this.codeClass = codeClass;\r\n\r\n //------------------quyen--------------------\r\n this.currentUser = cr;\r\n if (this.currentUser) {\r\n this.loaiuser = this.currentUser.loai; \r\n } \r\n \r\n //--------------------------------------------\r\n\r\n this.ajaxSettings = {\r\n url: this.hostUrl + 'FileManager/FileOperations',\r\n getImageUrl: this.hostUrl + 'FileManager/GetImage',\r\n uploadUrl: this.hostUrl + 'FileManager/Upload',\r\n downloadUrl: this.hostUrl + 'FileManager/Download'\r\n };\r\n if (this.loaiuser == 3) {\r\n console.log(this.loaiuser);\r\n setTimeout(() => { \r\n this.fileManagerInstance.disableToolbarItems([\"newfolder\", \"Upload\", \"Paste\", \"Delete\", \"Rename\", \"Cut\"]); \r\n }, 1000);\r\n }\r\n }\r\n ondisable() {\r\n this.fileManagerInstance.disableToolbarItems([\"newfolder\"]);\r\n this.fileManagerInstance.refreshLayout();\r\n }\r\n onmenuOpen(args) {\r\n if (this.loaiuser == 3) \r\n this.fileManagerInstance.disableMenuItems([\"newfolder\", \"Upload\", \"Paste\", \"Delete\", \"Rename\", \"Cut\"]);\r\n }\r\n OnbeforeSend(args) {\r\n \r\n var data = JSON.parse(args.ajaxSettings.data); \r\n if (args.action == 'Upload')\r\n {\r\n //data[0][\"CodeClass\"] = this.codeClass;\r\n //data[0][\"Loai\"] = 1;\r\n data.push({ codeclass: this.codeClass });\r\n data.push({ loai: 1 });\r\n args.ajaxSettings.data = JSON.stringify(data); \r\n }\r\n else { \r\n data[\"CodeClass\"] = this.codeClass;\r\n data[\"Loai\"] = 1; \r\n args.ajaxSettings.data = JSON.stringify(data); \r\n }\r\n \r\n }; \r\n savedsdoituong(doituong1: any) {\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","export class Global {\r\n public static readonly App_url=\"https://baomoi.vinhphuc.gov.vn/\" \r\n public static readonly App_Admin = \"https://baomoi.vinhphuc.gov.vn/\"\r\n\r\n //public static readonly App_url=\"http://quantribao.tpg.vn/\" \r\n //public static readonly App_Admin = \"http://quantribao.tpg.vn/\"\r\n\r\n //public static readonly App_url=\"http://test.tpg.vn/\" \r\n //public static readonly App_Admin = \"http://test.tpg.vn/\"\r\n \r\n //public static readonly App_url = \"http://localhost:57668/\"\r\n //public static readonly App_Admin = \"http://localhost:57668/\" \r\n\r\n public static readonly App_web = \"http://baovinhphuc.com.vn/\" \r\n \r\n public static readonly App_diem_doi_tien = \"diem_doi_tien\"; \r\n public static readonly App_thue_suat_vat = \"thue_suat_vat\"; \r\n \r\n public static readonly App_ap_dung_tich_diem = \"ap_dung_tich_diem\";\r\n public static readonly App_tien_doi_diem = \"tien_doi_diem\"; \r\n public static readonly App_ap_dung_doi_diem = \"ap_dung_doi_diem\"; \r\n public static readonly App_the_bac = \"the_bac\"; \r\n public static readonly App_the_vang = \"the_vang\";\r\n public static readonly App_the_bach_kim = \"the_bach_kim\";\r\n public static readonly App_the_kim_cuong = \"the_kim_cuong\";\r\n public static readonly App_ap_dung_tich_diem_san_pham = \"ap_dung_tich_diem_san_pham\";\r\n public static readonly App_ap_dung_tich_diem_dich_vu = \"ap_dung_tich_diem_dich_vu\"; \r\n\r\n public static readonly BASE_USER_ENDPOINT = 'api/user/';\r\n public static readonly BASE_DONVI_ENDPOINT = 'api/donviapi/'; \r\n public static readonly BASE_NHACUNGCAP_ENDPOINT = 'api/nhacungcapapi/';\r\n public static readonly BASE_LINHVUC_ENDPOINT = 'api/linhvucapi/'; \r\n public static readonly BASE_DANTOC_ENDPOINT = 'api/dantocapi/'; \r\n public static readonly BASE_SECURITY_ENDPOINT = 'api/security/';\r\n public static readonly BASE_ROLE_ENDPOINT = 'api/role/'; \r\n public static readonly BASE_HUYENTINH_ENDPOINT = 'api/huyentinhapi/';\r\n public static readonly BASE_ENDPOINT = 'api/BaseLayout/'; \r\n public static readonly BASE_BC1_GETID = 'api/bc1/getbyid/';\r\n public static readonly BASE_BC01_GETID = 'api/bc01/getbyid/';\r\n public static readonly BASE_BC01_SAVE = 'api/bc01/post';\r\n public static readonly BASE_BC02_GETID = 'api/bc02/getbyid/';\r\n public static readonly BASE_BC02_SAVE = 'api/bc02/post';\r\n public static readonly BASE_NEWS_POST = 'api/news/post';\r\n public static readonly BASE_BaoCao_SAVE = 'api/baocao/run/';\r\n public static readonly BASE_BaoCao2_SAVE = 'api/baocao/run2/';\r\n\r\n public static readonly BASE_BC04_GETID = 'api/bc04mau1a/getbyid/';\r\n public static readonly BASE_BC04_SAVE = 'api/bc04mau1a/post';\r\n public static readonly BASE_BC05_GETID = 'api/bc05mau1b02/getbyid/';\r\n public static readonly BASE_BC05_SAVE = 'api/bc05mau1b02/post';\r\n public static readonly BASE_BC06_GETID = 'api/bc06mau1b05/getbyid/';\r\n public static readonly BASE_BC06_SAVE = 'api/bc06mau1b05/post';\r\n\r\n \r\n //------------tham so co dinh\r\n public static readonly articlePages: any = [\r\n ' ',\r\n 'Trang 01',\r\n 'Trang 02',\r\n 'Trang 03',\r\n 'Trang 04',\r\n 'Trang 05',\r\n 'Trang 06',\r\n 'Trang 07',\r\n 'Trang 08',\r\n 'Trang 09',\r\n 'Trang 10',\r\n 'Trang 11',\r\n 'Trang 12'\r\n ];\r\n public static readonly articlePages8: any = [\r\n ' ',\r\n 'Trang 01',\r\n 'Trang 02',\r\n 'Trang 03',\r\n 'Trang 04',\r\n 'Trang 05',\r\n 'Trang 06',\r\n 'Trang 07',\r\n 'Trang 08'\r\n ];\r\n\r\n}\r\nexport class BaoCao {\r\n\r\n\r\n\r\n // dùng chung để tải mẫu báo cáo (dùng cho chức năng tùy chỉnh báo cáo)\r\n public static readonly BC01_XuatMauBaoCao = 'C43BF77C-729B-4FB1-9E3C-B17FCF224BDA';\r\n // dùng để tải mẫu import (dùng cho chức năng nhập dữ liệu từ excel)\r\n public static readonly BC02_MauNhapTuExcel = '85F8063B-87A2-4CD9-849B-7E90DB5C9072';\r\n // dùng để xuất dữ liệu trên các lưới ra excel\r\n public static readonly BC03_XuatDanhSach = 'CBB9B028-4FE0-4518-8A4B-E5F16CACCAB6';\r\n // dùng để xuất sổ cái- hình thức nhật ký chung\r\n public static readonly BC04_SoCaiTaiKhoan = '4BDC6A56-C92F-4160-8655-A123890218E1';\r\n // dùng để xuất phiếu chứng từ\r\n public static readonly BC05_PhieuChungTu = '245E2024-200A-444C-ACFA-8805DE0AE59B';\r\n // dùng để xuất giáy rút dự toán mẫu 02a \r\n public static readonly BC06_GiayRutDuToan_02a = 'A218527D-36F6-423E-BC85-C464EB800970';\r\n\r\n // dùng để xuất giáy rút dự toán mẫu 02b\r\n public static readonly BC07_GiayRutDuToan_02b = '111669E5-DB73-4B1B-920A-D73E5F09E02C';\r\n // dùng để xuất bảng kê thanh toán tạm ứng TT39\r\n public static readonly BC08_BangKeThanhToanTamUng_TT39 = '7CF94008-952E-410E-B189-22190DFDEF2B';\r\n // dùng để xuất giấy đề nghị thanh toán tạm ứng, ứng trước C2-03\r\n public static readonly BC08_02_GiayDeNghiThanhToanC2_03 = 'E13132D8-83F7-48A2-90DD-81F20C6E6EE8';\r\n\r\n\r\n // dùng để xuất ủy nhiệm chi chuyển khoản, chuyển tiền điện tử C4 02a/KB\r\n public static readonly BC08_03_UyNhiemChiC4_02a = 'EED0B703-0D0F-4A19-9D12-126C51513D65';\r\n\r\n // dùng cho giấy rút tiền mặt C4-09/KB\r\n public static readonly BC08_05_GiayRutTienMat_C4_09_KB = '29E1D4AD-847B-4F02-8ACF-F8E2B19C2729';\r\n\r\n // dùng cho C37-HD: Giấy đề nghị thanh toán\r\n \r\n public static readonly BC08_06_GiayDeNghiThanhToan_C37HD = 'F48213DE-03D9-445B-B8C5-F2DFE9D4CFCA';\r\n\r\n\r\n // dùng để xuất Bảng đối chiếu dự toán kinh phí ngân sách (Mẫu số 01-SDKP/ĐVDT)\r\n public static readonly BC09_BangDoiChieuDuToanNS = '7AF52398-3D2F-4FDE-9532-A78695AA8134';\r\n// dùng để xuất Bảng đối chiếu tình hình sử dụng kinh phi (Mẫu số 02-SDKP/ĐVDT)\r\n public static readonly BC10_BangDoiChieuSuDungKP = '1777922D-C824-48F0-8D59-014FFAAC0E61';\r\n// dùng để xuất Bảng xác nhận số dư tài khoản tiền gửi (Mẫu số 05-ĐCSDTK/KBNN)\r\n public static readonly BC11_BangXacNhanSoDuTaiKhoanTienGui = 'DD00E60A-9E00-4A39-B5A3-1DC8DA94CF91';\r\n\r\n\r\n public static readonly BC12_ThongKeTongHop = '47C2A1E7-B7BE-4A41-96B0-D3CA5D2F804F';\r\n public static readonly BC13_ThongKeCongVanNghiepVu = '4BDC6A56-C92F-4160-8655-A123890218E1';\r\n public static readonly BC14_ThongKeCongVanDenTheoDiaPhuong = '99496F5D-873D-4CB3-9387-A348C330FFB0';\r\n public static readonly BC15_ThongKeCongVanDenTheoLoaiHinhCV = 'B8BD15D9-5805-4AE6-A66B-51AEF4393978';\r\n public static readonly BC16_ThongKeCongVanDenTheoThoiGian = 'ECE8C9E9-E48F-4245-8733-5D5D76F4AB62';\r\n public static readonly BC17_ThongKeCongVanDenTheoToiDanh = '951E8C39-0AB0-4F22-914A-0829015DDE34';\r\n public static readonly BC18_ThongKeCongVanDenTheoLinhVuc = '9F269D4E-8BC4-4E8C-8925-32597EBED9D1';\r\n public static readonly BC19_ThongKeCongVanDenTheoVuViec = '3C23B951-1F36-4EC4-9029-2C11279E823E';\r\n public static readonly BC20_ThongKeCongVanDenTheoCongViecHC = 'D4B584C6-A3E5-4441-B07F-8807B017630A';\r\n public static readonly BC21_ThongKeCongVanDenTheoLoaiAn = '3CD8C834-20DA-4123-881E-E5A7B77A1A30';\r\n public static readonly BC22_ThongKeCongVanDenTheoQuocGia = '850DB0F0-FB95-4210-B646-9D36B69E802E';\r\n public static readonly BC23_ThongKeCongVanDenTheoDoKhan = '7AE62001-9E86-4C83-AA53-28F5545B995D';\r\n public static readonly BC24_ThongKeChuyenAn = '7EB0267F-59B9-4440-8ADE-24A54B3DEB97';\r\n public static readonly BC25_ThongKeSoLieuBatGiuToiPham = '0078B7D7-3A15-4B65-99EE-EA912E157247';\r\n public static readonly BC26_ThongKeNguoiNghienMaTuyCoHoSo = '65C9FEF8-1411-4F60-BB9C-244311336858';\r\n \r\n //public static readonly BC27_ = '';\r\n //public static readonly BC28_ = '';\r\n //public static readonly BC29_ = '';\r\n //public static readonly BC30_ = '';\r\n //public static readonly BC31_ = '';\r\n //public static readonly BC32_ = '';\r\n //public static readonly BC33_ = '';\r\n //public static readonly BC34_ = '';\r\n public static readonly BC35_BaoCaoCongVanDenTheoDonVi = 'DE4D725A-06D4-4D25-9634-24887462CC86';\r\n public static readonly BC36_BaoCaoCongVanDenTheoDoMat = '654FFDE9-9277-469A-B3DD-EC57567FFDA2';\r\n public static readonly BC37_BaoCaoCongVanDenTheoNguoiKy = 'DC4CF216-510E-4F65-B8B7-F3BAACFC531A';\r\n public static readonly BC38_BaoCaoCongVanDiTheoVuViec = 'AB5290C5-0FA4-4122-B261-04A81BC2A628';\r\n public static readonly BC39_BaoCaoCongVanDiTheoDoiTuong = '73D6DCE2-5576-412B-98E4-F9B2F3CE9659';\r\n public static readonly BC40_BaoCaoCongVanDiTheoLoaiToiDanh = '1995745C-2F8B-4BC1-87F6-DB91C00A3FEE';\r\n //public static readonly BC41_ = '';\r\n //public static readonly BC42_ = '';\r\n //public static readonly BC43_ = '';\r\n //public static readonly BC44_ = '';\r\n //public static readonly BC45_ = '';\r\n //public static readonly BC46_ = '';\r\n //public static readonly BC47_ = '';\r\n //public static readonly BC48_ = '';\r\n //public static readonly BC49_ = '';\r\n\r\n public static readonly BC50_BaoCaoVuViecTheoQuocGia = '4F528C26-490E-4281-A6D8-4F11D054738D';\r\n public static readonly BC51_BaoCaoVuViecTheoDonVi = '24931D8D-BCA4-4B79-9EF4-2E036A2947C4';\r\n public static readonly BC52_BaoCaoVuViecTheoLinhVuc = 'E46DDBC7-5CDE-4592-AE6D-62515D558304';\r\n public static readonly BC53_BaoCaoDoiTuongTheoToiDanh = '5A377C37-E0B5-4635-8180-178273912DD7';\r\n public static readonly BC54_BaoCaoDoiTuongTheoTinhThanh = 'EDDC9FC5-95BE-46D6-8B53-7029830C963B';\r\n public static readonly BC55_BaoCaoDoiTuongTheoNguoiKy = 'FD552462-B075-4B62-888D-48EEABAD4641';\r\n public static readonly BC56_BaoCaoDoiTuongTheoVuViec = 'F47CC968-E4A7-4C35-A861-A9510EAFBE87';\r\n public static readonly BC57_BaoCaoTheoNguoiPhuTrach = '087A1541-8EEE-4D36-B6EA-29E5E4077C09';\r\n //public static readonly BC58_ = '';\r\n //public static readonly BC59_ = '';\r\n //public static readonly BC60_ = '';\r\n //public static readonly BC61_ = '';\r\n //public static readonly BC62_ = '';\r\n //public static readonly BC63_ = '';\r\n //public static readonly BC64_ = '';\r\n\r\n public static readonly BC70_BaoCaoThongKeCongTacNghiepVuCoBan = '66589524-41D9-4389-8425-5F5C8760DCD0';\r\n public static readonly BC71_BaoCaoDanhSachCacVanBanQuyPhamPhapLuat = '1D14A06F-35CF-4996-824C-FD7606715FA5';\r\n public static readonly BC72_BaoCaoDanhSachCacVuViecXacMinhTheoYeuCau = 'D9CD5A32-75B7-4162-9496-8A2E9A107265';\r\n public static readonly BC73_BangKeCacVuAnDoDonViThuLy = 'C9E9962F-0D2C-441A-8145-801A1C242E97';\r\n public static readonly BC74_DanhSachTiepNhanCacDoiTuongTruyNa = '8702C998-CB06-4176-BF33-7BAFE78F8889';\r\n public static readonly BC75_DanhSachCacVuViecTuongTroTuPhapDaGiaiQuyet = 'B06932FA-E5C6-4E77-91D3-7DD19EC8DACD';\r\n public static readonly BC76_DanhSachCacVuViecVuAnHuongDanThamDinh = 'BA2807D4-CACA-4F1B-A1E7-32A95701EF04';\r\n\r\n\r\n\r\n public static readonly BC101_Luong_KhongThuongXuyen = '664ED2FD-86B2-48B0-BDA4-D787C3A8E868';\r\n public static readonly BC102_Luong_TienLuong = '89E993B3-E70A-4663-9CF9-279F0931733B';\r\n\r\n public static readonly BC102_Luong_BangLuongCongChuc = 'ED41BDB1-2420-4FC1-A6E9-21F84CE89376';\r\n public static readonly BC102_Luong_BangLuongHopDong68 = '2E046A61-9180-472C-BA03-A4E659146B29';\r\n public static readonly BC102_Luong_BangLuongPhuCap = '7EC80760-817C-4B2E-A986-4E13CE6C9A49';\r\n\r\n public static readonly BC102_Luong_BangLuongCongChuc_TruyLinh = 'D1E64C89-DA8E-46FF-95CA-84DDFB1F1EBB';\r\n public static readonly BC102_Luong_BangLuongHopDong68_TruyLinh = '8724039B-AA5F-483D-828C-69C8A6AD830D';\r\n public static readonly BC102_Luong_BangLuongPhuCap_TruyLinh = 'E3C7E52D-235A-4BE6-B4A5-D676BA23DE5A';\r\n\r\n public static readonly BC103_Luong_ThueTNCN = 'D3605E1B-189A-4882-A8D9-31976A1485C2';\r\n\r\n \r\n\r\n \r\n}\r\n","import { Component,ViewChild, OnInit,Output, Input,HostListener,EventEmitter,ElementRef } from '@angular/core';\r\nimport { ListService } from '../../../services/list.service';\r\nimport { Repository } from '../../../services/repository'\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\nimport { SatHachs_LoaiCauHoi } from '../../../routes/menu'\r\nimport 'jquery'\r\nimport 'bootstrap'\r\n\r\n//import { Lists_cmmt } from '../../../routes/menu'\r\n\r\n\r\nconst swal = require('sweetalert');\r\n@Component({\r\n selector: 'app-dm-loaicauhoiedit',\r\n templateUrl: './loaicauhoiedit.component.html',\r\n //templateUrl: 'ClientApp/routes/DanhMuc/data/data.component.html',\r\n styleUrls: ['./loaicauhoiedit.component.scss'],\r\n providers: [ListService, Repository]\r\n})\r\n\r\n\r\nexport class loaicauhoieditComponent implements OnInit {\r\n\r\n \r\n \r\n quyen_them: boolean = false;\r\n quyen_sua: boolean = false;\r\n quyen_xoa: boolean = false;\r\n inputparents: any;\r\n inputnhomctmts: any;\r\n indLoading: boolean = false;\r\n doituongSelect: any = {\r\n Id: null, Ma: null, Ten: null, SapXep: null, TenTiengNuocNgoai: null\r\n }; \r\n nhomdtid:string=null;\r\n hoatdong:string=null;\r\n\r\n @ViewChild('slCapTren', { static: false }) slCapTren: NgSelectComponent;\r\n @ViewChild('slNhomCTMT', { static: false }) slNhomCTMT: NgSelectComponent;\r\n @Output() save: EventEmitter = new EventEmitter();\r\n \r\n public ngxCurrencyOptions = {\r\n prefix: '',\r\n thousands: '.',\r\n decimal: ',',\r\n precision: 0,\r\n allowNegative: false\r\n };\r\n\r\n constructor( private _dataService: ListService, private repo: Repository) {\r\n \r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n // @HostListener('document:keydown', ['$event'])\r\n // public handleKeyboardEvent(event: KeyboardEvent): void {\r\n \r\n // if(event.key===\"F9\")\r\n // {\r\n // this.saveproduct();\r\n // }\r\n // event.stopPropagation();\r\n \r\n // }\r\n\r\n comboSearchFn(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Doi_Tuong.toLowerCase().indexOf(term) > -1 || item.Ten_Doi_Tuong.toLowerCase().indexOf(term) > -1;\r\n }\r\n @ViewChild(\"mafocus\", { static: false }) mafocus: ElementRef;\r\n bnguonkinhphi: boolean = false;\r\n bnhomctmt: boolean = false;\r\n currentUser: any;\r\n loadDataInit(nhomdoituongid: string, id: string, donviid: string) {\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_tinhchatnguonkp.id.toLocaleLowerCase())\r\n // this.bnguonkinhphi = true;\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_cmmt.id.toLocaleLowerCase())\r\n // this.bnhomctmt = true;\r\n\r\n //if (nhomdoituongid.toLocaleUpperCase() == \"5E79BF59-78D9-4C54-8EF7-0A242F5CBC24\")\r\n // this.hoatdong = \"Ngừng theo dõi\"\r\n //else\r\n this.hoatdong = \"Hoạt động\"\r\n\r\n var authlogin = localStorage.getItem('currentUser');\r\n if (authlogin) {\r\n\r\n this.currentUser = JSON.parse(authlogin);\r\n var giatri = this.currentUser.ds_quyen.filter(name => name.Id === nhomdoituongid.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n if (giatri[0].Them == true)\r\n this.quyen_them = true;\r\n else\r\n this.quyen_them = false;\r\n if (giatri[0].Sua == true)\r\n this.quyen_sua = true;\r\n else\r\n this.quyen_sua = false;\r\n if (giatri[0].Xoa == true)\r\n this.quyen_xoa = true;\r\n else\r\n this.quyen_xoa = false;\r\n }\r\n } \r\n\r\n this.nhomdtid = nhomdoituongid;\r\n setTimeout(() => {\r\n this.mafocus.nativeElement.focus(); \r\n },500);\r\n //this.repo.getRequest(\"api/doituong/getall2/\" + nhomdoituongid + '/'+id+'/'+donviid)\r\n //.subscribe(response => { \r\n // this.inputparents=response;\r\n //});\r\n \r\n\r\n this.doituongSelect = {\r\n Id: null, Ma: null, Ten: null, ThuTu: null, GhiChu: null\r\n , PhanHeId: null, Created: null, Modified: null, CreatedBy: null, ModifiedBy: null\r\n }; \r\n if(id === null)\r\n {\r\n this.doituongSelect.PhanHeId = nhomdoituongid;\r\n this.doituongSelect.Created = new Date();\r\n this.doituongSelect.CreatedBy = this.currentUser.user_name;\r\n this.doituongSelect.Modified = new Date();\r\n this.doituongSelect.ModifiedBy = this.currentUser.user_name;\r\n \r\n }\r\n else {\r\n console.log(\"t11\");\r\n this.repo.postRequest(\"api/dmloaicauhoi/getbyid/\", { IdGuid: id, PhanHeId: nhomdoituongid })\r\n .subscribe(response => { \r\n console.log(response);\r\n this.doituongSelect.Id = id;\r\n this.doituongSelect.Ma = response.Ma;\r\n this.doituongSelect.Ten = response.Ten;\r\n this.doituongSelect.GhiChu = response.GhiChu;\r\n this.doituongSelect.PhanHeId = nhomdoituongid;\r\n this.doituongSelect.Created = response.Created;\r\n this.doituongSelect.CreatedBy = response.CreatedBy;\r\n this.doituongSelect.Modified = new Date();\r\n this.doituongSelect.ModifiedBy = this.currentUser.user_name;\r\n \r\n\r\n this.doituongSelect.ThuTu = response.ThuTu;\r\n }); \r\n }\r\n \r\n \r\n }\r\n \r\n keyTenPress(event: any) { \r\n if (event.which === 13) {\r\n this.slCapTren.focus();\r\n event.preventDefault();\r\n }\r\n }\r\n public closeModal(){\r\n this.save.emit(null);\r\n }\r\n public saveproduct() {\r\n if (this.doituongSelect.Ma == null || this.doituongSelect.Ma == \"\") {\r\n swal('Lỗi!', 'Vui lòng nhập mã đối tượng!.', 'error');\r\n return;\r\n }\r\n if (this.doituongSelect.Ten == null || this.doituongSelect.Ten == \"\") {\r\n swal('Lỗi!', 'Vui lòng nhập tên đối tượng!.', 'error');\r\n return;\r\n }\r\n this.repo.postRequest(\"api/dmloaicauhoi/addorupdate\",this.doituongSelect)\r\n .subscribe(response => { \r\n console.log(response);\r\n if (response != null && response.match('-')) {\r\n this.save.emit(this.doituongSelect);\r\n }\r\n else {\r\n swal('Lỗi!', response, 'error');\r\n }\r\n }); \r\n }\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-layout',\r\n templateUrl: './layout.component.html',\r\n styleUrls: ['./layout.component.scss']\r\n})\r\nexport class LayoutComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #3a3f51;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #564aa3;\\n background-image: linear-gradient(to right, #564aa3 0%, #7266ba 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #4b408e inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #312a5d;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #564aa3;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #9289ca;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #9289ca;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #9289ca;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #9289ca;\\n}\\n.sidebar-subnav {\\n background-color: #3a3f51;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #9289ca;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #9289ca;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #9289ca;\\n background-color: #9289ca;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxcdGhlbWUtZy5zY3NzIiwiLi5cXC4uXFwuLlxcLi5cXC4uXFwuLlxcYXBwXFx2YXJpYWJsZXMuc2NzcyIsIi4uXFwuLlxcLi5cXC4uXFwuLlxcLi5cXGJvb3RzdHJhcFxcbWl4aW5zXFxfZ3JhZGllbnRzLnNjc3MiLCIuLlxcLi5cXC4uXFwuLlxcLi5cXC4uXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQUpoQztBQWdEQTtFQUNJLHlCQ25Eb0I7QURNeEI7QUFnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkNqQm9CO0VDOUJ0QixxRUFBQTtFQUNBLDJCQUFBO0FGR0Y7QUcwQ0k7RUhNUTtJQUNJLGtDQUFBO0VBN0NkO0FBQ0Y7QUFpREk7RUFDSSxXQXREd0I7QUFPaEM7QUFrREk7O0VBRUksV0EzRHdCO0FBV2hDO0FBaURROzs7RUFDSSxjQTVEb0I7QUFlaEM7QUFpREk7RUFDSSx5QkN6Q2dCO0FETnhCO0FBbURBOzs2RUFBQTtBQUdBO0VBQ0kseUJDMUZvQjtBRDBDeEI7QUFrREk7RUFDSSxjQTVEMEI7QUFZbEM7QUF1RFE7RUFDSSxjQTlFc0I7QUEwQmxDO0FBc0RZO0VBQ0ksY0N6RVE7QURxQnhCO0FBd0RZO0VBQ0ksZUFsRmtCO0FBNEJsQztBQTZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNDdkZRO0FENEJ4QjtBQThEWTtFQUNJLGNDM0ZRO0FEK0J4QjtBQWlFUTtFQUNJLDBCQ2pHWTtBRGtDeEI7QUFzRUE7RUFDSSx5QkN4SW9CO0FEcUV4QjtBQXFFSTtFQUNJLGNBcEgwQjtBQWlEbEM7QUF1RVE7RUFDSSxjQXpIc0I7QUFvRGxDO0FBdUVZO0VBQ0ksY0NwSFE7QUQrQ3hCO0FBMkVZO0VBQ0ksY0MzSFE7QURrRHhCO0FBMkVnQjtFQUNJLHFCQzlISTtFRCtISix5QkMvSEk7QURzRHhCO0FBb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjQ3JDUztBRDVDYiIsImZpbGUiOiJ0aGVtZS1nLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCb290c3RyYXBcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9taXhpbnNcIjtcclxuQGltcG9ydCAnLi4vYXBwL3ZhcmlhYmxlcyc7XHJcblxyXG5cclxuLy8gTEFZT1VUXHJcblxyXG4kY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRhc2lkZS1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktZGFyaztcclxuXHJcbi8vIE5BVkJBUiBUT1BcclxuXHJcbiRuYXYtdG9wLWJnOiAgICAgICAgICAgICAgICAgICAgJHB1cnBsZS1kYXJrO1xyXG4kbmF2LXRvcC1iZy1zdGFydDogICAgICAgICAgICAgICRuYXYtdG9wLWJnO1xyXG4kbmF2LXRvcC1iZy1lbmQ6ICAgICAgICAgICAgICAgICRwdXJwbGU7XHJcbiRuYXYtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcblxyXG4kbmF2LXRvcC1pdGVtOiAgICAgICAgICAgICAgICAgICNmZmY7XHJcbiRuYXYtdG9wLWl0ZW0tYWN0aXZlOiAgICAgICAgICAgZGFya2VuKCRuYXYtdG9wLWJnLCAyMCUpO1xyXG5cclxuLy8gU0lERUJBUlxyXG5cclxuJHNpZGViYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRhc2lkZS1iZztcclxuXHJcbiRzaWRlYmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAjZTFlMmUzO1xyXG4kc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTogICAgICAgJHB1cnBsZS1saWdodDtcclxuJHNpZGViYXItaXRlbS1iZy1hY3RpdmU6ICAgICAgICAgIGRhcmtlbigkc2lkZWJhci1iZywgMSUpO1xyXG5cclxuJHNpZGViYXItaWNvbi1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXRzO1xyXG4kc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTogICAgICAgJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcblxyXG4kc2lkZWJhci1idWxsZXQtY29sb3I6ICAgICAgICAgICAgcmdiYSgwLDAsMCwuMjUpO1xyXG4kc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlOiAgICAgJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcblxyXG4kc2lkZWJhci1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgIzkxOURBODtcclxuJHNpZGViYXItbGFiZWwtY29sb3I6ICAgICAgICAgICAgICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4vLyBPRkZTSURFQkFSXHJcblxyXG4kb2Zmc2lkZWJhci1iZzogICAgICAgICAgICNmZmY7XHJcbiRvZmZzaWRlYmFyLWJvcmRlci1jb2xvcjogZ3JleXNjYWxlKGRhcmtlbigkb2Zmc2lkZWJhci1iZywgMjAlKSk7XHJcbiRvZmZzaWRlYmFyLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3I7XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogbGF5b3V0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5ib2R5LCAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRlbnQtYmc7XHJcbn1cclxuXHJcbi53cmFwcGVyIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFzaWRlLWJnO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB0b3AtbmF2YmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4udG9wbmF2YmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQteCgkbmF2LXRvcC1iZy1zdGFydCwgJG5hdi10b3AtYmctZW5kKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICAgICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAtM3B4IDAgZGFya2VuKCRuYXYtdG9wLWJnLCA2JSkgaW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2YmFyLXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLFxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW07XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtLWFjdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAuZHJvcGRvd24taXRlbTphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBzaWRlYmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uc2lkZWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICAubmF2LWhlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1oZWFkaW5nLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJdGVtc1xyXG4uc2lkZWJhci1uYXYge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEl0ZW0gaWNvblxyXG4gICAgICAgICAgICA+IGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQWN0aXZlIGl0ZW0gc3RhdGVcclxuICAgICAgICAmLmFjdGl2ZSwgJi5vcGVuIHtcclxuICAgICAgICAgICAgJiwgPiBhLCA+IC5uYXYtaXRlbSwgLnNpZGViYXItbmF2IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC5uYXYtaXRlbSA+IGVtLCA+IGEgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLnNpZGViYXItc3VibmF2IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJnO1xyXG5cclxuICAgID4gLnNpZGViYXItc3VibmF2LWhlYWRlciB7XHJcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogb2Zmc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm9mZnNpZGViYXIge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkb2Zmc2lkZWJhci1ib3JkZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2Zmc2lkZWJhci1iZztcclxuICAgIGNvbG9yOiAkb2Zmc2lkZWJhci1jb2xvcjtcclxufVxyXG4iLCJcclxuLy8gQ3V0b21zIEdyYXkgY29sb3JzIGZvciB0aGVtZVxyXG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAjMjMyNzM1O1xyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAjM2EzZjUxO1xyXG4kZ3JheTogICAgICAgICAgICAgICAgICAjZGRlNmU5O1xyXG4kZ3JheS1saWdodDogICAgICAgICAgICAjZTRlYWVjO1xyXG4kZ3JheS1saWdodGVyOiAgICAgICAgICAjZWRmMWYyO1xyXG5cclxuLy8gQ3VzdG9tIGJyYW5kIGNvbG9ycyBmb3IgdGhlbWVcclxuJGludmVyc2U6ICAgICAgICAgICAgICAgIzEzMWUyNjtcclxuJHB1cnBsZTogICAgICAgICAgICAgICAgIzcyNjZiYTtcclxuJHBpbms6ICAgICAgICAgICAgICAgICAgI2Y1MzJlNTtcclxuJHllbGxvdzogICAgICAgICAgICAgICAgI2ZhZDczMjtcclxuJGdyZWVuOiAgICAgICAgICAgICAgICAgIzM3YmM5YjtcclxuXHJcbiRwcmltYXJ5OiAgICAgICAgICAgICAgICM1ZDljZWM7XHJcbiRzZWNvbmRhcnk6ICAgICAgICAgICAgICNmZmY7XHJcbiRzdWNjZXNzOiAgICAgICAgICAgICAgICMyN2MyNGM7XHJcbiRpbmZvOiAgICAgICAgICAgICAgICAgICMyM2I3ZTU7XHJcbiR3YXJuaW5nOiAgICAgICAgICAgICAgICNmZjkwMmI7XHJcbiRkYW5nZXI6ICAgICAgICAgICAgICAgICNmMDUwNTA7XHJcbiRkYXJrOiAgICAgICAgICAgICAgICAgICMzYTNmNTE7XHJcblxyXG4vLyBDdXN0b20gY29sb3IgdmFyaWFudHNcclxuJGFtb3VudE9mTGlnaHQ6IDEwJTtcclxuXHJcbiRwcmltYXJ5LWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHByaW1hcnksICRhbW91bnRPZkxpZ2h0KTtcclxuJHN1Y2Nlc3MtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1saWdodDogICAgICAgICAgICBsaWdodGVuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHdhcm5pbmcsICRhbW91bnRPZkxpZ2h0KTtcclxuJGRhbmdlci1saWdodDogICAgICAgICAgbGlnaHRlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWxpZ2h0OiAgICAgICAgICAgbGlnaHRlbigkZ3JlZW4sICRhbW91bnRPZkxpZ2h0KTtcclxuJHBpbmstbGlnaHQ6ICAgICAgICAgICAgbGlnaHRlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1saWdodDogICAgICAgICAgbGlnaHRlbigkeWVsbG93LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwcmltYXJ5LWRhcms6ICAgICAgICAgIGRhcmtlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1kYXJrOiAgICAgICAgICBkYXJrZW4oJHN1Y2Nlc3MsICRhbW91bnRPZkxpZ2h0KTtcclxuJGluZm8tZGFyazogICAgICAgICAgICAgZGFya2VuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWRhcms6ICAgICAgICAgIGRhcmtlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWRhcms6ICAgICAgICAgICBkYXJrZW4oJGRhbmdlciwgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW52ZXJzZS1kYXJrOiAgICAgICAgICBkYXJrZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWRhcms6ICAgICAgICAgICAgZGFya2VuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJHBpbmssICRhbW91bnRPZkxpZ2h0KTtcclxuJHB1cnBsZS1kYXJrOiAgICAgICAgICAgZGFya2VuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1kYXJrOiAgICAgICAgICAgZGFya2VuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuXHJcbi8vIFRoZW1lIHZhcmlhYmxlc1xyXG5cclxuLy8gdXNlZCBmb3Igc2lkZWJhcnMgYW5kIGNvbnRlbnQgc3BhY2luZ1xyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDU1cHg7XHJcblxyXG4vLyBCdXR0b24gc2Vjb25kYXJ5IHJlZGVmaW5pdGlvbiBzdHlsZSBmb3IgdGhlbWVcclxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAjMzMzO1xyXG4kYnRuLXNlY29uZGFyeS1iZzogICAgICAgICAgICAgICAgICNmZmY7XHJcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICAgI2VhZWFlYTtcclxuXHJcbi8vIFRvcCBCb3JkZXIgY29sb3IgZm9yIGN1c3RvbSBkZWZhdWx0IGNhcmRzICguY2FyZC1kZWZhdWx0KVxyXG4kY2FyZC1kZWZhdWx0LWJvcmRlci1jb2xvcjogICAgICAgICNjZmRiZTI7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFV0aWxpdGllcyB2YXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kdGV4dC1hbHBoYTogICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuJHRleHQtYWxwaGEtaW52ZXJzZTogICAgcmdiYSgwLDAsMCwuNSk7XHJcblxyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAxcmVtO1xyXG4kdGV4dC1zbTogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAwLjc0Mzc1O1xyXG4kdGV4dC1tZDogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjY2MjU7XHJcbiR0ZXh0LWxnOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNjI1O1xyXG5cclxuJGJvcmRlci1jb2xvcjogICAgICAgICAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuJHdkLXh4czogICAgICAgICAgICAgICAgNjBweDtcclxuJHdkLXhzOiAgICAgICAgICAgICAgICAgOTBweDtcclxuJHdkLXNtOiAgICAgICAgICAgICAgICAgMTUwcHg7XHJcbiR3ZC1zZDogICAgICAgICAgICAgICAgIDIwMHB4OyAvLyBzZCA9PSBzdGFuZGFyZFxyXG4kd2QtbWQ6ICAgICAgICAgICAgICAgICAyNDBweDtcclxuJHdkLWxnOiAgICAgICAgICAgICAgICAgMjgwcHg7XHJcbiR3ZC14bDogICAgICAgICAgICAgICAgIDMyMHB4O1xyXG4kd2QteHhsOiAgICAgICAgICAgICAgICAzNjBweDtcclxuJHdkLXdpZGU6ICAgICAgICAgICAgICAgMTAwJTtcclxuJHdkLWF1dG86ICAgICAgICAgICAgICAgYXV0bztcclxuJHdkLXplcm86ICAgICAgICAgICAgICAgMDtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gQm9vdHN0cmFwIDQgVmFyaWFibGVzIE92ZXJyaWRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQ29sb3Igc3lzdGVtXHJcblxyXG4kY29sb3JzOiAoXHJcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcclxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcclxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxyXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcclxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxyXG4gICAgJ2ludmVyc2UnOiAgICAkaW52ZXJzZSxcclxuXHJcbiAgICAncHJpbWFyeS1saWdodCc6ICRwcmltYXJ5LWxpZ2h0LFxyXG4gICAgJ3ByaW1hcnktZGFyayc6ICAkcHJpbWFyeS1kYXJrLFxyXG4gICAgJ3N1Y2Nlc3MtbGlnaHQnOiAkc3VjY2Vzcy1saWdodCxcclxuICAgICdzdWNjZXNzLWRhcmsnOiAgJHN1Y2Nlc3MtZGFyayxcclxuICAgICdpbmZvLWxpZ2h0JzogICAgJGluZm8tbGlnaHQsXHJcbiAgICAnaW5mby1kYXJrJzogICAgICRpbmZvLWRhcmssXHJcbiAgICAnd2FybmluZy1saWdodCc6ICR3YXJuaW5nLWxpZ2h0LFxyXG4gICAgJ3dhcm5pbmctZGFyayc6ICAkd2FybmluZy1kYXJrLFxyXG4gICAgJ2Rhbmdlci1saWdodCc6ICAkZGFuZ2VyLWxpZ2h0LFxyXG4gICAgJ2Rhbmdlci1kYXJrJzogICAkZGFuZ2VyLWRhcmssXHJcbiAgICAnZ3JlZW4tbGlnaHQnOiAgICRncmVlbi1saWdodCxcclxuICAgICdncmVlbi1kYXJrJzogICAgJGdyZWVuLWRhcmssXHJcbiAgICAncGluay1saWdodCc6ICAgICRwaW5rLWxpZ2h0LFxyXG4gICAgJ3BpbmstZGFyayc6ICAgICAkcGluay1kYXJrLFxyXG4gICAgJ3B1cnBsZS1saWdodCc6ICAkcHVycGxlLWxpZ2h0LFxyXG4gICAgJ3B1cnBsZS1kYXJrJzogICAkcHVycGxlLWRhcmssXHJcbiAgICAnaW52ZXJzZS1saWdodCc6ICRpbnZlcnNlLWxpZ2h0LFxyXG4gICAgJ2ludmVyc2UtZGFyayc6ICAkaW52ZXJzZS1kYXJrLFxyXG4gICAgJ3llbGxvdy1saWdodCc6ICAkeWVsbG93LWxpZ2h0LFxyXG4gICAgJ3llbGxvdy1kYXJrJzogICAkeWVsbG93LWRhcmssXHJcbik7XHJcblxyXG5cclxuJHRoZW1lLWNvbG9yczogKFxyXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcclxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlclxyXG4pO1xyXG5cclxuLy8gQm9keVxyXG5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRib2R5LWNvbG9yOiAjNjU2NTY1O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtO1xyXG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuMzc1cmVtO1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41Mjg1NzE0Mjk7XHJcblxyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjE7XHJcblxyXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAjOTA5RkE3O1xyXG5cclxuLy8gVGFibGVzXHJcblxyXG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICAjZmFmYmZjO1xyXG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICAjZmFmYmZjO1xyXG5cclxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgI2VlZTtcclxuXHJcbi8vIEJ1dHRvbnMgKyBGb3Jtc1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgMXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4zMTI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNjI1cmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjYyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMS4yNXJlbTtcclxuXHJcbiRpbnB1dC1oZWlnaHQ6IDI1cHg7IC8vIDM1cHhcclxuXHJcbi8vIEZvcm1zXHJcblxyXG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlcjtcclxuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5O1xyXG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgIzY2YWZlOTtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICNiN2JhYzk7XHJcblxyXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICAgICAgbm9uZTtcclxuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgICAgIG5vbmU7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgbGlnaHRlbigkcHJpbWFyeSwgMjUlKTtcclxuXHJcbi8vIERyb3Bkb3duc1xyXG5cclxuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2UxZTFlMTtcclxuXHJcbi8vIE5hdnNcclxuXHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICNmZmY7XHJcblxyXG4vLyBKdW1ib3Ryb25cclxuXHJcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICNmY2ZjZmM7XHJcblxyXG4vLyBMaXN0IGdyb3VwXHJcblxyXG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICAjZTRlYWVjO1xyXG5cclxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xyXG5cclxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjEyNXJlbTtcclxuXHJcblxyXG4vLyBCcmVhZGNydW1ic1xyXG5cclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZhZmFmYTtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgI2MxYzJjMztcclxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGJvZHktY29sb3I7XHJcbiIsIi8vIEdyYWRpZW50c1xyXG5cclxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xyXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5cclxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcclxufVxyXG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxyXG4vL1xyXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XHJcbi8vXHJcbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcclxuLy9cclxuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxyXG5cclxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcclxuLy8gICAgbWRcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcclxuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcclxuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcclxufVxyXG5cclxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgNTc2cHhcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcclxuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXHJcbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XHJcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXHJcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcclxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxyXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgNzY3Ljk4cHhcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXHJcbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCItc21cIlxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1pbiB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWF4IHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXHJcbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\";","import { NgModule, OnInit } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslatorService } from '../core/translator/translator.service';\r\nimport { MenuService } from '../core/menu/menu.service';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { AuthenticationService } from '../services/authentication.service'\r\nimport { ListService } from '../services/list.service';\r\nimport { Repository } from '../services/repository'\r\nimport { menu } from './menu';\r\nimport { routes } from './routes';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n RouterModule.forRoot(routes, { useHash: true })\r\n ],\r\n declarations: [\r\n\r\n ],\r\n exports: [\r\n RouterModule,\r\n\r\n ],\r\n providers: [AuthenticationService, ListService, Repository]\r\n})\r\n\r\nexport class RoutesModule {\r\n\r\n public access: boolean = true;\r\n public rows: Array = menu;\r\n public danhmuc: any;\r\n public datas: Array;\r\n constructor(public menuService: MenuService, tr: TranslatorService, private repo: Repository) {\r\n var currentUser1 = localStorage.getItem('currentUser');\r\n\r\nif (currentUser1) {\r\n let data = JSON.parse(currentUser1);\r\n\r\n this.datas = data.ds_quyen;\r\n console.log(this.datas);\r\n\r\n // tạm bỏ đi để tạo file demo html\r\n this.rows.forEach((item: any) => {\r\n if (item.submenu != null && item.submenu.length>0) {\r\n var concap1 = false;\r\n item.submenu.forEach((item1: any) => {\r\n var concap2 = false;\r\n if (item1.submenu == null)// kiểm tra xem có câp 3 ko\r\n {\r\n\r\n var access1 = false;\r\n var giatri = data.ds_quyen.filter(name => name.Id === item1.id.toLowerCase());\r\n if (giatri != null && giatri.length > 0 && giatri[0].Xem == true) {\r\n access1 = true;\r\n concap1 = true;\r\n concap2 = true;\r\n }\r\n if (access1 == false && item1.id != '') {\r\n if (item.submenu.indexOf(item1) != -1) {\r\n item1.text = null;\r\n // item.submenu.splice(item.submenu.indexOf(item1), 1); // loai bo chuc nang nay khong co quyen truy cap\r\n }\r\n }\r\n }\r\n else {//me nu có câp 3\r\n\r\n item1.submenu.forEach((item2: any) => {\r\n var access1 = false;\r\n var giatri = data.ds_quyen.filter(name => name.Id === item2.id.toLowerCase());\r\n if (giatri != null && giatri.length > 0 && giatri[0].Xem == true) {\r\n access1 = true;\r\n concap1 = true;\r\n concap2 = true;\r\n }\r\n if (access1 == false && item2.id != '') {\r\n if (item1.submenu.indexOf(item2) != -1) {\r\n item2.text = null;\r\n }\r\n }\r\n });\r\n\r\n }\r\n if (concap2 == false)\r\n item1.text = null;\r\n\r\n });//for cấp 2\r\n if (concap1 == false)\r\n item.text = null;\r\n }else{\r\n var access1 = false;\r\n var giatri = data.ds_quyen.filter(name => name.Id === item.id.toLowerCase());\r\n if (giatri != null && giatri.length > 0 && giatri[0].Xem == true) {\r\n access1 = true;\r\n }\r\n if (access1 == false && item.id != '') {\r\n item.text = null;\r\n }\r\n }\r\n\r\n });\r\n menuService.addMenu(this.rows);\r\n }\r\n else {\r\n this.rows.forEach((item: any) => {\r\n if (item.submenu != null) {\r\n var concap1 = false;\r\n item.submenu.forEach((item1: any) => {\r\n var concap2 = false;\r\n if (item1.submenu == null)// kiểm tra xem có câp 3 ko\r\n {\r\n\r\n var access1 = false;\r\n if (item1.id == '') {\r\n access1 = true;\r\n concap1 = true;\r\n concap2 = true;\r\n }\r\n if (access1 == false && item1.id != '') {\r\n if (item.submenu.indexOf(item1) != -1) {\r\n item1.text = null;\r\n // item.submenu.splice(item.submenu.indexOf(item1), 1); // loai bo chuc nang nay khong co quyen truy cap\r\n }\r\n }\r\n }\r\n else {//me nu có câp 3\r\n\r\n item1.submenu.forEach((item2: any) => {\r\n var access1 = false;\r\n if (item2.id == '') {\r\n access1 = true;\r\n concap1 = true;\r\n concap2 = true;\r\n }\r\n if (access1 == false && item2.id != '') {\r\n if (item1.submenu.indexOf(item2) != -1) {\r\n item2.text = null;\r\n }\r\n }\r\n });\r\n\r\n }\r\n if (concap2 == false)\r\n item1.text = null;\r\n\r\n });//for cấp 2\r\n if (concap1 == false)\r\n item.text = null;\r\n }\r\n\r\n });\r\n menuService.addMenu(this.rows);\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\nexport interface IRoleRight {\r\n Id: string,\r\n RoleId: string,\r\n FunctionId: string,\r\n AccessRight: boolean\r\n\r\n}\r\n\r\nexport interface IAuthen {\r\n FunctionRight: string,\r\n Token: string,\r\n Access: boolean\r\n\r\n}\r\n","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #3a3f51;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #2b957a;\\n background-image: linear-gradient(to right, #2b957a 0%, #37bc9b 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #257d67 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #144639;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #2b957a;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #2b957a;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #2b957a;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #2b957a;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #2b957a;\\n}\\n.sidebar-subnav {\\n background-color: #3a3f51;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #2b957a;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #2b957a;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #2b957a;\\n background-color: #2b957a;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxcdGhlbWUtZi5zY3NzIiwiLi5cXC4uXFwuLlxcLi5cXC4uXFwuLlxcYXBwXFx2YXJpYWJsZXMuc2NzcyIsIi4uXFwuLlxcLi5cXC4uXFwuLlxcLi5cXGJvb3RzdHJhcFxcbWl4aW5zXFxfZ3JhZGllbnRzLnNjc3MiLCIuLlxcLi5cXC4uXFwuLlxcLi5cXC4uXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQUpoQztBQWdEQTtFQUNJLHlCQ25Eb0I7QURNeEI7QUFnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkNuQm9CO0VDNUJ0QixxRUFBQTtFQUNBLDJCQUFBO0FGR0Y7QUcwQ0k7RUhNUTtJQUNJLGtDQUFBO0VBN0NkO0FBQ0Y7QUFpREk7RUFDSSxXQXREd0I7QUFPaEM7QUFrREk7O0VBRUksV0EzRHdCO0FBV2hDO0FBaURROzs7RUFDSSxjQTVEb0I7QUFlaEM7QUFpREk7RUFDSSx5QkMzQ2dCO0FESnhCO0FBbURBOzs2RUFBQTtBQUdBO0VBQ0kseUJDMUZvQjtBRDBDeEI7QUFrREk7RUFDSSxjQTVEMEI7QUFZbEM7QUF1RFE7RUFDSSxjQTlFc0I7QUEwQmxDO0FBc0RZO0VBQ0ksY0NqRVE7QURheEI7QUF3RFk7RUFDSSxlQWxGa0I7QUE0QmxDO0FBNkRZO0VBQ0kseUJBNUZrQjtFQTZGbEIsY0MvRVE7QURvQnhCO0FBOERZO0VBQ0ksY0NuRlE7QUR1QnhCO0FBaUVRO0VBQ0ksMEJDekZZO0FEMEJ4QjtBQXNFQTtFQUNJLHlCQ3hJb0I7QURxRXhCO0FBcUVJO0VBQ0ksY0FwSDBCO0FBaURsQztBQXVFUTtFQUNJLGNBekhzQjtBQW9EbEM7QUF1RVk7RUFDSSxjQzVHUTtBRHVDeEI7QUEyRVk7RUFDSSxjQ25IUTtBRDBDeEI7QUEyRWdCO0VBQ0kscUJDdEhJO0VEdUhKLHlCQ3ZISTtBRDhDeEI7QUFvRkE7OzZFQUFBO0FBR0E7RUFDSSx5Q0FBQTtFQUNBLHNCQXhJc0I7RUF5SXRCLGNDckNTO0FENUNiIiwiZmlsZSI6InRoZW1lLWYuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEJvb3RzdHJhcFxyXG5AaW1wb3J0IFwiLi4vYm9vdHN0cmFwL2Z1bmN0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vYm9vdHN0cmFwL3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiLi4vYm9vdHN0cmFwL21peGluc1wiO1xyXG5AaW1wb3J0ICcuLi9hcHAvdmFyaWFibGVzJztcclxuXHJcblxyXG4vLyBMQVlPVVRcclxuXHJcbiRjb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgI2Y1ZjdmYTtcclxuJGFzaWRlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrO1xyXG5cclxuLy8gTkFWQkFSIFRPUFxyXG5cclxuJG5hdi10b3AtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JlZW4tZGFyaztcclxuJG5hdi10b3AtYmctc3RhcnQ6ICAgICAgICAgICAgICAkbmF2LXRvcC1iZztcclxuJG5hdi10b3AtYmctZW5kOiAgICAgICAgICAgICAgICAkZ3JlZW47XHJcbiRuYXYtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcblxyXG4kbmF2LXRvcC1pdGVtOiAgICAgICAgICAgICAgICAgICNmZmY7XHJcbiRuYXYtdG9wLWl0ZW0tYWN0aXZlOiAgICAgICAgICAgZGFya2VuKCRuYXYtdG9wLWJnLCAyMCUpO1xyXG5cclxuLy8gU0lERUJBUlxyXG5cclxuJHNpZGViYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRhc2lkZS1iZztcclxuXHJcbiRzaWRlYmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAjZTFlMmUzO1xyXG4kc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTogICAgICAgJG5hdi10b3AtYmc7XHJcbiRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlOiAgICAgICAgICBkYXJrZW4oJHNpZGViYXItYmcsIDElKTtcclxuXHJcbiRzaWRlYmFyLWljb24tY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0cztcclxuJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU6ICAgICAgICRuYXYtdG9wLWJnO1xyXG5cclxuJHNpZGViYXItYnVsbGV0LWNvbG9yOiAgICAgICAgICAgIHJnYmEoMCwwLDAsLjI1KTtcclxuJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTogICAgICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuJHNpZGViYXItaGVhZGluZy1jb2xvcjogICAgICAgICAgICM5MTlEQTg7XHJcbiRzaWRlYmFyLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuLy8gT0ZGU0lERUJBUlxyXG5cclxuJG9mZnNpZGViYXItYmc6ICAgICAgICAgICAjZmZmO1xyXG4kb2Zmc2lkZWJhci1ib3JkZXItY29sb3I6IGdyZXlzY2FsZShkYXJrZW4oJG9mZnNpZGViYXItYmcsIDIwJSkpO1xyXG4kb2Zmc2lkZWJhci1jb2xvcjogICAgICAgICRib2R5LWNvbG9yO1xyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGxheW91dFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuYm9keSwgLndyYXBwZXIgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250ZW50LWJnO1xyXG59XHJcblxyXG4ud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhc2lkZS1iZztcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdG9wLW5hdmJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnRvcG5hdmJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LXgoJG5hdi10b3AtYmctc3RhcnQsICRuYXYtdG9wLWJnLWVuZCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgLTNweCAwIGRhcmtlbigkbmF2LXRvcC1iZywgNiUpIGluc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdmJhci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbS1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNpZGViYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgLm5hdi1oZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaGVhZGluZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSXRlbXNcclxuLnNpZGViYXItbmF2IHtcclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBJdGVtIGljb25cclxuICAgICAgICAgICAgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFjdGl2ZSBpdGVtIHN0YXRlXHJcbiAgICAgICAgJi5hY3RpdmUsICYub3BlbiB7XHJcbiAgICAgICAgICAgICYsID4gYSwgPiAubmF2LWl0ZW0sIC5zaWRlYmFyLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1pdGVtLWJnLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAubmF2LWl0ZW0gPiBlbSwgPiBhID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5zaWRlYmFyLXN1Ym5hdiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICA+IC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IG9mZnNpZGViYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5vZmZzaWRlYmFyIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG9mZnNpZGViYXItYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZnNpZGViYXItYmc7XHJcbiAgICBjb2xvcjogJG9mZnNpZGViYXItY29sb3I7XHJcbn1cclxuIiwiXHJcbi8vIEN1dG9tcyBHcmF5IGNvbG9ycyBmb3IgdGhlbWVcclxuJGdyYXktZGFya2VyOiAgICAgICAgICAgIzIzMjczNTtcclxuJGdyYXktZGFyazogICAgICAgICAgICAgIzNhM2Y1MTtcclxuJGdyYXk6ICAgICAgICAgICAgICAgICAgI2RkZTZlOTtcclxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgI2U0ZWFlYztcclxuJGdyYXktbGlnaHRlcjogICAgICAgICAgI2VkZjFmMjtcclxuXHJcbi8vIEN1c3RvbSBicmFuZCBjb2xvcnMgZm9yIHRoZW1lXHJcbiRpbnZlcnNlOiAgICAgICAgICAgICAgICMxMzFlMjY7XHJcbiRwdXJwbGU6ICAgICAgICAgICAgICAgICM3MjY2YmE7XHJcbiRwaW5rOiAgICAgICAgICAgICAgICAgICNmNTMyZTU7XHJcbiR5ZWxsb3c6ICAgICAgICAgICAgICAgICNmYWQ3MzI7XHJcbiRncmVlbjogICAgICAgICAgICAgICAgICMzN2JjOWI7XHJcblxyXG4kcHJpbWFyeTogICAgICAgICAgICAgICAjNWQ5Y2VjO1xyXG4kc2Vjb25kYXJ5OiAgICAgICAgICAgICAjZmZmO1xyXG4kc3VjY2VzczogICAgICAgICAgICAgICAjMjdjMjRjO1xyXG4kaW5mbzogICAgICAgICAgICAgICAgICAjMjNiN2U1O1xyXG4kd2FybmluZzogICAgICAgICAgICAgICAjZmY5MDJiO1xyXG4kZGFuZ2VyOiAgICAgICAgICAgICAgICAjZjA1MDUwO1xyXG4kZGFyazogICAgICAgICAgICAgICAgICAjM2EzZjUxO1xyXG5cclxuLy8gQ3VzdG9tIGNvbG9yIHZhcmlhbnRzXHJcbiRhbW91bnRPZkxpZ2h0OiAxMCU7XHJcblxyXG4kcHJpbWFyeS1saWdodDogICAgICAgICBsaWdodGVuKCRwcmltYXJ5LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRzdWNjZXNzLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHN1Y2Nlc3MsICRhbW91bnRPZkxpZ2h0KTtcclxuJGluZm8tbGlnaHQ6ICAgICAgICAgICAgbGlnaHRlbigkaW5mbywgJGFtb3VudE9mTGlnaHQpO1xyXG4kd2FybmluZy1saWdodDogICAgICAgICBsaWdodGVuKCR3YXJuaW5nLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRkYW5nZXItbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJGRhbmdlciwgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW52ZXJzZS1saWdodDogICAgICAgICBsaWdodGVuKCRpbnZlcnNlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRncmVlbi1saWdodDogICAgICAgICAgIGxpZ2h0ZW4oJGdyZWVuLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwaW5rLWxpZ2h0OiAgICAgICAgICAgIGxpZ2h0ZW4oJHBpbmssICRhbW91bnRPZkxpZ2h0KTtcclxuJHB1cnBsZS1saWdodDogICAgICAgICAgbGlnaHRlbigkcHVycGxlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR5ZWxsb3ctbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJHllbGxvdywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHJpbWFyeS1kYXJrOiAgICAgICAgICBkYXJrZW4oJHByaW1hcnksICRhbW91bnRPZkxpZ2h0KTtcclxuJHN1Y2Nlc3MtZGFyazogICAgICAgICAgZGFya2VuKCRzdWNjZXNzLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbmZvLWRhcms6ICAgICAgICAgICAgIGRhcmtlbigkaW5mbywgJGFtb3VudE9mTGlnaHQpO1xyXG4kd2FybmluZy1kYXJrOiAgICAgICAgICBkYXJrZW4oJHdhcm5pbmcsICRhbW91bnRPZkxpZ2h0KTtcclxuJGRhbmdlci1kYXJrOiAgICAgICAgICAgZGFya2VuKCRkYW5nZXIsICRhbW91bnRPZkxpZ2h0KTtcclxuJGludmVyc2UtZGFyazogICAgICAgICAgZGFya2VuKCRpbnZlcnNlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRncmVlbi1kYXJrOiAgICAgICAgICAgIGRhcmtlbigkZ3JlZW4sICRhbW91bnRPZkxpZ2h0KTtcclxuJHBpbmstZGFyazogICAgICAgICAgICAgZGFya2VuKCRwaW5rLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwdXJwbGUtZGFyazogICAgICAgICAgIGRhcmtlbigkcHVycGxlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR5ZWxsb3ctZGFyazogICAgICAgICAgIGRhcmtlbigkeWVsbG93LCAkYW1vdW50T2ZMaWdodCk7XHJcblxyXG4vLyBUaGVtZSB2YXJpYWJsZXNcclxuXHJcbi8vIHVzZWQgZm9yIHNpZGViYXJzIGFuZCBjb250ZW50IHNwYWNpbmdcclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1NXB4O1xyXG5cclxuLy8gQnV0dG9uIHNlY29uZGFyeSByZWRlZmluaXRpb24gc3R5bGUgZm9yIHRoZW1lXHJcbiRidG4tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgIzMzMztcclxuJGJ0bi1zZWNvbmRhcnktYmc6ICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kYnRuLXNlY29uZGFyeS1ib3JkZXI6ICAgICAgICAgICAgICNlYWVhZWE7XHJcblxyXG4vLyBUb3AgQm9yZGVyIGNvbG9yIGZvciBjdXN0b20gZGVmYXVsdCBjYXJkcyAoLmNhcmQtZGVmYXVsdClcclxuJGNhcmQtZGVmYXVsdC1ib3JkZXItY29sb3I6ICAgICAgICAjY2ZkYmUyO1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBVdGlsaXRpZXMgdmFyaWFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRleHQtYWxwaGE6ICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuNSk7XHJcbiR0ZXh0LWFscGhhLWludmVyc2U6ICAgIHJnYmEoMCwwLDAsLjUpO1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgMXJlbTtcclxuJHRleHQtc206ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMC43NDM3NTtcclxuJHRleHQtbWQ6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS42NjI1O1xyXG4kdGV4dC1sZzogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjYyNTtcclxuXHJcbiRib3JkZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbiR3ZC14eHM6ICAgICAgICAgICAgICAgIDYwcHg7XHJcbiR3ZC14czogICAgICAgICAgICAgICAgIDkwcHg7XHJcbiR3ZC1zbTogICAgICAgICAgICAgICAgIDE1MHB4O1xyXG4kd2Qtc2Q6ICAgICAgICAgICAgICAgICAyMDBweDsgLy8gc2QgPT0gc3RhbmRhcmRcclxuJHdkLW1kOiAgICAgICAgICAgICAgICAgMjQwcHg7XHJcbiR3ZC1sZzogICAgICAgICAgICAgICAgIDI4MHB4O1xyXG4kd2QteGw6ICAgICAgICAgICAgICAgICAzMjBweDtcclxuJHdkLXh4bDogICAgICAgICAgICAgICAgMzYwcHg7XHJcbiR3ZC13aWRlOiAgICAgICAgICAgICAgIDEwMCU7XHJcbiR3ZC1hdXRvOiAgICAgICAgICAgICAgIGF1dG87XHJcbiR3ZC16ZXJvOiAgICAgICAgICAgICAgIDA7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEJvb3RzdHJhcCA0IFZhcmlhYmxlcyBPdmVycmlkZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIENvbG9yIHN5c3RlbVxyXG5cclxuJGNvbG9yczogKFxyXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXHJcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXHJcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcclxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXHJcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXHJcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcclxuICAgICdpbnZlcnNlJzogICAgJGludmVyc2UsXHJcblxyXG4gICAgJ3ByaW1hcnktbGlnaHQnOiAkcHJpbWFyeS1saWdodCxcclxuICAgICdwcmltYXJ5LWRhcmsnOiAgJHByaW1hcnktZGFyayxcclxuICAgICdzdWNjZXNzLWxpZ2h0JzogJHN1Y2Nlc3MtbGlnaHQsXHJcbiAgICAnc3VjY2Vzcy1kYXJrJzogICRzdWNjZXNzLWRhcmssXHJcbiAgICAnaW5mby1saWdodCc6ICAgICRpbmZvLWxpZ2h0LFxyXG4gICAgJ2luZm8tZGFyayc6ICAgICAkaW5mby1kYXJrLFxyXG4gICAgJ3dhcm5pbmctbGlnaHQnOiAkd2FybmluZy1saWdodCxcclxuICAgICd3YXJuaW5nLWRhcmsnOiAgJHdhcm5pbmctZGFyayxcclxuICAgICdkYW5nZXItbGlnaHQnOiAgJGRhbmdlci1saWdodCxcclxuICAgICdkYW5nZXItZGFyayc6ICAgJGRhbmdlci1kYXJrLFxyXG4gICAgJ2dyZWVuLWxpZ2h0JzogICAkZ3JlZW4tbGlnaHQsXHJcbiAgICAnZ3JlZW4tZGFyayc6ICAgICRncmVlbi1kYXJrLFxyXG4gICAgJ3BpbmstbGlnaHQnOiAgICAkcGluay1saWdodCxcclxuICAgICdwaW5rLWRhcmsnOiAgICAgJHBpbmstZGFyayxcclxuICAgICdwdXJwbGUtbGlnaHQnOiAgJHB1cnBsZS1saWdodCxcclxuICAgICdwdXJwbGUtZGFyayc6ICAgJHB1cnBsZS1kYXJrLFxyXG4gICAgJ2ludmVyc2UtbGlnaHQnOiAkaW52ZXJzZS1saWdodCxcclxuICAgICdpbnZlcnNlLWRhcmsnOiAgJGludmVyc2UtZGFyayxcclxuICAgICd5ZWxsb3ctbGlnaHQnOiAgJHllbGxvdy1saWdodCxcclxuICAgICd5ZWxsb3ctZGFyayc6ICAgJHllbGxvdy1kYXJrLFxyXG4pO1xyXG5cclxuXHJcbiR0aGVtZS1jb2xvcnM6IChcclxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXHJcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXHJcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXJcclxuKTtcclxuXHJcbi8vIEJvZHlcclxuXHJcbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYm9keS1jb2xvcjogIzY1NjU2NTtcclxuXHJcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbTtcclxuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjM3NXJlbTtcclxuXHJcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNTI4NTcxNDI5O1xyXG5cclxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4xO1xyXG5cclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgIzkwOUZBNztcclxuXHJcbi8vIFRhYmxlc1xyXG5cclxuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgI2ZhZmJmYztcclxuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgI2ZhZmJmYztcclxuXHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICNlZWU7XHJcblxyXG4vLyBCdXR0b25zICsgRm9ybXNcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIDFyZW07XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMzEyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjYyNXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC42MjVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDEuMjVyZW07XHJcblxyXG4kaW5wdXQtaGVpZ2h0OiAyNXB4OyAvLyAzNXB4XHJcblxyXG4vLyBGb3Jtc1xyXG5cclxuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXI7XHJcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheTtcclxuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICM2NmFmZTk7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAjYjdiYWM5O1xyXG5cclxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgICAgIG5vbmU7XHJcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgICAgICBub25lO1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgIGxpZ2h0ZW4oJHByaW1hcnksIDI1JSk7XHJcblxyXG4vLyBEcm9wZG93bnNcclxuXHJcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNlMWUxZTE7XHJcblxyXG4vLyBOYXZzXHJcblxyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAjZmZmO1xyXG5cclxuLy8gSnVtYm90cm9uXHJcblxyXG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZmNmY2ZjO1xyXG5cclxuLy8gTGlzdCBncm91cFxyXG5cclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgI2U0ZWFlYztcclxuXHJcbi8vIEltYWdlIHRodW1ibmFpbHNcclxuXHJcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4xMjVyZW07XHJcblxyXG5cclxuLy8gQnJlYWRjcnVtYnNcclxuXHJcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICNmYWZhZmE7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICNjMWMyYzM7XHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRib2R5LWNvbG9yO1xyXG4iLCIvLyBHcmFkaWVudHNcclxuXHJcbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcclxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cclxuLy9cclxuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxyXG4vL1xyXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXHJcbi8vXHJcbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cclxuXHJcbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXHJcbi8vICAgIG1kXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XHJcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDU3NnB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xyXG59XHJcblxyXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxyXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxyXG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxyXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XHJcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cclxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDc2Ny45OHB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xyXG59XHJcblxyXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxyXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiLXNtXCJcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtaW4ge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1heCB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxyXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */\";","import { OnInit, Directive, Input, ElementRef } from '@angular/core';\r\ndeclare var $: any;\r\n\r\n@Directive({\r\n selector: 'scrollable'\r\n})\r\nexport class ScrollableDirective implements OnInit {\r\n\r\n @Input() height: number;\r\n defaultHeight = 250;\r\n\r\n constructor(public element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n $(this.element.nativeElement).slimScroll({\r\n height: (this.height || this.defaultHeight)\r\n });\r\n }\r\n\r\n}\r\n","/*!\r\n *\r\n * Angle - Bootstrap Admin Template\r\n *\r\n * Version: 4.8\r\n * Author: @themicon_co\r\n * Website: http://themicon.co\r\n * License: https://wrapbootstrap.com/help/licenses\r\n *\r\n */\r\n\r\nimport './vendor.ts';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nlet p = platformBrowserDynamic().bootstrapModule(AppModule);\r\np.then(() => { (window).appBootstrap && (window).appBootstrap(); })\r\n// .catch(err => console.error(err));\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}