@charset "UTF-8";:root{--brand-gradient-start:#F67160;--brand-gradient-end:#FF8F61;--brand-primary:#F67160;--brand-secondary:#F0C374;--brand-accent-dark:#EA580C;--brand-accent-light:#FF8F61;--brand-highlight:#FAD8D6;--text-dark:#111827;--text-primary:#1F2937;--text-secondary:#374151;--text-muted:#6B7280;--text-border-gray:#929292;--text-white:#ffffff;--bg-white:#ffffff;--bg-cream:#FBF6F3;--bg-panel-cream:#FCF4EF;--bg-panel-cream-alt:#FCF6F2;--bg-hover-cream:#F8EAE2;--bg-hover-gray:#F3F4F6;--bg-gray-light:#F3F4F6;--bg-gray-medium:#E5E7EB;--bg-error-light:lightyellow;--border-soft:#E5E7EB;--border-side:#EAD9D1;--border-light-pink:#FAD9D4;--status-success:#28a745;--status-success-dark:#218838;--status-success-validation:#26b050;--status-error:#dc3545;--status-error-dark:#c82333;--status-error-validation:#e50000;--status-warning-red:#EF4444;--link-default:#006bb7;--btn-primary-bg:#1b6ec2;--btn-primary-border:#1861ac;--btn-focus:var(--focus-ring-brand);--shadow-xs:rgba(0, 0, 0, 0.03);--shadow-sm:rgba(0, 0, 0, 0.05);--shadow-md:rgba(0, 0, 0, 0.1);--shadow-lg:rgba(0, 0, 0, 0.12);--shadow-xl:rgba(0, 0, 0, 0.18);--shadow-2xl:rgba(0, 0, 0, 0.2);--shadow-3xl:rgba(0, 0, 0, 0.35);--shadow-dark:rgba(0, 0, 0, 0.5);--focus-ring-brand:rgba(249, 115, 99, 0.25);--focus-ring-brand-alt:rgba(250, 120, 97, 0.25);--focus-ring-teal:rgba(0, 128, 128, 0.15);--focus-ring-dark:rgba(33, 37, 41, 0.2);--focus-ring-white:rgba(255, 255, 255, 0.2);--bs-focus-ring-color:var(--focus-ring-brand);--overlay-dark:rgba(0, 0, 0, 0.5);--overlay-light:rgba(255, 255, 255, 0.2);--group-coral:#E8927C;--group-gray:#6B7280;--group-teal:#5EBBAB;--group-green:#6ABF69;--group-brown:#A67C52;--group-pink:#DB7093;--group-purple:#9B59B6;--group-blue:#5B9BD5;--group-navy:#1B3A57;--group-yellow:#F4D03F;--group-red:#E74C3C;--ui-icon-gray:#6B7280;--ui-selection-border:#212529;--ratho-bg-app:#FBF6F3;--ratho-gradient-orange-start:#F67160;--ratho-gradient-orange-end:#FF8F61;--ratho-header-gradient-yellow:#F7A832;--ratho-header-gradient-orange:#EF7B52;--ratho-header-gradient-coral:#E8837C;--ratho-group-selection:#FAD8D6;--ratho-group-text:#F0C374;--gradient-start:var(--brand-gradient-start);--gradient-end:var(--brand-gradient-end);--cream:var(--bg-cream);--font-family-base:"Nunito",sans-serif;--font-family-student:"ABeeZee",sans-serif;--page-pad:1rem;--page-max:1600px;--content-top-gap:1rem;--sidebar-width:16rem;--sidebar-content-gap:5rem;--flyout-width:600px;--flyout-handle-width:32px;--flyout-handle-height:80px;--flyout-radius:14px;--flyout-speed:0.3s;--flyout-bg:var(--bg-cream);--flyout-margin:30px;--header-height:5rem;--z-background:0;--z-default:1;--z-header:1030;--z-dropdown-backdrop:1040;--z-dropdown-menu:1045;--z-offcanvas-backdrop:1050;--z-offcanvas:1055;--z-flyout-handle:1060;--z-modal-backdrop:1070;--z-modal:1080}body,html{height:100%;width:100%;margin:0;font-family:var(--font-family-base)}html{overflow-x:hidden}body{min-height:100vh;background-color:var(--bg-cream);box-sizing:border-box}.page-container{width:100%;max-width:var(--page-max);margin-left:auto;margin-right:auto;padding-left:var(--page-pad);padding-right:var(--page-pad);box-sizing:border-box}.side-width{width:var(--sidebar-width);flex-shrink:0}.mt-content{margin-top:var(--content-top-gap)}.content{padding-top:1.1rem}.bg-brand-gradient{background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end))}@media (max-width:575.98px){:root{--page-pad:0.75rem;--sidebar-width:100%;--sidebar-content-gap:0;--content-top-gap:0.75rem;--flyout-width:100%;--flyout-margin:10px}}@media (min-width:576px) and (max-width:767.98px){:root{--page-pad:0.875rem;--content-top-gap:0.875rem;--sidebar-width:100%;--sidebar-content-gap:0}}@media (min-width:768px) and (max-width:991.98px){:root{--page-pad:1rem;--sidebar-width:14rem;--sidebar-content-gap:0}}@media (min-width:992px) and (max-width:1199.98px){:root{--sidebar-content-gap:2rem}}@media (min-width:1280px){:root{--page-pad:1.5rem}}@media (min-width:1440px){:root{--page-pad:2rem}}@media (min-width:1600px){:root{--page-pad:2.5rem}}@media (min-width:1920px){:root{--page-pad:3rem}}@media (min-width:1920px){:root{--page-max:1880px}}.btn-link,a{color:var(--link-default)}.pe-force{cursor:pointer}.btn-primary{color:var(--text-white);background-color:var(--btn-primary-bg);border-color:var(--btn-primary-border)}.btn-link.nav-link:focus,.btn:active:focus,.btn:focus,.form-check-input:focus,.form-control:focus,.form-select:focus{box-shadow:0 0 0 .1rem var(--bg-white),0 0 0 .25rem var(--btn-focus);border-color:var(--brand-gradient-start)}h1:focus{outline:0}.valid.modified:not([type=checkbox]){outline:1px solid var(--status-success-validation)}.invalid{outline:1px solid var(--status-error-validation)}.validation-message{color:var(--status-error-validation)}.darker-border-checkbox.form-check-input{border-color:var(--text-border-gray)}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:var(--bs-secondary-color);text-align:end}.form-floating>.form-control-plaintext:focus::placeholder,.form-floating>.form-control:focus::placeholder{text-align:start}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff}.blazor-error-boundary::after{content:"An error has occurred."}.content-soft-bg{background-color:var(--bg-panel-cream-alt);border-radius:.75rem;padding:1rem}.border-soft{border:1px solid var(--side-border,#ead9d1)}.text-gradient-end{color:var(--gradient-end)}.bg-brand-gradient{background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end))!important}.gradient-border{padding:3px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-radius:8px}.gradient-border-sm{padding:2px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-radius:4px}.back-button-arrow,.ratho-title-bar-icon,.text-brand-gradient{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.back-button-position{left:.75rem}@media (min-width:768px){.w-md-auto{width:auto!important}}.btn-icon-square{width:2.5rem;height:2.5rem;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.library-add-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.95rem;font-weight:600;color:var(--text-white);background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border:none;border-radius:.625rem;cursor:pointer;text-decoration:none;box-shadow:0 3px 8px rgba(246,113,96,.3);transition:all .2s ease}.library-add-btn i{margin-right:.75rem;font-size:1rem}.library-add-btn:hover:not(:disabled){box-shadow:0 4px 12px rgba(246,113,96,.4);transform:translateY(-2px)}.library-add-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px rgba(246,113,96,.3)}.library-add-btn:focus,.library-add-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.library-add-btn:disabled{opacity:.6;cursor:not-allowed}.page{min-height:100dvh;background-color:var(--bg-cream);padding-bottom:2rem;position:relative;z-index:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.group-select-page-wrapper~.page{background-color:transparent}.standard-layout-bg{background-color:var(--bg-cream)}.group-select-page-wrapper~.standard-layout-bg{background-color:transparent}.layout-gap{gap:var(--sidebar-content-gap)}.page>.page-container{flex:1}@media (min-width:992px){.layout-gap>.side-width{position:sticky;top:calc(var(--header-height) + 1rem);align-self:flex-start}}.tab-main{max-width:100%;min-width:0;min-height:0;padding-bottom:.75rem;display:flex;flex-direction:column;align-self:stretch}.tab-main>.ratho-card{flex:1;margin-bottom:0;margin-top:3.5rem}.tab-main .ratho-tab-view{flex:1;display:flex;flex-direction:column}.tab-main .ratho-tab-view .nav-link.active{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}.tab-main .ratho-tab-view .ratho-tab-content{flex:1;overflow:visible;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}.tab-main .ratho-tab-view .ratho-tab-content::before{box-shadow:none}.mobile-sidebar-offcanvas{background-color:var(--bg-cream);width:var(--sidebar-width);max-width:85vw;z-index:var(--z-offcanvas)}.mobile-sidebar-offcanvas .offcanvas-header{padding:1rem;justify-content:flex-end;border-bottom:1px solid var(--border-soft)}.mobile-sidebar-offcanvas .offcanvas-body{overflow-y:auto}.mobile-sidebar-offcanvas .portal-sidebar{width:100%}#blazor-error-ui{color-scheme:light only;background:var(--bg-error-light);bottom:0;box-shadow:0 -1px 2px var(--shadow-2xl);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem}#blazor-error-ui .reload{color:inherit;text-decoration:underline}.portal-header{height:var(--header-height);overflow:visible;position:relative;z-index:var(--z-header)}.mobile-sidebar-toggle{width:2.5rem;height:2.5rem;background-color:var(--bg-white);border:none;border-radius:1rem;box-shadow:0 2px 6px var(--shadow-lg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .15s ease}.mobile-sidebar-toggle:hover{box-shadow:0 4px 10px var(--shadow-xl)}.mobile-sidebar-toggle i{font-size:1.25rem;color:var(--gradient-end)}.portal-header-gradient{height:100%;position:relative;width:100%}.portal-header-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.portal-header-content{position:relative;z-index:2;height:100%;padding-bottom:1rem}.portal-header-content>div:first-child{transform:rotate(.3deg);transform-origin:center center}.portal-header-content>div:last-child{transform:rotate(-.3deg);transform-origin:center center}.portal-header-logo-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding-bottom:1rem}@media (max-width:575.98px){.mobile-sidebar-toggle{width:2.25rem;height:2.25rem;border-radius:.75rem}.mobile-sidebar-toggle i{font-size:1.1rem}.portal-header-content>div:first-child{gap:.5rem!important}}.portal-sidebar{width:var(--sidebar-width);display:flex;flex-direction:column;gap:0}@media (max-width:991.98px){.portal-sidebar{width:100%;margin-bottom:1rem}}.portal-sidebar .ratho-sidebar-nav-btn:first-of-type{margin-top:.5rem}.portal-sidebar .group-libraries{margin-top:.75rem}.header-dropdown{--dropdown-btn-size:2.5rem;--dropdown-min-width:280px;--dropdown-radius:1rem;--dropdown-transition:0.18s ease;position:relative;display:inline-block;z-index:var(--z-dropdown-menu)}.header-dropdown-btn{width:var(--dropdown-btn-size);height:var(--dropdown-btn-size);background-color:var(--bg-white);border:none;border-radius:var(--dropdown-radius);box-shadow:0 2px 6px var(--shadow-lg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .15s ease}.header-dropdown-btn:hover{box-shadow:0 4px 10px var(--shadow-xl)}.header-dropdown-btn i{font-size:1.25rem;color:var(--gradient-end)}.header-dropdown-menu{position:absolute;top:calc(100% + .25rem);min-width:var(--dropdown-min-width);background:var(--bg-white);border-radius:var(--dropdown-radius);box-shadow:0 18px 45px var(--shadow-xl);border:1px solid var(--side-border);padding:1rem;z-index:var(--z-dropdown-menu);opacity:0;transform:scale(.92);transition:opacity var(--dropdown-transition),transform var(--dropdown-transition);pointer-events:none}.header-dropdown-menu.show{opacity:1;transform:scale(1);pointer-events:auto}@media (max-width:767.98px){.header-dropdown{--dropdown-min-width:260px}.header-dropdown-menu{padding:.75rem}}@media (max-width:575.98px){.header-dropdown{--dropdown-btn-size:2.25rem;--dropdown-min-width:min(240px, calc(100vw - 2rem));--dropdown-radius:0.75rem}.header-dropdown-btn i{font-size:1.1rem}.header-dropdown-menu{padding:.625rem}}.dropdown-menu-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .6rem;border-radius:.6rem;color:var(--text-primary);text-decoration:none;transition:background-color .15s ease;background:0 0;border:none;width:100%;text-align:left;font-size:inherit;font-family:inherit;cursor:pointer}.dropdown-menu-item:hover{background-color:var(--bg-panel-cream);color:var(--text-primary)}.dropdown-menu-item i{color:var(--brand-primary);font-size:1rem;width:1.25rem;text-align:center}.dropdown-menu-item-disabled{opacity:.5;cursor:not-allowed}.dropdown-menu-item-disabled:hover{background-color:transparent}.dropdown-menu-item-disabled i:last-child{color:var(--text-muted,#9ca3af)}@media (max-width:575.98px){.dropdown-menu-item{padding:.75rem .625rem;min-height:44px;font-size:.95rem}}.header-settings-dropdown .header-dropdown-menu{right:0;transform-origin:top right}.header-app-drawer .header-dropdown-menu{left:0;transform-origin:top left}.header-app-drawer-btn .custom-grid-icon{display:block;width:18px;height:18px;color:var(--gradient-end)}.header-app-drawer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.header-app-drawer-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 0;border:1px solid var(--side-border);border-radius:.75rem;background-color:var(--bg-white);text-decoration:none;transition:background-color .15s ease}.header-app-drawer-item:hover{background-color:var(--bg-panel-cream)}.header-app-drawer-icon{width:36px;height:36px;border-radius:.625rem;background-color:var(--bg-gray-light);display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.header-app-drawer-icon img{max-width:24px;max-height:24px}.header-app-drawer-icon i{font-size:1.25rem;color:var(--ui-icon-gray)}.header-app-drawer-name{font-size:.8rem;color:var(--text-secondary);text-align:center}@media (max-width:575.98px){.header-app-drawer .header-dropdown-menu{left:-.5rem;min-width:min(260px,100vw - 2rem)}.header-app-drawer-grid{gap:.375rem}.header-app-drawer-item{padding:.375rem 0}.header-app-drawer-icon{width:32px;height:32px}.header-app-drawer-icon img{max-width:20px;max-height:20px}.header-app-drawer-icon i{font-size:1.1rem}.header-app-drawer-name{font-size:.7rem}}.student-profile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0;margin-bottom:1rem;width:100%}.student-profile-avatar{width:min(85%,220px);height:auto;aspect-ratio:1;border-radius:50%;padding:6px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;margin-bottom:.75rem;box-shadow:0 4px 12px var(--shadow-sm)}.student-profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;background-color:var(--bg-white);pointer-events:none}.student-profile-avatar:hover{transform:scale(1.05)}.student-profile-name{display:flex;flex-direction:column;align-items:center;gap:.125rem}.student-profile-name .student-firstname{font-size:1.25rem;font-weight:700;color:#f67160;line-height:1.2}.student-profile-name .student-lastname{font-size:1rem;font-weight:500;color:var(--text-dark);line-height:1.2}.student-profile-name .student-groupname{font-size:1rem;font-weight:400;color:var(--text-muted);line-height:1.2;margin-top:.25rem}.profile-card{background-color:var(--bg-white);border-radius:.75rem;box-shadow:0 1px 2px var(--shadow-sm);overflow:hidden;margin-bottom:1rem}.profile-card-header{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));padding:.75rem;display:flex;align-items:center}.profile-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background-color:var(--bg-white);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;position:relative;cursor:pointer}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar .profile-avatar-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--overlay-dark);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.profile-avatar .profile-avatar-overlay i{color:var(--text-white);font-size:.875rem}.profile-avatar:focus .profile-avatar-overlay,.profile-avatar:hover .profile-avatar-overlay{opacity:1}.profile-info{margin-left:.75rem;color:var(--text-white);flex:1;min-width:0}.profile-name{margin-bottom:0;font-weight:600;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-detail{opacity:.85;font-size:.875rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card-footer{padding:.75rem;display:flex;align-items:center;justify-content:space-between}.profile-env-logo{height:3rem;width:auto;object-fit:contain}.profile-switch-btn{width:2rem;height:2rem;background-color:var(--bg-gray-light);border-radius:.5rem;border:none;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease}.profile-switch-btn:hover{background-color:var(--bg-gray-medium)}.profile-switch-btn i{font-size:1rem;color:var(--text-muted)}@media (max-width:991.98px){.student-profile{padding:.75rem 0;margin-bottom:.75rem}.student-profile-avatar{width:min(60%,160px);margin-bottom:.5rem}.student-profile-name .student-firstname{font-size:1.1rem}.student-profile-name .student-groupname,.student-profile-name .student-lastname{font-size:.9rem}.profile-env-logo{height:2.5rem}}@media (max-width:575.98px){.student-profile-avatar{width:min(50%,140px)}.student-profile-name .student-firstname{font-size:1rem}.student-profile-name .student-groupname,.student-profile-name .student-lastname{font-size:.85rem}}.group-libraries{position:relative;z-index:var(--z-dropdown-menu);margin-top:.25rem;margin-bottom:.75rem}.group-libraries>.group-libraries-toggle .group-icon{font-size:1.5rem;width:1.875rem}.group-libraries .group-icon{color:var(--brand-accent-light)}.group-libraries .form-check-input:checked{background-color:var(--brand-accent-light,#ff8f61);border-color:var(--brand-accent-light,#ff8f61)}.group-libraries .form-check-input:focus{border-color:var(--brand-accent-light,#ff8f61);box-shadow:0 0 0 .25rem rgba(255,143,97,.25)}.group-libraries-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:0 0;border:none;border-bottom:1px solid var(--bs-gray-300,#dee2e6);padding:1rem .5rem;color:var(--text-secondary);text-align:left;cursor:pointer;border-radius:0;transition:background-color .2s ease}.group-libraries-toggle:hover{background-color:transparent}.group-libraries-toggle:focus{outline:2px solid var(--focus-ring-brand-alt);outline-offset:2px}.group-libraries-toggle>span{display:flex;align-items:center;gap:1rem}.group-libraries-toggle>span:first-child span{font-weight:500;font-size:1rem}.group-libraries-toggle .group-libraries-count{font-size:.9375rem;font-weight:500;color:var(--text-secondary)}.group-libraries-toggle .group-libraries-toggle-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background-color:var(--bg-white,#fff);border-radius:50%;font-size:.625rem;color:var(--text-muted);transition:transform .2s ease}.group-libraries-toggle[aria-expanded=false] .group-libraries-toggle-icon{transform:rotate(180deg)}.group-libraries-list{margin-top:.75rem;padding:0 .25rem}.group-libraries-item{background-color:transparent;color:var(--text-secondary);border:1px solid var(--bs-gray-400,#adb5bd);border-radius:.5rem;padding:.625rem .875rem;margin-bottom:.5rem;margin-left:.25rem;margin-right:.25rem;transition:background-color .15s ease,border-color .15s ease,opacity .3s ease,max-height .3s ease,margin-bottom .3s ease,padding .3s ease;opacity:1;max-height:100px;overflow:hidden}.group-libraries-item:hover{background-color:var(--bg-hover-cream);border-color:var(--bs-gray-500,#6c757d)}.group-libraries-item .group-libraries-link{display:flex;align-items:center;text-decoration:none;color:var(--text-secondary);flex-grow:1;font-size:.9375rem}.group-libraries-item .group-libraries-link .group-icon{color:var(--brand-accent-light);font-size:.875rem}.group-libraries-item .group-libraries-link:hover{color:var(--text-secondary)}.group-libraries-item .group-libraries-link.active{color:var(--text-white,#fff);font-weight:600}.group-libraries-item:has(.group-libraries-link.active){background-image:linear-gradient(to right,#ff9a6c,#f16b5a);background-color:var(--brand-primary);border-color:transparent;box-shadow:0 4px 12px rgba(246,113,96,.35)}.group-libraries-item:has(.group-libraries-link.active):hover{background-image:linear-gradient(to right,#ff9a6c,#f16b5a);background-color:var(--brand-primary)}.group-libraries-item:has(.group-libraries-link.active) .group-libraries-link,.group-libraries-item:has(.group-libraries-link.active) .group-libraries-link:hover{color:var(--text-white,#fff)}.group-libraries-item:has(.group-libraries-link.active) .group-icon{color:var(--text-white,#fff)}.group-libraries-item:has(.group-libraries-link.active) i.fa-chevron-right{color:var(--text-white,#fff)}.group-libraries-item i.fa-chevron-right{color:var(--text-muted);font-size:.75rem}.group-libraries-item .form-check{margin-bottom:0;min-height:auto}.group-libraries-item .form-check .form-check-input{margin-top:0}.group-libraries-item.group-item-hidden{opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-bottom:0;margin-left:0;margin-right:0;border-width:0;pointer-events:none}.group-libraries-view-all{display:inline-flex;align-items:center;gap:.375rem;width:calc(100% - .5rem);margin-top:.5rem;margin-left:.25rem;margin-right:.25rem;padding-top:.625rem;color:var(--brand-accent-dark,#d4870f);font-size:.875rem;font-weight:600;text-decoration:none;background:0 0;border:none;cursor:pointer;transition:color .15s ease}.group-libraries-view-all:hover{color:var(--brand-secondary);text-decoration:none}.group-libraries-view-all:focus{outline:2px solid var(--focus-ring-brand-alt);outline-offset:2px}.group-libraries-view-all i[class*=fa-chevron]{transition:transform .2s ease;font-size:.75rem}.user-tile-card{display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:transform .3s ease}.user-tile-card:hover{transform:translateY(-4px)}.user-tile-card:hover .user-tile-avatar{box-shadow:0 8px 24px var(--shadow-lg)}.user-tile-card:hover .user-tile-avatar img{transform:scale(1.05)}.user-tile-card:hover .user-tile-name{color:var(--brand-primary)}.user-tile-card:active{transform:translateY(-2px)}.user-tile-avatar{width:100px;height:100px;border-radius:50%;padding:3px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;border:2px solid transparent;transition:box-shadow .3s ease;box-shadow:0 4px 12px var(--shadow-sm)}.user-tile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;background-color:var(--bg-white)}.user-tile-avatar:hover{transform:scale(1.05)}.user-tile-avatar img{pointer-events:none;transition:transform .3s ease}.user-tile-name{margin-top:.5rem;font-weight:600;font-size:.9rem;line-height:1.2;color:var(--text-dark);transition:color .3s ease;word-break:break-word;max-width:100%}@media (max-width:575.98px){.user-tile-avatar{width:70px;height:70px}.user-tile-name{font-size:.8rem;margin-top:.375rem}}@media (min-width:576px) and (max-width:767.98px){.user-tile-avatar{width:85px;height:85px}.user-tile-name{font-size:.85rem}}.flyout-content{width:100%;padding:1rem 1.25rem}.flyout-content.d-flex.flex-column{padding:0;flex:1}.flyout-content.d-flex.flex-column>.flex-grow-1{padding:1rem 1.25rem;overflow-y:auto}.flyout-content.d-flex.flex-column.h-100{height:100%}.flyout-footer{margin-top:auto;padding:1rem 1.25rem;background-color:var(--bg-white,#fff);display:flex;justify-content:flex-end;gap:.75rem;align-items:center}.flyout-footer .btn{width:auto;min-width:auto;padding-left:2rem;padding-right:2rem;flex-shrink:0}.flyout-content th{color:var(--bs-body-color);font-weight:500}.flyout-content tr{width:100%;display:inline-table;vertical-align:text-top;margin-top:5px}.flyout-content tr.bottom{border-bottom-style:solid;border-bottom-color:var(--bs-border-color);border-bottom-width:1px;min-height:20px}.flyout-content td{vertical-align:top;max-width:200px;overflow:hidden;text-overflow:ellipsis}.flyout-content td.td-small{width:50px}.flyout-content td.td-xs{width:20px}.flyout-content td.td-xs input[type=checkbox]{margin-top:17px}.flyout-content td:first-child,.flyout-content th:first-child{width:150px;font-weight:500}.flyout-content td:last-child,.flyout-content th:last-child{width:0}.flyout-content td .Credentials,.flyout-content td .PhotoSelection{margin-left:5px}#flyout-main{width:var(--flyout-width);margin:var(--flyout-margin) 0;height:auto;max-height:calc(100vh - var(--flyout-margin) * 2);border-top-left-radius:var(--flyout-radius);border-bottom-left-radius:var(--flyout-radius);border-top-right-radius:0;border-bottom-right-radius:0;visibility:visible!important;transform:translateX(100%);transition:transform var(--flyout-speed) ease}#flyout-main.show,#flyout-main.showing{transform:translateX(0);background-color:var(--flyout-bg);border-top:2px solid var(--ratho-header-gradient-orange);border-bottom:2px solid var(--ratho-header-gradient-orange);border-left:2px solid var(--ratho-header-gradient-orange);border-right:none;box-shadow:0 4px 24px rgba(239,123,82,.25)}#flyout-main.offcanvas{display:flex;flex-direction:column;overflow:visible}#flyout-main .offcanvas-header{border-top-left-radius:12px;padding:1rem 1.25rem}#flyout-main .offcanvas-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}#flyout-main .offcanvas-header>.d-flex>i,#flyout-main .offcanvas-header>.d-flex>svg{font-size:1.5rem;background:linear-gradient(135deg,var(--ratho-header-gradient-yellow),var(--ratho-header-gradient-orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#flyout-main .offcanvas-body{display:flex;flex-direction:column;overflow-y:auto;min-height:0}#flyout-main .offcanvas-body:has(>.flyout-content.h-100){overflow-y:hidden}.offcanvas-backdrop{background-color:rgba(0,0,0,.6)}.offcanvas-backdrop.show{opacity:1}@media (max-width:768px){:root{--flyout-width:95%;--flyout-margin:20px}}@media (max-width:768px){.selector-grid{gap:.25rem}.selector-grid:has(.color-selector-btn) .selector-item{width:calc((100% - 2.25rem)/ 10)}.icon-selector-item i{font-size:1rem}}@media (max-width:575.98px){:root{--flyout-width:100%;--flyout-margin:10px}.flyout-handle{display:none!important}.flyout-content{padding:.75rem 1rem}.flyout-content.d-flex.flex-column>.flex-grow-1{padding:.75rem 1rem}.flyout-footer{padding:.75rem 1rem;gap:.5rem}.flyout-footer .btn{padding-left:1.25rem;padding-right:1.25rem}.flyout-content td{max-width:120px}.flyout-content td:first-child,.flyout-content th:first-child{width:100px}}#flyout-main .card .card-header{background:var(--bs-body-color)}#flyout-main .card .card-header .card-title{color:var(--bs-body-bg)}#flyout-main .accordion .card .card-body{padding:2px}#flyout-main .btn-back{font-size:1.5em;padding:0;border:none;background:0 0;color:var(--bs-body-color);opacity:.5;margin-right:auto;display:flex;align-items:center;justify-content:center;width:1.5em;height:1.5em}#flyout-main .btn-back:hover{opacity:.75}#flyout-main .btn-back i{font-size:1em}#flyout-main .fa-star.disabled{cursor:not-allowed;color:var(--bs-secondary-color)}.manuals-and-videos-flyout-content a{color:var(--bs-body-color)}.flyout-handle{position:absolute;left:calc(-1 * var(--flyout-handle-width));top:50%;transform:translateY(-50%);width:var(--flyout-handle-width);height:var(--flyout-handle-height);display:grid;place-items:center;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));color:var(--text-white);border:none;border-top-left-radius:20px;border-bottom-left-radius:20px;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:-2px 0 8px rgba(239,123,82,.3);cursor:pointer;z-index:1}.flyout-handle:hover{filter:brightness(.95)}.flyout-handle:focus{outline:0;box-shadow:-2px 0 8px rgba(239,123,82,.3),0 0 0 .25rem var(--focus-ring-brand)}.flyout-chevron{transition:transform .3s ease}.flyout-handle-open .flyout-chevron{transform:rotate(180deg)}.action-list .action-row{cursor:pointer;transition:background-color .15s ease}.action-list .action-row:hover{background-color:var(--shadow-xs)}.action-list .action-row-disabled{cursor:not-allowed;opacity:.5}.action-list .action-row-disabled:hover{background-color:transparent}.action-list .action-row-disabled span{color:var(--text-muted)}.action-list .action-icon{width:28px;height:28px;border-radius:6px;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));flex-shrink:0}.action-list .action-icon-disabled{background:var(--text-muted,#9ca3af)}.action-list .action-go{width:26px;height:26px;border-radius:50%;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));flex-shrink:0}.action-list .action-go-disabled{background:var(--text-muted,#9ca3af);cursor:help}.btn-gradient,.btn-gradient-active{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));color:var(--text-white);border:none;transition:filter .2s ease}.btn-gradient-active:hover,.btn-gradient:hover{filter:brightness(.95);color:var(--text-white)}.btn-gradient-active:focus,.btn-gradient-active:focus-visible,.btn-gradient:focus,.btn-gradient:focus-visible{box-shadow:0 0 0 .25rem var(--focus-ring-brand);color:var(--text-white)}.btn-gradient-active:active,.btn-gradient:active{color:var(--text-white);filter:brightness(.9)}.btn-gradient-active:disabled,.btn-gradient:disabled{color:var(--text-white);opacity:.65;pointer-events:none}.btn-gradient-active{box-shadow:inset 0 2px 4px rgba(0,0,0,.2),0 0 0 .2rem var(--focus-ring-brand);filter:brightness(.9)}.btn-outline-gradient{background:0 0;color:var(--gradient-start);border:2px solid var(--gradient-start);transition:all .2s ease}.btn-outline-gradient:hover{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));color:var(--text-white);border-color:transparent}.btn-outline-gradient:focus,.btn-outline-gradient:focus-visible{box-shadow:0 0 0 .25rem var(--focus-ring-brand)}.btn-outline-gradient:active{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));color:var(--text-white);border-color:transparent;filter:brightness(.9)}.btn-outline-gradient:disabled{opacity:.65;pointer-events:none}.flyout-user-selector{padding:0 1.25rem}.user-selector-search{padding-left:2rem;border:1px solid var(--brand-accent-light,#ff8f61);border-radius:.75rem}.user-selector-search:focus{border-color:var(--brand-accent-light,#ff8f61);box-shadow:0 0 0 .2rem rgba(255,143,97,.25)}.user-selector-search-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--brand-accent-light,#ff8f61);font-size:.875rem;pointer-events:none}.user-selector-list{background-color:var(--bg-white)}.user-selector-item{padding-left:.75rem;padding-right:.75rem;transition:background-color .15s ease}.user-selector-item:hover{background-color:var(--bg-hover-cream,#f8f4f2)}.user-selector-item:last-child{border-bottom:none!important}.user-selector-avatar{width:28px;height:28px;object-fit:cover;flex-shrink:0}@media (max-width:575.98px){.flyout-user-selector{padding:0 1rem}.user-selector-avatar{width:24px;height:24px}}.shortcut-form-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:stretch;margin-bottom:.75rem}.shortcut-form-fields{flex:1 1 200px;min-width:0;max-width:340px}.shortcut-form-preview{flex-shrink:0;display:flex;align-items:center}.shortcut-preview{width:180px;height:180px;border-radius:.75rem;box-shadow:0 2px 8px rgba(15,23,42,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem;gap:.5rem;transition:transform 150ms ease,box-shadow 150ms ease;background-color:var(--appshortcut-bg,#f5f5f5)}.shortcut-preview-sm{width:140px;height:140px;padding:.875rem;gap:.25rem}.shortcut-preview-sm .shortcut-preview-icon{width:2.5rem;height:2.5rem;margin-bottom:.125rem}.shortcut-preview-sm .shortcut-preview-icon i{font-size:1.25rem}.shortcut-preview-sm .shortcut-preview-title{font-size:.8rem;-webkit-line-clamp:2}.shortcut-preview-sm .shortcut-preview-subcategory{font-size:.65rem}.shortcut-preview-xs{width:3.5rem;height:3.5rem;padding:.5rem;gap:0}.shortcut-preview-xs .shortcut-preview-icon{width:1.75rem;height:1.75rem;margin-bottom:0}.shortcut-preview-xs .shortcut-preview-icon i{font-size:.875rem}.shortcut-preview-xs .shortcut-preview-content{display:none}.shortcut-preview-icon{width:3.5rem;height:3.5rem;border-radius:50%;background-color:var(--appshortcut-icon-bg,#e0e0e0);display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.shortcut-preview-icon i{font-size:1.75rem;color:var(--text-dark,#212529)}.shortcut-preview-content{text-align:center;width:100%}.shortcut-preview-title{font-weight:600;font-size:.875rem;color:var(--text-dark,#212529);line-height:1.2;word-wrap:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.shortcut-preview-subcategory{font-size:.75rem;color:var(--appshortcut-category-color,#4b5563);margin-top:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selector-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:.375rem}.selector-grid:has(.color-selector-btn){display:flex;justify-content:space-between}.selector-grid:has(.color-selector-btn) .selector-item{width:calc((100% - 3.375rem)/ 10)}.selector-item{width:100%;aspect-ratio:1;border-radius:.375rem;border:2px solid transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 150ms ease;padding:0}.selector-item:hover{transform:scale(1.1)}.selector-item.selected{border-color:var(--bs-dark,#333);transform:scale(1.05)}.selector-item.selected-new{border-color:var(--bs-dark,#333);transform:scale(1.05)}.icon-selector-item{position:relative;background:linear-gradient(135deg,var(--gradient-start,#ff8f61) 0,var(--gradient-end,#f67160) 100%)}.icon-selector-item:hover{box-shadow:0 4px 12px rgba(255,143,97,.3)}.icon-selector-item i{font-size:1.25rem;color:#fff}.icon-selector-item .icon-check-overlay{position:absolute;top:-4px;right:-4px;font-size:.5rem;width:14px;height:14px;border-radius:50%;background-color:var(--bs-dark,#333);color:#fff;display:flex;align-items:center;justify-content:center;z-index:1}.color-selector-btn:hover{box-shadow:0 2px 8px rgba(15,23,42,.15)}.color-selector-btn i{font-size:.8rem;color:var(--text-dark,#212529)}.environment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.environment-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--bg-white);border:1px solid var(--bs-border-color);border-radius:.75rem;text-align:left;cursor:pointer;transition:all .2s ease}.environment-card:hover{background-color:var(--bg-hover-cream);border-color:var(--gradient-start);transform:translateY(-2px);box-shadow:0 4px 12px rgba(246,113,96,.15)}.environment-card:focus-visible{outline:2px solid var(--focus-ring-brand);outline-offset:2px}.environment-card.selected{background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-color:transparent;color:var(--text-white);box-shadow:0 4px 12px rgba(246,113,96,.3)}.environment-card.selected .environment-card-icon{background:rgba(255,255,255,.25)}.environment-card.selected .environment-card-icon i{color:var(--text-white)}.environment-card.selected .environment-card-name{color:var(--text-white)}.environment-card.selected .environment-card-subtitle{color:rgba(255,255,255,.85)}.environment-card-icon{width:2.25rem;height:2.25rem;border-radius:.5rem;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;flex-shrink:0}.environment-card-icon i{font-size:.95rem;color:var(--text-white)}.environment-card-text{display:flex;flex-direction:column;min-width:0}.environment-card-name{font-size:.875rem;font-weight:600;color:var(--text-dark);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0}.environment-card-subtitle{font-size:.75rem;font-weight:400;color:var(--text-muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:575.98px){.environment-grid{grid-template-columns:1fr;gap:.5rem}.environment-card{padding:.625rem}.environment-card-icon{width:2rem;height:2rem}.environment-card-icon i{font-size:.85rem}}.croppie-container{background-color:var(--bg-gray-light);border-radius:.5rem;padding:.75rem;min-height:260px}.croppie-container .croppie-container{padding:0}.croppie-container .cr-boundary{border-radius:.5rem}.croppie-container .cr-viewport{border:2px solid var(--gradient-start,#4db6ac);box-shadow:0 0 0 9999px var(--overlay-dark)}.croppie-container .cr-slider-wrap{margin-top:1rem;width:100%}.croppie-container .cr-slider-wrap .cr-slider{width:100%}.cr-viewport.cr-vp-circle{border-radius:50%}.reset-password-flyout .bulk-actions .btn-group .btn,.reset-password-flyout .password-type-toggle .btn-group .btn{flex:1}.reset-password-flyout .student-password-list{padding-right:.5rem}.reset-password-flyout .student-password-item{background:var(--bs-gray-100);border-radius:8px;padding:1rem}.reset-password-flyout .student-password-item:last-child{margin-bottom:0!important}.student-header .student-avatar{width:40px;height:40px;object-fit:cover;border:2px solid var(--bs-gray-300)}.password-input-wrapper .password-toggle-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:.375rem .75rem;background:0 0;border:none}.password-input-wrapper .password-toggle-btn:focus,.password-input-wrapper .password-toggle-btn:hover{background:0 0;box-shadow:none}.password-strength .progress{background:var(--bs-gray-200)}.password-requirements{font-size:.8125rem}.photo-selection .image-grid{padding:.5rem;background:var(--bs-gray-200);border-radius:8px;display:flex;flex-wrap:wrap;gap:.25rem;align-items:flex-start;overflow-x:auto;overflow-y:visible}.photo-selection .image-tile{--tile-size:clamp(36px, 8vw, 48px);width:var(--tile-size);height:var(--tile-size);flex-shrink:0;flex-grow:0;border-radius:6px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;border:2px solid transparent;display:flex;align-items:center;justify-content:center;aspect-ratio:1;overflow:hidden}.photo-selection .image-tile img{width:100%;height:100%;object-fit:cover}.photo-selection .image-tile:hover{transform:scale(1.05);filter:brightness(.95)}.photo-selection .image-tile:focus{outline:0;box-shadow:0 0 0 3px var(--shadow-md)}.photo-selection .image-tile.selected{border-color:var(--ui-selection-border);box-shadow:0 0 0 3px var(--focus-ring-dark)}.photo-selection .image-tile.selected:hover{transform:scale(1.02)}.password-type-toggle .btn-group .btn{position:relative;overflow:hidden}.password-type-toggle .btn-group .btn::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--overlay-light);opacity:0;transition:opacity .2s ease}.password-type-toggle .btn-group .btn:hover::before{opacity:1}.password-type-toggle .btn-group .btn:active::before{background:var(--shadow-md);opacity:1}@media (max-width:767.98px){.reset-password-flyout .student-password-item{padding:.75rem}.student-header .student-avatar{width:36px;height:36px}}@media (max-width:575.98px){.reset-password-flyout .student-password-list{padding-right:.25rem}.reset-password-flyout .student-password-item{padding:.625rem;border-radius:6px}.student-header .student-avatar{width:32px;height:32px}.password-requirements{font-size:.75rem}}.tab-main{position:relative}.tab-expand-handle{position:absolute;top:calc(50vh - var(--header-height) - 1.5rem);left:0;transform:translate(-100%,-50%);z-index:1030;background:0 0;cursor:pointer;transition:opacity .2s ease}.tab-expand-handle:hover{opacity:.8}.tab-expand-handle:active,.tab-expand-handle:focus,.tab-expand-handle:focus-visible,.tab-expand-handle:focus:active{outline:0;box-shadow:none;border-color:transparent}.tab-main .tab-expand-handle.btn-link:active,.tab-main .tab-expand-handle.btn-link:focus,.tab-main .tab-expand-handle.btn-link:focus-visible,.tab-main .tab-expand-handle.btn-link:focus:active{outline:0;box-shadow:none;border-color:transparent}.side-width{transition:width .25s ease,margin .25s ease,transform .25s ease,opacity .2s ease}body.sidebar-collapsed{--page-max:calc(100vw - 4rem)}body.sidebar-collapsed .side-width{width:0;margin-left:0;margin-right:0;transform:translateX(-1rem);opacity:0;overflow:hidden;pointer-events:none}body.sidebar-collapsed .layout-gap{gap:0}body.sidebar-collapsed main.flex-grow-1{margin-right:0}.student-hover-preview-bottom{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem;padding:.25rem .75rem;transition:all .3s ease}@media (max-width:768px){.student-hover-preview-bottom{flex-direction:column;margin-top:1rem;padding:.75rem}}.student-hover-avatar{width:60px;height:60px;border-radius:50%;box-shadow:0 8px 24px rgba(0,0,0,.15);transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.student-hover-avatar img{width:80%;height:80%;object-fit:contain;animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}@media (max-width:768px){.student-hover-avatar{width:70px;height:70px;flex-shrink:0}}.student-hover-placeholder{width:100%;height:100%;border-radius:50%;background:var(--bg-cream);display:flex;align-items:center;justify-content:center;position:relative}.student-hover-placeholder::before{content:"?";font-size:3rem;font-weight:700;color:rgba(246,113,96,.4);line-height:1}@media (max-width:768px){.student-hover-placeholder::before{font-size:3rem}}.student-hover-name{font-size:1.1rem;font-weight:600;color:var(--text-dark);max-width:200px;word-wrap:break-word;min-height:1.5rem;transition:all .3s ease}@media (max-width:768px){.student-hover-name{font-size:1rem;max-width:150px}}.student-preview-card{background:var(--bg-cream)!important;border:none!important;border-radius:1.25rem!important;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.student-preview-card .card-body{padding:1.5rem 1.25rem;display:flex;flex-direction:column;justify-content:center;flex:1}.student-preview-card h5{color:var(--text-dark);font-weight:600;min-height:2rem;display:flex;align-items:center;justify-content:center}.student-preview-card .text-muted{color:var(--text-muted)!important;word-break:break-word;overflow-wrap:break-word;max-width:100%;padding:0 .5rem}@media (max-width:992px){.student-preview-card{margin-bottom:1rem}}.student-login-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-cream);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;gap:1.5rem;animation:fadeIn .3s ease}.student-login-overlay .login-overlay-text{color:var(--text-dark);font-size:1.35rem;font-weight:600;text-align:center;max-width:400px;line-height:1.4}@media (max-width:768px){.student-login-overlay .login-overlay-text{font-size:1.15rem;padding:0 1rem}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.student-hover-preview-bottom .student-profile-avatar,.student-images-section .student-profile-avatar{width:100px;height:100px;border-radius:50%;padding:3px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.student-hover-preview-bottom .student-profile-avatar img,.student-images-section .student-profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;background-color:var(--bg-white)}.student-hover-preview-bottom .student-profile-avatar:hover,.student-images-section .student-profile-avatar:hover{transform:scale(1.05)}.student-hover-preview-bottom .student-profile-avatar img,.student-images-section .student-profile-avatar img{object-position:center;object-fit:contain;transition:transform .3s ease}.student-hover-preview-bottom .student-profile-avatar img.avatar-preview-active,.student-images-section .student-profile-avatar img.avatar-preview-active{animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}.student-hover-preview-bottom .student-profile-avatar img.avatar-preview-selected,.student-images-section .student-profile-avatar img.avatar-preview-selected{transform:scale(1.05)}@keyframes popIn{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}.student-images-section .login-tile-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(4,1fr);gap:.75rem;justify-content:center;max-width:100%}@media (max-width:992px){.student-images-section .login-tile-grid{grid-template-columns:repeat(6,1fr);grid-template-rows:auto;gap:.75rem}}@media (max-width:768px){.student-images-section .login-tile-grid{grid-template-columns:repeat(4,1fr);gap:.75rem}}@media (max-width:575.98px){.student-images-section .login-tile-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}}.student-images-section .login-tile{width:100%;aspect-ratio:1;border-radius:.75rem;overflow:hidden;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px var(--shadow-md);position:relative;transform-style:preserve-3d;perspective:1000px}.student-images-section .login-tile::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0,rgba(255,255,255,0) 60%);opacity:0;transition:opacity .35s ease;z-index:1;pointer-events:none;border-radius:.75rem}.student-images-section .login-tile::after{content:"";position:absolute;inset:-5px;border-radius:.75rem;background:radial-gradient(circle at center,rgba(255,143,97,.4),transparent 70%);opacity:0;transition:opacity .35s ease;z-index:-1}.student-images-section .login-tile:hover{transform:translateY(-8px) rotateX(5deg) rotateY(5deg) scale(1.08);box-shadow:0 16px 40px var(--shadow-3xl);z-index:10}.student-images-section .login-tile:hover::before{opacity:1}.student-images-section .login-tile:hover::after{opacity:1}.student-images-section .login-tile:active{transform:translateY(-4px) rotateX(2deg) rotateY(2deg) scale(1.04);transition-duration:.1s;box-shadow:0 8px 24px var(--shadow-lg)}.student-images-section .login-tile.selected{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 30px rgba(246,113,96,.4);border:3px solid var(--ratho-gradient-orange-start)}.student-images-section .login-tile.selected::before{content:"✓";position:absolute;top:5px;right:5px;background:var(--ratho-gradient-orange-start);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.3);opacity:1;background-image:none}.student-images-section .login-tile.selected:hover{transform:translateY(-10px) rotateX(5deg) rotateY(5deg) scale(1.1)}.student-images-section .login-tile:focus-visible{outline:3px solid var(--focus-ring-brand);outline-offset:3px}.student-images-section .login-tile-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.login-tile:hover .student-images-section .login-tile-img{transform:scale(1.05)}.student-images-section .student-attempt-limit-warning{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:0}@media (max-width:992px){.student-images-section .student-attempt-limit-warning{min-height:400px}}@media (max-width:768px){.student-images-section .student-attempt-limit-warning{min-height:300px}}.group-select-page-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-cream);z-index:0;pointer-events:none;transform:translateX(3%)}.group-select-content-wrapper{position:relative;z-index:1;max-width:1280px;width:100%;margin:0 auto;padding:0 1rem}@media (min-width:768px){.group-select-content-wrapper{padding:0 2rem}}.group-select-card{border-radius:20px;overflow:hidden;backdrop-filter:blur(10px);background-color:rgba(255,255,255,.98)!important;padding:1.5rem 2rem;min-height:580px}@media (max-width:768px){.group-select-card{padding:1rem 1.5rem;min-height:450px}}@media (min-width:992px){.group-select-card{min-height:600px}}@media (min-width:1200px){.group-select-card{min-height:620px}}@keyframes float-owls{0%,100%{transform:translateY(0) rotate(var(--rotation,0deg))}50%{transform:translateY(-8px) rotate(var(--rotation,0deg))}}.group-select-background-owl{position:fixed;width:100px;height:100px;background-size:70%;background-repeat:no-repeat;background-position:center;opacity:.05;pointer-events:none;z-index:0;animation:float-owls 5s ease-in-out infinite}.group-select-background-owl.owl-1{background-image:url(/images/login/owl-book.png);top:0;left:0;--rotation:-8deg;animation-delay:0s}.group-select-background-owl.owl-2{background-image:url(/images/login/owl-music.png);top:0;left:12.5%;--rotation:5deg;animation-delay:.3s}.group-select-background-owl.owl-3{background-image:url(/images/login/owl-pencil.png);top:0;left:25%;--rotation:-12deg;animation-delay:.6s}.group-select-background-owl.owl-4{background-image:url(/images/login/owl-soccer.png);top:0;left:37.5%;--rotation:10deg;animation-delay:.9s}.group-select-background-owl.owl-5{background-image:url(/images/login/owl-bicycle.png);top:0;left:50%;--rotation:-5deg;animation-delay:1.2s}.group-select-background-owl.owl-6{background-image:url(/images/login/owl-play.png);top:0;left:62.5%;--rotation:8deg;animation-delay:1.5s}.group-select-background-owl.owl-7{background-image:url(/images/login/owl-lunch.png);top:0;left:75%;--rotation:-10deg;animation-delay:1.8s}.group-select-background-owl.owl-8{background-image:url(/images/login/owl-laptop.png);top:0;left:87.5%;--rotation:6deg;animation-delay:2.1s}.group-select-background-owl.owl-9{background-image:url(/images/login/owl-camp.png);top:16.66%;left:0;--rotation:7deg;animation-delay:.4s}.group-select-background-owl.owl-10{background-image:url(/images/login/owl-garden.png);top:16.66%;left:12.5%;--rotation:-9deg;animation-delay:.7s}.group-select-background-owl.owl-11{background-image:url(/images/login/owl-rope.png);top:16.66%;left:25%;--rotation:11deg;animation-delay:1s}.group-select-background-owl.owl-12{background-image:url(/images/login/owl-sail.png);top:16.66%;left:37.5%;--rotation:-6deg;animation-delay:1.3s}.group-select-background-owl.owl-13{background-image:url(/images/login/owl-skate.png);top:16.66%;left:50%;--rotation:9deg;animation-delay:1.6s}.group-select-background-owl.owl-14{background-image:url(/images/login/owl-snowman.png);top:16.66%;left:62.5%;--rotation:-7deg;animation-delay:1.9s}.group-select-background-owl.owl-15{background-image:url(/images/login/owl-walk.png);top:16.66%;left:75%;--rotation:8deg;animation-delay:2.2s}.group-select-background-owl.owl-16{background-image:url(/images/login/owl-book.png);top:16.66%;left:87.5%;--rotation:-11deg;animation-delay:2.5s}.group-select-background-owl.owl-17{background-image:url(/images/login/owl-music.png);top:33.33%;left:0;--rotation:10deg;animation-delay:.5s}.group-select-background-owl.owl-18{background-image:url(/images/login/owl-pencil.png);top:33.33%;left:12.5%;--rotation:-8deg;animation-delay:.8s}.group-select-background-owl.owl-19{background-image:url(/images/login/owl-soccer.png);top:33.33%;left:25%;--rotation:6deg;animation-delay:1.1s}.group-select-background-owl.owl-20{background-image:url(/images/login/owl-bicycle.png);top:33.33%;left:37.5%;--rotation:-12deg;animation-delay:1.4s}.group-select-background-owl.owl-21{background-image:url(/images/login/owl-play.png);top:33.33%;left:50%;--rotation:9deg;animation-delay:1.7s}.group-select-background-owl.owl-22{background-image:url(/images/login/owl-lunch.png);top:33.33%;left:62.5%;--rotation:-7deg;animation-delay:2s}.group-select-background-owl.owl-23{background-image:url(/images/login/owl-laptop.png);top:33.33%;left:75%;--rotation:11deg;animation-delay:2.3s}.group-select-background-owl.owl-24{background-image:url(/images/login/owl-camp.png);top:33.33%;left:87.5%;--rotation:-9deg;animation-delay:2.6s}.group-select-background-owl.owl-25{background-image:url(/images/login/owl-garden.png);top:50%;left:0;--rotation:-10deg;animation-delay:.6s}.group-select-background-owl.owl-26{background-image:url(/images/login/owl-rope.png);top:50%;left:12.5%;--rotation:8deg;animation-delay:.9s}.group-select-background-owl.owl-27{background-image:url(/images/login/owl-sail.png);top:50%;left:25%;--rotation:-6deg;animation-delay:1.2s}.group-select-background-owl.owl-28{background-image:url(/images/login/owl-skate.png);top:50%;left:37.5%;--rotation:12deg;animation-delay:1.5s}.group-select-background-owl.owl-29{background-image:url(/images/login/owl-snowman.png);top:50%;left:50%;--rotation:-8deg;animation-delay:1.8s}.group-select-background-owl.owl-30{background-image:url(/images/login/owl-walk.png);top:50%;left:62.5%;--rotation:7deg;animation-delay:2.1s}.group-select-background-owl.owl-31{background-image:url(/images/login/owl-book.png);top:50%;left:75%;--rotation:-11deg;animation-delay:2.4s}.group-select-background-owl.owl-32{background-image:url(/images/login/owl-music.png);top:50%;left:87.5%;--rotation:9deg;animation-delay:2.7s}.group-select-background-owl.owl-33{background-image:url(/images/login/owl-pencil.png);top:66.66%;left:0;--rotation:6deg;animation-delay:.7s}.group-select-background-owl.owl-34{background-image:url(/images/login/owl-soccer.png);top:66.66%;left:12.5%;--rotation:-9deg;animation-delay:1s}.group-select-background-owl.owl-35{background-image:url(/images/login/owl-bicycle.png);top:66.66%;left:25%;--rotation:11deg;animation-delay:1.3s}.group-select-background-owl.owl-36{background-image:url(/images/login/owl-play.png);top:66.66%;left:37.5%;--rotation:-7deg;animation-delay:1.6s}.group-select-background-owl.owl-37{background-image:url(/images/login/owl-lunch.png);top:66.66%;left:50%;--rotation:10deg;animation-delay:1.9s}.group-select-background-owl.owl-38{background-image:url(/images/login/owl-laptop.png);top:66.66%;left:62.5%;--rotation:-12deg;animation-delay:2.2s}.group-select-background-owl.owl-39{background-image:url(/images/login/owl-camp.png);top:66.66%;left:75%;--rotation:8deg;animation-delay:2.5s}.group-select-background-owl.owl-40{background-image:url(/images/login/owl-garden.png);top:66.66%;left:87.5%;--rotation:-10deg;animation-delay:2.8s}.group-select-background-owl.owl-41{background-image:url(/images/login/owl-rope.png);top:83.33%;left:0;--rotation:-8deg;animation-delay:.8s}.group-select-background-owl.owl-42{background-image:url(/images/login/owl-sail.png);top:83.33%;left:12.5%;--rotation:9deg;animation-delay:1.1s}.group-select-background-owl.owl-43{background-image:url(/images/login/owl-skate.png);top:83.33%;left:25%;--rotation:-11deg;animation-delay:1.4s}.group-select-background-owl.owl-44{background-image:url(/images/login/owl-snowman.png);top:83.33%;left:37.5%;--rotation:7deg;animation-delay:1.7s}.group-select-background-owl.owl-45{background-image:url(/images/login/owl-walk.png);top:83.33%;left:50%;--rotation:-9deg;animation-delay:2s}.group-select-background-owl.owl-46{background-image:url(/images/login/owl-book.png);top:83.33%;left:62.5%;--rotation:12deg;animation-delay:2.3s}.group-select-background-owl.owl-47{background-image:url(/images/login/owl-music.png);top:83.33%;left:75%;--rotation:-6deg;animation-delay:2.6s}.group-select-background-owl.owl-48{background-image:url(/images/login/owl-pencil.png);top:83.33%;left:87.5%;--rotation:10deg;animation-delay:2.9s}@media (max-width:768px){.group-select-background-owl{width:80px;height:80px;opacity:.04}}@media (min-width:1400px){.group-select-background-owl{width:120px;height:120px;opacity:.06}}.group-select-grid-container{position:relative;z-index:1;max-width:100%;margin:0 auto;padding:0 1rem}@media (min-width:1280px){.group-select-grid-container{max-width:1280px}}.group-tiles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%}@media (min-width:576px){.group-tiles-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:768px){.group-tiles-grid{grid-template-columns:repeat(6,1fr);gap:1rem}}@media (min-width:992px){.group-tiles-grid{grid-template-columns:repeat(8,1fr)}}@media (min-width:1200px){.group-tiles-grid{grid-template-columns:repeat(8,1fr)}}.group-tile{aspect-ratio:1/1;width:100%;transition:all .35s cubic-bezier(.4,0,.2,1);color:#fff;box-shadow:0 4px 12px var(--shadow-md);position:relative;overflow:hidden;border-radius:10px!important}.group-tile::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0,rgba(255,255,255,0) 60%);opacity:0;transition:opacity .35s ease}.group-tile::after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.2) 0,transparent 70%);opacity:0;transition:opacity .35s ease}.group-tile:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 32px var(--shadow-3xl)}.group-tile:hover::after,.group-tile:hover::before{opacity:1}.group-tile:active{transform:translateY(-3px) scale(1.01);transition-duration:.1s}.group-tile:focus-visible{outline:3px solid var(--focus-ring-brand);outline-offset:2px}.group-tile-icon{width:36px;height:36px;box-shadow:0 2px 6px var(--shadow-sm);transition:transform .3s ease}.group-tile:hover .group-tile-icon{transform:scale(1.08)}@media (min-width:768px){.group-tile-icon{width:40px;height:40px}}@media (min-width:992px){.group-tile-icon{width:44px;height:44px}}.group-tile-icon-fallback{font-size:.95rem}@media (min-width:768px){.group-tile-icon-fallback{font-size:1.05rem}}@media (min-width:992px){.group-tile-icon-fallback{font-size:1.15rem}}.group-tile-image{max-width:36px;max-height:36px;object-fit:contain;filter:drop-shadow(0 2px 4px var(--shadow-md));transition:transform .3s ease}.group-tile:hover .group-tile-image{transform:scale(1.08)}@media (min-width:768px){.group-tile-image{max-width:40px;max-height:40px}}@media (min-width:992px){.group-tile-image{max-width:44px;max-height:44px}}.group-tile-name{font-size:.625rem;letter-spacing:.3px;text-shadow:0 1px 3px var(--shadow-lg);font-weight:700;line-height:1.2}@media (min-width:768px){.group-tile-name{font-size:.65rem;letter-spacing:.35px}}@media (min-width:992px){.group-tile-name{font-size:.7rem;letter-spacing:.4px}}.Bg_coral,.bg-coral{background-color:var(--group-coral)}.group-tile.Bg_coral .group-tile-icon-fallback,.group-tile.bg-coral .group-tile-icon-fallback{color:var(--group-coral)}.Bg_gray,.bg-gray{background-color:var(--group-gray)}.group-tile.Bg_gray .group-tile-icon-fallback,.group-tile.bg-gray .group-tile-icon-fallback{color:var(--group-gray)}.Bg_teal,.bg-teal{background-color:var(--group-teal)}.group-tile.Bg_teal .group-tile-icon-fallback,.group-tile.bg-teal .group-tile-icon-fallback{color:var(--group-teal)}.Bg_green,.bg-green{background-color:var(--group-green)}.group-tile.Bg_green .group-tile-icon-fallback,.group-tile.bg-green .group-tile-icon-fallback{color:var(--group-green)}.Bg_brown,.bg-brown{background-color:var(--group-brown)}.group-tile.Bg_brown .group-tile-icon-fallback,.group-tile.bg-brown .group-tile-icon-fallback{color:var(--group-brown)}.Bg_orange,.bg-orange{background-color:var(--group-coral)}.group-tile.Bg_orange .group-tile-icon-fallback,.group-tile.bg-orange .group-tile-icon-fallback{color:var(--group-coral)}.Bg_pink,.bg-pink{background-color:var(--group-pink)}.group-tile.Bg_pink .group-tile-icon-fallback,.group-tile.bg-pink .group-tile-icon-fallback{color:var(--group-pink)}.Bg_purple,.bg-purple{background-color:var(--group-purple)}.group-tile.Bg_purple .group-tile-icon-fallback,.group-tile.bg-purple .group-tile-icon-fallback{color:var(--group-purple)}.Bg_blue,.bg-blue{background-color:var(--group-blue)}.group-tile.Bg_blue .group-tile-icon-fallback,.group-tile.bg-blue .group-tile-icon-fallback{color:var(--group-blue)}.Bg_navy,.bg-navy{background-color:var(--group-navy)}.group-tile.Bg_navy .group-tile-icon-fallback,.group-tile.bg-navy .group-tile-icon-fallback{color:var(--group-navy)}.Bg_yellow,.bg-yellow{background-color:var(--group-yellow)}.group-tile.Bg_yellow .group-tile-icon-fallback,.group-tile.bg-yellow .group-tile-icon-fallback{color:var(--group-yellow)}.Bg_red,.bg-red{background-color:var(--group-red)}.group-tile.Bg_red .group-tile-icon-fallback,.group-tile.bg-red .group-tile-icon-fallback{color:var(--group-red)}.student-card{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.student-avatar{width:120px;height:120px;border-radius:50%;padding:3px;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;border:2px solid transparent;flex-shrink:0}.student-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;background-color:var(--bg-white)}.student-avatar:hover{transform:scale(1.05)}.student-avatar img{pointer-events:none}@media (max-width:575.98px){.student-avatar{width:80px;height:80px}}@media (min-width:576px) and (max-width:767.98px){.student-avatar{width:100px;height:100px}}.student-name{margin-top:.5rem;font-weight:600;font-size:.9rem;line-height:1.2;color:var(--text-dark);word-break:break-word;max-width:100%}@media (max-width:575.98px){.student-name{font-size:.75rem}}.student-badge{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background-image:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border:2px solid var(--bg-white);transform:translate(25%,25%);font-size:.85rem}@media (max-width:575.98px){.student-badge{width:22px;height:22px;font-size:.7rem}}.student-badge-fullscreen{background:var(--status-success);cursor:pointer;transform:translate(25%,-25%)}.student-badge-fullscreen:hover{background:var(--status-success-dark);transform:translate(25%,-25%) scale(1.1)}.student-badge-deselect{background:var(--status-error);cursor:pointer}.student-badge-deselect:hover{background:var(--status-error-dark);transform:translate(25%,25%) scale(1.1)}.student-badge-selected{bottom:0;right:0;transform:translate(15%,15%)}.student-avatar-selectable{position:relative;width:100%;height:100%;cursor:pointer;border-radius:50%;transition:opacity .15s ease}.student-avatar-selectable:hover{opacity:.85}.student-avatar-selectable.selected img{box-shadow:0 0 0 3px var(--gradient-start)}.student-sync-screen{border-radius:8px;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));padding:3px;width:100%;height:auto;aspect-ratio:4/3}.student-sync-screen img{border-radius:6px;object-fit:cover}.student-fullscreen-image{max-height:70vh;object-fit:contain}.classmanagement-grid{display:grid;width:100%;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width:576px){.classmanagement-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}@media (min-width:768px){.classmanagement-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}}@media (min-width:992px){.classmanagement-grid{grid-template-columns:repeat(5,1fr)}}@media (min-width:1200px){.classmanagement-grid{grid-template-columns:repeat(6,1fr)}}.classmanagement-grid-screens{gap:.5rem}@media (min-width:576px){.classmanagement-grid-screens{gap:.625rem}}@media (min-width:768px){.classmanagement-grid-screens{gap:.75rem}}@media (min-width:992px){.sidebar-collapsed .classmanagement-grid{grid-template-columns:repeat(7,1fr)}}@media (min-width:1200px){.sidebar-collapsed .classmanagement-grid{grid-template-columns:repeat(8,1fr)}}.ratho-tab-content{overflow-x:hidden;max-width:100%}.ratho-tab-pane{overflow-x:hidden;max-width:100%}@media (max-width:575.98px){.ratho-tab-pane{padding:1rem!important}}@media (min-width:576px) and (max-width:991.98px){.ratho-tab-pane{padding:1.5rem!important}}.classmanagement-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-top:1rem;margin-bottom:1rem}@media (max-width:767.98px){.classmanagement-toolbar{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}}.classmanagement-filter-search{justify-self:start;display:flex;align-items:center;gap:.75rem}.classmanagement-filter-search>:first-child{flex:1 1 auto;max-width:220px;min-width:0}@media (max-width:767.98px){.classmanagement-filter-search{grid-column:1/-1}.classmanagement-filter-search>:first-child{max-width:100%}}.classmanagement-filter-toggle{display:flex;align-items:center;justify-content:center;gap:.75rem}@media (max-width:767.98px){.classmanagement-filter-toggle{justify-content:start}}.classmanagement-actions-btn{white-space:nowrap}.classmanagement-filter-tags{display:flex;align-items:center;gap:.5rem;justify-self:end}.classmanagement-select-all{display:flex;align-items:center;gap:.375rem;cursor:pointer;user-select:none;white-space:nowrap}.classmanagement-select-all i{font-size:1.15rem;color:var(--gradient-start)}.fullscreen-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:1040;cursor:pointer}.fullscreen-modal-container{overflow:hidden;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1050;width:90%;max-width:900px;max-height:90vh;background-color:var(--bg-white,#fff);border-radius:.5rem;box-shadow:0 10px 40px rgba(0,0,0,.3)}@media (max-width:575.98px){.fullscreen-modal-container{width:95%;border-radius:.375rem}}.fullscreen-modal-container .modal-content{border:none;box-shadow:none;border-radius:0;padding:1rem}.fullscreen-modal-container .modal-header{position:relative;justify-content:center}.fullscreen-modal-container .modal-header .btn-close{position:absolute;right:0}.info-panel{background-color:var(--bg-cream);border:1px solid var(--side-border)}.info-item{background-color:transparent;border:none;border-bottom:1px solid var(--border-light-pink);border-radius:0!important;padding-left:0!important;padding-right:0!important;margin-bottom:.25rem!important}.info-item:last-child{border-bottom:none}.info-icon{width:40px;height:40px;background-color:var(--brand-accent-light,#ff8f61);color:var(--text-white);font-size:.875rem}.admin-avatar{width:40px;height:40px;object-fit:cover;border:2px solid var(--brand-accent-light,#ff8f61)}.example-label{color:var(--brand-accent-light);font-weight:400}.example-email{color:var(--brand-accent-light);text-decoration:none;font-size:.875rem}.example-email:hover{text-decoration:underline}@media (max-width:575.98px){.info-icon{width:34px;height:34px;font-size:.75rem}.admin-avatar{width:34px;height:34px}.patch-note-card{padding:.625rem .75rem}.patch-note-read-more{min-height:44px;display:inline-flex;align-items:center}}.admin-scroll{max-height:180px;overflow-y:auto;overflow-x:hidden;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:var(--side-border) transparent}.admin-scroll::-webkit-scrollbar{width:6px}.admin-scroll::-webkit-scrollbar-track{background:0 0;border-radius:3px}.admin-scroll::-webkit-scrollbar-thumb{background:var(--side-border);border-radius:3px}.manuals-filterbar{gap:1rem}@media (max-width:575.98px){.manuals-filterbar{gap:.5rem}.manuals-filterbar>*{width:100%}}.manuals-filterbar .filter-input,.manuals-filterbar .form-select{height:40px;min-height:40px}.manuals-filterbar .form-select{width:220px;padding:.5rem 2.5rem .5rem 1rem;font-size:.95rem;font-weight:500;color:var(--text-dark);background-color:var(--bg-white);border:1px solid var(--brand-accent-light,#ff8f61);border-radius:.5rem;cursor:pointer}.manuals-filterbar .form-select:focus{border-color:var(--brand-accent-light,#ff8f61);box-shadow:0 0 0 .2rem rgba(255,143,97,.25)}@media (max-width:575.98px){.manuals-filterbar .form-select{width:100%}}.manuals-search{max-width:none}.patch-note-card{background-color:var(--bg-cream);border:1px solid var(--side-border);border-radius:.75rem;padding:.75rem .9rem;height:100%;display:flex;flex-direction:column}.patch-note-title{color:var(--status-warning-red);font-weight:600;font-size:.9rem}.patch-note-desc{color:var(--text-secondary);font-size:.9rem}.patch-note-list{font-size:.85rem;color:var(--text-muted);padding-left:1rem;margin-top:.35rem;margin-bottom:0}.patch-note-list li{margin:.15rem 0}.patch-note-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.patch-note-read-more{background:0 0;border:none;color:var(--brand-accent-light,#ff8f61);font-size:.8125rem;font-weight:600;padding:0;cursor:pointer;transition:color .15s ease}.patch-note-read-more:hover{color:var(--brand-accent-dark,#e67a4a)}.patch-note-read-more i{font-size:.625rem}.patch-note-full-content{font-size:.9375rem;line-height:1.6;color:var(--text-secondary)}.patch-note-full-content ol,.patch-note-full-content ul{padding-left:1.25rem;margin-bottom:1rem}.patch-note-full-content li{margin-bottom:.25rem}.patch-note-full-content p{margin-bottom:.75rem}.patch-note-full-content b,.patch-note-full-content strong{color:var(--text-dark)}.update-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:1040;cursor:pointer}.update-modal-container{overflow-y:auto;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1050;width:90%;max-width:800px;max-height:90vh;background-color:var(--bg-white,#fff);border-radius:.75rem;box-shadow:0 10px 40px rgba(0,0,0,.3)}@media (max-width:575.98px){.update-modal-container{width:95%;border-radius:.375rem}}.update-modal-container .modal-content{border:none;box-shadow:none}.update-modal-container .modal-header{padding:1rem 1.5rem .5rem}.update-modal-container .modal-body{padding:.5rem 1.5rem 1.5rem}@media (max-width:575.98px){.update-modal-container .modal-header{padding:.75rem 1rem .5rem}.update-modal-container .modal-body{padding:.5rem 1rem 1rem}}.group-select-login-section{position:relative;z-index:1;padding:1.5rem 0;border-bottom:1px solid var(--border-soft);margin-bottom:0}.group-select-login-btn{padding:.75rem 2rem;transition:all .35s cubic-bezier(.4,0,.2,1);border-radius:10px;box-shadow:0 3px 8px var(--shadow-sm);font-weight:600;border:2px solid var(--border-soft)!important;background-color:#fff!important}.group-select-login-btn:hover{transform:translateY(-3px);box-shadow:0 6px 16px var(--shadow-md);background-color:var(--bg-hover-gray)!important;border-color:var(--border-light-pink)!important}.group-select-login-btn:active{transform:translateY(-1px);box-shadow:0 2px 6px var(--shadow-sm);transition-duration:.1s}.group-select-login-btn:focus-visible{outline:3px solid var(--focus-ring-brand);outline-offset:2px}.group-select-login-icon{height:20px;width:auto;flex-shrink:0}.ratho-tab-view .nav-link img{filter:grayscale(1) brightness(.55);transition:filter .15s ease}.ratho-tab-view .nav-link.active img{filter:grayscale(1) brightness(.35)}@media (max-width:575.98px){.ratho-tab-view .nav-link i{margin-right:0;font-size:1.1rem}}.library-filter-select{min-width:140px;flex:1 1 180px;max-width:220px;padding:.5rem 2.5rem .5rem 1rem;font-size:.95rem;font-weight:500;color:var(--text-dark);background-color:var(--bg-white);border:1px solid var(--brand-accent-light,#ff8f61);border-radius:.5rem;cursor:pointer;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px}.library-filter-select:hover:not(:disabled){border-color:var(--brand-accent-dark,#e67a4a);background-color:var(--bg-hover-cream)}.library-filter-select:focus,.library-filter-select:focus-visible{border-color:var(--brand-accent-light,#ff8f61);box-shadow:0 0 0 .2rem rgba(255,143,97,.25);outline:0}.library-filter-select:disabled{opacity:.6;cursor:not-allowed}@media (max-width:767.98px){.library-filter-select{padding:.625rem 2.5rem .625rem 1rem;font-size:.875rem}}@media (max-width:575.98px){.library-filter-select{max-width:none;flex-basis:100%;margin-bottom:.5rem}}.library-search{min-width:120px;flex:1 1 150px;max-width:200px}@media (max-width:575.98px){.library-search{max-width:none;flex-basis:100%}}.library-filter-select,.library-search .filter-input,.ratho-filterbar .btn-gradient,.ratho-filterbar .btn-gradient-active{height:40px;min-height:40px}.grid-stack{overflow:visible}.grid-stack .grid-stack-item{overflow:visible;container-type:inline-size}.grid-stack .grid-stack-item>.grid-stack-item-content{border-radius:.75rem;box-shadow:0 1px 3px rgba(15,23,42,.08);transition:transform 150ms ease,box-shadow 150ms ease;overflow:hidden}.grid-stack .grid-stack-item:hover>.grid-stack-item-content{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.18)}.gs-delete-indicator,.gs-edit-indicator,.gs-lock-indicator,.gs-widget-badge{position:absolute;z-index:10;width:clamp(1.5rem,15cqi,2.75rem);height:clamp(1.5rem,15cqi,2.75rem);border-radius:50%;background-color:var(--gradient-start,#ff8e63);border:3px solid #fff;display:flex;align-items:center;justify-content:center}.gs-delete-indicator i,.gs-edit-indicator i,.gs-lock-indicator i,.gs-widget-badge i{color:#fff;font-size:clamp(.7rem,7.5cqi,1.3rem)}.gs-lock-indicator{top:clamp(.15rem,2cqi,.4rem);right:clamp(.15rem,2cqi,.4rem)}.gs-lock-indicator--interactive{padding:0;cursor:pointer;outline:0}.gs-lock-indicator--interactive:hover{filter:brightness(.9)}.gs-lock-indicator--interactive:focus-visible{outline:2px solid var(--focus-ring,#4d90fe);outline-offset:2px}.gs-lock-indicator--unlocked{background-color:var(--bs-gray-400,#adb5bd)}.gs-lock-indicator--unlocked:hover{background-color:var(--bs-gray-500,#6c757d);filter:none}.grid-stack-item.gs-widget-locked:hover .gs-lock-indicator,.grid-stack-item:hover>.gs-lock-indicator{transform:translateY(2px)}.gs-edit-indicator{top:clamp(.15rem,2cqi,.4rem);left:clamp(.15rem,2cqi,.4rem);padding:0;cursor:pointer;outline:0}.gs-edit-indicator i{font-size:clamp(.65rem,7cqi,1.2rem)}.gs-edit-indicator:hover{filter:brightness(.9)}.gs-edit-indicator:focus-visible{outline:2px solid var(--focus-ring,#4d90fe);outline-offset:2px}.grid-stack-item:hover .gs-edit-indicator{transform:translateY(2px)}.gs-delete-indicator{bottom:clamp(.15rem,2cqi,.4rem);left:clamp(.15rem,2cqi,.4rem);padding:0;cursor:pointer;outline:0}.gs-delete-indicator i{font-size:clamp(.65rem,7cqi,1.2rem)}.gs-delete-indicator:hover{background-color:#e74c3c}.gs-delete-indicator:focus-visible{outline:2px solid var(--focus-ring,#4d90fe);outline-offset:2px}.grid-stack-item:hover .gs-delete-indicator{transform:translateY(2px)}@media (max-width:575.98px){.grid-stack-item.gs-widget-locked:hover .gs-lock-indicator,.grid-stack-item:hover .gs-delete-indicator,.grid-stack-item:hover .gs-edit-indicator,.grid-stack-item:hover>.gs-lock-indicator{transform:translateY(1.5px)}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxheW91dC9HZW5lcmFsLnNjc3MiLCJjb21wb25lbnRzL19iYXNlL191dGlsaXRpZXMuc2NzcyIsIkxheW91dC9NYWluTGF5b3V0LnNjc3MiLCJMYXlvdXQvUG9ydGFsSGVhZGVyLnNjc3MiLCJMYXlvdXQvUG9ydGFsU2lkZWJhci5zY3NzIiwiTGF5b3V0L0hlYWRlckRyb3Bkb3duLnNjc3MiLCJMYXlvdXQvRHJvcGRvd25NZW51SXRlbS5zY3NzIiwiTGF5b3V0L0hlYWRlclNldHRpbmdzRHJvcGRvd24uc2NzcyIsIkxheW91dC9IZWFkZXJBcHBEcmF3ZXIuc2NzcyIsImNvbXBvbmVudHMvU2lkZU1lbnUvUHJvZmlsZUNhcmQuc2NzcyIsImNvbXBvbmVudHMvU2lkZU1lbnUvR3JvdXBMaWJyYXJpZXMuc2NzcyIsImNvbXBvbmVudHMvVXNlclRpbGVDYXJkLnNjc3MiLCJjb21wb25lbnRzL0ZseW91dC9GbHlvdXQuc2NzcyIsImNvbXBvbmVudHMvRmx5b3V0L0NoYW5nZUVudmlyb25tZW50Rmx5b3V0LnNjc3MiLCJjb21wb25lbnRzL0ZseW91dC9DaGFuZ2VQcm9maWxlUGljdHVyZUZseW91dC5zY3NzIiwiY29tcG9uZW50cy9GbHlvdXQvUmVzZXRQYXNzd29yZEZseW91dC5zY3NzIiwiTGF5b3V0L1RhYkV4cGFuZEhhbmRsZS5zY3NzIiwicGFnZXMvQWNjb3VudC9TdHVkZW50LnNjc3MiLCJwYWdlcy9BY2NvdW50L0dyb3Vwcy5zY3NzIiwicGFnZXMvQ2xhc3NNYW5hZ2VtZW50L0NsYXNzTWFuYWdlbWVudC5zY3NzIiwicGFnZXMvSGVscGRlc2svSGVscFVwZGF0ZXMuc2NzcyIsInBhZ2VzL0FjY291bnQvQ29tcG9uZW50cy9NaWNyb3NvZnRMb2dpbkJ1dHRvbi5zY3NzIiwicGFnZXMvU3RhcnQvU3RhcnQuc2NzcyIsInBhZ2VzL0xpYnJhcnkvTGlicmFyeS5zY3NzIiwiY29tcG9uZW50cy9ncmlkc3RhY2svcmF0aG9ncmlkc3RhY2suc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiaUJBSUEsTUFJQyx1QkFBQSxRQUNBLHFCQUFBLFFBQ0EsZ0JBQUEsUUFDQSxrQkFBQSxRQUNBLG9CQUFBLFFBQ0EscUJBQUEsUUFDQSxrQkFBQSxRQUtBLFlBQUEsUUFDQSxlQUFBLFFBQ0EsaUJBQUEsUUFDQSxhQUFBLFFBQ0EsbUJBQUEsUUFDQSxhQUFBLFFBS0EsV0FBQSxRQUNBLFdBQUEsUUFDQSxpQkFBQSxRQUNBLHFCQUFBLFFBQ0EsaUJBQUEsUUFDQSxnQkFBQSxRQUNBLGdCQUFBLFFBQ0EsaUJBQUEsUUFDQSxpQkFBQSxZQUtBLGNBQUEsUUFDQSxjQUFBLFFBQ0Esb0JBQUEsUUFLQSxpQkFBQSxRQUNBLHNCQUFBLFFBQ0EsNEJBQUEsUUFDQSxlQUFBLFFBQ0Esb0JBQUEsUUFDQSwwQkFBQSxRQUNBLHFCQUFBLFFBS0EsZUFBQSxRQUNBLGlCQUFBLFFBQ0EscUJBQUEsUUFDQSxZQUFBLHdCQUtBLFlBQUEsb0JBQ0EsWUFBQSxvQkFDQSxZQUFBLG1CQUNBLFlBQUEsb0JBQ0EsWUFBQSxvQkFDQSxhQUFBLG1CQUNBLGFBQUEsb0JBQ0EsY0FBQSxtQkFLQSxtQkFBQSx5QkFDQSx1QkFBQSx5QkFDQSxrQkFBQSx3QkFDQSxrQkFBQSxzQkFDQSxtQkFBQSx5QkFHQSxzQkFBQSx3QkFLQSxlQUFBLG1CQUNBLGdCQUFBLHlCQUtBLGNBQUEsUUFDQSxhQUFBLFFBQ0EsYUFBQSxRQUNBLGNBQUEsUUFDQSxjQUFBLFFBQ0EsYUFBQSxRQUNBLGVBQUEsUUFDQSxhQUFBLFFBQ0EsYUFBQSxRQUNBLGVBQUEsUUFDQSxZQUFBLFFBS0EsZUFBQSxRQUNBLHNCQUFBLFFBT0EsZUFBQSxRQUdBLDhCQUFBLFFBQ0EsNEJBQUEsUUFHQSwrQkFBQSxRQUNBLCtCQUFBLFFBQ0EsOEJBQUEsUUFHQSx3QkFBQSxRQUdBLG1CQUFBLFFBTUEsaUJBQUEsNEJBQ0EsZUFBQSwwQkFFQSxRQUFBLGdCQUtBLG1CQUFBLFFBQUEsQ0FBQSxXQUNBLHNCQUFBLFNBQUEsQ0FBQSxXQUtBLFdBQUEsS0FDQSxXQUFBLE9BQ0Esa0JBQUEsS0FDQSxnQkFBQSxNQUNBLHNCQUFBLEtBS0EsZUFBQSxNQUNBLHNCQUFBLEtBQ0EsdUJBQUEsS0FDQSxnQkFBQSxLQUNBLGVBQUEsS0FDQSxZQUFBLGdCQUNBLGdCQUFBLEtBR0EsZ0JBQUEsS0FLQSxlQUFBLEVBQ0EsWUFBQSxFQUNBLFdBQUEsS0FDQSxzQkFBQSxLQUNBLGtCQUFBLEtBQ0EsdUJBQUEsS0FDQSxjQUFBLEtBQ0Esa0JBQUEsS0FDQSxtQkFBQSxLQUNBLFVBQUEsS0FPRCxLQUFBLEtBQ0MsT0FBQSxLQUNBLE1BQUEsS0FDQSxPQUFBLEVBQ0EsWUFBQSx3QkFHRCxLQUNDLFdBQUEsT0FHRCxLQUNDLFdBQUEsTUFDQSxpQkFBQSxnQkFDQSxXQUFBLFdBUUQsZ0JBQ0MsTUFBQSxLQUNBLFVBQUEsZ0JBQ0EsWUFBQSxLQUNBLGFBQUEsS0FDQSxhQUFBLGdCQUNBLGNBQUEsZ0JBQ0EsV0FBQSxXQUdELFlBQ0MsTUFBQSxxQkFDQSxZQUFBLEVBR0QsWUFDQyxXQUFBLHVCQUdELFNBQ0MsWUFBQSxPQUlELG1CQUNDLGlCQUFBLG9FQVFELDRCQUNDLE1BQ0MsV0FBQSxRQUNBLGdCQUFBLEtBQ0Esc0JBQUEsRUFDQSxrQkFBQSxRQUNBLGVBQUEsS0FDQSxnQkFBQSxNQUtGLGtEQUNDLE1BQ0MsV0FBQSxTQUNBLGtCQUFBLFNBQ0EsZ0JBQUEsS0FDQSxzQkFBQSxHQUtGLGtEQUNDLE1BQ0MsV0FBQSxLQUNBLGdCQUFBLE1BQ0Esc0JBQUEsR0FLRixtREFDQyxNQUNDLHNCQUFBLE1BS0YsMEJBQTZCLE1BQVEsV0FBQSxRQUNyQywwQkFBNkIsTUFBUSxXQUFBLE1BQ3JDLDBCQUE2QixNQUFRLFdBQUEsUUFDckMsMEJBQTZCLE1BQVEsV0FBQSxNQUdyQywwQkFBNkIsTUFBUSxXQUFBLFFBTXJDLFVBQUEsRUFDQyxNQUFBLG9CQUdELFVBQ0MsT0FBQSxRQUdELGFBQ0MsTUFBQSxrQkFDQSxpQkFBQSxzQkFDQSxhQUFBLDBCQUdELHlCQUFBLGtCQUFBLFdBQUEsd0JBQUEsb0JBQUEsbUJBTUMsV0FBQSxFQUFBLEVBQUEsRUFBQSxNQUFBLGVBQUEsQ0FBQSxFQUFBLEVBQUEsRUFBQSxPQUFBLGlCQUNBLGFBQUEsNEJBR0QsU0FDQyxRQUFBLEVBT0QscUNBQ0MsUUFBQSxJQUFBLE1BQUEsaUNBR0QsU0FDQyxRQUFBLElBQUEsTUFBQSwrQkFHRCxvQkFDQyxNQUFBLCtCQUdELHlDQUNDLGFBQUEsd0JBR0Qsb0RBQUEsMENBRUMsTUFBQSwwQkFDQSxXQUFBLElBR0QsMERBQUEsZ0RBRUMsV0FBQSxNQU9ELHVCQUNDLFdBQUEsd21EQUFBLFVBQUEsSUFBQSxDQUFBLE1BQUEsQ0FBQSxRQUNBLFFBQUEsS0FBQSxLQUFBLEtBQUEsT0FDQSxNQUFBLEtBR0QsOEJBQ0MsUUFBQSx5QkM3V0QsaUJBQ0ksaUJBQUEsMEJBQ0EsY0FBQSxPQUNBLFFBQUEsS0FHSixhQUNJLE9BQUEsSUFBQSxNQUFBLDJCQUlKLG1CQUNJLE1BQUEsb0JBMkhKLG1CQUNJLGlCQUFBLDhFQUlKLGlCQXpGSSxRQTBGK0IsSUF6Ri9CLGlCQUFBLG9FQUNBLGNBd0ZvQyxJQUd4QyxvQkE3RkksUUE4RitCLElBN0YvQixpQkFBQSxvRUFDQSxjQTRGb0MsSUFTeEMsbUJBQUEsc0JBQUEscUJBN0VJLFdBQUEsa0VBQ0Esd0JBQUEsS0FDQSx3QkFBQSxZQUNBLGdCQUFBLEtBcUZKLHNCQUNJLEtBQUEsT0FTSix5QkFDSSxXQUNJLE1BQUEsZ0JBS1IsaUJBQ0ksTUFBQSxPQUNBLE9BQUEsT0FDQSxRQUFBLEVBQ0EsUUFBQSxZQUNBLFlBQUEsT0FDQSxnQkFBQSxPQUNBLFlBQUEsRUFTSixpQkFDSSxRQUFBLFlBQ0EsWUFBQSxPQUNBLGdCQUFBLE9BQ0EsUUFBQSxNQUFBLEtBQ0EsVUFBQSxPQUNBLFlBQUEsSUFDQSxNQUFBLGtCQUNBLGlCQUFBLG9FQUNBLE9BQUEsS0FDQSxjQUFBLFFBQ0EsT0FBQSxRQUNBLGdCQUFBLEtBQ0EsV0FBQSxFQUFBLElBQUEsSUFBQSxvQkFDQSxXQUFBLElBQUEsSUFBQSxLQUVBLG1CQUNJLGFBQUEsT0FDQSxVQUFBLEtBR0osc0NBQ0ksV0FBQSxFQUFBLElBQUEsS0FBQSxvQkFDQSxVQUFBLGlCQUdKLHVDQUNJLFVBQUEsY0FDQSxXQUFBLEVBQUEsSUFBQSxJQUFBLG9CQXZHSix1QkFBQSwrQkFFSSxRQUFBLElBQUEsTUFBQSxrQkFDQSxlQXVHd0MsSUFFNUMsMEJBQ0ksUUFBQSxHQUNBLE9BQUEsWUMxT1IsTUFDQyxXQUFBLE9BQ0EsaUJBQUEsZ0JBQ0EsZUFBQSxLQUNBLFNBQUEsU0FDQSxRQUFBLEVBQ0EsUUFBQSxLQUNBLGVBQUEsT0FDQSxXQUFBLEtBQ0EsV0FBQSxPQUlELGlDQUNDLGlCQUFBLFlBSUQsb0JBQ0MsaUJBQUEsZ0JBSUQsK0NBQ0MsaUJBQUEsWUFJRCxZQUNDLElBQUEsMkJBSUQsc0JBQ0MsS0FBQSxFQUlELHlCQUNDLHdCQUNDLFNBQUEsT0FDQSxJQUFBLGtDQUNBLFdBQUEsWUFJRixVQUNDLFVBQUEsS0FDQSxVQUFBLEVBQ0EsV0FBQSxFQUNBLGVBQUEsT0FDQSxRQUFBLEtBQ0EsZUFBQSxPQUNBLFdBQUEsUUFJQSxzQkFDQyxLQUFBLEVBQ0EsY0FBQSxFQUNBLFdBQUEsT0FHRCwwQkFDQyxLQUFBLEVBQ0EsUUFBQSxLQUNBLGVBQUEsT0FHQSwyQ0FDQyxXQUFBLEVBQUEsUUFBQSxPQUFBLGlCQUdELDZDQUNDLEtBQUEsRUFDQSxTQUFBLFFBQ0EsV0FBQSxFQUFBLFFBQUEsT0FBQSxpQkFHQSxxREFDQyxXQUFBLEtBVUosMEJBQ0MsaUJBQUEsZ0JBQ0EsTUFBQSxxQkFDQSxVQUFBLEtBQ0EsUUFBQSxtQkFFQSw0Q0FDQyxRQUFBLEtBQ0EsZ0JBQUEsU0FDQSxjQUFBLElBQUEsTUFBQSxtQkFHRCwwQ0FFQyxXQUFBLEtBSUQsMENBQ0MsTUFBQSxLQU9GLGlCQUNDLGFBQUEsTUFBQSxLQUNBLFdBQUEsc0JBQ0EsT0FBQSxFQUNBLFdBQUEsRUFBQSxLQUFBLElBQUEsa0JBQ0EsUUFBQSxLQUNBLEtBQUEsRUFDQSxRQUFBLE1BQUEsUUFBQSxNQUFBLFFBQ0EsU0FBQSxNQUNBLE1BQUEsS0FDQSxRQUFBLEtBRUEsMEJBQ0MsT0FBQSxRQUNBLFNBQUEsU0FDQSxNQUFBLE9BQ0EsSUFBQSxNQUdELHlCQUNDLE1BQUEsUUFDQSxnQkFBQSxVQ3RJRixlQUNDLE9BQUEscUJBQ0EsU0FBQSxRQUNBLFNBQUEsU0FDQSxRQUFBLGdCQUlELHVCQUNDLE1BQUEsT0FDQSxPQUFBLE9BQ0EsaUJBQUEsZ0JBQ0EsT0FBQSxLQUNBLGNBQUEsS0FDQSxXQUFBLEVBQUEsSUFBQSxJQUFBLGlCQUNBLFFBQUEsWUFDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxPQUFBLFFBQ0EsV0FBQSxXQUFBLEtBQUEsS0FFQSw2QkFDQyxXQUFBLEVBQUEsSUFBQSxLQUFBLGlCQUdELHlCQUNDLFVBQUEsUUFDQSxNQUFBLG9CQUlGLHdCQUNDLE9BQUEsS0FDQSxTQUFBLFNBQ0EsTUFBQSxLQUlELG1CQUNDLFNBQUEsU0FDQSxJQUFBLEVBQ0EsS0FBQSxFQUNBLE1BQUEsS0FDQSxPQUFBLEtBQ0EsUUFBQSxFQUlELHVCQUNDLFNBQUEsU0FDQSxRQUFBLEVBQ0EsT0FBQSxLQUNBLGVBQUEsS0FHQSx1Q0FDQyxVQUFBLGNBQ0EsaUJBQUEsT0FBQSxPQUlELHNDQUNDLFVBQUEsZUFDQSxpQkFBQSxPQUFBLE9BS0YsMkJBQ0MsU0FBQSxTQUNBLEtBQUEsSUFDQSxJQUFBLElBQ0EsVUFBQSxxQkFDQSxlQUFBLEtBUUQsNEJBQ0MsdUJBQ0MsTUFBQSxRQUNBLE9BQUEsUUFDQSxjQUFBLE9BRUEseUJBQ0MsVUFBQSxPQU1ELHVDQUNDLElBQUEsaUJDbEdILGdCQUNJLE1BQUEscUJBQ0EsUUFBQSxLQUNBLGVBQUEsT0FDQSxJQUFBLEVBR0EsNEJBUEosZ0JBUVEsTUFBQSxLQUNBLGNBQUEsTUFJSixxREFDSSxXQUFBLE1BSUosaUNBQ0ksV0FBQSxPQ25CUixpQkFDSSxvQkFBQSxPQUNBLHFCQUFBLE1BQ0Esa0JBQUEsS0FDQSxzQkFBQSxNQUFBLEtBRUEsU0FBQSxTQUNBLFFBQUEsYUFDQSxRQUFBLHVCQUdKLHFCQUNJLE1BQUEseUJBQ0EsT0FBQSx5QkFDQSxpQkFBQSxnQkFDQSxPQUFBLEtBQ0EsY0FBQSx1QkFDQSxXQUFBLEVBQUEsSUFBQSxJQUFBLGlCQUNBLFFBQUEsWUFDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxPQUFBLFFBQ0EsV0FBQSxXQUFBLEtBQUEsS0FFQSwyQkFDSSxXQUFBLEVBQUEsSUFBQSxLQUFBLGlCQUdKLHVCQUNJLFVBQUEsUUFDQSxNQUFBLG9CQUlSLHNCQUNJLFNBQUEsU0FDQSxJQUFBLG9CQUNBLFVBQUEsMEJBQ0EsV0FBQSxnQkFDQSxjQUFBLHVCQUNBLFdBQUEsRUFBQSxLQUFBLEtBQUEsaUJBQ0EsT0FBQSxJQUFBLE1BQUEsbUJBQ0EsUUFBQSxLQUNBLFFBQUEsdUJBQ0EsUUFBQSxFQUNBLFVBQUEsV0FDQSxXQUFBLFFBQUEsMEJBQUEsQ0FBQSxVQUFBLDJCQUNBLGVBQUEsS0FFQSwyQkFDSSxRQUFBLEVBQ0EsVUFBQSxTQUNBLGVBQUEsS0FTUiw0QkFDSSxpQkFDSSxxQkFBQSxNQUdKLHNCQUNJLFFBQUEsUUFLUiw0QkFDSSxpQkFDSSxvQkFBQSxRQUNBLHFCQUFBLCtCQUNBLGtCQUFBLFFBR0osdUJBQ0ksVUFBQSxPQUdKLHNCQUNJLFFBQUEsU0NwRlIsb0JBQ0ksUUFBQSxLQUNBLFlBQUEsT0FDQSxJQUFBLE9BQ0EsUUFBQSxPQUFBLE1BQ0EsY0FBQSxNQUNBLE1BQUEsb0JBQ0EsZ0JBQUEsS0FDQSxXQUFBLGlCQUFBLEtBQUEsS0FDQSxXQUFBLElBQ0EsT0FBQSxLQUNBLE1BQUEsS0FDQSxXQUFBLEtBQ0EsVUFBQSxRQUNBLFlBQUEsUUFDQSxPQUFBLFFBRUEsMEJBQ0ksaUJBQUEsc0JBQ0EsTUFBQSxvQkFHSixzQkFDSSxNQUFBLHFCQUNBLFVBQUEsS0FDQSxNQUFBLFFBQ0EsV0FBQSxPQUlSLDZCQUNJLFFBQUEsR0FDQSxPQUFBLFlBRUEsbUNBQ0ksaUJBQUEsWUFHSiwwQ0FDSSxNQUFBLDBCQVFSLDRCQUNJLG9CQUNJLFFBQUEsT0FBQSxRQUNBLFdBQUEsS0FDQSxVQUFBLFFDbkRSLGdEQUNJLE1BQUEsRUFDQSxpQkFBQSxJQUFBLE1DREEseUNBQ0ksS0FBQSxFQUNBLGlCQUFBLElBQUEsS0FNSix5Q0FDSSxRQUFBLE1BQ0EsTUFBQSxLQUNBLE9BQUEsS0FDQSxNQUFBLG9CQUlSLHdCQUNJLFFBQUEsS0FDQSxzQkFBQSxjQUNBLElBQUEsTUFHSix3QkFDSSxRQUFBLEtBQ0EsZUFBQSxPQUNBLFlBQUEsT0FDQSxnQkFBQSxPQUNBLFFBQUEsTUFBQSxFQUNBLE9BQUEsSUFBQSxNQUFBLG1CQUNBLGNBQUEsT0FDQSxpQkFBQSxnQkFDQSxnQkFBQSxLQUNBLFdBQUEsaUJBQUEsS0FBQSxLQUVBLDhCQUNJLGlCQUFBLHNCQUlSLHdCQUNJLE1BQUEsS0FDQSxPQUFBLEtBQ0EsY0FBQSxRQUNBLGlCQUFBLHFCQUNBLFFBQUEsS0FDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxjQUFBLE9BRUEsNEJBQ0ksVUFBQSxLQUNBLFdBQUEsS0FHSiwwQkFDSSxVQUFBLFFBQ0EsTUFBQSxvQkFJUix3QkFDSSxVQUFBLE1BQ0EsTUFBQSxzQkFDQSxXQUFBLE9BUUosNEJBRVEseUNBQ0ksS0FBQSxPQUNBLFVBQUEsd0JBSVIsd0JBQ0ksSUFBQSxRQUdKLHdCQUNJLFFBQUEsUUFBQSxFQUdKLHdCQUNJLE1BQUEsS0FDQSxPQUFBLEtBRUEsNEJBQ0ksVUFBQSxLQUNBLFdBQUEsS0FHSiwwQkFDSSxVQUFBLE9BSVIsd0JBQ0ksVUFBQSxPQ25HUixpQkFDQyxRQUFBLEtBQ0EsZUFBQSxPQUNBLFlBQUEsT0FDQSxXQUFBLE9BQ0EsUUFBQSxLQUFBLEVBQ0EsY0FBQSxLQUNBLE1BQUEsS0FHRCx3QkFFQyxNQUFBLGVBQ0EsT0FBQSxLQUNBLGFBQUEsRUFDQSxjQUFBLElBQ0EsUUFBQSxJQUNBLGlCQUFBLG9FQUNBLFFBQUEsS0FDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxPQUFBLFFBQ0EsV0FBQSxVQUFBLElBQUEsS0FDQSxjQUFBLE9BQ0EsV0FBQSxFQUFBLElBQUEsS0FBQSxpQkFFQSw0QkFDQyxNQUFBLEtBQ0EsT0FBQSxLQUNBLFdBQUEsTUFDQSxjQUFBLElBQ0EsaUJBQUEsZ0JBQ0EsZUFBQSxLQUdELDhCQUNDLFVBQUEsWUFJRixzQkFDQyxRQUFBLEtBQ0EsZUFBQSxPQUNBLFlBQUEsT0FDQSxJQUFBLFFBRUEseUNBQ0MsVUFBQSxRQUNBLFlBQUEsSUFDQSxNQUFBLFFBQ0EsWUFBQSxJQUdELHdDQUNDLFVBQUEsS0FDQSxZQUFBLElBQ0EsTUFBQSxpQkFDQSxZQUFBLElBR0QseUNBQ0MsVUFBQSxLQUNBLFlBQUEsSUFDQSxNQUFBLGtCQUNBLFlBQUEsSUFDQSxXQUFBLE9BUUYsY0FDQyxpQkFBQSxnQkFDQSxjQUFBLE9BQ0EsV0FBQSxFQUFBLElBQUEsSUFBQSxpQkFDQSxTQUFBLE9BQ0EsY0FBQSxLQUdELHFCQUNDLFdBQUEsb0VBQ0EsUUFBQSxPQUNBLFFBQUEsS0FDQSxZQUFBLE9BR0QsZ0JBQ0MsTUFBQSxPQUNBLE9BQUEsT0FDQSxjQUFBLElBQ0EsaUJBQUEsZ0JBQ0EsUUFBQSxLQUNBLFlBQUEsT0FDQSxnQkFBQSxPQUNBLFNBQUEsT0FDQSxZQUFBLEVBQ0EsU0FBQSxTQUNBLE9BQUEsUUFFQSxvQkFDQyxNQUFBLEtBQ0EsT0FBQSxLQUNBLFdBQUEsTUFHRCx3Q0FDQyxTQUFBLFNBQ0EsSUFBQSxFQUNBLEtBQUEsRUFDQSxNQUFBLEVBQ0EsT0FBQSxFQUNBLGlCQUFBLG9CQUNBLFFBQUEsS0FDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxRQUFBLEVBQ0EsV0FBQSxRQUFBLElBQUEsS0FFQSwwQ0FDQyxNQUFBLGtCQUNBLFVBQUEsUUFJRiw4Q0FBQSw4Q0FFQyxRQUFBLEVBSUYsY0FDQyxZQUFBLE9BQ0EsTUFBQSxrQkFDQSxLQUFBLEVBQ0EsVUFBQSxFQUdELGNBQ0MsY0FBQSxFQUNBLFlBQUEsSUFDQSxVQUFBLEtBQ0EsWUFBQSxPQUNBLFNBQUEsT0FDQSxjQUFBLFNBR0QsZ0JBQ0MsUUFBQSxJQUNBLFVBQUEsUUFDQSxRQUFBLE1BQ0EsWUFBQSxPQUNBLFNBQUEsT0FDQSxjQUFBLFNBR0QscUJBQ0MsUUFBQSxPQUNBLFFBQUEsS0FDQSxZQUFBLE9BQ0EsZ0JBQUEsY0FHRCxrQkFDQyxPQUFBLEtBQ0EsTUFBQSxLQUNBLFdBQUEsUUFHRCxvQkFDQyxNQUFBLEtBQ0EsT0FBQSxLQUNBLGlCQUFBLHFCQUNBLGNBQUEsTUFDQSxPQUFBLEtBQ0EsUUFBQSxZQUNBLFlBQUEsT0FDQSxnQkFBQSxPQUNBLFdBQUEsaUJBQUEsS0FBQSxLQUVBLDBCQUNDLGlCQUFBLHNCQUdELHNCQUNDLFVBQUEsS0FDQSxNQUFBLGtCQVNGLDRCQUNDLGlCQUNDLFFBQUEsT0FBQSxFQUNBLGNBQUEsT0FHRCx3QkFDQyxNQUFBLGVBQ0EsY0FBQSxNQUlBLHlDQUNDLFVBQUEsT0FHRCx5Q0FBQSx3Q0FFQyxVQUFBLE1BSUYsa0JBQ0MsT0FBQSxRQUlGLDRCQUNDLHdCQUNDLE1BQUEsZUFJQSx5Q0FDQyxVQUFBLEtBR0QseUNBQUEsd0NBRUMsVUFBQSxRQy9PSCxpQkFDQyxTQUFBLFNBQ0EsUUFBQSx1QkFDQSxXQUFBLE9BQ0EsY0FBQSxPQUdBLHFEQUNDLFVBQUEsT0FDQSxNQUFBLFNBR0QsNkJBQ0MsTUFBQSwwQkFLQSwyQ0FDQyxpQkFBQSxrQ0FDQSxhQUFBLGtDQUdELHlDQUNDLGFBQUEsa0NBQ0EsV0FBQSxFQUFBLEVBQUEsRUFBQSxPQUFBLHFCQUtILHdCQUNDLE1BQUEsS0FDQSxRQUFBLEtBQ0EsWUFBQSxPQUNBLGdCQUFBLGNBQ0EsV0FBQSxJQUNBLE9BQUEsS0FDQSxjQUFBLElBQUEsTUFBQSwyQkFDQSxRQUFBLEtBQUEsTUFDQSxNQUFBLHNCQUNBLFdBQUEsS0FDQSxPQUFBLFFBQ0EsY0FBQSxFQUNBLFdBQUEsaUJBQUEsSUFBQSxLQUVBLDhCQUNDLGlCQUFBLFlBR0QsOEJBQ0MsUUFBQSxJQUFBLE1BQUEsNEJBQ0EsZUFBQSxJQUdELDZCQUNDLFFBQUEsS0FDQSxZQUFBLE9BQ0EsSUFBQSxLQUVBLDhDQUNDLFlBQUEsSUFDQSxVQUFBLEtBSUYsK0NBQ0MsVUFBQSxTQUNBLFlBQUEsSUFDQSxNQUFBLHNCQUlELHFEQUNDLFFBQUEsS0FDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxNQUFBLE9BQ0EsT0FBQSxPQUNBLGlCQUFBLHFCQUNBLGNBQUEsSUFDQSxVQUFBLFFBQ0EsTUFBQSxrQkFDQSxXQUFBLFVBQUEsSUFBQSxLQUdELDBFQUNDLFVBQUEsZUFJRixzQkFDQyxXQUFBLE9BQ0EsUUFBQSxFQUFBLE9BR0Qsc0JBQ0MsaUJBQUEsWUFDQSxNQUFBLHNCQUNBLE9BQUEsSUFBQSxNQUFBLDJCQUNBLGNBQUEsTUFDQSxRQUFBLFFBQUEsUUFDQSxjQUFBLE1BQ0EsWUFBQSxPQUNBLGFBQUEsT0FDQSxXQUFBLGlCQUFBLEtBQUEsSUFBQSxDQUFBLGFBQUEsS0FBQSxJQUFBLENBQUEsUUFBQSxJQUFBLElBQUEsQ0FBQSxXQUFBLElBQUEsSUFBQSxDQUFBLGNBQUEsSUFBQSxJQUFBLENBQUEsUUFBQSxJQUFBLEtBQ0EsUUFBQSxFQUNBLFdBQUEsTUFDQSxTQUFBLE9BRUEsNEJBQ0MsaUJBQUEsc0JBQ0EsYUFBQSwyQkFHRCw0Q0FDQyxRQUFBLEtBQ0EsWUFBQSxPQUNBLGdCQUFBLEtBQ0EsTUFBQSxzQkFDQSxVQUFBLEVBQ0EsVUFBQSxTQUVBLHdEQUNDLE1BQUEsMEJBQ0EsVUFBQSxRQUdELGtEQUNDLE1BQUEsc0JBR0QsbURBQ0MsTUFBQSx1QkFDQSxZQUFBLElBSUYsd0RBQ0MsaUJBQUEsMENBQ0EsaUJBQUEscUJBQ0EsYUFBQSxZQUNBLFdBQUEsRUFBQSxJQUFBLEtBQUEscUJBRUEsOERBQ0MsaUJBQUEsMENBQ0EsaUJBQUEscUJBR0QsOEVBQUEsb0ZBRUMsTUFBQSx1QkFHRCxvRUFDQyxNQUFBLHVCQUdELDJFQUNDLE1BQUEsdUJBSUYseUNBQ0MsTUFBQSxrQkFDQSxVQUFBLE9BSUQsa0NBQ0MsY0FBQSxFQUNBLFdBQUEsS0FFQSxvREFDQyxXQUFBLEVBSUYsd0NBQ0MsUUFBQSxFQUNBLFdBQUEsRUFDQSxZQUFBLEVBQ0EsZUFBQSxFQUNBLGNBQUEsRUFDQSxZQUFBLEVBQ0EsYUFBQSxFQUNBLGFBQUEsRUFDQSxlQUFBLEtBSUYsMEJBQ0MsUUFBQSxZQUNBLFlBQUEsT0FDQSxJQUFBLFFBQ0EsTUFBQSxtQkFDQSxXQUFBLE1BQ0EsWUFBQSxPQUNBLGFBQUEsT0FDQSxZQUFBLFFBQ0EsTUFBQSxpQ0FDQSxVQUFBLFFBQ0EsWUFBQSxJQUNBLGdCQUFBLEtBQ0EsV0FBQSxJQUNBLE9BQUEsS0FDQSxPQUFBLFFBQ0EsV0FBQSxNQUFBLEtBQUEsS0FFQSxnQ0FDQyxNQUFBLHVCQUNBLGdCQUFBLEtBR0QsZ0NBQ0MsUUFBQSxJQUFBLE1BQUEsNEJBQ0EsZUFBQSxJQUdELCtDQUNDLFdBQUEsVUFBQSxJQUFBLEtBQ0EsVUFBQSxPQzVORixnQkFDSSxRQUFBLEtBQ0EsZUFBQSxPQUNBLFlBQUEsT0FDQSxXQUFBLE9BQ0EsT0FBQSxRQUNBLFdBQUEsVUFBQSxJQUFBLEtBRUEsc0JBQ0ksVUFBQSxpQkFFQSx3Q0FDSSxXQUFBLEVBQUEsSUFBQSxLQUFBLGlCQUVBLDRDQUNJLFVBQUEsWUFJUixzQ0FDSSxNQUFBLHFCQUlSLHVCQUNJLFVBQUEsaUJBSVIsa0JWTEksTVVNK0IsTVZML0IsT1VLK0IsTVZKL0IsY0FBQSxJQUNBLFFVR3NDLElWRnRDLGlCQUFBLG9FQUNBLFFBQUEsS0FDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxPQUFBLFFBQ0EsV0FBQSxVQUFBLElBQUEsS1VGQSxPQUFBLElBQUEsTUFBQSxZQUNBLFdBQUEsV0FBQSxJQUFBLEtBQ0EsV0FBQSxFQUFBLElBQUEsS0FBQSxpQlZFQSxzQkFDSSxNQUFBLEtBQ0EsT0FBQSxLQUNBLFdBQUEsTUFDQSxjQUFBLElBQ0EsaUJBQUEsZ0JBR0osd0JBQ0ksVUFBQSxZVVRKLHNCQUNJLGVBQUEsS0FDQSxXQUFBLFVBQUEsSUFBQSxLQUlSLGdCQUNJLFdBQUEsTUFDQSxZQUFBLElBQ0EsVUFBQSxNQUNBLFlBQUEsSUFDQSxNQUFBLGlCQUNBLFdBQUEsTUFBQSxJQUFBLEtBQ0EsV0FBQSxXQUNBLFVBQUEsS0FPSiw0QkFDSSxrQkFDSSxNQUFBLEtBQ0EsT0FBQSxLQUdKLGdCQUNJLFVBQUEsTUFDQSxXQUFBLFNBSVIsa0RBQ0ksa0JBQ0ksTUFBQSxLQUNBLE9BQUEsS0FHSixnQkFDSSxVQUFBLFFDMUVSLGdCQUNJLE1BQUEsS0FDQSxRQUFBLEtBQUEsUUFHSixtQ0FDSSxRQUFBLEVBQ0EsS0FBQSxFQUdKLGdEQUNJLFFBQUEsS0FBQSxRQUNBLFdBQUEsS0FJSix5Q0FDSSxPQUFBLEtBSUosZUFDSSxXQUFBLEtBQ0EsUUFBQSxLQUFBLFFBQ0EsaUJBQUEscUJBQ0EsUUFBQSxLQUNBLGdCQUFBLFNBQ0EsSUFBQSxPQUNBLFlBQUEsT0FHQSxvQkFDSSxNQUFBLEtBQ0EsVUFBQSxLQUNBLGFBQUEsS0FDQSxjQUFBLEtBQ0EsWUFBQSxFQUlSLG1CQUNJLE1BQUEscUJBQ0EsWUFBQSxJQUdKLG1CQUNJLE1BQUEsS0FDQSxRQUFBLGFBQ0EsZUFBQSxTQUNBLFdBQUEsSUFHSiwwQkFDSSxvQkFBQSxNQUNBLG9CQUFBLHVCQUNBLG9CQUFBLElBQ0EsV0FBQSxLQUdKLG1CQUNJLGVBQUEsSUFDQSxVQUFBLE1BQ0EsU0FBQSxPQUNBLGNBQUEsU0FHSiw0QkFDSSxNQUFBLEtBR0oseUJBQ0ksTUFBQSxLQUdKLDhDQUNJLFdBQUEsS0FHSiwrQkFBQSwrQkFFSSxNQUFBLE1BQ0EsWUFBQSxJQUdKLDhCQUFBLDhCQUVJLE1BQUEsRUFHSixnQ0FBQSxtQ0FDSSxZQUFBLElBUUosYUFDSSxNQUFBLG9CQUdBLE9BQUEscUJBQUEsRUFDQSxPQUFBLEtBQ0EsV0FBQSx1Q0FHQSx1QkFBQSxxQkFDQSwwQkFBQSxxQkFDQSx3QkFBQSxFQUNBLDJCQUFBLEVBSUEsV0FBQSxrQkFHQSxVQUFBLGlCQUNBLFdBQUEsVUFBQSxvQkFBQSxLQUdBLGtCQUFBLHFCQUNJLFVBQUEsY0FDQSxpQkFBQSxpQkFFQSxXQUFBLElBQUEsTUFBQSxvQ0FDQSxjQUFBLElBQUEsTUFBQSxvQ0FDQSxZQUFBLElBQUEsTUFBQSxvQ0FDQSxhQUFBLEtBRUEsV0FBQSxFQUFBLElBQUEsS0FBQSxxQkFJUix1QkFDSSxRQUFBLEtBQ0EsZUFBQSxPQUNBLFNBQUEsUUFJSiwrQkFDSSx1QkFBQSxLQUNBLFFBQUEsS0FBQSxRQUVBLDBDQUNJLFFBQUEsTUFDQSxPQUFBLE9BQUEsT0FBQSxPQUFBLEtBSUoseUNBQUEsMkNBRUksVUFBQSxPQUNBLFdBQUEsZ0dBQ0Esd0JBQUEsS0FDQSx3QkFBQSxZQUNBLGdCQUFBLEtBS1IsNkJBQ0ksUUFBQSxLQUNBLGVBQUEsT0FDQSxXQUFBLEtBQ0EsV0FBQSxFQUdBLHlEQUNJLFdBQUEsT0FLUixvQkFDSSxpQkFBQSxlQUVBLHlCQUNJLFFBQUEsRUFLUix5QkFDSSxNQUNJLGVBQUEsSUFDQSxnQkFBQSxNQUtSLHlCQUNJLGVBQ0ksSUFBQSxPQUdKLHVEQUNJLE1BQUEsMkJBR0osc0JBQ0ksVUFBQSxNQUtSLDRCQUNJLE1BQ0ksZUFBQSxLQUNBLGdCQUFBLEtBSUosZUFDSSxRQUFBLGVBR0osZ0JBQ0ksUUFBQSxPQUFBLEtBR0osZ0RBQ0ksUUFBQSxPQUFBLEtBR0osZUFDSSxRQUFBLE9BQUEsS0FDQSxJQUFBLE1BRUEsb0JBQ0ksYUFBQSxRQUNBLGNBQUEsUUFLUixtQkFDSSxVQUFBLE1BR0osK0JBQUEsK0JBRUksTUFBQSxPQUlSLGdDQUNJLFdBQUEscUJBR0osNENBQ0ksTUFBQSxrQkFHSix5Q0FDSSxRQUFBLElBR0osdUJBQ0ksVUFBQSxNQUNBLFFBQUEsRUFDQSxPQUFBLEtBQ0EsV0FBQSxJQUNBLE1BQUEscUJBQ0EsUUFBQSxHQUNBLGFBQUEsS0FDQSxRQUFBLEtBQ0EsWUFBQSxPQUNBLGdCQUFBLE9BQ0EsTUFBQSxNQUNBLE9BQUEsTUFHSiw2QkFDSSxRQUFBLElBR0oseUJBQ0ksVUFBQSxJQUdKLCtCQUNJLE9BQUEsWUFDQSxNQUFBLDBCQUdKLHFDQUNJLE1BQUEscUJBS0osZUFDSSxTQUFBLFNBQ0EsS0FBQSxzQ0FDQSxJQUFBLElBQ0EsVUFBQSxpQkFDQSxNQUFBLDJCQUNBLE9BQUEsNEJBQ0EsUUFBQSxLQUNBLFlBQUEsT0FoVEEsV0FBQSxvRUFrVEEsTUFBQSxrQkFDQSxPQUFBLEtBR0EsdUJBQUEsS0FDQSwwQkFBQSxLQUNBLHdCQUFBLEVBQ0EsMkJBQUEsRUFHQSxXQUFBLEtBQUEsRUFBQSxJQUFBLG9CQUNBLE9BQUEsUUFDQSxRQUFBLEVBR0oscUJBQ0ksT0FBQSxnQkFHSixxQkFDSSxRQUFBLEVBRUEsV0FBQSxLQUFBLEVBQUEsSUFBQSxtQkFBQSxDQUFBLEVBQUEsRUFBQSxFQUFBLE9BQUEsd0JBSUosZ0JBQ0ksV0FBQSxVQUFBLElBQUEsS0FHSixvQ0FDSSxVQUFBLGVBS0EseUJBQ0ksT0FBQSxRQUNBLFdBQUEsaUJBQUEsS0FBQSxLQUVBLCtCQUNJLGlCQUFBLGlCQUlSLGtDQUNJLE9BQUEsWUFDQSxRQUFBLEdBRUEsd0NBQ0ksaUJBQUEsWUFHSix1Q0FDSSxNQUFBLGtCQUlSLDBCQUNJLE1BQUEsS0FDQSxPQUFBLEtBQ0EsY0FBQSxJQS9XSixXQUFBLG9FQWlYSSxZQUFBLEVBR0osbUNBQ0ksV0FBQSwwQkFHSix3QkFDSSxNQUFBLEtBQ0EsT0FBQSxLQUNBLGNBQUEsSUEzWEosV0FBQSxvRUE2WEksWUFBQSxFQUdKLGlDQUNJLFdBQUEsMEJBQ0EsT0FBQSxLQUtSLGNBQUEscUJBdllJLFdBQUEsb0VBeVlBLE1BQUEsa0JBQ0EsT0FBQSxLQUNBLFdBQUEsT0FBQSxJQUFBLEtBRUEsMkJBQUEsb0JBQ0ksT0FBQSxnQkFDQSxNQUFBLGtCQUdKLDJCQUFBLG1DQUFBLG9CQUFBLDRCQUVJLFdBQUEsRUFBQSxFQUFBLEVBQUEsT0FBQSx3QkFDQSxNQUFBLGtCQUdKLDRCQUFBLHFCQUNJLE1BQUEsa0JBQ0EsT0FBQSxlQUdKLDhCQUFBLHVCQUNJLE1BQUEsa0JBQ0EsUUFBQSxJQUNBLGVBQUEsS0FLUixxQkFFSSxXQUFBLE1BQUEsRUFBQSxJQUFBLElBQUEsY0FBQSxDQUFBLEVBQUEsRUFBQSxFQUFBLE1BQUEsd0JBQ0EsT0FBQSxlQUlKLHNCQUNJLFdBQUEsSUFDQSxNQUFBLHNCQUNBLE9BQUEsSUFBQSxNQUFBLHNCQUNBLFdBQUEsSUFBQSxJQUFBLEtBRUEsNEJBbGJBLFdBQUEsb0VBb2JJLE1BQUEsa0JBQ0EsYUFBQSxZQUdKLDRCQUFBLG9DQUVJLFdBQUEsRUFBQSxFQUFBLEVBQUEsT0FBQSx3QkFHSiw2QkE3YkEsV0FBQSxvRUErYkksTUFBQSxrQkFDQSxhQUFBLFlBQ0EsT0FBQSxlQUdKLCtCQUNJLFFBQUEsSUFDQSxlQUFBLEtBUVIsc0JBQ0ksUUFBQSxFQUFBLFFBSUosc0JBQ0ksYUFBQSxLQUNBLE9BQUEsSUFBQSxNQUFBLGtDQUNBLGNBQUEsT0FFQSw0QkFDSSxhQUFBLGtDQUNBLFdBQUEsRUFBQSxFQUFBLEVBQUEsTUFBQSxxQkFLUiwyQkFDSSxTQUFBLFNBQ0EsS0FBQSxRQUNBLElBQUEsSUFDQSxVQUFBLGlCQUNBLE1BQUEsa0NBQ0EsVUFBQSxRQUNBLGVBQUEsS0FJSixvQkFDSSxpQkFBQSxnQkFHSixvQkFDSSxhQUFBLE9BQ0EsY0FBQSxPQUNBLFdBQUEsaUJBQUEsS0FBQSxLQUVBLDBCQUNJLGlCQUFBLDhCQUdKLCtCQUNJLGNBQUEsZUFLUixzQkFDSSxNQUFBLEtBQ0EsT0FBQSxLQUNBLFdBQUEsTUFDQSxZQUFBLEVBUUosNEJBQ0ksc0JBQ0ksUUFBQSxFQUFBLEtBR0osc0JBQ0ksTUFBQSxLQUNBLE9BQUEsTUFTUixzQkFDSSxRQUFBLEtBQ0EsVUFBQSxLQUNBLElBQUEsT0FDQSxZQUFBLFFBQ0EsY0FBQSxPQUdKLHNCQUNJLEtBQUEsRUFBQSxFQUFBLE1BQ0EsVUFBQSxFQUNBLFVBQUEsTUFHSix1QkFDSSxZQUFBLEVBQ0EsUUFBQSxLQUNBLFlBQUEsT0FPSixrQkFDSSxNQUFBLE1BQ0EsT0FBQSxNQUNBLGNBQUEsT0FDQSxXQUFBLEVBQUEsSUFBQSxJQUFBLG1CQUNBLFFBQUEsS0FDQSxlQUFBLE9BQ0EsWUFBQSxPQUNBLGdCQUFBLE9BQ0EsUUFBQSxRQUNBLElBQUEsTUFDQSxXQUFBLFVBQUEsTUFBQSxJQUFBLENBQUEsV0FBQSxNQUFBLEtBQ0EsaUJBQUEsOEJBSUoscUJBQ0ksTUFBQSxNQUNBLE9BQUEsTUFDQSxRQUFBLFFBQ0EsSUFBQSxPQUVBLDRDQUNJLE1BQUEsT0FDQSxPQUFBLE9BQ0EsY0FBQSxRQUVBLDhDQUNJLFVBQUEsUUFJUiw2Q0FDSSxVQUFBLE1BQ0EsbUJBQUEsRUFHSixtREFDSSxVQUFBLE9BS1IscUJBQ0ksTUFBQSxPQUNBLE9BQUEsT0FDQSxRQUFBLE1BQ0EsSUFBQSxFQUVBLDRDQUNJLE1BQUEsUUFDQSxPQUFBLFFBQ0EsY0FBQSxFQUVBLDhDQUNJLFVBQUEsUUFJUiwrQ0FDSSxRQUFBLEtBSVIsdUJBQ0ksTUFBQSxPQUNBLE9BQUEsT0FDQSxjQUFBLElBQ0EsaUJBQUEsbUNBQ0EsUUFBQSxLQUNBLFlBQUEsT0FDQSxnQkFBQSxPQUNBLGNBQUEsT0FFQSx5QkFDSSxVQUFBLFFBQ0EsTUFBQSx5QkFJUiwwQkFDSSxXQUFBLE9BQ0EsTUFBQSxLQUdKLHdCQUNJLFlBQUEsSUFDQSxVQUFBLFFBQ0EsTUFBQSx5QkFDQSxZQUFBLElBQ0EsVUFBQSxXQUNBLFNBQUEsT0FDQSxjQUFBLFNBQ0EsUUFBQSxZQUNBLG1CQUFBLEVBQ0EsbUJBQUEsU0FHSiw4QkFDSSxVQUFBLE9BQ0EsTUFBQSwwQ0FDQSxXQUFBLFFBQ0EsU0FBQSxPQUNBLGNBQUEsU0FDQSxZQUFBLE9BSUosZUFDSSxRQUFBLEtBQ0Esc0JBQUEsZUFDQSxJQUFBLFFBSUosd0NBQ0ksUUFBQSxLQUNBLGdCQUFBLGNBRUEsdURBQ0ksTUFBQSw0QkFLUixlQUNJLE1BQUEsS0FDQSxhQUFBLEVBQ0EsY0FBQSxRQUNBLE9BQUEsSUFBQSxNQUFBLFlBQ0EsUUFBQSxLQUNBLFlBQUEsT0FDQSxnQkFBQSxPQUNBLE9BQUEsUUFDQSxXQUFBLElBQUEsTUFBQSxLQUNBLFFBQUEsRUFFQSxxQkFDSSxVQUFBLFdBR0osd0JBQ0ksYUFBQSxvQkFDQSxVQUFBLFlBR0osNEJBQ0ksYUFBQSxvQkFDQSxVQUFBLFlBS1Isb0JBQ0ksU0FBQSxTQUNBLFdBQUEseUZBRUEsMEJBQ0ksV0FBQSxFQUFBLElBQUEsS0FBQSxvQkFHSixzQkFDSSxVQUFBLFFBQ0EsTUFBQSxLQUlKLHdDQUNJLFNBQUEsU0FDQSxJQUFBLEtBQ0EsTUFBQSxLQUNBLFVBQUEsTUFDQSxNQUFBLEtBQ0EsT0FBQSxLQUNBLGNBQUEsSUFDQSxpQkFBQSxvQkFDQSxNQUFBLEtBQ0EsUUFBQSxLQUNBLFlBQUEsT0FDQSxnQkFBQSxPQUNBLFFBQUEsRUFNSiwwQkFDSSxXQUFBLEVBQUEsSUFBQSxJQUFBLG1CQUdKLHNCQUNJLFVBQUEsTUFDQSxNQUFBLHlCQzl1QlIsa0JBQ0ksUUFBQSxLQUNBLHNCQUFBLGNBQ0EsSUFBQSxPQUlKLGtCQUNJLFFBQUEsS0FDQSxZQUFBLE9BQ0EsSUFBQSxPQUNBLFFBQUEsT0FDQSxpQkFBQSxnQkFDQSxPQUFBLElBQUEsTUFBQSx1QkFDQSxjQUFBLE9BQ0EsV0FBQSxLQUNBLE9BQUEsUUFDQSxXQUFBLElBQUEsSUFBQSxLQUVBLHdCQUNJLGlCQUFBLHNCQUNBLGFBQUEsc0JBQ0EsVUFBQSxpQkFDQSxXQUFBLEVBQUEsSUFBQSxLQUFBLHFCQUdKLGdDQUNJLFFBQUEsSUFBQSxNQUFBLHdCQUNBLGVBQUEsSUFHSiwyQkRsQ0EsV0FBQSxvRUNvQ0ksYUFBQSxZQUNBLE1BQUEsa0JBQ0EsV0FBQSxFQUFBLElBQUEsS0FBQSxvQkFFQSxrREFDSSxXQUFBLHNCQUVBLG9EQUNJLE1BQUEsa0JBSVIsa0RBQ0ksTUFBQSxrQkFHSixzREFDSSxNQUFBLHNCQU1aLHVCQUNJLE1BQUEsUUFDQSxPQUFBLFFBQ0EsY0FBQSxNRDlEQSxXQUFBLGtFQ2dFQSxRQUFBLEtBQ0EsWUFBQSxPQUNBLGdCQUFBLE9BQ0EsWUFBQSxFQUVBLHlCQUNJLFVBQUEsT0FDQSxNQUFBLGtCQUtSLHVCQUNJLFFBQUEsS0FDQSxlQUFBLE9BQ0EsVUFBQSxFQUlKLHVCQUNJLFVBQUEsUUFDQSxZQUFBLElBQ0EsTUFBQSxpQkFDQSxZQUFBLElBQ0EsU0FBQSxPQUNBLGNBQUEsU0FDQSxRQUFBLFlBQ0EsbUJBQUEsRUFDQSxtQkFBQSxTQUNBLFVBQUEsRUFJSiwyQkFDSSxVQUFBLE9BQ0EsWUFBQSxJQUNBLE1BQUEsa0JBQ0EsWUFBQSxJQUNBLFNBQUEsT0FDQSxjQUFBLFNBQ0EsWUFBQSxPQU9KLDRCQUNJLGtCQUNJLHNCQUFBLElBQ0EsSUFBQSxNQUdKLGtCQUNJLFFBQUEsUUFHSix1QkFDSSxNQUFBLEtBQ0EsT0FBQSxLQUVBLHlCQUNJLFVBQUEsUUM1SFosbUJBQ0MsaUJBQUEscUJBQ0EsY0FBQSxNQUNBLFFBQUEsT0FDQSxXQUFBLE1BR0Esc0NBQ0MsUUFBQSxFQUdELGdDQUNDLGNBQUEsTUFHRCxnQ0FDQyxPQUFBLElBQUEsTUFBQSw4QkFDQSxXQUFBLEVBQUEsRUFBQSxFQUFBLE9BQUEsb0JBR0QsbUNBQ0MsV0FBQSxLQUNBLE1BQUEsS0FFQSw4Q0FDQyxNQUFBLEtBTUgsMEJBQ0MsY0FBQSxJQzlCRyxxREFBQSw2REFFSSxLQUFBLEVBR0osOENBQ0ksY0FBQSxNQUdKLDhDQUNJLFdBQUEsbUJBQ0EsY0FBQSxJQUNBLFFBQUEsS0FFQSx5REFDSSxjQUFBLFlBTVosZ0NBQ0ksTUFBQSxLQUNBLE9BQUEsS0FDQSxXQUFBLE1BQ0EsT0FBQSxJQUFBLE1BQUEsbUJBSUosNkNBQ0ksU0FBQSxTQUNBLE1BQUEsRUFDQSxJQUFBLElBQ0EsVUFBQSxpQkFDQSxRQUFBLFFBQUEsT0FDQSxXQUFBLElBQ0EsT0FBQSxLQUVBLG1EQUFBLG1EQUVJLFdBQUEsSUFDQSxXQUFBLEtBSVIsNkJBQ0ksV0FBQSxtQkFHSix1QkFDSSxVQUFBLFNBS0EsNkJBQ0ksUUFBQSxNQUNBLFdBQUEsbUJBQ0EsY0FBQSxJQUNBLFFBQUEsS0FDQSxVQUFBLEtBQ0EsSUFBQSxPQUNBLFlBQUEsV0FDQSxXQUFBLEtBQ0EsV0FBQSxRQUdKLDZCQUVJLFlBQUEsdUJBRUEsTUFBQSxpQkFDQSxPQUFBLGlCQUNBLFlBQUEsRUFDQSxVQUFBLEVBQ0EsY0FBQSxJQUNBLE9BQUEsUUFDQSxXQUFBLFVBQUEsS0FBQSxJQUFBLENBQUEsV0FBQSxLQUFBLElBQUEsQ0FBQSxhQUFBLEtBQUEsS0FDQSxPQUFBLElBQUEsTUFBQSxZQUNBLFFBQUEsS0FDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxhQUFBLEVBQ0EsU0FBQSxPQUVBLGlDQUNJLE1BQUEsS0FDQSxPQUFBLEtBQ0EsV0FBQSxNQUdKLG1DQUNJLFVBQUEsWUFDQSxPQUFBLGdCQUdKLG1DQUNJLFFBQUEsRUFDQSxXQUFBLEVBQUEsRUFBQSxFQUFBLElBQUEsaUJBR0osc0NBQ0ksYUFBQSwyQkFDQSxXQUFBLEVBQUEsRUFBQSxFQUFBLElBQUEsdUJBRUEsNENBQ0ksVUFBQSxZQU9oQixzQ0FDSSxTQUFBLFNBQ0EsU0FBQSxPQUVBLDhDQUNJLFFBQUEsR0FDQSxTQUFBLFNBQ0EsSUFBQSxFQUNBLEtBQUEsRUFDQSxNQUFBLEtBQ0EsT0FBQSxLQUNBLFdBQUEscUJBQ0EsUUFBQSxFQUNBLFdBQUEsUUFBQSxJQUFBLEtBR0osb0RBQ0ksUUFBQSxFQUdKLHFEQUNJLFdBQUEsaUJBQ0EsUUFBQSxFQVNSLDRCQUVRLDhDQUNJLFFBQUEsT0FJUixnQ0FDSSxNQUFBLEtBQ0EsT0FBQSxNQUtSLDRCQUVRLDhDQUNJLGNBQUEsT0FHSiw4Q0FDSSxRQUFBLFFBQ0EsY0FBQSxJQUlSLGdDQUNJLE1BQUEsS0FDQSxPQUFBLEtBR0osdUJBQ0ksVUFBQSxRQ2xMUixVQUNJLFNBQUEsU0FHSixtQkFDSSxTQUFBLFNBR0EsSUFBQSwyQ0FFQSxLQUFBLEVBQ0EsVUFBQSxzQkFDQSxRQUFBLEtBQ0EsV0FBQSxJQUNBLE9BQUEsUUFDQSxXQUFBLFFBQUEsSUFBQSxLQUVBLHlCQUNJLFFBQUEsR0FLSiwwQkFBQSx5QkFBQSxpQ0FBQSxnQ0FJSSxRQUFBLEVBQ0EsV0FBQSxLQUNBLGFBQUEsWUFNSiw2Q0FBQSw0Q0FBQSxvREFBQSxtREFJSSxRQUFBLEVBQ0EsV0FBQSxLQUNBLGFBQUEsWUFLUixZQUNJLFdBQUEsTUFBQSxLQUFBLElBQUEsQ0FBQSxPQUFBLEtBQUEsSUFBQSxDQUFBLFVBQUEsS0FBQSxJQUFBLENBQUEsUUFBQSxJQUFBLEtBSUosdUJBRUksV0FBQSxtQkFFQSxtQ0FDSSxNQUFBLEVBQ0EsWUFBQSxFQUNBLGFBQUEsRUFDQSxVQUFBLGtCQUNBLFFBQUEsRUFDQSxTQUFBLE9BQ0EsZUFBQSxLQUlKLG1DQUNJLElBQUEsRUFHSix3Q0FDSSxhQUFBLEVDdEVSLDhCQUNJLFFBQUEsS0FDQSxlQUFBLElBQ0EsWUFBQSxPQUNBLGdCQUFBLE9BQ0EsSUFBQSxPQUNBLFdBQUEsTUFDQSxRQUFBLE9BQUEsT0FDQSxXQUFBLElBQUEsSUFBQSxLQUVBLHlCQVZKLDhCQVdRLGVBQUEsT0FDQSxXQUFBLEtBQ0EsUUFBQSxRQUlSLHNCQUNJLE1BQUEsS0FDQSxPQUFBLEtBQ0EsY0FBQSxJQUNBLFdBQUEsRUFBQSxJQUFBLEtBQUEsZ0JBQ0EsV0FBQSxJQUFBLElBQUEsNkJBQ0EsUUFBQSxLQUNBLFlBQUEsT0FDQSxnQkFBQSxPQUNBLFlBQUEsRUFFQSwwQkFDSSxNQUFBLElBQ0EsT0FBQSxJQUNBLFdBQUEsUUFDQSxVQUFBLE1BQUEsSUFBQSw2QkFHSix5QkFsQkosc0JBbUJRLE1BQUEsS0FDQSxPQUFBLEtBQ0EsWUFBQSxHQUlSLDJCQUNJLE1BQUEsS0FDQSxPQUFBLEtBQ0EsY0FBQSxJQUNBLFdBQUEsZ0JBQ0EsUUFBQSxLQUNBLFlBQUEsT0FDQSxnQkFBQSxPQUNBLFNBQUEsU0FFQSxtQ0FDSSxRQUFBLElBQ0EsVUFBQSxLQUNBLFlBQUEsSUFDQSxNQUFBLG9CQUNBLFlBQUEsRUFFQSx5QkFQSixtQ0FRUSxVQUFBLE1BS1osb0JBQ0ksVUFBQSxPQUNBLFlBQUEsSUFDQSxNQUFBLGlCQUNBLFVBQUEsTUFDQSxVQUFBLFdBQ0EsV0FBQSxPQUNBLFdBQUEsSUFBQSxJQUFBLEtBRUEseUJBVEosb0JBVVEsVUFBQSxLQUNBLFVBQUEsT0FLUixzQkFDSSxXQUFBLDBCQUNBLE9BQUEsZUFDQSxjQUFBLGtCQUNBLFdBQUEsVUFBQSxJQUFBLElBQUEsQ0FBQSxXQUFBLElBQUEsS0FDQSxRQUFBLEtBQ0EsZUFBQSxPQUVBLGlDQUNJLFFBQUEsT0FBQSxRQUNBLFFBQUEsS0FDQSxlQUFBLE9BQ0EsZ0JBQUEsT0FDQSxLQUFBLEVBR0oseUJBQ0ksTUFBQSxpQkFDQSxZQUFBLElBQ0EsV0FBQSxLQUNBLFFBQUEsS0FDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FHSixrQ0FDSSxNQUFBLDRCQUNBLFdBQUEsV0FDQSxjQUFBLFdBQ0EsVUFBQSxLQUNBLFFBQUEsRUFBQSxNQUlKLHlCQWxDSixzQkFtQ1EsY0FBQSxNQUtSLHVCQUNJLFNBQUEsTUFDQSxJQUFBLEVBQ0EsS0FBQSxFQUNBLE1BQUEsS0FDQSxPQUFBLEtBQ0EsaUJBQUEsZ0JBQ0EsUUFBQSxLQUNBLGVBQUEsT0FDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxRQUFBLEtBQ0EsSUFBQSxPQUNBLFVBQUEsT0FBQSxJQUFBLEtBRUEsMkNBQ0ksTUFBQSxpQkFDQSxVQUFBLFFBQ0EsWUFBQSxJQUNBLFdBQUEsT0FDQSxVQUFBLE1BQ0EsWUFBQSxJQUVBLHlCQVJKLDJDQVNRLFVBQUEsUUFDQSxRQUFBLEVBQUEsTUFLWixrQkFDSSxLQUNJLFFBQUEsRUFFSixHQUNJLFFBQUEsR0FNUixzREFBQSxnRGhCM0lJLE1nQjZJK0IsTWhCNUkvQixPZ0I0SStCLE1oQjNJL0IsY0FBQSxJQUNBLFFnQjBJc0MsSWhCekl0QyxpQkFBQSxvRUFDQSxRQUFBLEtBQ0EsWUFBQSxPQUNBLGdCQUFBLE9BQ0EsT0FBQSxRQUNBLFdBQUEsVUFBQSxJQUFBLEtnQnFJQSxXQUFBLFVBQUEsSUFBQSw2QmhCbklBLDBEQUFBLG9EQUNJLE1BQUEsS0FDQSxPQUFBLEtBQ0EsV0FBQSxNQUNBLGNBQUEsSUFDQSxpQkFBQSxnQkFHSiw0REFBQSxzREFDSSxVQUFBLFlnQjZISiwwREFBQSxvREFDSSxnQkFBQSxPQUNBLFdBQUEsUUFDQSxXQUFBLFVBQUEsSUFBQSxLQUVBLGdGQUFBLDBFQUNJLFVBQUEsTUFBQSxJQUFBLDZCQUdKLGtGQUFBLDRFQUNJLFVBQUEsWUFNWixpQkFDSSxHQUNJLFVBQUEsVUFDQSxRQUFBLEVBRUosSUFDSSxVQUFBLFdBRUosS0FDSSxVQUFBLFNBQ0EsUUFBQSxHQU9KLHlDQUNJLFFBQUEsS0FDQSxzQkFBQSxjQUNBLG1CQUFBLGNBQ0EsSUFBQSxPQUNBLGdCQUFBLE9BQ0EsVUFBQSxLQUdBLHlCQVRKLHlDQVVRLHNCQUFBLGNBQ0EsbUJBQUEsS0FDQSxJQUFBLFFBR0oseUJBZkoseUNBZ0JRLHNCQUFBLGNBQ0EsSUFBQSxRQUdKLDRCQXBCSix5Q0FxQlEsc0JBQUEsY0FDQSxJQUFBLFFBS1Isb0NBQ0ksTUFBQSxLQUNBLGFBQUEsRUFDQSxjQUFBLE9BQ0EsU0FBQSxPQUNBLE9BQUEsUUFDQSxXQUFBLElBQUEsS0FBQSx3QkFDQSxXQUFBLEVBQUEsSUFBQSxLQUFBLGlCQUNBLFNBQUEsU0FDQSxnQkFBQSxZQUNBLFlBQUEsT0FHQSw0Q0FDSSxRQUFBLEdBQ0EsU0FBQSxTQUNBLElBQUEsRUFDQSxLQUFBLEVBQ0EsTUFBQSxFQUNBLE9BQUEsRUFDQSxXQUFBLHVFQUNBLFFBQUEsRUFDQSxXQUFBLFFBQUEsS0FBQSxLQUNBLFFBQUEsRUFDQSxlQUFBLEtBQ0EsY0FBQSxPQUlKLDJDQUNJLFFBQUEsR0FDQSxTQUFBLFNBQ0EsTUFBQSxLQUNBLGNBQUEsT0FDQSxXQUFBLHNFQUNBLFFBQUEsRUFDQSxXQUFBLFFBQUEsS0FBQSxLQUNBLFFBQUEsR0FJSiwwQ0FDSSxVQUFBLGlCQUFBLGNBQUEsY0FBQSxZQUNBLFdBQUEsRUFBQSxLQUFBLEtBQUEsa0JBQ0EsUUFBQSxHQUVBLGtEQUNJLFFBQUEsRUFHSixpREFDSSxRQUFBLEVBSVIsMkNBQ0ksVUFBQSxpQkFBQSxjQUFBLGNBQUEsWUFDQSxvQkFBQSxJQUNBLFdBQUEsRUFBQSxJQUFBLEtBQUEsaUJBSUosNkNBQ0ksVUFBQSxpQkFBQSxZQUNBLFdBQUEsRUFBQSxLQUFBLEtBQUEsb0JBQ0EsT0FBQSxJQUFBLE1BQUEsbUNBRUEscURBQ0ksUUFBQSxJQUNBLFNBQUEsU0FDQSxJQUFBLElBQ0EsTUFBQSxJQUNBLFdBQUEsbUNBQ0EsTUFBQSxLQUNBLE1BQUEsS0FDQSxPQUFBLEtBQ0EsY0FBQSxJQUNBLFFBQUEsS0FDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxVQUFBLEtBQ0EsWUFBQSxJQUNBLFFBQUEsRUFDQSxXQUFBLEVBQUEsSUFBQSxJQUFBLGVBQ0EsUUFBQSxFQUNBLGlCQUFBLEtBR0osbURBQ0ksVUFBQSxrQkFBQSxjQUFBLGNBQUEsV0FJUixrREFDSSxRQUFBLElBQUEsTUFBQSx3QkFDQSxlQUFBLElBSVIsd0NBQ0ksTUFBQSxLQUNBLE9BQUEsS0FDQSxXQUFBLE1BQ0EsUUFBQSxNQUNBLFdBQUEsVUFBQSxLQUFBLEtBRUEsMERBQ0ksVUFBQSxZQUtSLHVEQUNJLFdBQUEsTUFDQSxRQUFBLEtBQ0EsZUFBQSxPQUNBLFlBQUEsT0FDQSxnQkFBQSxPQUNBLGNBQUEsRUFFQSx5QkFSSix1REFTUSxXQUFBLE9BR0oseUJBWkosdURBYVEsV0FBQSxPQ2pXWiwyQkFDSSxTQUFBLE1BQ0EsSUFBQSxFQUNBLEtBQUEsRUFDQSxNQUFBLEtBQ0EsT0FBQSxLQUNBLGlCQUFBLGdCQUNBLFFBQUEsRUFDQSxlQUFBLEtBQ0EsVUFBQSxlQUlKLDhCQUNJLFNBQUEsU0FDQSxRQUFBLEVBQ0EsVUFBQSxPQUNBLE1BQUEsS0FDQSxPQUFBLEVBQUEsS0FDQSxRQUFBLEVBQUEsS0FFQSx5QkFSSiw4QkFTUSxRQUFBLEVBQUEsTUFLUixtQkFDSSxjQUFBLEtBQ0EsU0FBQSxPQUNBLGdCQUFBLFdBQ0EsaUJBQUEsZ0NBQ0EsUUFBQSxPQUFBLEtBQ0EsV0FBQSxNQUVBLHlCQVJKLG1CQVNRLFFBQUEsS0FBQSxPQUNBLFdBQUEsT0FHSix5QkFiSixtQkFjUSxXQUFBLE9BR0osMEJBakJKLG1CQWtCUSxXQUFBLE9BS1Isc0JBQ0ksR0FBQSxLQUNJLFVBQUEsY0FBQSw2QkFFSixJQUNJLFVBQUEsaUJBQUEsOEJBS1IsNkJBQ0ksU0FBQSxNQUNBLE1BQUEsTUFDQSxPQUFBLE1BQ0EsZ0JBQUEsSUFDQSxrQkFBQSxVQUNBLG9CQUFBLE9BQ0EsUUFBQSxJQUNBLGVBQUEsS0FDQSxRQUFBLEVBQ0EsVUFBQSxXQUFBLEdBQUEsWUFBQSxTQUdBLG1DQUFVLGlCQUFBLGdDQUFxRCxJQUFBLEVBQVEsS0FBQSxFQUFTLFdBQUEsTUFBbUIsZ0JBQUEsR0FDbkcsbUNBQVUsaUJBQUEsaUNBQXNELElBQUEsRUFBUSxLQUFBLE1BQWEsV0FBQSxLQUFrQixnQkFBQSxJQUN2RyxtQ0FBVSxpQkFBQSxrQ0FBdUQsSUFBQSxFQUFRLEtBQUEsSUFBVyxXQUFBLE9BQW9CLGdCQUFBLElBQ3hHLG1DQUFVLGlCQUFBLGtDQUF1RCxJQUFBLEVBQVEsS0FBQSxNQUFhLFdBQUEsTUFBbUIsZ0JBQUEsSUFDekcsbUNBQVUsaUJBQUEsbUNBQXdELElBQUEsRUFBUSxLQUFBLElBQVcsV0FBQSxNQUFtQixnQkFBQSxLQUN4RyxtQ0FBVSxpQkFBQSxnQ0FBcUQsSUFBQSxFQUFRLEtBQUEsTUFBYSxXQUFBLEtBQWtCLGdCQUFBLEtBQ3RHLG1DQUFVLGlCQUFBLGlDQUFzRCxJQUFBLEVBQVEsS0FBQSxJQUFXLFdBQUEsT0FBb0IsZ0JBQUEsS0FDdkcsbUNBQVUsaUJBQUEsa0NBQXVELElBQUEsRUFBUSxLQUFBLE1BQWEsV0FBQSxLQUFrQixnQkFBQSxLQUV4RyxtQ0FBVSxpQkFBQSxnQ0FBcUQsSUFBQSxPQUFhLEtBQUEsRUFBUyxXQUFBLEtBQWtCLGdCQUFBLElBQ3ZHLG9DQUFXLGlCQUFBLGtDQUF1RCxJQUFBLE9BQWEsS0FBQSxNQUFhLFdBQUEsTUFBbUIsZ0JBQUEsSUFDL0csb0NBQVcsaUJBQUEsZ0NBQXFELElBQUEsT0FBYSxLQUFBLElBQVcsV0FBQSxNQUFtQixnQkFBQSxHQUMzRyxvQ0FBVyxpQkFBQSxnQ0FBcUQsSUFBQSxPQUFhLEtBQUEsTUFBYSxXQUFBLE1BQW1CLGdCQUFBLEtBQzdHLG9DQUFXLGlCQUFBLGlDQUFzRCxJQUFBLE9BQWEsS0FBQSxJQUFXLFdBQUEsS0FBa0IsZ0JBQUEsS0FDM0csb0NBQVcsaUJBQUEsbUNBQXdELElBQUEsT0FBYSxLQUFBLE1BQWEsV0FBQSxNQUFtQixnQkFBQSxLQUNoSCxvQ0FBVyxpQkFBQSxnQ0FBcUQsSUFBQSxPQUFhLEtBQUEsSUFBVyxXQUFBLEtBQWtCLGdCQUFBLEtBQzFHLG9DQUFXLGlCQUFBLGdDQUFxRCxJQUFBLE9BQWEsS0FBQSxNQUFhLFdBQUEsT0FBb0IsZ0JBQUEsS0FFOUcsb0NBQVcsaUJBQUEsaUNBQXNELElBQUEsT0FBYSxLQUFBLEVBQVMsV0FBQSxNQUFtQixnQkFBQSxJQUMxRyxvQ0FBVyxpQkFBQSxrQ0FBdUQsSUFBQSxPQUFhLEtBQUEsTUFBYSxXQUFBLE1BQW1CLGdCQUFBLElBQy9HLG9DQUFXLGlCQUFBLGtDQUF1RCxJQUFBLE9BQWEsS0FBQSxJQUFXLFdBQUEsS0FBa0IsZ0JBQUEsS0FDNUcsb0NBQVcsaUJBQUEsbUNBQXdELElBQUEsT0FBYSxLQUFBLE1BQWEsV0FBQSxPQUFvQixnQkFBQSxLQUNqSCxvQ0FBVyxpQkFBQSxnQ0FBcUQsSUFBQSxPQUFhLEtBQUEsSUFBVyxXQUFBLEtBQWtCLGdCQUFBLEtBQzFHLG9DQUFXLGlCQUFBLGlDQUFzRCxJQUFBLE9BQWEsS0FBQSxNQUFhLFdBQUEsTUFBbUIsZ0JBQUEsR0FDOUcsb0NBQVcsaUJBQUEsa0NBQXVELElBQUEsT0FBYSxLQUFBLElBQVcsV0FBQSxNQUFtQixnQkFBQSxLQUM3RyxvQ0FBVyxpQkFBQSxnQ0FBcUQsSUFBQSxPQUFhLEtBQUEsTUFBYSxXQUFBLE1BQW1CLGdCQUFBLEtBRTdHLG9DQUFXLGlCQUFBLGtDQUF1RCxJQUFBLElBQVUsS0FBQSxFQUFTLFdBQUEsT0FBb0IsZ0JBQUEsSUFDekcsb0NBQVcsaUJBQUEsZ0NBQXFELElBQUEsSUFBVSxLQUFBLE1BQWEsV0FBQSxLQUFrQixnQkFBQSxJQUN6RyxvQ0FBVyxpQkFBQSxnQ0FBcUQsSUFBQSxJQUFVLEtBQUEsSUFBVyxXQUFBLE1BQW1CLGdCQUFBLEtBQ3hHLG9DQUFXLGlCQUFBLGlDQUFzRCxJQUFBLElBQVUsS0FBQSxNQUFhLFdBQUEsTUFBbUIsZ0JBQUEsS0FDM0csb0NBQVcsaUJBQUEsbUNBQXdELElBQUEsSUFBVSxLQUFBLElBQVcsV0FBQSxNQUFtQixnQkFBQSxLQUMzRyxvQ0FBVyxpQkFBQSxnQ0FBcUQsSUFBQSxJQUFVLEtBQUEsTUFBYSxXQUFBLEtBQWtCLGdCQUFBLEtBQ3pHLG9DQUFXLGlCQUFBLGdDQUFxRCxJQUFBLElBQVUsS0FBQSxJQUFXLFdBQUEsT0FBb0IsZ0JBQUEsS0FDekcsb0NBQVcsaUJBQUEsaUNBQXNELElBQUEsSUFBVSxLQUFBLE1BQWEsV0FBQSxLQUFrQixnQkFBQSxLQUUxRyxvQ0FBVyxpQkFBQSxrQ0FBdUQsSUFBQSxPQUFhLEtBQUEsRUFBUyxXQUFBLEtBQWtCLGdCQUFBLElBQzFHLG9DQUFXLGlCQUFBLGtDQUF1RCxJQUFBLE9BQWEsS0FBQSxNQUFhLFdBQUEsTUFBbUIsZ0JBQUEsR0FDL0csb0NBQVcsaUJBQUEsbUNBQXdELElBQUEsT0FBYSxLQUFBLElBQVcsV0FBQSxNQUFtQixnQkFBQSxLQUM5RyxvQ0FBVyxpQkFBQSxnQ0FBcUQsSUFBQSxPQUFhLEtBQUEsTUFBYSxXQUFBLE1BQW1CLGdCQUFBLEtBQzdHLG9DQUFXLGlCQUFBLGlDQUFzRCxJQUFBLE9BQWEsS0FBQSxJQUFXLFdBQUEsTUFBbUIsZ0JBQUEsS0FDNUcsb0NBQVcsaUJBQUEsa0NBQXVELElBQUEsT0FBYSxLQUFBLE1BQWEsV0FBQSxPQUFvQixnQkFBQSxLQUNoSCxvQ0FBVyxpQkFBQSxnQ0FBcUQsSUFBQSxPQUFhLEtBQUEsSUFBVyxXQUFBLEtBQWtCLGdCQUFBLEtBQzFHLG9DQUFXLGlCQUFBLGtDQUF1RCxJQUFBLE9BQWEsS0FBQSxNQUFhLFdBQUEsT0FBb0IsZ0JBQUEsS0FFaEgsb0NBQVcsaUJBQUEsZ0NBQXFELElBQUEsT0FBYSxLQUFBLEVBQVMsV0FBQSxNQUFtQixnQkFBQSxJQUN6RyxvQ0FBVyxpQkFBQSxnQ0FBcUQsSUFBQSxPQUFhLEtBQUEsTUFBYSxXQUFBLEtBQWtCLGdCQUFBLEtBQzVHLG9DQUFXLGlCQUFBLGlDQUFzRCxJQUFBLE9BQWEsS0FBQSxJQUFXLFdBQUEsT0FBb0IsZ0JBQUEsS0FDN0csb0NBQVcsaUJBQUEsbUNBQXdELElBQUEsT0FBYSxLQUFBLE1BQWEsV0FBQSxLQUFrQixnQkFBQSxLQUMvRyxvQ0FBVyxpQkFBQSxnQ0FBcUQsSUFBQSxPQUFhLEtBQUEsSUFBVyxXQUFBLE1BQW1CLGdCQUFBLEdBQzNHLG9DQUFXLGlCQUFBLGdDQUFxRCxJQUFBLE9BQWEsS0FBQSxNQUFhLFdBQUEsTUFBbUIsZ0JBQUEsS0FDN0csb0NBQVcsaUJBQUEsaUNBQXNELElBQUEsT0FBYSxLQUFBLElBQVcsV0FBQSxNQUFtQixnQkFBQSxLQUM1RyxvQ0FBVyxpQkFBQSxrQ0FBdUQsSUFBQSxPQUFhLEtBQUEsTUFBYSxXQUFBLE1BQW1CLGdCQUFBLEtBRy9HLHlCQXBFSiw2QkFxRVEsTUFBQSxLQUNBLE9BQUEsS0FDQSxRQUFBLEtBR0osMEJBMUVKLDZCQTJFUSxNQUFBLE1BQ0EsT0FBQSxNQUNBLFFBQUEsS0FLUiw2QkFDSSxTQUFBLFNBQ0EsUUFBQSxFQUNBLFVBQUEsS0FDQSxPQUFBLEVBQUEsS0FDQSxRQUFBLEVBQUEsS0FFQSwwQkFQSiw2QkFRUSxVQUFBLFFBS1Isa0JBQ0ksUUFBQSxLQUNBLHNCQUFBLGNBQ0EsSUFBQSxPQUNBLE1BQUEsS0FHQSx5QkFQSixrQkFRUSxzQkFBQSxlQUlKLHlCQVpKLGtCQWFRLHNCQUFBLGNBQ0EsSUFBQSxNQUlKLHlCQWxCSixrQkFtQlEsc0JBQUEsZUFJSiwwQkF2Qkosa0JBd0JRLHNCQUFBLGVBS1IsWUFDSSxhQUFBLENBQUEsQ0FBQSxFQUNBLE1BQUEsS0FDQSxXQUFBLElBQUEsS0FBQSx3QkFDQSxNQUFBLEtBQ0EsV0FBQSxFQUFBLElBQUEsS0FBQSxpQkFDQSxTQUFBLFNBQ0EsU0FBQSxPQUNBLGNBQUEsZUFHQSxvQkFDSSxRQUFBLEdBQ0EsU0FBQSxTQUNBLElBQUEsRUFDQSxLQUFBLEVBQ0EsTUFBQSxFQUNBLE9BQUEsRUFDQSxXQUFBLHdFQUNBLFFBQUEsRUFDQSxXQUFBLFFBQUEsS0FBQSxLQUlKLG1CQUNJLFFBQUEsR0FDQSxTQUFBLFNBQ0EsSUFBQSxLQUNBLEtBQUEsS0FDQSxNQUFBLEtBQ0EsT0FBQSxLQUNBLFdBQUEsK0RBQ0EsUUFBQSxFQUNBLFdBQUEsUUFBQSxLQUFBLEtBR0osa0JBQ0ksVUFBQSxpQkFBQSxZQUNBLFdBQUEsRUFBQSxLQUFBLEtBQUEsa0JBRUEseUJBQUEsMEJBRUksUUFBQSxFQUlSLG1CQUNJLFVBQUEsaUJBQUEsWUFDQSxvQkFBQSxJQUlKLDBCQUNJLFFBQUEsSUFBQSxNQUFBLHdCQUNBLGVBQUEsSUFLUixpQkFDSSxNQUFBLEtBQ0EsT0FBQSxLQUNBLFdBQUEsRUFBQSxJQUFBLElBQUEsaUJBQ0EsV0FBQSxVQUFBLElBQUEsS0FFQSxtQ0FDSSxVQUFBLFlBSUoseUJBWEosaUJBWVEsTUFBQSxLQUNBLE9BQUEsTUFHSix5QkFoQkosaUJBaUJRLE1BQUEsS0FDQSxPQUFBLE1BS1IsMEJBQ0ksVUFBQSxPQUVBLHlCQUhKLDBCQUlRLFVBQUEsU0FHSix5QkFQSiwwQkFRUSxVQUFBLFNBS1Isa0JBQ0ksVUFBQSxLQUNBLFdBQUEsS0FDQSxXQUFBLFFBQ0EsT0FBQSx3Q0FDQSxXQUFBLFVBQUEsSUFBQSxLQUVBLG9DQUNJLFVBQUEsWUFJSix5QkFaSixrQkFhUSxVQUFBLEtBQ0EsV0FBQSxNQUdKLHlCQWpCSixrQkFrQlEsVUFBQSxLQUNBLFdBQUEsTUFLUixpQkFDSSxVQUFBLFFBQ0EsZUFBQSxLQUNBLFlBQUEsRUFBQSxJQUFBLElBQUEsaUJBQ0EsWUFBQSxJQUNBLFlBQUEsSUFHQSx5QkFSSixpQkFTUSxVQUFBLE9BQ0EsZUFBQSxPQUdKLHlCQWJKLGlCQWNRLFVBQUEsTUFDQSxlQUFBLE1BVVIsVUFBQSxVQUF1QixpQkFBQSxtQkFDdkIsK0NBQUEsK0NBRUksTUFBQSxtQkFJSixTQUFBLFNBQXFCLGlCQUFBLGtCQUNyQiw4Q0FBQSw4Q0FFSSxNQUFBLGtCQUlKLFNBQUEsU0FBcUIsaUJBQUEsa0JBQ3JCLDhDQUFBLDhDQUVJLE1BQUEsa0JBSUosVUFBQSxVQUF1QixpQkFBQSxtQkFDdkIsK0NBQUEsK0NBRUksTUFBQSxtQkFJSixVQUFBLFVBQXVCLGlCQUFBLG1CQUN2QiwrQ0FBQSwrQ0FFSSxNQUFBLG1CQUlKLFdBQUEsV0FBeUIsaUJBQUEsbUJBQ3pCLGdEQUFBLGdEQUVJLE1BQUEsbUJBSUosU0FBQSxTQUFxQixpQkFBQSxrQkFDckIsOENBQUEsOENBRUksTUFBQSxrQkFJSixXQUFBLFdBQXlCLGlCQUFBLG9CQUN6QixnREFBQSxnREFFSSxNQUFBLG9CQUlKLFNBQUEsU0FBcUIsaUJBQUEsa0JBQ3JCLDhDQUFBLDhDQUVJLE1BQUEsa0JBSUosU0FBQSxTQUFxQixpQkFBQSxrQkFDckIsOENBQUEsOENBRUksTUFBQSxrQkFJSixXQUFBLFdBQXlCLGlCQUFBLG9CQUN6QixnREFBQSxnREFFSSxNQUFBLG9CQUlKLFFBQUEsUUFBbUIsaUJBQUEsaUJBQ25CLDZDQUFBLDZDQUVJLE1BQUEsaUJDcFpKLGNBQ0ksUUFBQSxLQUNBLGVBQUEsT0FDQSxZQUFBLE9BQ0EsV0FBQSxPQUNBLFVBQUEsRUFHSixnQmxCV0ksTWtCVitCLE1sQlcvQixPa0JYK0IsTWxCWS9CLGNBQUEsSUFDQSxRa0Jic0MsSWxCY3RDLGlCQUFBLG9FQUNBLFFBQUEsS0FDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxPQUFBLFFBQ0EsV0FBQSxVQUFBLElBQUEsS2tCbEJBLE9BQUEsSUFBQSxNQUFBLFlBQ0EsWUFBQSxFbEJtQkEsb0JBQ0ksTUFBQSxLQUNBLE9BQUEsS0FDQSxXQUFBLE1BQ0EsY0FBQSxJQUNBLGlCQUFBLGdCQUdKLHNCQUNJLFVBQUEsWWtCMUJKLG9CQUNJLGVBQUEsS0FJSiw0QkFWSixnQkFXUSxNQUFBLEtBQ0EsT0FBQSxNQUdKLGtEQWZKLGdCQWdCUSxNQUFBLE1BQ0EsT0FBQSxPQUlSLGNBQ0ksV0FBQSxNQUNBLFlBQUEsSUFDQSxVQUFBLE1BQ0EsWUFBQSxJQUNBLE1BQUEsaUJBQ0EsV0FBQSxXQUNBLFVBQUEsS0FHQSw0QkFWSixjQVdRLFVBQUEsUUFRUixlQUNJLE1BQUEsS0FDQSxPQUFBLEtBQ0EsUUFBQSxLQUNBLFlBQUEsT0FDQSxjQUFBLElBQ0EsaUJBQUEsb0VBQ0EsT0FBQSxJQUFBLE1BQUEsZ0JBQ0EsVUFBQSxtQkFDQSxVQUFBLE9BRUEsNEJBWEosZUFZUSxNQUFBLEtBQ0EsT0FBQSxLQUNBLFVBQUEsT0FJUiwwQkFDSSxXQUFBLHNCQUNBLE9BQUEsUUFDQSxVQUFBLG9CQUVBLGdDQUNJLFdBQUEsMkJBQ0EsVUFBQSxvQkFBQSxXQUlSLHdCQUNJLFdBQUEsb0JBQ0EsT0FBQSxRQUVBLDhCQUNJLFdBQUEseUJBQ0EsVUFBQSxtQkFBQSxXQUlSLHdCQUNJLE9BQUEsRUFDQSxNQUFBLEVBQ0EsVUFBQSxtQkFPSiwyQkFDSSxTQUFBLFNBQ0EsTUFBQSxLQUNBLE9BQUEsS0FDQSxPQUFBLFFBQ0EsY0FBQSxJQUNBLFdBQUEsUUFBQSxLQUFBLEtBRUEsaUNBQ0ksUUFBQSxJQUdKLHdDQUNJLFdBQUEsRUFBQSxFQUFBLEVBQUEsSUFBQSxzQkFRUixxQkFDSSxjQUFBLElBQ0EsV0FBQSxvRUFDQSxRQUFBLElBQ0EsTUFBQSxLQUNBLE9BQUEsS0FDQSxhQUFBLENBQUEsQ0FBQSxFQUVBLHlCQUNJLGNBQUEsSUFDQSxXQUFBLE1BSVIsMEJBQ0ksV0FBQSxLQUNBLFdBQUEsUUFPSixzQkFDSSxRQUFBLEtBQ0EsTUFBQSxLQUdBLHNCQUFBLGNBQ0EsSUFBQSxLQUdBLHlCQVRKLHNCQVVRLHNCQUFBLGNBQ0EsSUFBQSxTQUlKLHlCQWZKLHNCQWdCUSxzQkFBQSxjQUNBLElBQUEsUUFJSix5QkFyQkosc0JBc0JRLHNCQUFBLGVBSUosMEJBMUJKLHNCQTJCUSxzQkFBQSxlQUtSLDhCQUNJLElBQUEsTUFFQSx5QkFISiw4QkFJUSxJQUFBLFNBR0oseUJBUEosOEJBUVEsSUFBQSxRQU1KLHlCQURKLHlDQUVRLHNCQUFBLGVBR0osMEJBTEoseUNBTVEsc0JBQUEsZUFTUixtQkFDSSxXQUFBLE9BQ0EsVUFBQSxLQUdKLGdCQUNJLFdBQUEsT0FDQSxVQUFBLEtBR0EsNEJBTEosZ0JBTVEsUUFBQSxnQkFHSixrREFUSixnQkFVUSxRQUFBLGtCQVFSLHlCQUNJLFFBQUEsS0FDQSxzQkFBQSxJQUFBLEtBQUEsSUFDQSxZQUFBLE9BQ0EsSUFBQSxPQUNBLFdBQUEsS0FDQSxjQUFBLEtBRUEsNEJBUkoseUJBU1Esc0JBQUEsSUFBQSxJQUNBLG1CQUFBLEtBQUEsTUFLUiwrQkFDSSxhQUFBLE1BQ0EsUUFBQSxLQUNBLFlBQUEsT0FDQSxJQUFBLE9BRUEsNENBQ0ksS0FBQSxFQUFBLEVBQUEsS0FDQSxVQUFBLE1BQ0EsVUFBQSxFQUdKLDRCQVpKLCtCQWFRLFlBQUEsQ0FBQSxDQUFBLEdBRUEsNENBQ0ksVUFBQSxNQU1aLCtCQUNJLFFBQUEsS0FDQSxZQUFBLE9BQ0EsZ0JBQUEsT0FDQSxJQUFBLE9BRUEsNEJBTkosK0JBT1EsZ0JBQUEsT0FJUiw2QkFDSSxZQUFBLE9BSUosNkJBQ0ksUUFBQSxLQUNBLFlBQUEsT0FDQSxJQUFBLE1BQ0EsYUFBQSxJQUlKLDRCQUNJLFFBQUEsS0FDQSxZQUFBLE9BQ0EsSUFBQSxRQUNBLE9BQUEsUUFDQSxZQUFBLEtBQ0EsWUFBQSxPQUVBLDhCQUNJLFVBQUEsUUFDQSxNQUFBLHNCQVFSLDBCbEI1TkksU0FBQSxNQUNBLElBQUEsRUFDQSxLQUFBLEVBQ0EsTUFBQSxFQUNBLE9BQUEsRUFDQSxpQkFOc0IsZUFPdEIsUUFQb0QsS0FRcEQsT0FBQSxRa0J5TkosNEJBQ0ksU0FBQSxPbEJuTkEsU0FBQSxNQUNBLElBQUEsSUFDQSxLQUFBLElBQ0EsVUFBQSxxQkFDQSxRQUxnRCxLQU1oRCxNQUFBLElBQ0EsVWtCOE15QixNbEI3TXpCLFdBQUEsS0FDQSxpQkFBQSxxQkFDQSxjQVZzRSxNQVd0RSxXQUFBLEVBQUEsS0FBQSxLQUFBLGVBRUEsNEJrQnNNSiw0QmxCck1RLE1BQUEsSUFDQSxjQUFBLFNrQndNSiwyQ0FDSSxPQUFBLEtBQ0EsV0FBQSxLQUNBLGNBQUEsRUFDQSxRQUFBLEtBR0osMENBQ0ksU0FBQSxTQUNBLGdCQUFBLE9BRUEscURBQ0ksU0FBQSxTQUNBLE1BQUEsRUNwVVosWUFDQyxpQkFBQSxnQkFDQSxPQUFBLElBQUEsTUFBQSxtQkFHRCxXQUNDLGlCQUFBLFlBQ0EsT0FBQSxLQUNBLGNBQUEsSUFBQSxNQUFBLHlCQUNBLGNBQUEsWUFDQSxhQUFBLFlBQ0EsY0FBQSxZQUNBLGNBQUEsaUJBRUEsc0JBQ0MsY0FBQSxLQUlGLFdBQ0MsTUFBQSxLQUNBLE9BQUEsS0FDQSxpQkFBQSxrQ0FDQSxNQUFBLGtCQUNBLFVBQUEsUUFHRCxjQUNDLE1BQUEsS0FDQSxPQUFBLEtBQ0EsV0FBQSxNQUNBLE9BQUEsSUFBQSxNQUFBLGtDQUdELGVBQ0MsTUFBQSwwQkFDQSxZQUFBLElBR0QsZUFDQyxNQUFBLDBCQUNBLGdCQUFBLEtBQ0EsVUFBQSxRQUVBLHFCQUNDLGdCQUFBLFVBS0YsNEJBQ0MsV0FDQyxNQUFBLEtBQ0EsT0FBQSxLQUNBLFVBQUEsT0FHRCxjQUNDLE1BQUEsS0FDQSxPQUFBLEtBR0QsaUJBQ0MsUUFBQSxRQUFBLE9BR0Qsc0JBQ0MsV0FBQSxLQUNBLFFBQUEsWUFDQSxZQUFBLFFBS0YsY0FDQyxXQUFBLE1BQ0EsV0FBQSxLQUNBLFdBQUEsT0FDQSxjQUFBLE1BQ0EsZ0JBQUEsS0FDQSxnQkFBQSxtQkFBQSxZbkJ4QkcsaUNBQ0ksTUFBQSxJQUVKLHVDQUNJLFdtQnFCdUMsSW5CcEJ2QyxjQUFBLElBRUosdUNBQ0ksV21CaUJtQixtQm5CaEJuQixjQUFBLEltQnVCUixtQkFDQyxJQUFBLEtBR0EsNEJBSkQsbUJBS0UsSUFBQSxNQUVBLHFCQUNDLE1BQUEsTUFLRixpQ0FBQSxnQ0FFQyxPQUFBLEtBQ0EsV0FBQSxLQUlELGdDQUNDLE1BQUEsTUFDQSxRQUFBLE1BQUEsT0FBQSxNQUFBLEtBQ0EsVUFBQSxPQUNBLFlBQUEsSUFDQSxNQUFBLGlCQUNBLGlCQUFBLGdCQUNBLE9BQUEsSUFBQSxNQUFBLGtDQUNBLGNBQUEsTUFDQSxPQUFBLFFBRUEsc0NBQ0MsYUFBQSxrQ0FDQSxXQUFBLEVBQUEsRUFBQSxFQUFBLE1BQUEscUJBR0QsNEJBaEJELGdDQWlCRSxNQUFBLE1BS0gsZ0JBQ0MsVUFBQSxLQU9ELGlCQUNDLGlCQUFBLGdCQUNBLE9BQUEsSUFBQSxNQUFBLG1CQUNBLGNBQUEsT0FDQSxRQUFBLE9BQUEsTUFDQSxPQUFBLEtBQ0EsUUFBQSxLQUNBLGVBQUEsT0FHRCxrQkFDQyxNQUFBLDBCQUNBLFlBQUEsSUFDQSxVQUFBLE1BR0QsaUJBQ0MsTUFBQSxzQkFDQSxVQUFBLE1BR0QsaUJBQ0MsVUFBQSxPQUNBLE1BQUEsa0JBQ0EsYUFBQSxLQUNBLFdBQUEsT0FDQSxjQUFBLEVBRUEsb0JBQ0MsT0FBQSxPQUFBLEVBSUYsb0JBQ0MsUUFBQSxZQUNBLG1CQUFBLEVBQ0EsbUJBQUEsU0FDQSxTQUFBLE9BQ0EsY0FBQSxTQUdELHNCQUNDLFdBQUEsSUFDQSxPQUFBLEtBQ0EsTUFBQSxrQ0FDQSxVQUFBLFNBQ0EsWUFBQSxJQUNBLFFBQUEsRUFDQSxPQUFBLFFBQ0EsV0FBQSxNQUFBLEtBQUEsS0FFQSw0QkFDQyxNQUFBLGlDQUdELHdCQUNDLFVBQUEsUUFJRix5QkFDQyxVQUFBLFNBQ0EsWUFBQSxJQUNBLE1BQUEsc0JBRUEsNEJBQUEsNEJBRUMsYUFBQSxRQUNBLGNBQUEsS0FHRCw0QkFDQyxjQUFBLE9BR0QsMkJBQ0MsY0FBQSxPQUdELDJCQUFBLGdDQUVDLE1BQUEsaUJBU0Ysc0JuQmpKSSxTQUFBLE1BQ0EsSUFBQSxFQUNBLEtBQUEsRUFDQSxNQUFBLEVBQ0EsT0FBQSxFQUNBLGlCQU5zQixlQU90QixRQVBvRCxLQVFwRCxPQUFBLFFtQjhJSix3QkFDQyxXQUFBLEtuQnhJRyxTQUFBLE1BQ0EsSUFBQSxJQUNBLEtBQUEsSUFDQSxVQUFBLHFCQUNBLFFBTGdELEtBTWhELE1BQUEsSUFDQSxVbUJtSWtDLE1uQmxJbEMsV0FBQSxLQUNBLGlCQUFBLHFCQUNBLGNtQmdJeUQsT25CL0h6RCxXQUFBLEVBQUEsS0FBQSxLQUFBLGVBRUEsNEJtQjJISix3Qm5CMUhRLE1BQUEsSUFDQSxjQUFBLFNtQjZIUCx1Q0FDQyxPQUFBLEtBQ0EsV0FBQSxLQUdELHNDQUNDLFFBQUEsS0FBQSxPQUFBLE1BR0Qsb0NBQ0MsUUFBQSxNQUFBLE9BQUEsT0FHRCw0QkFDQyxzQ0FDQyxRQUFBLE9BQUEsS0FBQSxNQUdELG9DQUNDLFFBQUEsTUFBQSxLQUFBLE1DcFFILDRCQUNDLFNBQUEsU0FDQSxRQUFBLEVBQ0EsUUFBQSxPQUFBLEVBQ0EsY0FBQSxJQUFBLE1BQUEsbUJBQ0EsY0FBQSxFQUdELHdCQUNDLFFBQUEsT0FBQSxLQUNBLFdBQUEsSUFBQSxLQUFBLHdCQUNBLGNBQUEsS0FDQSxXQUFBLEVBQUEsSUFBQSxJQUFBLGlCQUNBLFlBQUEsSUFDQSxPQUFBLElBQUEsTUFBQSw2QkFDQSxpQkFBQSxlQUVBLDhCQUNDLFVBQUEsaUJBQ0EsV0FBQSxFQUFBLElBQUEsS0FBQSxpQkFDQSxpQkFBQSwrQkFDQSxhQUFBLG1DQUdELCtCQUNDLFVBQUEsaUJBQ0EsV0FBQSxFQUFBLElBQUEsSUFBQSxpQkFDQSxvQkFBQSxJQUdELHNDQUNDLFFBQUEsSUFBQSxNQUFBLHdCQUNBLGVBQUEsSUFJRix5QkFDQyxPQUFBLEtBQ0EsTUFBQSxLQUNBLFlBQUEsRUN0Q0QsOEJBQ0MsT0FBQSxhQUFBLGdCQUNBLFdBQUEsT0FBQSxLQUFBLEtBR0QscUNBQ0MsT0FBQSxhQUFBLGdCQVFELDRCQUdFLDRCQUNDLGFBQUEsRUFDQSxVQUFBLFFDakJILHVCQUNJLFVBQUEsTUFDQSxLQUFBLEVBQUEsRUFBQSxNQUNBLFVBQUEsTUFDQSxRQUFBLE1BQUEsT0FBQSxNQUFBLEtBQ0EsVUFBQSxPQUNBLFlBQUEsSUFDQSxNQUFBLGlCQUNBLGlCQUFBLGdCQUNBLE9BQUEsSUFBQSxNQUFBLGtDQUNBLGNBQUEsTUFDQSxPQUFBLFFBQ0EsV0FBQSxJQUFBLElBQUEsS0FDQSxXQUFBLEtBQ0EsaUJBQUEsc0tBQ0Esa0JBQUEsVUFDQSxvQkFBQSxNQUFBLE9BQUEsT0FDQSxnQkFBQSxLQUVBLDRDQUNJLGFBQUEsaUNBQ0EsaUJBQUEsc0JBR0osNkJBQUEscUNBRUksYUFBQSxrQ0FDQSxXQUFBLEVBQUEsRUFBQSxFQUFBLE1BQUEscUJBQ0EsUUFBQSxFQUdKLGdDQUNJLFFBQUEsR0FDQSxPQUFBLFlBR0osNEJBcENKLHVCQXFDUSxRQUFBLFFBQUEsT0FBQSxRQUFBLEtBQ0EsVUFBQSxTQUdKLDRCQXpDSix1QkEwQ1EsVUFBQSxLQUNBLFdBQUEsS0FDQSxjQUFBLE9BS1IsZ0JBQ0ksVUFBQSxNQUNBLEtBQUEsRUFBQSxFQUFBLE1BQ0EsVUFBQSxNQUVBLDRCQUxKLGdCQU1RLFVBQUEsS0FDQSxXQUFBLE1BS1IsdUJBQUEsOEJBQUEsK0JBQUEsc0NBSUksT0FBQSxLQUNBLFdBQUEsS0N4RUosWUFFSSxTQUFBLFFBR0EsNkJBRUksU0FBQSxRQUNBLGVBQUEsWUFFQSxzREFDSSxjQUFBLE9BQ0EsV0FBQSxFQUFBLElBQUEsSUFBQSxtQkFDQSxXQUFBLFVBQUEsTUFBQSxJQUFBLENBQUEsV0FBQSxNQUFBLEtBQ0EsU0FBQSxPQUlKLDREQUNJLFVBQUEsaUJBQ0EsV0FBQSxFQUFBLElBQUEsS0FBQSxtQkFTWixxQkFBQSxtQkFBQSxtQkFBQSxpQkFDSSxTQUFBLFNBQ0EsUUFBQSxHQUdBLE1BQUEsNEJBQ0EsT0FBQSw0QkFDQSxjQUFBLElBQ0EsaUJBQUEsOEJBQ0EsT0FBQSxJQUFBLE1BQUEsS0FHQSxRQUFBLEtBQ0EsWUFBQSxPQUNBLGdCQUFBLE9BR0EsdUJBQUEscUJBQUEscUJBQUEsbUJBQ0ksTUFBQSxLQUNBLFVBQUEsMkJBUVIsbUJBRUksSUFBQSx5QkFDQSxNQUFBLHlCQUdBLGdDQUNJLFFBQUEsRUFDQSxPQUFBLFFBQ0EsUUFBQSxFQUVBLHNDQUNJLE9BQUEsZUFHSiw4Q0FDSSxRQUFBLElBQUEsTUFBQSwwQkFDQSxlQUFBLElBS1IsNkJBQ0ksaUJBQUEsMkJBRUEsbUNBQ0ksaUJBQUEsMkJBQ0EsT0FBQSxLQU1aLDJEQUFBLDBDQUVJLFVBQUEsZ0JBT0osbUJBRUksSUFBQSx5QkFDQSxLQUFBLHlCQUdBLFFBQUEsRUFDQSxPQUFBLFFBQ0EsUUFBQSxFQUVBLHFCQUNJLFVBQUEsMEJBR0oseUJBQ0ksT0FBQSxlQUdKLGlDQUNJLFFBQUEsSUFBQSxNQUFBLDBCQUNBLGVBQUEsSUFLUiwwQ0FDSSxVQUFBLGdCQU9KLHFCQUVJLE9BQUEseUJBQ0EsS0FBQSx5QkFHQSxRQUFBLEVBQ0EsT0FBQSxRQUNBLFFBQUEsRUFFQSx1QkFDSSxVQUFBLDBCQUdKLDJCQUNJLGlCQUFBLFFBR0osbUNBQ0ksUUFBQSxJQUFBLE1BQUEsMEJBQ0EsZUFBQSxJQUtSLDRDQUNJLFVBQUEsZ0JBUUosNEJBQ0ksMkRBQUEsNENBQUEsMENBQUEsMENBSUksVUFBQSIsImZpbGUiOiJwb3J0YWwuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgR0xPQkFMIFRIRU1FIC0gQ1NTIFZhcmlhYmxlcyBhbmQgQmFzZSBTdHlsZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbjpyb290IHtcclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgQlJBTkQgQ09MT1JTIChVc2luZyBSYXRobyBEZXNpZ24gU3lzdGVtKVxyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLWJyYW5kLWdyYWRpZW50LXN0YXJ0OiAjRjY3MTYwOyAgICAgICAgLyogUmF0aG8gY29yYWwgKGRhcmspIC0gbWF0Y2hlcyBoZWFkZXIgbGVmdCBzaWRlICovXHJcblx0LS1icmFuZC1ncmFkaWVudC1lbmQ6ICNGRjhGNjE7ICAgICAgICAgIC8qIFJhdGhvIG9yYW5nZSAobGlnaHQpIC0gbWF0Y2hlcyBoZWFkZXIgcmlnaHQgc2lkZSAqL1xyXG5cdC0tYnJhbmQtcHJpbWFyeTogI0Y2NzE2MDsgICAgICAgICAgICAgICAvKiBSYXRobyBjb3JhbC9zYWxtb24gKi9cclxuXHQtLWJyYW5kLXNlY29uZGFyeTogI0YwQzM3NDsgICAgICAgICAgICAgLyogUmF0aG8gZ3JvdXAgdGV4dCBnb2xkICovXHJcblx0LS1icmFuZC1hY2NlbnQtZGFyazogI0VBNTgwQztcclxuXHQtLWJyYW5kLWFjY2VudC1saWdodDogI0ZGOEY2MTsgICAgICAgICAgLyogUmF0aG8gb3JhbmdlICovXHJcblx0LS1icmFuZC1oaWdobGlnaHQ6ICNGQUQ4RDY7ICAgICAgICAgICAgIC8qIFJhdGhvIGdyb3VwIHNlbGVjdGlvbiBwaW5rICovXHJcblxyXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHQgICBURVhUIENPTE9SU1xyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLXRleHQtZGFyazogIzExMTgyNztcclxuXHQtLXRleHQtcHJpbWFyeTogIzFGMjkzNztcclxuXHQtLXRleHQtc2Vjb25kYXJ5OiAjMzc0MTUxO1xyXG5cdC0tdGV4dC1tdXRlZDogIzZCNzI4MDtcclxuXHQtLXRleHQtYm9yZGVyLWdyYXk6ICM5MjkyOTI7XHJcblx0LS10ZXh0LXdoaXRlOiAjZmZmZmZmO1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgQkFDS0dST1VORCBDT0xPUlMgKFVzaW5nIFJhdGhvIERlc2lnbiBTeXN0ZW0pXHJcblx0ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC0tYmctd2hpdGU6ICNmZmZmZmY7XHJcblx0LS1iZy1jcmVhbTogI0ZCRjZGMzsgICAgICAgICAgICAgICAgICAgIC8qIFJhdGhvIGFwcCBiYWNrZ3JvdW5kICovXHJcblx0LS1iZy1wYW5lbC1jcmVhbTogI0ZDRjRFRjtcclxuXHQtLWJnLXBhbmVsLWNyZWFtLWFsdDogI0ZDRjZGMjtcclxuXHQtLWJnLWhvdmVyLWNyZWFtOiAjRjhFQUUyO1xyXG5cdC0tYmctaG92ZXItZ3JheTogI0YzRjRGNjtcclxuXHQtLWJnLWdyYXktbGlnaHQ6ICNGM0Y0RjY7XHJcblx0LS1iZy1ncmF5LW1lZGl1bTogI0U1RTdFQjtcclxuXHQtLWJnLWVycm9yLWxpZ2h0OiBsaWdodHllbGxvdztcclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIEJPUkRFUiBDT0xPUlNcclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LS1ib3JkZXItc29mdDogI0U1RTdFQjtcclxuXHQtLWJvcmRlci1zaWRlOiAjRUFEOUQxO1xyXG5cdC0tYm9yZGVyLWxpZ2h0LXBpbms6ICNGQUQ5RDQ7XHJcblxyXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHQgICBTVEFUVVMgQ09MT1JTXHJcblx0ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC0tc3RhdHVzLXN1Y2Nlc3M6ICMyOGE3NDU7XHJcblx0LS1zdGF0dXMtc3VjY2Vzcy1kYXJrOiAjMjE4ODM4O1xyXG5cdC0tc3RhdHVzLXN1Y2Nlc3MtdmFsaWRhdGlvbjogIzI2YjA1MDtcclxuXHQtLXN0YXR1cy1lcnJvcjogI2RjMzU0NTtcclxuXHQtLXN0YXR1cy1lcnJvci1kYXJrOiAjYzgyMzMzO1xyXG5cdC0tc3RhdHVzLWVycm9yLXZhbGlkYXRpb246ICNlNTAwMDA7XHJcblx0LS1zdGF0dXMtd2FybmluZy1yZWQ6ICNFRjQ0NDQ7XHJcblxyXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHQgICBMSU5LICYgQlVUVE9OIENPTE9SU1xyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLWxpbmstZGVmYXVsdDogIzAwNmJiNztcclxuXHQtLWJ0bi1wcmltYXJ5LWJnOiAjMWI2ZWMyO1xyXG5cdC0tYnRuLXByaW1hcnktYm9yZGVyOiAjMTg2MWFjO1xyXG5cdC0tYnRuLWZvY3VzOiB2YXIoLS1mb2N1cy1yaW5nLWJyYW5kKTtcclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIFNIQURPVyBDT0xPUlMgKFJHQkEpXHJcblx0ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC0tc2hhZG93LXhzOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xyXG5cdC0tc2hhZG93LXNtOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG5cdC0tc2hhZG93LW1kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0LS1zaGFkb3ctbGc6IHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcblx0LS1zaGFkb3cteGw6IHJnYmEoMCwgMCwgMCwgMC4xOCk7XHJcblx0LS1zaGFkb3ctMnhsOiByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0LS1zaGFkb3ctM3hsOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xyXG5cdC0tc2hhZG93LWRhcms6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIEZPQ1VTIFJJTkcgQ09MT1JTXHJcblx0ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC0tZm9jdXMtcmluZy1icmFuZDogcmdiYSgyNDksIDExNSwgOTksIDAuMjUpO1xyXG5cdC0tZm9jdXMtcmluZy1icmFuZC1hbHQ6IHJnYmEoMjUwLCAxMjAsIDk3LCAwLjI1KTtcclxuXHQtLWZvY3VzLXJpbmctdGVhbDogcmdiYSgwLCAxMjgsIDEyOCwgMC4xNSk7XHJcblx0LS1mb2N1cy1yaW5nLWRhcms6IHJnYmEoMzMsIDM3LCA0MSwgMC4yKTtcclxuXHQtLWZvY3VzLXJpbmctd2hpdGU6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuXHJcblx0LyogT3ZlcnJpZGUgQm9vdHN0cmFwJ3MgZGVmYXVsdCBibHVlIGZvY3VzIHJpbmcgd2l0aCBicmFuZCBvcmFuZ2UgKi9cclxuXHQtLWJzLWZvY3VzLXJpbmctY29sb3I6IHZhcigtLWZvY3VzLXJpbmctYnJhbmQpO1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgT1ZFUkxBWSBDT0xPUlNcclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LS1vdmVybGF5LWRhcms6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuXHQtLW92ZXJsYXktbGlnaHQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIEdST1VQIFRJTEUgQ09MT1JTXHJcblx0ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC0tZ3JvdXAtY29yYWw6ICNFODkyN0M7XHJcblx0LS1ncm91cC1ncmF5OiAjNkI3MjgwO1xyXG5cdC0tZ3JvdXAtdGVhbDogIzVFQkJBQjtcclxuXHQtLWdyb3VwLWdyZWVuOiAjNkFCRjY5O1xyXG5cdC0tZ3JvdXAtYnJvd246ICNBNjdDNTI7XHJcblx0LS1ncm91cC1waW5rOiAjREI3MDkzO1xyXG5cdC0tZ3JvdXAtcHVycGxlOiAjOUI1OUI2O1xyXG5cdC0tZ3JvdXAtYmx1ZTogIzVCOUJENTtcclxuXHQtLWdyb3VwLW5hdnk6ICMxQjNBNTc7XHJcblx0LS1ncm91cC15ZWxsb3c6ICNGNEQwM0Y7XHJcblx0LS1ncm91cC1yZWQ6ICNFNzRDM0M7XHJcblxyXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHQgICBVSSBFTEVNRU5UIENPTE9SU1xyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLXVpLWljb24tZ3JheTogIzZCNzI4MDtcclxuXHQtLXVpLXNlbGVjdGlvbi1ib3JkZXI6ICMyMTI1Mjk7XHJcblxyXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHQgICBSQVRITyBERVNJR04gU1lTVEVNIENPTE9SU1xyXG5cdCAgIE9mZmljaWFsIFJhdGhvIGJyYW5kIGNvbG9ycyBmcm9tIGRlc2lnbiBzeXN0ZW1cclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LyogTWFpbiBhcHAgYmFja2dyb3VuZCAqL1xyXG5cdC0tcmF0aG8tYmctYXBwOiAjRkJGNkYzO1xyXG5cclxuXHQvKiBPcmFuZ2UgZ3JhZGllbnQgKGJ1dHRvbnMsIHNpZGViYXIsIGV0YykgKi9cclxuXHQtLXJhdGhvLWdyYWRpZW50LW9yYW5nZS1zdGFydDogI0Y2NzE2MDtcclxuXHQtLXJhdGhvLWdyYWRpZW50LW9yYW5nZS1lbmQ6ICNGRjhGNjE7XHJcblxyXG5cdC8qIEhlYWRlciBiYXIgZ3JhZGllbnQgKDMtY29sb3IgZ3JhZGllbnQpICovXHJcblx0LS1yYXRoby1oZWFkZXItZ3JhZGllbnQteWVsbG93OiAjRjdBODMyOyAgICAgIC8qIExlZnQgLSBHb2xkZW4geWVsbG93LW9yYW5nZSAqL1xyXG5cdC0tcmF0aG8taGVhZGVyLWdyYWRpZW50LW9yYW5nZTogI0VGN0I1MjsgICAgICAvKiBDZW50ZXIgLSBDb3JhbCBvcmFuZ2UgKi9cclxuXHQtLXJhdGhvLWhlYWRlci1ncmFkaWVudC1jb3JhbDogI0U4ODM3QzsgICAgICAgLyogUmlnaHQgLSBTYWxtb24gY29yYWwgd2l0aCBkdXN0eSByb3NlIHRvbmUgKi9cclxuXHJcblx0LyogR3JvdXAgbGlicmFyaWVzIHNlbGVjdGlvbiAqL1xyXG5cdC0tcmF0aG8tZ3JvdXAtc2VsZWN0aW9uOiAjRkFEOEQ2O1xyXG5cclxuXHQvKiBUZXh0IHVuZGVyIGdyb3VwIGxpYnJhcmllcyAqL1xyXG5cdC0tcmF0aG8tZ3JvdXAtdGV4dDogI0YwQzM3NDtcclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIExFR0FDWSBWQVJJQUJMRVMgKGZvciBjb21wYXRpYmlsaXR5KVxyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQvKiBHcmFkaWVudCBzaG9ydGN1dHMgLSB3aWRlbHkgdXNlZCBhY3Jvc3MgY29kZWJhc2UgKi9cclxuXHQtLWdyYWRpZW50LXN0YXJ0OiB2YXIoLS1icmFuZC1ncmFkaWVudC1zdGFydCk7XHJcblx0LS1ncmFkaWVudC1lbmQ6IHZhcigtLWJyYW5kLWdyYWRpZW50LWVuZCk7XHJcblx0LyogQ3JlYW0gYWxpYXMgLSB1c2VkIGJ5IEVtYmVyIFJhdGhvVGFiVmlldyBmYWxsYmFjayBjaGFpbiAqL1xyXG5cdC0tY3JlYW06IHZhcigtLWJnLWNyZWFtKTtcclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIFRZUE9HUkFQSFlcclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LS1mb250LWZhbWlseS1iYXNlOiAnTnVuaXRvJywgc2Fucy1zZXJpZjtcclxuXHQtLWZvbnQtZmFtaWx5LXN0dWRlbnQ6ICdBQmVlWmVlJywgc2Fucy1zZXJpZjtcclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIExBWU9VVFxyXG5cdCAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQtLXBhZ2UtcGFkOiAxcmVtO1xyXG5cdC0tcGFnZS1tYXg6IDE2MDBweDtcclxuXHQtLWNvbnRlbnQtdG9wLWdhcDogMXJlbTtcclxuXHQtLXNpZGViYXItd2lkdGg6IDE2cmVtO1xyXG5cdC0tc2lkZWJhci1jb250ZW50LWdhcDogNXJlbTtcclxuXHJcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdCAgIENPTVBPTkVOVFNcclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LS1mbHlvdXQtd2lkdGg6IDYwMHB4O1xyXG5cdC0tZmx5b3V0LWhhbmRsZS13aWR0aDogMzJweDtcclxuXHQtLWZseW91dC1oYW5kbGUtaGVpZ2h0OiA4MHB4O1xyXG5cdC0tZmx5b3V0LXJhZGl1czogMTRweDtcclxuXHQtLWZseW91dC1zcGVlZDogMC4zcztcclxuXHQtLWZseW91dC1iZzogdmFyKC0tYmctY3JlYW0pO1xyXG5cdC0tZmx5b3V0LW1hcmdpbjogMzBweDtcclxuXHJcblx0LyogSGVhZGVyICovXHJcblx0LS1oZWFkZXItaGVpZ2h0OiA1cmVtO1xyXG5cclxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0ICAgWi1JTkRFWCBMQVlFUlMgKEJvb3RzdHJhcCBzdGFuZGFyZCArIGN1c3RvbSlcclxuXHQgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0LS16LWJhY2tncm91bmQ6IDA7XHJcblx0LS16LWRlZmF1bHQ6IDE7XHJcblx0LS16LWhlYWRlcjogMTAzMDsgICAgICAgICAgICAgICAgICAgICAgICAgLyogQm9vdHN0cmFwIHN0aWNreSAqL1xyXG5cdC0tei1kcm9wZG93bi1iYWNrZHJvcDogMTA0MDtcclxuXHQtLXotZHJvcGRvd24tbWVudTogMTA0NTtcclxuXHQtLXotb2ZmY2FudmFzLWJhY2tkcm9wOiAxMDUwOyAgICAgICAgICAgICAvKiBCb290c3RyYXAgb2ZmY2FudmFzIGJhY2tkcm9wICovXHJcblx0LS16LW9mZmNhbnZhczogMTA1NTsgICAgICAgICAgICAgICAgICAgICAgLyogQm9vdHN0cmFwIG9mZmNhbnZhcyAqL1xyXG5cdC0tei1mbHlvdXQtaGFuZGxlOiAxMDYwO1xyXG5cdC0tei1tb2RhbC1iYWNrZHJvcDogMTA3MDsgICAgICAgICAgICAgICAgIC8qIEJvb3RzdHJhcCBtb2RhbCBiYWNrZHJvcCAqL1xyXG5cdC0tei1tb2RhbDogMTA4MDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEJvb3RzdHJhcCBtb2RhbCAqL1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBCQVNFIFBBR0UgU1RZTElOR1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuaHRtbCwgYm9keSB7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1hcmdpbjogMDtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktYmFzZSk7XHJcbn1cclxuXHJcbmh0bWwge1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjsgICAgICAgICAgICAgICAgICAgIC8qIFByZXZlbnQgaG9yaXpvbnRhbCBzY3JvbGw7IHZlcnRpY2FsIGhhbmRsZWQgYnkgLnBhZ2UgKi9cclxufVxyXG5cclxuYm9keSB7XHJcblx0bWluLWhlaWdodDogMTAwdmg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY3JlYW0pO1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIExBWU9VVCBVVElMSVRJRVNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIENvbnN0cmFpbmVkIHBhZ2UgY29udGFpbmVyICovXHJcbi5wYWdlLWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiB2YXIoLS1wYWdlLW1heCk7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tcGFnZS1wYWQpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZ2UtcGFkKTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uc2lkZS13aWR0aCB7IFxyXG5cdHdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLm10LWNvbnRlbnQgeyBcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1jb250ZW50LXRvcC1nYXApO1xyXG59XHJcblxyXG4uY29udGVudCB7XHJcblx0cGFkZGluZy10b3A6IDEuMXJlbTtcclxufVxyXG5cclxuLyogQnJhbmQgZ3JhZGllbnQgdXRpbGl0eSAqL1xyXG4uYmctYnJhbmQtZ3JhZGllbnQgeyBcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWdyYWRpZW50LXN0YXJ0KSwgdmFyKC0tZ3JhZGllbnQtZW5kKSk7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFJFU1BPTlNJVkUgQlJFQUtQT0lOVFNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIE1vYmlsZSBkZXZpY2VzIChwb3J0cmFpdCBwaG9uZXMsIDwgNTc2cHgpICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG5cdDpyb290IHtcclxuXHRcdC0tcGFnZS1wYWQ6IDAuNzVyZW07XHJcblx0XHQtLXNpZGViYXItd2lkdGg6IDEwMCU7XHJcblx0XHQtLXNpZGViYXItY29udGVudC1nYXA6IDA7XHJcblx0XHQtLWNvbnRlbnQtdG9wLWdhcDogMC43NXJlbTtcclxuXHRcdC0tZmx5b3V0LXdpZHRoOiAxMDAlO1xyXG5cdFx0LS1mbHlvdXQtbWFyZ2luOiAxMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLyogU21hbGwgZGV2aWNlcyAobGFuZHNjYXBlIHBob25lcywgNTc2cHggLSA3NjhweCkgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuXHQ6cm9vdCB7XHJcblx0XHQtLXBhZ2UtcGFkOiAwLjg3NXJlbTtcclxuXHRcdC0tY29udGVudC10b3AtZ2FwOiAwLjg3NXJlbTtcclxuXHRcdC0tc2lkZWJhci13aWR0aDogMTAwJTtcclxuXHRcdC0tc2lkZWJhci1jb250ZW50LWdhcDogMDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIE1lZGl1bSBkZXZpY2VzICh0YWJsZXRzLCA3NjhweCAtIDk5MnB4KSAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xyXG5cdDpyb290IHtcclxuXHRcdC0tcGFnZS1wYWQ6IDFyZW07XHJcblx0XHQtLXNpZGViYXItd2lkdGg6IDE0cmVtO1xyXG5cdFx0LS1zaWRlYmFyLWNvbnRlbnQtZ2FwOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLyogTGFyZ2UgZGV2aWNlcyAoc21hbGwgZGVza3RvcHMsIDk5MnB4IC0gMTIwMHB4KSAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcclxuXHQ6cm9vdCB7XHJcblx0XHQtLXNpZGViYXItY29udGVudC1nYXA6IDJyZW07XHJcblx0fVxyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIHBhZGRpbmcgZm9yIGxhcmdlciBzY3JlZW5zICh1cCB0byBGdWxsIEhEKSAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7IDpyb290IHsgLS1wYWdlLXBhZDogMS41cmVtOyB9IH1cclxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkgeyA6cm9vdCB7IC0tcGFnZS1wYWQ6IDJyZW07IH0gfVxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7IDpyb290IHsgLS1wYWdlLXBhZDogMi41cmVtOyB9IH1cclxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkgeyA6cm9vdCB7IC0tcGFnZS1wYWQ6IDNyZW07IH0gfVxyXG5cclxuLyogUmVzcG9uc2l2ZSBjb250ZW50IHdpZHRoIGZvciBsYXJnZXIgc2NyZWVucyAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7IDpyb290IHsgLS1wYWdlLW1heDogMTg4MHB4OyB9IH1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIExJTksgJiBCVVRUT04gU1RZTEVTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5hLCAuYnRuLWxpbmsge1xyXG5cdGNvbG9yOiB2YXIoLS1saW5rLWRlZmF1bHQpO1xyXG59XHJcblxyXG4ucGUtZm9yY2Uge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmJ0bi1wcmltYXJ5IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYmcpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYm9yZGVyKTtcclxufVxyXG5cclxuLmJ0bjpmb2N1cyxcclxuLmJ0bjphY3RpdmU6Zm9jdXMsXHJcbi5idG4tbGluay5uYXYtbGluazpmb2N1cyxcclxuLmZvcm0tY29udHJvbDpmb2N1cyxcclxuLmZvcm0tc2VsZWN0OmZvY3VzLFxyXG4uZm9ybS1jaGVjay1pbnB1dDpmb2N1cyB7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMC4xcmVtIHZhcigtLWJnLXdoaXRlKSwgMCAwIDAgMC4yNXJlbSB2YXIoLS1idG4tZm9jdXMpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtZ3JhZGllbnQtc3RhcnQpO1xyXG59XHJcblxyXG5oMTpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRk9STSBWQUxJREFUSU9OIFNUWUxFU1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnZhbGlkLm1vZGlmaWVkOm5vdChbdHlwZT1jaGVja2JveF0pIHtcclxuXHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tc3RhdHVzLXN1Y2Nlc3MtdmFsaWRhdGlvbik7XHJcbn1cclxuXHJcbi5pbnZhbGlkIHtcclxuXHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tc3RhdHVzLWVycm9yLXZhbGlkYXRpb24pO1xyXG59XHJcblxyXG4udmFsaWRhdGlvbi1tZXNzYWdlIHtcclxuXHRjb2xvcjogdmFyKC0tc3RhdHVzLWVycm9yLXZhbGlkYXRpb24pO1xyXG59XHJcblxyXG4uZGFya2VyLWJvcmRlci1jaGVja2JveC5mb3JtLWNoZWNrLWlucHV0IHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtYm9yZGVyLWdyYXkpO1xyXG59XHJcblxyXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0OjpwbGFjZWhvbGRlciwgXHJcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xyXG5cdGNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xyXG5cdHRleHQtYWxpZ246IGVuZDtcclxufVxyXG5cclxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dDpmb2N1czo6cGxhY2Vob2xkZXIsIFxyXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcclxuXHR0ZXh0LWFsaWduOiBzdGFydDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQkxBWk9SIEVSUk9SIEJPVU5EQVJZXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYmxhem9yLWVycm9yLWJvdW5kYXJ5IHtcclxuXHRiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTlRZaUlHaGxhV2RvZEQwaU5Ea2lJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlHOTJaWEptYkc5M1BTSm9hV1JrWlc0aVBqeGtaV1p6UGp4amJHbHdVR0YwYUNCcFpEMGlZMnhwY0RBaVBqeHlaV04wSUhnOUlqSXpOU0lnZVQwaU5URWlJSGRwWkhSb1BTSTFOaUlnYUdWcFoyaDBQU0kwT1NJdlBqd3ZZMnhwY0ZCaGRHZytQQzlrWldaelBqeG5JR05zYVhBdGNHRjBhRDBpZFhKc0tDTmpiR2x3TUNraUlIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLQzB5TXpVZ0xUVXhLU0krUEhCaGRHZ2daRDBpVFRJMk15NDFNRFlnTlRGRE1qWTBMamN4TnlBMU1TQXlOalV1T0RFeklEVXhMalE0TXpjZ01qWTJMall3TmlBMU1pNHlOalU0VERJMk55NHdOVElnTlRJdU56azROeUF5TmpjdU5UTTVJRFV6TGpZeU9ETWdNamt3TGpFNE5TQTVNaTR4T0RNeElESTVNQzQxTkRVZ09USXVOemsxSURJNU1DNDJOVFlnT1RJdU9UazJRekk1TUM0NE56Y2dPVE11TlRFeklESTVNU0E1TkM0d09ERTFJREk1TVNBNU5DNDJOemd5SURJNU1TQTVOeTR3TmpVeElESTRPUzR3TXpnZ09Ua2dNamcyTGpZeE55QTVPVXd5TkRBdU16Z3pJRGs1UXpJek55NDVOak1nT1RrZ01qTTJJRGszTGpBMk5URWdNak0ySURrMExqWTNPRElnTWpNMklEazBMak0zT1RrZ01qTTJMakF6TVNBNU5DNHdPRGcySURJek5pNHdPRGtnT1RNdU9EQTNNa3d5TXpZdU16TTRJRGt6TGpBeE5qSWdNak0yTGpnMU9DQTVNaTR4TXpFMElESTFPUzQwTnpNZ05UTXVOakk1TkNBeU5Ua3VPVFl4SURVeUxqYzVPRFVnTWpZd0xqUXdOeUExTWk0eU5qVTRRekkyTVM0eUlEVXhMalE0TXpjZ01qWXlMakk1TmlBMU1TQXlOak11TlRBMklEVXhXazB5TmpNdU5UZzJJRFkyTGpBeE9ETkRNall3TGpjek55QTJOaTR3TVRneklESTFPUzR6TVRNZ05qY3VNVEkwTlNBeU5Ua3VNekV6SURZNUxqTXpOeUF5TlRrdU16RXpJRFk1TGpZeE1ESWdNalU1TGpNek1pQTJPUzQ0TmpBNElESTFPUzR6TnpFZ056QXVNRGc0TjB3eU5qRXVOemsxSURnMExqQXhOakVnTWpZMUxqTTRJRGcwTGpBeE5qRWdNalkzTGpneU1TQTJPUzQzTkRjMVF6STJOeTQ0TmlBMk9TNDNNekE1SURJMk55NDROemtnTmprdU5UZzNOeUF5TmpjdU9EYzVJRFk1TGpNeE56a2dNalkzTGpnM09TQTJOeTR4TVRneUlESTJOaTQwTkRnZ05qWXVNREU0TXlBeU5qTXVOVGcySURZMkxqQXhPRE5hVFRJMk15NDFOellnT0RZdU1EVTBOME15TmpFdU1EUTVJRGcyTGpBMU5EY2dNalU1TGpjNE5pQTROeTR6TURBMUlESTFPUzQzT0RZZ09Ea3VOemt5TVNBeU5Ua3VOemcySURreUxqSTRNemNnTWpZeExqQTBPU0E1TXk0MU1qazFJREkyTXk0MU56WWdPVE11TlRJNU5TQXlOall1TVRFMklEa3pMalV5T1RVZ01qWTNMak00TnlBNU1pNHlPRE0zSURJMk55NHpPRGNnT0RrdU56a3lNU0F5TmpjdU16ZzNJRGczTGpNd01EVWdNalkyTGpFeE5pQTROaTR3TlRRM0lESTJNeTQxTnpZZ09EWXVNRFUwTjFvaUlHWnBiR3c5SWlOR1JrVTFNREFpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJdlBqd3ZaejQ4TDNOMlp6ND0pIG5vLXJlcGVhdCAxcmVtLzEuOHJlbSwgI2IzMjEyMTtcclxuXHRwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAzLjdyZW07XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uYmxhem9yLWVycm9yLWJvdW5kYXJ5OjphZnRlciB7XHJcblx0Y29udGVudDogXCJBbiBlcnJvciBoYXMgb2NjdXJyZWQuXCJcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBVVElMSVRZIENMQVNTRVMgLSBSZXVzYWJsZSBoZWxwZXJzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBTdXJmYWNlIHV0aWxpdGllcyAqL1xyXG4uY29udGVudC1zb2Z0LWJnIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXBhbmVsLWNyZWFtLWFsdCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAuNzVyZW07XHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG59XHJcblxyXG4uYm9yZGVyLXNvZnQgeyBcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNpZGUtYm9yZGVyLCAjRUFEOUQxKTsgXHJcbn1cclxuXHJcbi8qIEljb24gY29sb3IgKi9cclxuLnRleHQtZ3JhZGllbnQtZW5kIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncmFkaWVudC1lbmQpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBNSVhJTlMgLSBSZXVzYWJsZSBwYXR0ZXJucyBmb3IgUG9ydGFsIGNvbXBvbmVudHNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIEF2YXRhciB3aXRoIGdyYWRpZW50IGJvcmRlciBtaXhpblxyXG4gICBDb25zb2xpZGF0ZXMgZHVwbGljYXRlIHBhdHRlcm4gZnJvbSBTdHVkZW50LnNjc3MsIENsYXNzTWFuYWdlbWVudC5zY3NzLCBVc2VyVGlsZUNhcmQuc2Nzc1xyXG4gICBVc2FnZTogQGluY2x1ZGUgcmF0aG8tYXZhdGFyLWdyYWRpZW50KDEyMHB4LCAzcHgpOyAqL1xyXG5AbWl4aW4gcmF0aG8tYXZhdGFyLWdyYWRpZW50KCRzaXplOiAxMDBweCwgJGJvcmRlci13aWR0aDogM3B4KSB7XHJcbiAgICB3aWR0aDogJHNpemU7XHJcbiAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgcGFkZGluZzogJGJvcmRlci13aWR0aDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgIH1cclxufVxyXG5cclxuLyogR3JhZGllbnQgYm9yZGVyIG1peGluXHJcbiAgIEZvciBhbnkgZWxlbWVudCB0aGF0IG5lZWRzIHRoZSBicmFuZCBncmFkaWVudCBhcyBhIGJvcmRlclxyXG4gICBVc2FnZTogQGluY2x1ZGUgcmF0aG8tZ3JhZGllbnQtYm9yZGVyKDNweCwgOHB4KTsgKi9cclxuQG1peGluIHJhdGhvLWdyYWRpZW50LWJvcmRlcigkYm9yZGVyLXdpZHRoOiAycHgsICRyYWRpdXM6IDhweCkge1xyXG4gICAgcGFkZGluZzogJGJvcmRlci13aWR0aDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8qIEN1c3RvbSBzY3JvbGxiYXIgbWl4aW5cclxuICAgTW92ZWQgZnJvbSBSZXNldFBhc3N3b3JkRmx5b3V0LnNjc3MgZm9yIHJldXNlIGFjcm9zcyBjb21wb25lbnRzXHJcbiAgIFVzYWdlOiBAaW5jbHVkZSBjdXN0b20tc2Nyb2xsYmFyKHZhcigtLWJvcmRlci1zb2Z0KSwgdHJhbnNwYXJlbnQpOyAqL1xyXG5AbWl4aW4gY3VzdG9tLXNjcm9sbGJhcigkdGh1bWItY29sb3I6IHZhcigtLWJzLWdyYXktNDAwKSwgJHRyYWNrLWNvbG9yOiB0cmFuc3BhcmVudCkge1xyXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgIHdpZHRoOiA2cHg7XHJcbiAgICB9XHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHRyYWNrLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIH1cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkdGh1bWItY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBHcmFkaWVudCB0ZXh0IG1peGluXHJcbiAgIEFwcGxpZXMgdGhlIGJyYW5kIGdyYWRpZW50IGFzIHRleHQgY29sb3IgdXNpbmcgYmFja2dyb3VuZC1jbGlwXHJcbiAgIFVzYWdlOiBAaW5jbHVkZSBncmFkaWVudC10ZXh0KCk7ICovXHJcbkBtaXhpbiBncmFkaWVudC10ZXh0KCkge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG59XHJcblxyXG4vKiBNb2RhbCBvdmVybGF5IG1peGluXHJcbiAgIEZ1bGwtdmlld3BvcnQgZGltbWVkIGJhY2tkcm9wIGZvciBtb2RhbCBkaWFsb2dzXHJcbiAgIFVzYWdlOiBAaW5jbHVkZSBtb2RhbC1vdmVybGF5KCk7ICovXHJcbkBtaXhpbiBtb2RhbC1vdmVybGF5KCRiZzogcmdiYSgwLCAwLCAwLCAwLjUpLCAkei1pbmRleDogMTA0MCkge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG4gICAgei1pbmRleDogJHotaW5kZXg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIENlbnRlcmVkIG1vZGFsIGNvbnRhaW5lciBtaXhpblxyXG4gICBGaXhlZC1wb3NpdGlvbiBjZW50ZXJlZCBjb250YWluZXIgZm9yIG1vZGFsIGNvbnRlbnRcclxuICAgVXNhZ2U6IEBpbmNsdWRlIG1vZGFsLWNvbnRhaW5lcig5MDBweCk7ICovXHJcbkBtaXhpbiBtb2RhbC1jb250YWluZXIoJG1heC13aWR0aDogOTAwcHgsICR6LWluZGV4OiAxMDUwLCAkYm9yZGVyLXJhZGl1czogMC41cmVtKSB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgei1pbmRleDogJHotaW5kZXg7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xyXG4gICAgbWF4LWhlaWdodDogOTB2aDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlLCAjZmZmKTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEZvY3VzIHJpbmcgbWl4aW5cclxuICAgQ29uc2lzdGVudCBhY2Nlc3NpYmxlIGZvY3VzIGluZGljYXRvclxyXG4gICBVc2FnZTogQGluY2x1ZGUgZm9jdXMtcmluZygpOyAqL1xyXG5AbWl4aW4gZm9jdXMtcmluZygkd2lkdGg6IDJweCwgJGNvbG9yOiB2YXIoLS1mb2N1cy1yaW5nLWJyYW5kKSwgJG9mZnNldDogMnB4KSB7XHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICBvdXRsaW5lOiAkd2lkdGggc29saWQgJGNvbG9yO1xyXG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAkb2Zmc2V0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBHUkFESUVOVCBVVElMSVRZIENMQVNTRVNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIEJyYW5kIGdyYWRpZW50IGJhY2tncm91bmQgLSBmb3IgZGVjb3JhdGl2ZSBlbGVtZW50cyAqL1xyXG4uYmctYnJhbmQtZ3JhZGllbnQge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1ncmFkaWVudC1zdGFydCksIHZhcigtLWdyYWRpZW50LWVuZCkpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEdyYWRpZW50IGJvcmRlciB1dGlsaXR5IGNsYXNzZXMgKi9cclxuLmdyYWRpZW50LWJvcmRlciB7XHJcbiAgICBAaW5jbHVkZSByYXRoby1ncmFkaWVudC1ib3JkZXIoM3B4LCA4cHgpO1xyXG59XHJcblxyXG4uZ3JhZGllbnQtYm9yZGVyLXNtIHtcclxuICAgIEBpbmNsdWRlIHJhdGhvLWdyYWRpZW50LWJvcmRlcigycHgsIDRweCk7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEdSQURJRU5UIFRFWFQgVVRJTElUWSBDTEFTU0VTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBPcmFuZ2UgZ3JhZGllbnQgdGV4dCAtIGZvciBpY29ucyBhbmQgdGV4dCBlbGVtZW50c1xyXG4gICBVc2VzIENTUyBiYWNrZ3JvdW5kLWNsaXAgdG8gYXBwbHkgZ3JhZGllbnQgdG8gdGV4dC9pY29ucyAqL1xyXG4udGV4dC1icmFuZC1ncmFkaWVudCxcclxuLnJhdGhvLXRpdGxlLWJhci1pY29uLFxyXG4uYmFjay1idXR0b24tYXJyb3cge1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtdGV4dCgpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQT1NJVElPTklORyBVVElMSVRZIENMQVNTRVNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIEJhY2sgYnV0dG9uIHBvc2l0aW9uIC0gdXNlZCB3aXRoIHBvc2l0aW9uLWFic29sdXRlICovXHJcbi5iYWNrLWJ1dHRvbi1wb3NpdGlvbiB7XHJcbiAgICBsZWZ0OiAwLjc1cmVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIFVUSUxJVFkgQ0xBU1NFU1xyXG4gICBFeHRlbmQgQm9vdHN0cmFwJ3MgcmVzcG9uc2l2ZSB1dGlsaXRpZXMgZm9yIG1pc3NpbmcgYnJlYWtwb2ludCB2YXJpYW50c1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogV2lkdGggYXV0byBhdCBtZWRpdW0gYnJlYWtwb2ludCBhbmQgYWJvdmUgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAudy1tZC1hdXRvIHtcclxuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBGaXhlZC1zaXplIHNxdWFyZSBidXR0b24gdXRpbGl0eSAqL1xyXG4uYnRuLWljb24tc3F1YXJlIHtcclxuICAgIHdpZHRoOiAyLjVyZW07XHJcbiAgICBoZWlnaHQ6IDIuNXJlbTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTSEFSRUQgQlVUVE9OIFNUWUxFU1xyXG4gICBSZXVzYWJsZSBidXR0b24gY2xhc3NlcyB1c2VkIGFjcm9zcyBtdWx0aXBsZSBwYWdlc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogR3JhZGllbnQgYWRkIGJ1dHRvbiAtIHVzZWQgYnkgU3RhcnQgcGFnZSdzIFwiTGVzcGFnaW5hXCIgYnV0dG9uICovXHJcbi5saWJyYXJ5LWFkZC1idG4ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcclxuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWdyYWRpZW50LXN0YXJ0KSwgdmFyKC0tZ3JhZGllbnQtZW5kKSk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKDI0NiwgMTEzLCA5NiwgMC4zKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMjQ2LCAxMTMsIDk2LCAwLjQpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDI0NiwgMTEzLCA5NiwgMC4zKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBmb2N1cy1yaW5nKDJweCwgdmFyKC0tZm9jdXMtcmluZyksIDJweCk7XHJcblxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE1BSU4gTEFZT1VUIC0gUGFnZSBzdHJ1Y3R1cmUgYW5kIEJsYXpvciBlcnJvciBVSVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnBhZ2Uge1xyXG5cdG1pbi1oZWlnaHQ6IDEwMGR2aDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jcmVhbSk7XHJcblx0cGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEFib3ZlIG93bCBiYWNrZ3JvdW5kICh6LWluZGV4OiAwKSAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdy15OiBhdXRvOyAgICAgICAgICAgICAgICAgICAgICAvKiBQYWdlLWxldmVsIHNjcm9sbCB3aGVuIGNvbnRlbnQgZXhjZWVkcyB2aWV3cG9ydCAqL1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLyogTWFrZSBwYWdlIGJhY2tncm91bmQgdHJhbnNwYXJlbnQgd2hlbiBvd2wgYmFja2dyb3VuZCBpcyBwcmVzZW50IChzdHVkZW50cykgKi9cclxuLmdyb3VwLXNlbGVjdC1wYWdlLXdyYXBwZXIgfiAucGFnZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qIFN0YW5kYXJkIGxheW91dCBiYWNrZ3JvdW5kIC0gdXNlZCBmb3IgQWNjb3VudCBwYWdlcyAqL1xyXG4uc3RhbmRhcmQtbGF5b3V0LWJnIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jcmVhbSk7XHJcbn1cclxuXHJcbi8qIE1ha2Ugc3RhbmRhcmQgbGF5b3V0IGJhY2tncm91bmQgdHJhbnNwYXJlbnQgd2hlbiBvd2wgYmFja2dyb3VuZCBpcyBwcmVzZW50ICovXHJcbi5ncm91cC1zZWxlY3QtcGFnZS13cmFwcGVyIH4gLnN0YW5kYXJkLWxheW91dC1iZyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qIEdhcCBiZXR3ZWVuIHNpZGViYXIgYW5kIG1haW4gY29udGVudCAtIHVzZXMgQ1NTIHZhcmlhYmxlIGZyb20gR2VuZXJhbC5zY3NzICovXHJcbi5sYXlvdXQtZ2FwIHtcclxuXHRnYXA6IHZhcigtLXNpZGViYXItY29udGVudC1nYXApO1xyXG59XHJcblxyXG4vKiBQYWdlIGNvbnRhaW5lciBmaWxscyByZW1haW5pbmcgdmVydGljYWwgc3BhY2Ugc28gY29udGVudCBzdHJldGNoZXMgdG8gdmlld3BvcnQgKi9cclxuLnBhZ2UgPiAucGFnZS1jb250YWluZXIge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi8qIERlc2t0b3A6IHNpZGViYXIgc3RpY2tzIGluIHBsYWNlIHdoaWxlIGNvbnRlbnQgc2Nyb2xscyB3aXRoaW4gLnBhZ2UuICovXHJcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xyXG5cdC5sYXlvdXQtZ2FwID4gLnNpZGUtd2lkdGgge1xyXG5cdFx0cG9zaXRpb246IHN0aWNreTtcclxuXHRcdHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSArIDFyZW0pO1xyXG5cdFx0YWxpZ24tc2VsZjogZmxleC1zdGFydDsgICAgICAgICAgICAvKiBEb24ndCBzdHJldGNoIHRvIGNvbnRlbnQgaGVpZ2h0ICovXHJcblx0fVxyXG59XHJcblxyXG4udGFiLW1haW4ge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRtaW4td2lkdGg6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBQcmV2ZW50IGZsZXggaXRlbSBvdmVyZmxvdyAqL1xyXG5cdG1pbi1oZWlnaHQ6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEFsbG93IGZsZXggc2hyaW5raW5nIGJlbG93IGNvbnRlbnQgc2l6ZSAqL1xyXG5cdHBhZGRpbmctYm90dG9tOiAwLjc1cmVtOyAgICAgICAgICAgICAgIC8qIE1hdGNoIHNpZGViYXIgbmF2LWJ0biBtYXJnaW4tYm90dG9tIGZvciBib3R0b20gYWxpZ25tZW50ICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLXNlbGY6IHN0cmV0Y2g7ICAgICAgICAgICAgICAgICAgIC8qIFN0cmV0Y2ggdmVydGljYWxseSB0byBmaWxsIHBhZ2UtY29udGFpbmVyIGhlaWdodCAqL1xyXG5cclxuXHQvKiBQYWdlcyB3aXRob3V0IHRhYnM6IG1hcmdpbi10b3AgbWF0Y2hlcyB0YWIgYmFyIGhlaWdodCBzbyBjb250ZW50XHJcblx0ICAgYWxpZ25zIHdpdGggdGFiYmVkIHBhZ2VzLiBtYXJnaW4tYm90dG9tOiAwIG92ZXJyaWRlcyBiYXNlIC5yYXRoby1jYXJkIG1hcmdpbi4gKi9cclxuXHQ+IC5yYXRoby1jYXJkIHtcclxuXHRcdGZsZXg6IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZpbGwgcmVtYWluaW5nIHZlcnRpY2FsIHNwYWNlICovXHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0bWFyZ2luLXRvcDogMy41cmVtOyAgICAgICAgICAgICAgICAgICAgLyogTWF0Y2ggdGFiIGJhciBoZWlnaHQgZm9yIGNvbnNpc3RlbnQgdmVydGljYWwgYWxpZ25tZW50ICovXHJcblx0fVxyXG5cclxuXHQucmF0aG8tdGFiLXZpZXcge1xyXG5cdFx0ZmxleDogMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRmlsbCByZW1haW5pbmcgdmVydGljYWwgc3BhY2UgaW4gdGFiLW1haW4gKi9cclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuXHRcdC8qIE9ubHkgdGhlIGFjdGl2ZSB0YWIgZ2V0cyB0aGUgc2FtZSBzaGFkb3cgYXMgdGhlIGNvbnRlbnQgY2FyZCAqL1xyXG5cdFx0Lm5hdi1saW5rLmFjdGl2ZSB7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcclxuXHRcdH1cclxuXHJcblx0XHQucmF0aG8tdGFiLWNvbnRlbnQge1xyXG5cdFx0XHRmbGV4OiAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZpbGwgcmVtYWluaW5nIHZlcnRpY2FsIHNwYWNlIGJlbG93IHRhYnMgKi9cclxuXHRcdFx0b3ZlcmZsb3c6IHZpc2libGU7ICAgICAgICAgICAgICAgICAvKiBPdmVycmlkZSBiYXNlIG92ZXJmbG93OiBoaWRkZW4g4oCUIGNvbnRlbnQgZ3Jvd3MgbmF0dXJhbGx5ICovXHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgLyogTWF0Y2ggLnJhdGhvLWNhcmQgc2hhZG93ICovXHJcblxyXG5cdFx0XHQvKiBSZW1vdmUgYmFzZSA6OmJlZm9yZSAzLXNpZGVkIHNoYWRvdyDigJQgdGhlIGRpcmVjdCBib3gtc2hhZG93IGFib3ZlIGlzIHN1ZmZpY2llbnQgKi9cclxuXHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBNT0JJTEUgU0lERUJBUiBPRkZDQU5WQVMgLSBOYXZpZ2F0aW9uIGRyYXdlciBmb3IgbW9iaWxlIGRldmljZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5tb2JpbGUtc2lkZWJhci1vZmZjYW52YXMge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNyZWFtKTtcclxuXHR3aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aCk7XHJcblx0bWF4LXdpZHRoOiA4NXZ3OyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRG9uJ3QgZXhjZWVkIDg1JSBvZiB2aWV3cG9ydCBvbiBzbWFsbCBzY3JlZW5zICovXHJcblx0ei1pbmRleDogdmFyKC0tei1vZmZjYW52YXMpO1xyXG5cclxuXHQub2ZmY2FudmFzLWhlYWRlciB7XHJcblx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgICAgICAgICAgICAvKiBDbG9zZSBidXR0b24gb24gdGhlIHJpZ2h0ICovXHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXNvZnQpO1xyXG5cdH1cclxuXHJcblx0Lm9mZmNhbnZhcy1ib2R5IHtcclxuXHRcdC8qIEFsbG93IHNpZGViYXIgY29udGVudCB0byBzY3JvbGwgaWYgbmVlZGVkICovXHJcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0LyogRW5zdXJlIHNpZGViYXIgbmF2IGJ1dHRvbnMgZmlsbCB0aGUgZHJhd2VyICovXHJcblx0LnBvcnRhbC1zaWRlYmFyIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0LyogQXZhdGFyIHNpemUgZGVmZXJzIHRvIFByb2ZpbGVDYXJkLnNjc3MgcmVzcG9uc2l2ZSBydWxlcyAqL1xyXG59XHJcblxyXG4vKiBCbGF6b3IgZXJyb3Igbm90aWZpY2F0aW9uICovXHJcbiNibGF6b3ItZXJyb3ItdWkge1xyXG5cdGNvbG9yLXNjaGVtZTogbGlnaHQgb25seTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iZy1lcnJvci1saWdodCk7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGJveC1zaGFkb3c6IDAgLTFweCAycHggdmFyKC0tc2hhZG93LTJ4bCk7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRsZWZ0OiAwO1xyXG5cdHBhZGRpbmc6IDAuNnJlbSAxLjI1cmVtIDAuN3JlbSAxLjI1cmVtO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR6LWluZGV4OiAxMDAwO1xyXG5cdFxyXG5cdC5kaXNtaXNzIHtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiAwLjc1cmVtO1xyXG5cdFx0dG9wOiAwLjVyZW07XHJcblx0fVxyXG5cdFxyXG5cdC5yZWxvYWQge1xyXG5cdFx0Y29sb3I6IGluaGVyaXQ7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUE9SVEFMIEhFQURFUiAtIFRvcCBuYXZpZ2F0aW9uIGJhciB3aXRoIFNWRyBncmFkaWVudCBiYWNrZ3JvdW5kXHJcblxyXG4gICBOT1RFOiBMb2dvIHN0eWxpbmcgaXMgbm93IGluIFJhdGhvLlVJLkVtYmVyIChyYXRob2xvZ28uc2NzcykuXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBIZWFkZXIgY29udGFpbmVyIHdpdGggU1ZHIGJhY2tncm91bmQgKi9cclxuLnBvcnRhbC1oZWFkZXIge1xyXG5cdGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XHJcblx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IHZhcigtLXotaGVhZGVyKTtcclxufVxyXG5cclxuLyogTW9iaWxlIHNpZGViYXIgdG9nZ2xlIGJ1dHRvbiAqL1xyXG4ubW9iaWxlLXNpZGViYXItdG9nZ2xlIHtcclxuXHR3aWR0aDogMi41cmVtO1xyXG5cdGhlaWdodDogMi41cmVtO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogMXJlbTtcclxuXHRib3gtc2hhZG93OiAwIDJweCA2cHggdmFyKC0tc2hhZG93LWxnKTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzIGVhc2U7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0Ym94LXNoYWRvdzogMCA0cHggMTBweCB2YXIoLS1zaGFkb3cteGwpO1xyXG5cdH1cclxuXHJcblx0aSB7XHJcblx0XHRmb250LXNpemU6IDEuMjVyZW07XHJcblx0XHRjb2xvcjogdmFyKC0tZ3JhZGllbnQtZW5kKTtcclxuXHR9XHJcbn1cclxuXHJcbi5wb3J0YWwtaGVhZGVyLWdyYWRpZW50IHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBTVkcgaGVhZGVyIGJhY2tncm91bmQgLSBzcGFucyBmdWxsIHdpZHRoIHdpdGggY3VydmVkIGJvdHRvbSBlZGdlICovXHJcbi5wb3J0YWwtaGVhZGVyLXN2ZyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4vKiBDb250ZW50IG92ZXJsYXkgLSBwb3NpdGlvbmVkIGFib3ZlIHRoZSBTVkcgYmFja2dyb3VuZCAqL1xyXG4ucG9ydGFsLWhlYWRlci1jb250ZW50IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0cGFkZGluZy1ib3R0b206IDFyZW07ICAgICAgICAgICAgICAgLyogUHVzaCBjb250ZW50IHVwIGZyb20gY3VydmVkIGJvdHRvbSBlZGdlICovXHJcblxyXG5cdC8qIExlZnQgc2lkZSBlbGVtZW50cyAtIHRpbHQgdG8gZm9sbG93IGN1cnZlICovXHJcblx0PiBkaXY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLjNkZWcpO1xyXG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC8qIFJpZ2h0IHNpZGUgZWxlbWVudHMgLSB0aWx0IG9wcG9zaXRlIGRpcmVjdGlvbiB0byBmb2xsb3cgY3VydmUgKi9cclxuXHQ+IGRpdjpsYXN0LWNoaWxkIHtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKC0uM2RlZyk7XHJcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xyXG5cdH1cclxufVxyXG5cclxuLyogTW9iaWxlIGNlbnRlcmVkIGxvZ28gLSBhYnNvbHV0ZWx5IGNlbnRlcmVkIGJldHdlZW4gbGVmdC9yaWdodCBidXR0b24gZ3JvdXBzICovXHJcbi5wb3J0YWwtaGVhZGVyLWxvZ28tY2VudGVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRvcDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxcmVtOyAvKiBNYXRjaCBoZWFkZXIgY29udGVudCBwYWRkaW5nLWJvdHRvbSAqL1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIEFESlVTVE1FTlRTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBFeHRyYSBzbWFsbCBkZXZpY2VzIChwb3J0cmFpdCBwaG9uZXMsIDwgNTc2cHgpICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG5cdC5tb2JpbGUtc2lkZWJhci10b2dnbGUge1xyXG5cdFx0d2lkdGg6IDIuMjVyZW07XHJcblx0XHRoZWlnaHQ6IDIuMjVyZW07XHJcblx0XHRib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG5cclxuXHRcdGkge1xyXG5cdFx0XHRmb250LXNpemU6IDEuMXJlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5wb3J0YWwtaGVhZGVyLWNvbnRlbnQge1xyXG5cdFx0LyogUmVkdWNlIGxlZnQgZ3JvdXAgZ2FwIG9uIG1vYmlsZSBmb3IgdGlnaHRlciBsYXlvdXQgKi9cclxuXHRcdD4gZGl2OmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0Z2FwOiAwLjVyZW0gIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUE9SVEFMIFNJREVCQVIgLSBTaWRlIG5hdmlnYXRpb24gd2l0aCByZXNwb25zaXZlIGJlaGF2aW9yXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ucG9ydGFsLXNpZGViYXIge1xyXG4gICAgd2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE5vIGdhcCwgaXRlbXMgY29udHJvbCB0aGVpciBvd24gc3BhY2luZyAqL1xyXG5cclxuICAgIC8qIEZ1bGwgd2lkdGggb24gbW9iaWxlICovXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIE5hdmlnYXRpb24gc2VjdGlvbiBzcGFjaW5nICovXHJcbiAgICAucmF0aG8tc2lkZWJhci1uYXYtYnRuOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgICAgICAgICAgICAgICAvKiBTcGFjZSBhZnRlciBwcm9maWxlIGNhcmQgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKiBFbnN1cmUgY29uc2lzdGVudCBzcGFjaW5nIGZvciBncm91cCBsaWJyYXJpZXMgKi9cclxuICAgIC5ncm91cC1saWJyYXJpZXMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07ICAgICAgICAgICAgICAvKiBSZWR1Y2VkIHNwYWNpbmcgKi9cclxuICAgIH1cclxufVxyXG5cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEhFQURFUiBEUk9QRE9XTiAtIEJhc2UgZHJvcGRvd24gbWVudSBzdHlsaW5nIGZvciBoZWFkZXIgY29tcG9uZW50c1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmhlYWRlci1kcm9wZG93biB7XHJcbiAgICAtLWRyb3Bkb3duLWJ0bi1zaXplOiAyLjVyZW07XHJcbiAgICAtLWRyb3Bkb3duLW1pbi13aWR0aDogMjgwcHg7XHJcbiAgICAtLWRyb3Bkb3duLXJhZGl1czogMXJlbTtcclxuICAgIC0tZHJvcGRvd24tdHJhbnNpdGlvbjogMC4xOHMgZWFzZTtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB6LWluZGV4OiB2YXIoLS16LWRyb3Bkb3duLW1lbnUpO1xyXG59XHJcblxyXG4uaGVhZGVyLWRyb3Bkb3duLWJ0biB7XHJcbiAgICB3aWR0aDogdmFyKC0tZHJvcGRvd24tYnRuLXNpemUpO1xyXG4gICAgaGVpZ2h0OiB2YXIoLS1kcm9wZG93bi1idG4tc2l6ZSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1kcm9wZG93bi1yYWRpdXMpO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHZhcigtLXNoYWRvdy1sZyk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IHZhcigtLXNoYWRvdy14bCk7XHJcbiAgICB9XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmFkaWVudC1lbmQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGVyLWRyb3Bkb3duLW1lbnUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBjYWxjKDEwMCUgKyAwLjI1cmVtKTtcclxuICAgIG1pbi13aWR0aDogdmFyKC0tZHJvcGRvd24tbWluLXdpZHRoKTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRyb3Bkb3duLXJhZGl1cyk7XHJcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDVweCB2YXIoLS1zaGFkb3cteGwpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2lkZS1ib3JkZXIpO1xyXG4gICAgcGFkZGluZzogMXJlbTtcclxuICAgIHotaW5kZXg6IHZhcigtLXotZHJvcGRvd24tbWVudSk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkyKTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHJvcGRvd24tdHJhbnNpdGlvbiksIHRyYW5zZm9ybSB2YXIoLS1kcm9wZG93bi10cmFuc2l0aW9uKTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgICYuc2hvdyB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIEFESlVTVE1FTlRTIC0gQm9vdHN0cmFwIGJyZWFrcG9pbnRzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBTbWFsbCBkZXZpY2VzIChsYW5kc2NhcGUgcGhvbmVzLCA8IDc2OHB4KSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAgIC5oZWFkZXItZHJvcGRvd24ge1xyXG4gICAgICAgIC0tZHJvcGRvd24tbWluLXdpZHRoOiAyNjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLWRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEV4dHJhIHNtYWxsIGRldmljZXMgKHBvcnRyYWl0IHBob25lcywgPCA1NzZweCkgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAuaGVhZGVyLWRyb3Bkb3duIHtcclxuICAgICAgICAtLWRyb3Bkb3duLWJ0bi1zaXplOiAyLjI1cmVtO1xyXG4gICAgICAgIC0tZHJvcGRvd24tbWluLXdpZHRoOiBtaW4oMjQwcHgsIGNhbGMoMTAwdncgLSAycmVtKSk7XHJcbiAgICAgICAgLS1kcm9wZG93bi1yYWRpdXM6IDAuNzVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci1kcm9wZG93bi1idG4gaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci1kcm9wZG93bi1tZW51IHtcclxuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTtcclxuICAgIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBEUk9QRE9XTiBNRU5VIElURU0gLSBTdHlsZWQgbWVudSBpdGVtIGZvciBoZWFkZXIgZHJvcGRvd25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZHJvcGRvd24tbWVudS1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgcGFkZGluZzogMC42NXJlbSAwLjZyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjZyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1wYW5lbC1jcmVhbSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnkpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICB3aWR0aDogMS4yNXJlbTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kcm9wZG93bi1tZW51LWl0ZW0tZGlzYWJsZWQge1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICBpOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkLCAjOWNhM2FmKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUkVTUE9OU0lWRSBBREpVU1RNRU5UUyAtIEltcHJvdmUgdG91Y2ggdGFyZ2V0cyBvbiBtb2JpbGVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgLmRyb3Bkb3duLW1lbnUtaXRlbSB7XHJcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAwLjYyNXJlbTtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0NHB4OyAvKiBXQ0FHIG1pbmltdW0gdG91Y2ggdGFyZ2V0ICovXHJcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIRUFERVIgU0VUVElOR1MgRFJPUERPV04gLSBTZXR0aW5ncyBtZW51IHBvc2l0aW9uaW5nXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaGVhZGVyLXNldHRpbmdzLWRyb3Bkb3duIC5oZWFkZXItZHJvcGRvd24tbWVudSB7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcclxufVxyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSEVBREVSIEFQUCBEUkFXRVIgLSBBcHAgc2hvcnRjdXRzIGdyaWQgZHJvcGRvd25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5oZWFkZXItYXBwLWRyYXdlciB7XHJcbiAgICAuaGVhZGVyLWRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEN1c3RvbSA5LWRvdCBncmlkIGljb24gKGlubGluZSBTVkcpICovXHJcbi5oZWFkZXItYXBwLWRyYXdlci1idG4ge1xyXG4gICAgLmN1c3RvbS1ncmlkLWljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tZ3JhZGllbnQtZW5kKTtcclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlci1hcHAtZHJhd2VyLWdyaWQge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICBnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLmhlYWRlci1hcHAtZHJhd2VyLWl0ZW0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNpZGUtYm9yZGVyKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctcGFuZWwtY3JlYW0pO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGVyLWFwcC1kcmF3ZXItaWNvbiB7XHJcbiAgICB3aWR0aDogMzZweDtcclxuICAgIGhlaWdodDogMzZweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZ3JheS1saWdodCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMjRweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdWktaWNvbi1ncmF5KTtcclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlci1hcHAtZHJhd2VyLW5hbWUge1xyXG4gICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIEFESlVTVE1FTlRTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBNb2JpbGU6IGVuc3VyZSBkcm9wZG93biBkb2Vzbid0IG92ZXJmbG93IHZpZXdwb3J0ICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgLmhlYWRlci1hcHAtZHJhd2VyIHtcclxuICAgICAgICAuaGVhZGVyLWRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICBsZWZ0OiAtMC41cmVtO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IG1pbigyNjBweCwgY2FsYygxMDB2dyAtIDJyZW0pKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci1hcHAtZHJhd2VyLWdyaWQge1xyXG4gICAgICAgIGdhcDogMC4zNzVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci1hcHAtZHJhd2VyLWl0ZW0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuMzc1cmVtIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci1hcHAtZHJhd2VyLWljb24ge1xyXG4gICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgIGhlaWdodDogMzJweDtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLWFwcC1kcmF3ZXItbmFtZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFBST0ZJTEUgQ0FSRCAtIFNpZGViYXIgdXNlciBwcm9maWxlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBTdHVkZW50IFByb2ZpbGUgLSBDZW50ZXJlZCBhdmF0YXIgd2l0aCBzdGFja2VkIG5hbWVcclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5zdHVkZW50LXByb2ZpbGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxcmVtIDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnN0dWRlbnQtcHJvZmlsZS1hdmF0YXIge1xyXG5cdC8qIFJlc3BvbnNpdmUgYXZhdGFyIC0gdGFrZXMgbW9zdCBvZiBzaWRlYmFyIHdpZHRoICovXHJcblx0d2lkdGg6IG1pbig4NSUsIDIyMHB4KTtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0YXNwZWN0LXJhdGlvOiAxO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRwYWRkaW5nOiA2cHg7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1ncmFkaWVudC1zdGFydCksIHZhcigtLWdyYWRpZW50LWVuZCkpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggdmFyKC0tc2hhZG93LXNtKTtcclxuXHJcblx0aW1nIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7XHJcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdHVkZW50LXByb2ZpbGUtbmFtZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjEyNXJlbTtcclxuXHJcblx0LnN0dWRlbnQtZmlyc3RuYW1lIHtcclxuXHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRjb2xvcjogI0Y2NzE2MDsgICAgICAgICAgICAgICAgICAgICAgIC8qIERhcmtlciBvcmFuZ2UtcmVkIG1hdGNoaW5nIGhlYWRlciBncmFkaWVudCAqL1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHR9XHJcblxyXG5cdC5zdHVkZW50LWxhc3RuYW1lIHtcclxuXHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRjb2xvcjogdmFyKC0tdGV4dC1kYXJrKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0fVxyXG5cclxuXHQuc3R1ZGVudC1ncm91cG5hbWUge1xyXG5cdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0XHRtYXJnaW4tdG9wOiAwLjI1cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgVGVhY2hlci9BZG1pbiBQcm9maWxlIENhcmRcclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5wcm9maWxlLWNhcmQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxuXHRib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG5cdGJveC1zaGFkb3c6IDAgMXB4IDJweCB2YXIoLS1zaGFkb3ctc20pO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTsgICAgICAgICAgICAgICAgICAvKiBSZWR1Y2VkIHNwYWNpbmcgKi9cclxufVxyXG5cclxuLnByb2ZpbGUtY2FyZC1oZWFkZXIge1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuXHRwYWRkaW5nOiAwLjc1cmVtO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnByb2ZpbGUtYXZhdGFyIHtcclxuXHR3aWR0aDogMi41cmVtO1xyXG5cdGhlaWdodDogMi41cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0aW1nIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0fVxyXG5cclxuXHQucHJvZmlsZS1hdmF0YXItb3ZlcmxheSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1vdmVybGF5LWRhcmspO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxuXHJcblx0XHRpIHtcclxuXHRcdFx0Y29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG5cdFx0XHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jjpob3ZlciAucHJvZmlsZS1hdmF0YXItb3ZlcmxheSxcclxuXHQmOmZvY3VzIC5wcm9maWxlLWF2YXRhci1vdmVybGF5IHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZmlsZS1pbmZvIHtcclxuXHRtYXJnaW4tbGVmdDogMC43NXJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbi5wcm9maWxlLW5hbWUge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDFyZW07XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4ucHJvZmlsZS1kZXRhaWwge1xyXG5cdG9wYWNpdHk6IDAuODU7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5wcm9maWxlLWNhcmQtZm9vdGVyIHtcclxuXHRwYWRkaW5nOiAwLjc1cmVtO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5wcm9maWxlLWVudi1sb2dvIHtcclxuXHRoZWlnaHQ6IDNyZW07XHJcblx0d2lkdGg6IGF1dG87XHJcblx0b2JqZWN0LWZpdDogY29udGFpbjtcclxufVxyXG5cclxuLnByb2ZpbGUtc3dpdGNoLWJ0biB7XHJcblx0d2lkdGg6IDJyZW07XHJcblx0aGVpZ2h0OiAycmVtO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWdyYXktbGlnaHQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZ3JheS1tZWRpdW0pO1xyXG5cdH1cclxuXHJcblx0aSB7XHJcblx0XHRmb250LXNpemU6IDFyZW07XHJcblx0XHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIEFESlVTVE1FTlRTIC0gTW9iaWxlIG9mZmNhbnZhcyBzaWRlYmFyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBTbWFsbGVyIHN0dWRlbnQgYXZhdGFyIGluIG1vYmlsZSBvZmZjYW52YXMgdG8gc2F2ZSBzcGFjZSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcclxuXHQuc3R1ZGVudC1wcm9maWxlIHtcclxuXHRcdHBhZGRpbmc6IDAuNzVyZW0gMDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcblx0fVxyXG5cclxuXHQuc3R1ZGVudC1wcm9maWxlLWF2YXRhciB7XHJcblx0XHR3aWR0aDogbWluKDYwJSwgMTYwcHgpO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cdH1cclxuXHJcblx0LnN0dWRlbnQtcHJvZmlsZS1uYW1lIHtcclxuXHRcdC5zdHVkZW50LWZpcnN0bmFtZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zdHVkZW50LWxhc3RuYW1lLFxyXG5cdFx0LnN0dWRlbnQtZ3JvdXBuYW1lIHtcclxuXHRcdFx0Zm9udC1zaXplOiAwLjlyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucHJvZmlsZS1lbnYtbG9nbyB7XHJcblx0XHRoZWlnaHQ6IDIuNXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG5cdC5zdHVkZW50LXByb2ZpbGUtYXZhdGFyIHtcclxuXHRcdHdpZHRoOiBtaW4oNTAlLCAxNDBweCk7XHJcblx0fVxyXG5cclxuXHQuc3R1ZGVudC1wcm9maWxlLW5hbWUge1xyXG5cdFx0LnN0dWRlbnQtZmlyc3RuYW1lIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zdHVkZW50LWxhc3RuYW1lLFxyXG5cdFx0LnN0dWRlbnQtZ3JvdXBuYW1lIHtcclxuXHRcdFx0Zm9udC1zaXplOiAwLjg1cmVtO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgR1JPVVAgTElCUkFSSUVTIC0gQ29sbGFwc2libGUgZ3JvdXAgbGlzdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmdyb3VwLWxpYnJhcmllcyB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IHZhcigtLXotZHJvcGRvd24tbWVudSk7XHJcblx0bWFyZ2luLXRvcDogMC4yNXJlbTsgICAgICAgICAgICAgICAgICAgICAgLyogUmVkdWNlZCB0byBncm91cCB2aXN1YWxseSB3aXRoIExpYnJhcnkgYnV0dG9uIGFib3ZlICovXHJcblx0bWFyZ2luLWJvdHRvbTogMC43NXJlbTtcclxuXHJcblx0LyogTWFpbiB0b2dnbGUgaWNvbiAtIGxhcmdlciB0byBtYXRjaCBuYXYgYnV0dG9ucyAqL1xyXG5cdD4gLmdyb3VwLWxpYnJhcmllcy10b2dnbGUgLmdyb3VwLWljb24ge1xyXG5cdFx0Zm9udC1zaXplOiAxLjVyZW07ICAgICAgICAgICAgICAgICAgICAvKiBMYXJnZXIgaWNvbiBpbiB0aGUgZHJvcGRvd24gaGVhZGVyICovXHJcblx0XHR3aWR0aDogMS44NzVyZW07ICAgICAgICAgICAgICAgICAgICAgIC8qIE1hdGNoIG5hdiBidXR0b24gaWNvbiB3aWR0aCAqL1xyXG5cdH1cclxuXHJcblx0Lmdyb3VwLWljb24ge1xyXG5cdFx0Y29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1saWdodCk7XHJcblx0fVxyXG5cclxuXHQvKiBPcmFuZ2UgdG9nZ2xlIHN3aXRjaCBzdHlsaW5nICovXHJcblx0LmZvcm0tY2hlY2staW5wdXQge1xyXG5cdFx0JjpjaGVja2VkIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0LCAjZmY4ZjYxKTtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQsICNmZjhmNjEpO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1saWdodCwgI2ZmOGY2MSk7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgyNTUsIDE0MywgOTcsIDAuMjUpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmdyb3VwLWxpYnJhcmllcy10b2dnbGUge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icy1ncmF5LTMwMCwgI2RlZTJlNik7XHJcblx0cGFkZGluZzogMXJlbSAwLjVyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdH1cclxuXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZm9jdXMtcmluZy1icmFuZC1hbHQpO1xyXG5cdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcclxuXHR9XHJcblxyXG5cdD4gc3BhbiB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGdhcDogMXJlbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSW5jcmVhc2VkIGdhcCB0byBiZXR0ZXIgbWF0Y2ggbmF2IGJ1dHRvbnMgKi9cclxuXHJcblx0XHQmOmZpcnN0LWNoaWxkIHNwYW4ge1xyXG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRmb250LXNpemU6IDFyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZ3JvdXAtbGlicmFyaWVzLWNvdW50IHtcclxuXHRcdGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcblx0fVxyXG5cclxuXHQvKiBDaGV2cm9uIGljb24gd2l0aCB3aGl0ZSBjaXJjbGUgYmFja2dyb3VuZCAqL1xyXG5cdC5ncm91cC1saWJyYXJpZXMtdG9nZ2xlLWljb24ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAxLjVyZW07XHJcblx0XHRoZWlnaHQ6IDEuNXJlbTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlLCAjZmZmZmZmKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdGZvbnQtc2l6ZTogMC42MjVyZW07XHJcblx0XHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xyXG5cdH1cclxuXHJcblx0JlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0gLmdyb3VwLWxpYnJhcmllcy10b2dnbGUtaWNvbiB7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdH1cclxufVxyXG5cclxuLmdyb3VwLWxpYnJhcmllcy1saXN0IHtcclxuXHRtYXJnaW4tdG9wOiAwLjc1cmVtO1xyXG5cdHBhZGRpbmc6IDAgMC4yNXJlbTtcclxufVxyXG5cclxuLmdyb3VwLWxpYnJhcmllcy1pdGVtIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWdyYXktNDAwLCAjYWRiNWJkKTtcclxuXHRib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcblx0cGFkZGluZzogMC42MjVyZW0gMC44NzVyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cdG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xyXG5cdG1hcmdpbi1yaWdodDogMC4yNXJlbTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBvcGFjaXR5IDAuM3MgZWFzZSwgbWF4LWhlaWdodCAwLjNzIGVhc2UsIG1hcmdpbi1ib3R0b20gMC4zcyBlYXNlLCBwYWRkaW5nIDAuM3MgZWFzZTtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdG1heC1oZWlnaHQ6IDEwMHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctaG92ZXItY3JlYW0pO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1icy1ncmF5LTUwMCwgIzZjNzU3ZCk7XHJcblx0fVxyXG5cclxuXHQuZ3JvdXAtbGlicmFyaWVzLWxpbmsge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG5cdFx0ZmxleC1ncm93OiAxO1xyXG5cdFx0Zm9udC1zaXplOiAwLjkzNzVyZW07XHJcblxyXG5cdFx0Lmdyb3VwLWljb24ge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0KTtcclxuXHRcdFx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcclxuXHRcdH1cclxuXHJcblx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlLCAjZmZmZmZmKTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCY6aGFzKC5ncm91cC1saWJyYXJpZXMtbGluay5hY3RpdmUpIHtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI0ZGOUE2QywgI0YxNkI1QSk7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5KTtcclxuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMjQ2LCAxMTMsIDk2LCAwLjM1KTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjRkY5QTZDLCAjRjE2QjVBKTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmdyb3VwLWxpYnJhcmllcy1saW5rLFxyXG5cdFx0Lmdyb3VwLWxpYnJhcmllcy1saW5rOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6IHZhcigtLXRleHQtd2hpdGUsICNmZmZmZmYpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5ncm91cC1pY29uIHtcclxuXHRcdFx0Y29sb3I6IHZhcigtLXRleHQtd2hpdGUsICNmZmZmZmYpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGkuZmEtY2hldnJvbi1yaWdodCB7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlLCAjZmZmZmZmKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGkuZmEtY2hldnJvbi1yaWdodCB7XHJcblx0XHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0XHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0fVxyXG5cclxuXHQvLyBBZGp1c3QgdG9nZ2xlIGJ1dHRvbiBzdHlsaW5nIHdpdGhpbiB0aGUgaXRlbVxyXG5cdC5mb3JtLWNoZWNrIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRtaW4taGVpZ2h0OiBhdXRvO1xyXG5cclxuXHRcdC5mb3JtLWNoZWNrLWlucHV0IHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuZ3JvdXAtaXRlbS1oaWRkZW4ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdG1heC1oZWlnaHQ6IDA7XHJcblx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAwO1xyXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4uZ3JvdXAtbGlicmFyaWVzLXZpZXctYWxsIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC4zNzVyZW07XHJcblx0d2lkdGg6IGNhbGMoMTAwJSAtIDAuNXJlbSk7XHJcblx0bWFyZ2luLXRvcDogMC41cmVtO1xyXG5cdG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xyXG5cdG1hcmdpbi1yaWdodDogMC4yNXJlbTtcclxuXHRwYWRkaW5nLXRvcDogMC42MjVyZW07XHJcblx0Y29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1kYXJrLCAjZDQ4NzBmKTtcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogdmFyKC0tYnJhbmQtc2Vjb25kYXJ5KTtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR9XHJcblxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWZvY3VzLXJpbmctYnJhbmQtYWx0KTtcclxuXHRcdG91dGxpbmUtb2Zmc2V0OiAycHg7XHJcblx0fVxyXG5cclxuXHRpW2NsYXNzKj1cImZhLWNoZXZyb25cIl0ge1xyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcclxuXHRcdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFVTRVIgVElMRSBDQVJEIC0gVXNlciBjYXJkIGZvciBwaG90byBzZWxlY3Rpb24gbG9naW5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi51c2VyLXRpbGUtY2FyZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcclxuXHJcbiAgICAgICAgLnVzZXItdGlsZS1hdmF0YXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHZhcigtLXNoYWRvdy1sZyk7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnVzZXItdGlsZS1uYW1lIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4udXNlci10aWxlLWF2YXRhciB7XHJcbiAgICBAaW5jbHVkZSByYXRoby1hdmF0YXItZ3JhZGllbnQoMTAwcHgsIDNweCk7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCB2YXIoLS1zaGFkb3ctc20pO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxuICAgIH1cclxufVxyXG5cclxuLnVzZXItdGlsZS1uYW1lIHtcclxuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrKTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFJFU1BPTlNJVkUgQURKVVNUTUVOVFNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgLnVzZXItdGlsZS1hdmF0YXIge1xyXG4gICAgICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgICAgIGhlaWdodDogNzBweDtcclxuICAgIH1cclxuXHJcbiAgICAudXNlci10aWxlLW5hbWUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuMzc1cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xyXG4gICAgLnVzZXItdGlsZS1hdmF0YXIge1xyXG4gICAgICAgIHdpZHRoOiA4NXB4O1xyXG4gICAgICAgIGhlaWdodDogODVweDtcclxuICAgIH1cclxuXHJcbiAgICAudXNlci10aWxlLW5hbWUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICAgIH1cclxufVxyXG4iLCIvKiBTaGFyZWQgYnJhbmQgZ3JhZGllbnQgbWl4aW4gLSBEUlkgZm9yIHJlcGVhdGVkIGdyYWRpZW50IGRlY2xhcmF0aW9ucyAqL1xyXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGRpcmVjdGlvbjogdG8gcmlnaHQpIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCB2YXIoLS1ncmFkaWVudC1zdGFydCksIHZhcigtLWdyYWRpZW50LWVuZCkpO1xyXG59XHJcblxyXG4uZmx5b3V0LWNvbnRlbnQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XHJcbn1cclxuXHJcbi5mbHlvdXQtY29udGVudC5kLWZsZXguZmxleC1jb2x1bW4ge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5mbHlvdXQtY29udGVudC5kLWZsZXguZmxleC1jb2x1bW4gPiAuZmxleC1ncm93LTEge1xyXG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLyogT25seSBzdHJldGNoIHRvIGZ1bGwgaGVpZ2h0IHdoZW4gZXhwbGljaXRseSByZXF1ZXN0ZWQgKi9cclxuLmZseW91dC1jb250ZW50LmQtZmxleC5mbGV4LWNvbHVtbi5oLTEwMCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi8qIEZseW91dCBmb290ZXIgd2l0aCBjb21wYWN0IHJpZ2h0LWFsaWduZWQgYnV0dG9ucyAtIGFsd2F5cyBzdGlja3MgdG8gYm90dG9tICovXHJcbi5mbHlvdXQtZm9vdGVyIHtcclxuICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSwgI2ZmZmZmZik7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGdhcDogMC43NXJlbTtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgLyogQnV0dG9ucyBzaG91bGQgYmUgY29tcGFjdCBhbmQgYXV0by13aWR0aCBiYXNlZCBvbiBjb250ZW50ICovXHJcbiAgICAuYnRuIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtaW4td2lkdGg6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mbHlvdXQtY29udGVudCB0aCB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uZmx5b3V0LWNvbnRlbnQgdHIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbi5mbHlvdXQtY29udGVudCB0ci5ib3R0b20ge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gICAgbWluLWhlaWdodDogMjBweDtcclxufVxyXG5cclxuLmZseW91dC1jb250ZW50IHRkIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4uZmx5b3V0LWNvbnRlbnQgdGQudGQtc21hbGwge1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbn1cclxuXHJcbi5mbHlvdXQtY29udGVudCB0ZC50ZC14cyB7XHJcbiAgICB3aWR0aDogMjBweDtcclxufVxyXG5cclxuLmZseW91dC1jb250ZW50IHRkLnRkLXhzIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxN3B4O1xyXG59XHJcblxyXG4uZmx5b3V0LWNvbnRlbnQgdGg6Zmlyc3QtY2hpbGQsXHJcbi5mbHlvdXQtY29udGVudCB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uZmx5b3V0LWNvbnRlbnQgdGg6bGFzdC1jaGlsZCxcclxuLmZseW91dC1jb250ZW50IHRkOmxhc3QtY2hpbGQge1xyXG4gICAgd2lkdGg6IDBweDtcclxufVxyXG5cclxuLmZseW91dC1jb250ZW50IHRkIC5QaG90b1NlbGVjdGlvbiwgLmZseW91dC1jb250ZW50IHRkIC5DcmVkZW50aWFscyB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRkxZT1VUIFBBTkVMIC0gRmxvYXRpbmcgY2FyZCBkZXNpZ25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiNmbHlvdXQtbWFpbiB7XHJcbiAgICB3aWR0aDogdmFyKC0tZmx5b3V0LXdpZHRoKTtcclxuXHJcbiAgICAvKiBGbG9hdGluZyBjYXJkIHN0eWxpbmcgLSBhdHRhY2hlcyB0byByaWdodCBlZGdlIG9mIHZpZXdwb3J0ICovXHJcbiAgICBtYXJnaW46IHZhcigtLWZseW91dC1tYXJnaW4pIDA7IC8qIFNwYWNlIGZyb20gdG9wIGFuZCBib3R0b20gb2Ygdmlld3BvcnQgKi9cclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1mbHlvdXQtbWFyZ2luKSAqIDIpOyAvKiBEb24ndCBzcGFuIGZ1bGwgaGVpZ2h0ICovXHJcblxyXG4gICAgLyogT25seSByb3VuZCBMRUZUIGNvcm5lcnMgLSByaWdodCBzaWRlIGlzIGZsdXNoIHdpdGggdmlld3BvcnQgZWRnZSAqL1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tZmx5b3V0LXJhZGl1cyk7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1mbHlvdXQtcmFkaXVzKTtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcblxyXG4gICAgLyogT3ZlcnJpZGUgQm9vdHN0cmFwIG9mZmNhbnZhcyB0byBrZWVwIGhhbmRsZSB2aXNpYmxlIHdoZW4gY2xvc2VkICovXHJcbiAgICAvKiBBbHdheXMgdmlzaWJsZSAtIHdlIGNvbnRyb2wgdmlzaWJpbGl0eSB2aWEgdHJhbnNmb3JtIG9ubHkgKi9cclxuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuXHJcbiAgICAvKiBXaGVuIGNsb3NlZCwgdHJhbnNsYXRlIGZ1bGx5IG9mZi1zY3JlZW4gLSBoYW5kbGUgYXQgbGVmdDotaGFuZGxlLXdpZHRoIHBlZWtzIG91dCAqL1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWZseW91dC1zcGVlZCkgZWFzZTtcclxuXHJcbiAgICAvKiBXaGVuIGZseW91dCBpcyBvcGVuLCBzaG93IGZ1bGwgc3R5bGluZyAqL1xyXG4gICAgJi5zaG93LCAmLnNob3dpbmcge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgLyogU2xpZGUgaW4gZnVsbHkgKi9cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mbHlvdXQtYmcpO1xyXG4gICAgICAgIC8qIENvcmFsLW9yYW5nZSBicmFuZCBib3JkZXIgb24gdGhyZWUgc2lkZXMgKi9cclxuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tcmF0aG8taGVhZGVyLWdyYWRpZW50LW9yYW5nZSk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLXJhdGhvLWhlYWRlci1ncmFkaWVudC1vcmFuZ2UpO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tcmF0aG8taGVhZGVyLWdyYWRpZW50LW9yYW5nZSk7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICAgIC8qIE9yYW5nZS10aW50ZWQgZ2xvdyBzaGFkb3cgKi9cclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAyNHB4IHJnYmEoMjM5LCAxMjMsIDgyLCAwLjI1KTtcclxuICAgIH1cclxufVxyXG5cclxuI2ZseW91dC1tYWluLm9mZmNhbnZhcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiBBbGxvdyBoYW5kbGUgdG8gc3RpY2sgb3V0IHRvIHRoZSBsZWZ0ICovXHJcbn1cclxuXHJcbi8qIEZseW91dCBoZWFkZXIgLSBvbmx5IHJvdW5kIHRvcC1sZWZ0IGNvcm5lciAocmlnaHQgc2lkZSBpcyBzcXVhcmUpICovXHJcbiNmbHlvdXQtbWFpbiAub2ZmY2FudmFzLWhlYWRlciB7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMnB4O1xyXG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xyXG5cclxuICAgIC5idG4tY2xvc2Uge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcclxuICAgICAgICBtYXJnaW46IC0wLjVyZW0gLTAuNXJlbSAtMC41cmVtIGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLyogSGVhZGVyIGljb24gd2l0aCBvcmFuZ2UgYnJhbmQgZ3JhZGllbnQgKi9cclxuICAgID4gLmQtZmxleCA+IGksXHJcbiAgICA+IC5kLWZsZXggPiBzdmcge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXJhdGhvLWhlYWRlci1ncmFkaWVudC15ZWxsb3cpLCB2YXIoLS1yYXRoby1oZWFkZXItZ3JhZGllbnQtb3JhbmdlKSk7XHJcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAgIH1cclxufVxyXG5cclxuLyogQ29udGFpbmVyIGZvciBmbHlvdXQgY29udGVudCAtIGZsZXggY2hpbGQgdGhhdCBmaWxscyByZW1haW5pbmcgc3BhY2UgYWZ0ZXIgaGVhZGVyICovXHJcbiNmbHlvdXQtbWFpbiAub2ZmY2FudmFzLWJvZHkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU2Nyb2xsIG9ubHkgd2hlbiBjb250ZW50IHRydWx5IG92ZXJmbG93cyAqL1xyXG4gICAgbWluLWhlaWdodDogMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEFsbG93IGZsZXggc2hyaW5raW5nIGJlbG93IGNvbnRlbnQgaGVpZ2h0ICovXHJcblxyXG4gICAgLyogV2hlbiBmbHlvdXQgY29udGVudCBtYW5hZ2VzIGl0cyBvd24gc2Nyb2xsaW5nIChoLTEwMCBmbGV4IGxheW91dCksIGRpc2FibGUgb3V0ZXIgc2Nyb2xsICovXHJcbiAgICAmOmhhcyg+IC5mbHlvdXQtY29udGVudC5oLTEwMCkge1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5cclxuLyogQmFja2Ryb3Agb3ZlcmxheSAtIGRpbXMgYmFja2dyb3VuZCBjb250ZW50IHdoZW4gZmx5b3V0IGlzIG9wZW4gKi9cclxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IC8qIE1vcmUgZGVmaW5lZCBkYXJrIG92ZXJsYXkgKi9cclxuXHJcbiAgICAmLnNob3cge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgZm9yIHRhYmxldCBhbmQgc21hbGxlciBzY3JlZW5zICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgOnJvb3Qge1xyXG4gICAgICAgIC0tZmx5b3V0LXdpZHRoOiA5NSU7XHJcbiAgICAgICAgLS1mbHlvdXQtbWFyZ2luOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzIGZvciBzbWFsbCBzY3JlZW5zIOKAlCBzaHJpbmsgc2VsZWN0b3IgZ3JpZHMgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuc2VsZWN0b3ItZ3JpZCB7XHJcbiAgICAgICAgZ2FwOiAwLjI1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWxlY3Rvci1ncmlkOmhhcyguY29sb3Itc2VsZWN0b3ItYnRuKSAuc2VsZWN0b3ItaXRlbSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA5ICogMC4yNXJlbSkgLyAxMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24tc2VsZWN0b3ItaXRlbSBpIHtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgZm9yIHZlcnkgc21hbGwgc2NyZWVucyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgIDpyb290IHtcclxuICAgICAgICAtLWZseW91dC13aWR0aDogMTAwJTtcclxuICAgICAgICAtLWZseW91dC1tYXJnaW46IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLyogSGlkZSB0aGUgaGFuZGxlIG9uIHNtYWxsIHNjcmVlbnMgLSBmbHlvdXQgb3BlbnMgdmlhIG90aGVyIG1lYW5zICovXHJcbiAgICAuZmx5b3V0LWhhbmRsZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5mbHlvdXQtY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5mbHlvdXQtY29udGVudC5kLWZsZXguZmxleC1jb2x1bW4gPiAuZmxleC1ncm93LTEge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAuZmx5b3V0LWZvb3RlciB7XHJcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xyXG4gICAgICAgIGdhcDogMC41cmVtO1xyXG5cclxuICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBSZXNwb25zaXZlIHRhYmxlIGNlbGwgd2lkdGhzICovXHJcbiAgICAuZmx5b3V0LWNvbnRlbnQgdGQge1xyXG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZseW91dC1jb250ZW50IHRoOmZpcnN0LWNoaWxkLFxyXG4gICAgLmZseW91dC1jb250ZW50IHRkOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNmbHlvdXQtbWFpbiAuY2FyZCAuY2FyZC1oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnMtYm9keS1jb2xvcik7XHJcbn1cclxuXHJcbiNmbHlvdXQtbWFpbiAuY2FyZCAuY2FyZC1oZWFkZXIgLmNhcmQtdGl0bGUge1xyXG4gICAgY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xyXG59XHJcblxyXG4jZmx5b3V0LW1haW4gLmFjY29yZGlvbiAuY2FyZCAuY2FyZC1ib2R5IHtcclxuICAgIHBhZGRpbmc6IDJweDtcclxufVxyXG5cclxuI2ZseW91dC1tYWluIC5idG4tYmFjayB7XHJcbiAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEuNWVtO1xyXG4gICAgaGVpZ2h0OiAxLjVlbTtcclxufVxyXG5cclxuI2ZseW91dC1tYWluIC5idG4tYmFjazpob3ZlciB7XHJcbiAgICBvcGFjaXR5OiAwLjc1O1xyXG59XHJcblxyXG4jZmx5b3V0LW1haW4gLmJ0bi1iYWNrIGkge1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbn1cclxuXHJcbiNmbHlvdXQtbWFpbiAuZmEtc3Rhci5kaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XHJcbn1cclxuXHJcbi5tYW51YWxzLWFuZC12aWRlb3MtZmx5b3V0LWNvbnRlbnQgYSB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XHJcbn1cclxuXHJcbi8qIEZseW91dCBIYW5kbGUgQnV0dG9uIC0gcG9zaXRpb25lZCBJTlNJREUgb2ZmY2FudmFzLCBzdGlja3Mgb3V0IHRvIHRoZSBsZWZ0XHJcbiAgIE1vdmVzIHRvZ2V0aGVyIHdpdGggdGhlIGZseW91dCBwYW5lbCBkdXJpbmcgQm9vdHN0cmFwJ3MgdHJhbnNmb3JtIGFuaW1hdGlvbiAqL1xyXG4uZmx5b3V0LWhhbmRsZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiBjYWxjKC0xICogdmFyKC0tZmx5b3V0LWhhbmRsZS13aWR0aCkpOyAvKiBTdGljayBvdXQgdG8gdGhlIGxlZnQgb2YgdGhlIGZseW91dCAqL1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB3aWR0aDogdmFyKC0tZmx5b3V0LWhhbmRsZS13aWR0aCk7XHJcbiAgICBoZWlnaHQ6IHZhcigtLWZseW91dC1oYW5kbGUtaGVpZ2h0KTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmc7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgLyogSGFsZi1waWxsIHNoYXBlIC0gb25seSBMRUZUIGNvcm5lcnMgcm91bmRlZCwgUklHSFQgc2lkZSBjb25uZWN0cyB0byBmbHlvdXQgcGFuZWwgKi9cclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDIwcHg7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyMHB4O1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuXHJcbiAgICAvKiBPcmFuZ2UtdGludGVkIHNoYWRvdyBtYXRjaGluZyB0aGUgZmx5b3V0IHBhbmVsICovXHJcbiAgICBib3gtc2hhZG93OiAtMnB4IDAgOHB4IHJnYmEoMjM5LCAxMjMsIDgyLCAwLjMpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgei1pbmRleDogMTsgLyogQWJvdmUgZmx5b3V0IGNvbnRlbnQgYnV0IHdpdGhpbiB0aGUgb2ZmY2FudmFzIGNvbnRleHQgKi9cclxufVxyXG5cclxuLmZseW91dC1oYW5kbGU6aG92ZXIge1xyXG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTUpO1xyXG59XHJcblxyXG4uZmx5b3V0LWhhbmRsZTpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgLyogT3JhbmdlLXRpbnRlZCBzaGFkb3cgd2l0aCBmb2N1cyByaW5nICovXHJcbiAgICBib3gtc2hhZG93OiAtMnB4IDAgOHB4IHJnYmEoMjM5LCAxMjMsIDgyLCAwLjMpLCAwIDAgMCAwLjI1cmVtIHZhcigtLWZvY3VzLXJpbmctYnJhbmQpO1xyXG59XHJcblxyXG4vKiBDaGV2cm9uIGljb24gcm90YXRpb24gd2hlbiBmbHlvdXQgaXMgb3BlbiAqL1xyXG4uZmx5b3V0LWNoZXZyb24ge1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxufVxyXG5cclxuLmZseW91dC1oYW5kbGUtb3BlbiAuZmx5b3V0LWNoZXZyb24ge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxufVxyXG5cclxuLyogQWN0aW9uIExpc3QgU3R5bGVzICovXHJcbi5hY3Rpb24tbGlzdCB7XHJcbiAgICAuYWN0aW9uLXJvdyB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNoYWRvdy14cyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hY3Rpb24tcm93LWRpc2FibGVkIHtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFjdGlvbi1pY29uIHtcclxuICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnO1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY3Rpb24taWNvbi1kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1tdXRlZCwgIzljYTNhZik7XHJcbiAgICB9XHJcblxyXG4gICAgLmFjdGlvbi1nbyB7XHJcbiAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZztcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgIH1cclxuXHJcbiAgICAuYWN0aW9uLWdvLWRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW11dGVkLCAjOWNhM2FmKTtcclxuICAgICAgICBjdXJzb3I6IGhlbHA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEdyYWRpZW50IEJ1dHRvbiBTdHlsZSAqL1xyXG4uYnRuLWdyYWRpZW50IHtcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC45NSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gdmFyKC0tZm9jdXMtcmluZy1icmFuZCk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEdyYWRpZW50IEJ1dHRvbiBBY3RpdmUvVG9nZ2xlZCBTdGF0ZSAqL1xyXG4uYnRuLWdyYWRpZW50LWFjdGl2ZSB7XHJcbiAgICBAZXh0ZW5kIC5idG4tZ3JhZGllbnQ7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDAgMCAwLjJyZW0gdmFyKC0tZm9jdXMtcmluZy1icmFuZCk7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC45KTtcclxufVxyXG5cclxuLyogT3V0bGluZSBHcmFkaWVudCBCdXR0b24gU3R5bGUgKi9cclxuLmJ0bi1vdXRsaW5lLWdyYWRpZW50IHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6IHZhcigtLWdyYWRpZW50LXN0YXJ0KTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyYWRpZW50LXN0YXJ0KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmc7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSB2YXIoLS1mb2N1cy1yaW5nLWJyYW5kKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmc7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgb3BhY2l0eTogMC42NTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVVNFUiBTRUxFQ1RPUiAtIEZseW91dCBjb21wb25lbnQgZm9yIHNlbGVjdGluZyB1c2Vyc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmZseW91dC11c2VyLXNlbGVjdG9yIHtcclxuICAgIHBhZGRpbmc6IDAgMS4yNXJlbTtcclxufVxyXG5cclxuLyogU2VhcmNoIGlucHV0IHdpdGggaWNvbiAqL1xyXG4udXNlci1zZWxlY3Rvci1zZWFyY2gge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0LCAjZmY4ZjYxKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQsICNmZjhmNjEpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTQzLCA5NywgMC4yNSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFNlYXJjaCBpY29uICovXHJcbi51c2VyLXNlbGVjdG9yLXNlYXJjaC1pY29uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDAuNjI1cmVtO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0LCAjZmY4ZjYxKTtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLyogVXNlciBsaXN0IGNvbnRhaW5lciAqL1xyXG4udXNlci1zZWxlY3Rvci1saXN0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxufVxyXG5cclxuLnVzZXItc2VsZWN0b3ItaXRlbSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWhvdmVyLWNyZWFtLCAjZjhmNGYyKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogVXNlciBzZWxlY3RvciBhdmF0YXIgLSBjb25zaXN0ZW50IHNpemluZyB2aWEgQ1NTIGNsYXNzICovXHJcbi51c2VyLXNlbGVjdG9yLWF2YXRhciB7XHJcbiAgICB3aWR0aDogMjhweDtcclxuICAgIGhlaWdodDogMjhweDtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFVTRVIgU0VMRUNUT1IgUkVTUE9OU0lWRSBBREpVU1RNRU5UU1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogTW9iaWxlIGJyZWFrcG9pbnQgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAuZmx5b3V0LXVzZXItc2VsZWN0b3Ige1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAudXNlci1zZWxlY3Rvci1hdmF0YXIge1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTSE9SVENVVCBGT1JNIC0gQWRkIFNob3J0Y3V0IEZseW91dFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogSGVhZGVyIHJvdzogaW5wdXRzIGxlZnQsIHByZXZpZXcgcmlnaHQg4oCUIHdyYXBzIG9uIG5hcnJvdyBzY3JlZW5zICovXHJcbi5zaG9ydGN1dC1mb3JtLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG59XHJcblxyXG4uc2hvcnRjdXQtZm9ybS1maWVsZHMge1xyXG4gICAgZmxleDogMSAxIDIwMHB4O1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgbWF4LXdpZHRoOiAzNDBweDtcclxufVxyXG5cclxuLnNob3J0Y3V0LWZvcm0tcHJldmlldyB7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNIT1JUQ1VUIFBSRVZJRVdcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zaG9ydGN1dC1wcmV2aWV3IHtcclxuICAgIHdpZHRoOiAxODBweDtcclxuICAgIGhlaWdodDogMTgwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDEuMjVyZW07XHJcbiAgICBnYXA6IDAuNXJlbTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBlYXNlLCBib3gtc2hhZG93IDE1MG1zIGVhc2U7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hcHBzaG9ydGN1dC1iZywgI0Y1RjVGNSk7XHJcbn1cclxuXHJcbi8qIFNtYWxsIHByZXZpZXcgZm9yIHRoZSBmb3JtIGhlYWRlciDigJQgZml4ZWQgc3F1YXJlLCB2ZXJ0aWNhbGx5IGNlbnRlcmVkICovXHJcbi5zaG9ydGN1dC1wcmV2aWV3LXNtIHtcclxuICAgIHdpZHRoOiAxNDBweDtcclxuICAgIGhlaWdodDogMTQwcHg7XHJcbiAgICBwYWRkaW5nOiAwLjg3NXJlbTtcclxuICAgIGdhcDogMC4yNXJlbTtcclxuXHJcbiAgICAuc2hvcnRjdXQtcHJldmlldy1pY29uIHtcclxuICAgICAgICB3aWR0aDogMi41cmVtO1xyXG4gICAgICAgIGhlaWdodDogMi41cmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtO1xyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2hvcnRjdXQtcHJldmlldy10aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG9ydGN1dC1wcmV2aWV3LXN1YmNhdGVnb3J5IHtcclxuICAgICAgICBmb250LXNpemU6IDAuNjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEV4dHJhLXNtYWxsIHByZXZpZXcgZm9yIGltcG9ydCBsaXN0IHJvd3MgKi9cclxuLnNob3J0Y3V0LXByZXZpZXcteHMge1xyXG4gICAgd2lkdGg6IDMuNXJlbTtcclxuICAgIGhlaWdodDogMy41cmVtO1xyXG4gICAgcGFkZGluZzogMC41cmVtO1xyXG4gICAgZ2FwOiAwO1xyXG5cclxuICAgIC5zaG9ydGN1dC1wcmV2aWV3LWljb24ge1xyXG4gICAgICAgIHdpZHRoOiAxLjc1cmVtO1xyXG4gICAgICAgIGhlaWdodDogMS43NXJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3J0Y3V0LXByZXZpZXctY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3J0Y3V0LXByZXZpZXctaWNvbiB7XHJcbiAgICB3aWR0aDogMy41cmVtO1xyXG4gICAgaGVpZ2h0OiAzLjVyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hcHBzaG9ydGN1dC1pY29uLWJnLCAjRTBFMEUwKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG5cclxuICAgIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrLCAjMjEyNTI5KTtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3J0Y3V0LXByZXZpZXctY29udGVudCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnNob3J0Y3V0LXByZXZpZXctdGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrLCAjMjEyNTI5KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbn1cclxuXHJcbi5zaG9ydGN1dC1wcmV2aWV3LXN1YmNhdGVnb3J5IHtcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1hcHBzaG9ydGN1dC1jYXRlZ29yeS1jb2xvciwgIzRCNTU2Myk7XHJcbiAgICBtYXJnaW4tdG9wOiAwLjEyNXJlbTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIFNoYXJlZCBzZWxlY3RvciBncmlkIGxheW91dCDigJQgMTAgY29sdW1ucyBzcGFubmluZyBmdWxsIHdpZHRoICovXHJcbi5zZWxlY3Rvci1ncmlkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMCwgMWZyKTtcclxuICAgIGdhcDogMC4zNzVyZW07XHJcbn1cclxuXHJcbi8qIENvbG9yIHNlbGVjdG9yOiBpY29uLXNpemVkIGl0ZW1zIHNwYWNlZCBldmVubHkgYWNyb3NzIGZ1bGwgd2lkdGggKi9cclxuLnNlbGVjdG9yLWdyaWQ6aGFzKC5jb2xvci1zZWxlY3Rvci1idG4pIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgLnNlbGVjdG9yLWl0ZW0ge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gOSAqIDAuMzc1cmVtKSAvIDEwKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogU2hhcmVkIHNlbGVjdG9yIGl0ZW0gYmFzZSAqL1xyXG4uc2VsZWN0b3ItaXRlbSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGFzcGVjdC1yYXRpbzogMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2U7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIH1cclxuXHJcbiAgICAmLnNlbGVjdGVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJzLWRhcmssICMzMzMpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWxlY3RlZC1uZXcge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFyaywgIzMzMyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgIH1cclxufVxyXG5cclxuLyogSWNvbiBTZWxlY3RvciAqL1xyXG4uaWNvbi1zZWxlY3Rvci1pdGVtIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdyYWRpZW50LXN0YXJ0LCAjRkY4RjYxKSAwJSwgdmFyKC0tZ3JhZGllbnQtZW5kLCAjRjY3MTYwKSAxMDAlKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMjU1LCAxNDMsIDk3LCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICAgIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQ2hlY2ttYXJrIG92ZXJsYXkgZm9yIHRoZSBvcmlnaW5hbGx5IGFzc2lnbmVkIGljb24gKEVkaXRTaG9ydGN1dCBmbHlvdXQpICovXHJcbiAgICAuaWNvbi1jaGVjay1vdmVybGF5IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtNHB4O1xyXG4gICAgICAgIHJpZ2h0OiAtNHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xyXG4gICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgIGhlaWdodDogMTRweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtZGFyaywgIzMzMyk7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBDb2xvciBTZWxlY3RvciAtIFVzZXMgYXBwc2hvcnRjdXQtY29sb3ItKiBjbGFzc2VzIGZyb20gYXBwbGljYXRpb25zaG9ydGN1dC5zY3NzICovXHJcbi5jb2xvci1zZWxlY3Rvci1idG4ge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNSk7XHJcbiAgICB9XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtZGFyaywgIzIxMjUyOSk7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ0hBTkdFIEVOVklST05NRU5UIEZMWU9VVCAtIFR3by1jb2x1bW4gY2FyZCBncmlkXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBUd28tY29sdW1uIGdyaWQgY29udGFpbmVyICovXHJcbi5lbnZpcm9ubWVudC1ncmlkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG59XHJcblxyXG4vKiBFbnZpcm9ubWVudCBjYXJkICovXHJcbi5lbnZpcm9ubWVudC1jYXJkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgcGFkZGluZzogMC43NXJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctaG92ZXItY3JlYW0pO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JhZGllbnQtc3RhcnQpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMjQ2LCAxMTMsIDk2LCAwLjE1KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nLWJyYW5kKTtcclxuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICYuc2VsZWN0ZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgyNDYsIDExMywgOTYsIDAuMyk7XHJcblxyXG4gICAgICAgIC5lbnZpcm9ubWVudC1jYXJkLWljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xyXG5cclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5lbnZpcm9ubWVudC1jYXJkLW5hbWUge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZW52aXJvbm1lbnQtY2FyZC1zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogSWNvbiBiYWRnZSAqL1xyXG4uZW52aXJvbm1lbnQtY2FyZC1pY29uIHtcclxuICAgIHdpZHRoOiAyLjI1cmVtO1xyXG4gICAgaGVpZ2h0OiAyLjI1cmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoMTM1ZGVnKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICBpIHtcclxuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBUZXh0IHdyYXBwZXIgZm9yIGNhcmRzIHdpdGggc3VidGl0bGUgKi9cclxuLmVudmlyb25tZW50LWNhcmQtdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLyogRW52aXJvbm1lbnQgbmFtZSAqL1xyXG4uZW52aXJvbm1lbnQtY2FyZC1uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtZGFyayk7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG59XHJcblxyXG4vKiBTdWJ0aXRsZSBmb3Igc3Vic3RpdHV0ZSBzaGlmdHMgKi9cclxuLmVudmlyb25tZW50LWNhcmQtc3VidGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIC0gU2luZ2xlIGNvbHVtbiBvbiBtb2JpbGVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgLmVudmlyb25tZW50LWdyaWQge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIGdhcDogMC41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5lbnZpcm9ubWVudC1jYXJkIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAuZW52aXJvbm1lbnQtY2FyZC1pY29uIHtcclxuICAgICAgICB3aWR0aDogMnJlbTtcclxuICAgICAgICBoZWlnaHQ6IDJyZW07XHJcblxyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENIQU5HRSBQUk9GSUxFIFBJQ1RVUkUgRkxZT1VUIC0gQ3JvcHBpZSBzdHlsaW5nXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY3JvcHBpZS1jb250YWluZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWdyYXktbGlnaHQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuXHRwYWRkaW5nOiAwLjc1cmVtO1xyXG5cdG1pbi1oZWlnaHQ6IDI2MHB4O1xyXG5cclxuXHQvLyBPdmVycmlkZSBDcm9wcGllIGRlZmF1bHQgc3R5bGVzIGZvciBiZXR0ZXIgaW50ZWdyYXRpb25cclxuXHQuY3JvcHBpZS1jb250YWluZXIge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblxyXG5cdC5jci1ib3VuZGFyeSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcblx0fVxyXG5cclxuXHQuY3Itdmlld3BvcnQge1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tZ3JhZGllbnQtc3RhcnQsICM0ZGI2YWMpO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgOTk5OXB4IHZhcigtLW92ZXJsYXktZGFyayk7XHJcblx0fVxyXG5cclxuXHQuY3Itc2xpZGVyLXdyYXAge1xyXG5cdFx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdC5jci1zbGlkZXIge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIE92ZXJyaWRlIENyb3BwaWUncyBkZWZhdWx0IGNpcmNsZSB2aWV3cG9ydCBzdHlsaW5nXHJcbi5jci12aWV3cG9ydC5jci12cC1jaXJjbGUge1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNFVCBQQVNTV09SRCBGTFlPVVQgLSBCdWxrIHBhc3N3b3JkIG1hbmFnZW1lbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIE1haW4gZmx5b3V0IGNvbnRhaW5lciAqL1xyXG4ucmVzZXQtcGFzc3dvcmQtZmx5b3V0IHtcclxuICAgIC5idWxrLWFjdGlvbnMgLmJ0bi1ncm91cCAuYnRuLFxyXG4gICAgLnBhc3N3b3JkLXR5cGUtdG9nZ2xlIC5idG4tZ3JvdXAgLmJ0biB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxuXHJcbiAgICAuc3R1ZGVudC1wYXNzd29yZC1saXN0IHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnN0dWRlbnQtcGFzc3dvcmQtaXRlbSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnMtZ3JheS0xMDApO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTdHVkZW50IGhlYWRlclxyXG4uc3R1ZGVudC1oZWFkZXIgLnN0dWRlbnQtYXZhdGFyIHtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1icy1ncmF5LTMwMCk7XHJcbn1cclxuXHJcbi8vIFBhc3N3b3JkIGlucHV0XHJcbi5wYXNzd29yZC1pbnB1dC13cmFwcGVyIC5wYXNzd29yZC10b2dnbGUtYnRuIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYXNzd29yZC1zdHJlbmd0aCAucHJvZ3Jlc3Mge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnMtZ3JheS0yMDApO1xyXG59XHJcblxyXG4ucGFzc3dvcmQtcmVxdWlyZW1lbnRzIHtcclxuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xyXG59XHJcblxyXG4vLyBQaG90byBzZWxlY3Rpb24gZ3JpZFxyXG4ucGhvdG8tc2VsZWN0aW9uIHtcclxuICAgIC5pbWFnZS1ncmlkIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnMtZ3JheS0yMDApO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBnYXA6IDAuMjVyZW07XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZS10aWxlIHtcclxuICAgICAgICAvKiBSZXNwb25zaXZlIHRpbGUgc2l6ZTogc2NhbGVzIGZyb20gMzZweCB0byA0OHB4IGJhc2VkIG9uIHZpZXdwb3J0ICovXHJcbiAgICAgICAgLS10aWxlLXNpemU6IGNsYW1wKDM2cHgsIDh2dywgNDhweCk7XHJcblxyXG4gICAgICAgIHdpZHRoOiB2YXIoLS10aWxlLXNpemUpO1xyXG4gICAgICAgIGhlaWdodDogdmFyKC0tdGlsZS1zaXplKTtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLCBib3JkZXItY29sb3IgMC4xNXMgZWFzZTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwLjk1KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0tc2hhZG93LW1kKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXVpLXNlbGVjdGlvbi1ib3JkZXIpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0tZm9jdXMtcmluZy1kYXJrKTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gUGFzc3dvcmQgdHlwZSB0b2dnbGUgYnV0dG9ucyAtIGJvdGggc2FtZSBzdHlsZSB3aXRoIGhvdmVyIGVmZmVjdFxyXG4ucGFzc3dvcmQtdHlwZS10b2dnbGUgLmJ0bi1ncm91cCAuYnRuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW92ZXJsYXktbGlnaHQpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3Zlcjo6YmVmb3JlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWN0aXZlOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNoYWRvdy1tZCk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUkVTUE9OU0lWRSBBREpVU1RNRU5UUyAtIEJvb3RzdHJhcCBicmVha3BvaW50c1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogU21hbGwgZGV2aWNlcyAobGFuZHNjYXBlIHBob25lcywgPCA3NjhweCkgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XHJcbiAgICAucmVzZXQtcGFzc3dvcmQtZmx5b3V0IHtcclxuICAgICAgICAuc3R1ZGVudC1wYXNzd29yZC1pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMC43NXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN0dWRlbnQtaGVhZGVyIC5zdHVkZW50LWF2YXRhciB7XHJcbiAgICAgICAgd2lkdGg6IDM2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBFeHRyYSBzbWFsbCBkZXZpY2VzIChwb3J0cmFpdCBwaG9uZXMsIDwgNTc2cHgpICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgLnJlc2V0LXBhc3N3b3JkLWZseW91dCB7XHJcbiAgICAgICAgLnN0dWRlbnQtcGFzc3dvcmQtbGlzdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3R1ZGVudC1wYXNzd29yZC1pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMC42MjVyZW07XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN0dWRlbnQtaGVhZGVyIC5zdHVkZW50LWF2YXRhciB7XHJcbiAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5wYXNzd29yZC1yZXF1aXJlbWVudHMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUQUIgRVhQQU5EIEhBTkRMRSAtIFNpZGViYXIgdG9nZ2xlIGJ1dHRvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnRhYi1tYWluIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnRhYi1leHBhbmQtaGFuZGxlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8qIE1hdGNoIGZseW91dCBoYW5kbGUgdmVydGljYWwgcG9zaXRpb246IHZpZXdwb3J0IGNlbnRlciwgb2Zmc2V0IGJ5IC50YWItbWFpbidzXHJcbiAgICAgICBkaXN0YW5jZSBmcm9tIHZpZXdwb3J0IHRvcCAoaGVhZGVyLWhlaWdodCArIG10LTQgbWFyZ2luKSAqL1xyXG4gICAgdG9wOiBjYWxjKDUwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSAtIDEuNXJlbSk7XHJcbiAgICAvKiBQb3NpdGlvbiBhdCB0aGUgbGVmdCBlZGdlIG9mIHRoZSB0YWIgY29udGVudCAqL1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcclxuICAgIHotaW5kZXg6IDEwMzA7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJbnRlbnRpb25hbGx5IGhpZGUgZm9jdXMgc3RhdGVzIGZvciBVWCAoYnV0dG9uIGlzIHBvc2l0aW9uZWQgb3V0c2lkZSB2aXNpYmxlIGFyZWEpXHJcbiAgICAvLyBIaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgQm9vdHN0cmFwIHdpdGhvdXQgIWltcG9ydGFudFxyXG4gICAgJjpmb2N1cyxcclxuICAgICY6Zm9jdXMtdmlzaWJsZSxcclxuICAgICY6YWN0aXZlLFxyXG4gICAgJjpmb2N1czphY3RpdmUge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBPdmVycmlkZSBCb290c3RyYXAgLmJ0bi1saW5rIGZvY3VzIHN0eWxlcyB3aXRoIGhpZ2hlciBzcGVjaWZpY2l0eVxyXG4udGFiLW1haW4gLnRhYi1leHBhbmQtaGFuZGxlLmJ0bi1saW5rIHtcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmZvY3VzLXZpc2libGUsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICY6Zm9jdXM6YWN0aXZlIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogU2lkZWJhciBhbmltYXRpb25zICovXHJcbi5zaWRlLXdpZHRoIHtcclxuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGVhc2UsIG1hcmdpbiAwLjI1cyBlYXNlLCB0cmFuc2Zvcm0gMC4yNXMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi8qIENvbGxhcHNlZCBzaWRlYmFyIHN0YXRlICovXHJcbmJvZHkuc2lkZWJhci1jb2xsYXBzZWQge1xyXG4gICAgLyogVXNlIGNhbGMgdG8gYXZvaWQgdncgaml0dGVyIHdoZW4gc2Nyb2xsYmFyIGFwcGVhcnMvZGlzYXBwZWFycyAqL1xyXG4gICAgLS1wYWdlLW1heDogY2FsYygxMDB2dyAtIDRyZW0pO1xyXG5cclxuICAgIC5zaWRlLXdpZHRoIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcmVtKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogUmVtb3ZlIHRoZSBnYXAgd2hlbiBzaWRlYmFyIGlzIGNvbGxhcHNlZCAqL1xyXG4gICAgLmxheW91dC1nYXAge1xyXG4gICAgICAgIGdhcDogMDtcclxuICAgIH1cclxuXHJcbiAgICBtYWluLmZsZXgtZ3Jvdy0xIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLyogSGFuZGxlIHBvc2l0aW9uIHN0YXlzIHRoZSBzYW1lIChhdCBsZWZ0IGVkZ2Ugb2YgdGFiIGNvbnRlbnQpIHdoZW4gc2lkZWJhciBpcyBjb2xsYXBzZWQgKi9cclxufVxyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU1RVREVOVCBMT0dJTiAtIFByb2ZpbGUgYW5kIGxvZ2luIHRpbGUgZ2FsbGVyeVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogSG92ZXIgcHJldmlldyBiZWxvdyBncmlkICovXHJcbi5zdHVkZW50LWhvdmVyLXByZXZpZXctYm90dG9tIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICAgICAgcGFkZGluZzogMC43NXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLnN0dWRlbnQtaG92ZXItYXZhdGFyIHtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICBoZWlnaHQ6IDgwJTtcclxuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgIGFuaW1hdGlvbjogcG9wSW4gMC4zcyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDcwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3R1ZGVudC1ob3Zlci1wbGFjZWhvbGRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNyZWFtKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnPyc7XHJcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMjQ2LCAxMTMsIDk2LCAwLjQpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnN0dWRlbnQtaG92ZXItbmFtZSB7XHJcbiAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrKTtcclxuICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICBtaW4taGVpZ2h0OiAxLjVyZW07XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBQcmV2aWV3IGNhcmQgd2l0aCBlbmhhbmNlZCBzdHlsaW5nICovXHJcbi5zdHVkZW50LXByZXZpZXctY2FyZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jcmVhbSkgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjNzIGVhc2U7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAuY2FyZC1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMS4yNXJlbTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxuXHJcbiAgICBoNSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtZGFyayk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAycmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dC1tdXRlZCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBGdWxsLXBhZ2UgbG9naW4gb3ZlcmxheSAqL1xyXG4uc3R1ZGVudC1sb2dpbi1vdmVybGF5IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNyZWFtKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICAgIGdhcDogMS41cmVtO1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlO1xyXG5cclxuICAgIC5sb2dpbi1vdmVybGF5LXRleHQge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmspO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuLyogUHJvZmlsZSBhdmF0YXIgd2l0aCBncmFkaWVudCBib3JkZXIgYW5kIGFuaW1hdGVkIHRyYW5zaXRpb25zXHJcbiAgIFNjb3BlZCB0byBzdHVkZW50IGxvZ2luIHBhZ2UgdG8gYXZvaWQgb3ZlcnJpZGluZyBzaWRlYmFyIHByb2ZpbGUgY2FyZCAqL1xyXG4uc3R1ZGVudC1pbWFnZXMtc2VjdGlvbiAuc3R1ZGVudC1wcm9maWxlLWF2YXRhcixcclxuLnN0dWRlbnQtaG92ZXItcHJldmlldy1ib3R0b20gLnN0dWRlbnQtcHJvZmlsZS1hdmF0YXIge1xyXG4gICAgQGluY2x1ZGUgcmF0aG8tYXZhdGFyLWdyYWRpZW50KDEwMHB4LCAzcHgpO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xyXG5cclxuICAgIC8qIENvbXBvbmVudC1zcGVjaWZpYyBpbWFnZSBwb3NpdGlvbmluZyAqL1xyXG4gICAgaW1nIHtcclxuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcblxyXG4gICAgICAgICYuYXZhdGFyLXByZXZpZXctYWN0aXZlIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBwb3BJbiAwLjNzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYXZhdGFyLXByZXZpZXctc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogUG9wIGluIGFuaW1hdGlvbiBmb3IgaG92ZXJlZCBhdmF0YXIgKi9cclxuQGtleWZyYW1lcyBwb3BJbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuLyogSW1hZ2UgZ2FsbGVyeSBzZWN0aW9uICovXHJcbi5zdHVkZW50LWltYWdlcy1zZWN0aW9uIHtcclxuICAgIC8qIExvZ2luIHRpbGUgZ3JpZCAtIDQgcm93cyB4IDggY29sdW1ucyAqL1xyXG4gICAgLmxvZ2luLXRpbGUtZ3JpZCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCAxZnIpO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIDFmcik7XHJcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XHJcbiAgICAgICAgICAgIGdhcDogMC43NXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xyXG4gICAgICAgICAgICBnYXA6IDAuNzVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICAgICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBMb2dpbiB0aWxlcyAtIGVuaGFuY2VkIHdpdGggM0QgdGlsdCBhbmQgcGxheWZ1bCBlZmZlY3RzICovXHJcbiAgICAubG9naW4tdGlsZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCB2YXIoLS1zaGFkb3ctbWQpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gICAgICAgIHBlcnNwZWN0aXZlOiAxMDAwcHg7XHJcblxyXG4gICAgICAgIC8qIFN1YnRsZSBzaGluZSBlZmZlY3QgKi9cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA2MCUpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzIGVhc2U7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogR2xvdyBlZmZlY3Qgb24gaG92ZXIgKi9cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGluc2V0OiAtNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IGNlbnRlciwgcmdiYSgyNTUsIDE0MywgOTcsIDAuNCksIHRyYW5zcGFyZW50IDcwJSk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMgZWFzZTtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiAzRCB0aWx0IGhvdmVyIGVmZmVjdCAqL1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCkgcm90YXRlWCg1ZGVnKSByb3RhdGVZKDVkZWcpIHNjYWxlKDEuMDgpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDE2cHggNDBweCB2YXIoLS1zaGFkb3ctM3hsKTtcclxuICAgICAgICAgICAgei1pbmRleDogMTA7XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgcm90YXRlWCgyZGVnKSByb3RhdGVZKDJkZWcpIHNjYWxlKDEuMDQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHZhcigtLXNoYWRvdy1sZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBTZWxlY3RlZCBzdGF0ZSAqL1xyXG4gICAgICAgICYuc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgc2NhbGUoMS4wNSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMjQ2LCAxMTMsIDk2LCAwLjQpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1yYXRoby1ncmFkaWVudC1vcmFuZ2Utc3RhcnQpO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfinJMnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcmF0aG8tZ3JhZGllbnQtb3JhbmdlLXN0YXJ0KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHJvdGF0ZVgoNWRlZykgcm90YXRlWSg1ZGVnKSBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tZm9jdXMtcmluZy1icmFuZCk7XHJcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sb2dpbi10aWxlLWltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBlYXNlO1xyXG5cclxuICAgICAgICAubG9naW4tdGlsZTpob3ZlciAmIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogQXR0ZW1wdCBsaW1pdCB3YXJuaW5nIC0gbWFpbnRhaW4gc2FtZSBoZWlnaHQgYXMgZ3JpZCAqL1xyXG4gICAgLnN0dWRlbnQtYXR0ZW1wdC1saW1pdC13YXJuaW5nIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA1MDBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEdST1VQIFNFTEVDVCBQQUdFIC0gVGlsZSBncmlkIHN0eWxlcyB1c2luZyBDU1MgdmFyaWFibGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBQYWdlIHdyYXBwZXIgdG8gb3ZlcnJpZGUgbGF5b3V0IGJhY2tncm91bmQgKi9cclxuLmdyb3VwLXNlbGVjdC1wYWdlLXdyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY3JlYW0pO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMlKTsgICAgICAgICAgICAgLyogQ2VudGVyIG93bCBncmlkIHZpc3VhbGx5IG9uIHZpZXdwb3J0ICovXHJcbn1cclxuXHJcbi8qIENvbnRlbnQgd3JhcHBlciB0byByZWR1Y2UgbWFyZ2lucyAqL1xyXG4uZ3JvdXAtc2VsZWN0LWNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgbWF4LXdpZHRoOiAxMjgwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZzogMCAxcmVtO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMnJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLyogRW5oYW5jZWQgY2FyZCBzdHlsaW5nICovXHJcbi5ncm91cC1zZWxlY3QtY2FyZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45OCkgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xyXG4gICAgbWluLWhlaWdodDogNTgwcHg7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XHJcbiAgICAgICAgbWluLWhlaWdodDogNDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNjAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDYyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBBbmltYXRlZCBvd2wgYmFja2dyb3VuZCBwYXR0ZXJuICovXHJcbkBrZXlmcmFtZXMgZmxvYXQtb3dscyB7XHJcbiAgICAwJSwgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSh2YXIoLS1yb3RhdGlvbiwgMGRlZykpO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCkgcm90YXRlKHZhcigtLXJvdGF0aW9uLCAwZGVnKSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFRpbGVkIG93bCBwYXR0ZXJuIGdyaWQgKi9cclxuLmdyb3VwLXNlbGVjdC1iYWNrZ3JvdW5kLW93bCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA3MCU7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgb3BhY2l0eTogMC4wNTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIGFuaW1hdGlvbjogZmxvYXQtb3dscyA1cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuXHJcbiAgICAvKiBDcmVhdGUgZ3JpZCBwb3NpdGlvbnMgLSA4IGNvbHVtbnMgeCA2IHJvd3MgKi9cclxuICAgICYub3dsLTEgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWJvb2sucG5nJyk7IHRvcDogMDsgbGVmdDogMDsgLS1yb3RhdGlvbjogLThkZWc7IGFuaW1hdGlvbi1kZWxheTogMHM7IH1cclxuICAgICYub3dsLTIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLW11c2ljLnBuZycpOyB0b3A6IDA7IGxlZnQ6IDEyLjUlOyAtLXJvdGF0aW9uOiA1ZGVnOyBhbmltYXRpb24tZGVsYXk6IDAuM3M7IH1cclxuICAgICYub3dsLTMgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXBlbmNpbC5wbmcnKTsgdG9wOiAwOyBsZWZ0OiAyNSU7IC0tcm90YXRpb246IC0xMmRlZzsgYW5pbWF0aW9uLWRlbGF5OiAwLjZzOyB9XHJcbiAgICAmLm93bC00IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1zb2NjZXIucG5nJyk7IHRvcDogMDsgbGVmdDogMzcuNSU7IC0tcm90YXRpb246IDEwZGVnOyBhbmltYXRpb24tZGVsYXk6IDAuOXM7IH1cclxuICAgICYub3dsLTUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWJpY3ljbGUucG5nJyk7IHRvcDogMDsgbGVmdDogNTAlOyAtLXJvdGF0aW9uOiAtNWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxLjJzOyB9XHJcbiAgICAmLm93bC02IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1wbGF5LnBuZycpOyB0b3A6IDA7IGxlZnQ6IDYyLjUlOyAtLXJvdGF0aW9uOiA4ZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuNXM7IH1cclxuICAgICYub3dsLTcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWx1bmNoLnBuZycpOyB0b3A6IDA7IGxlZnQ6IDc1JTsgLS1yb3RhdGlvbjogLTEwZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuOHM7IH1cclxuICAgICYub3dsLTggeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWxhcHRvcC5wbmcnKTsgdG9wOiAwOyBsZWZ0OiA4Ny41JTsgLS1yb3RhdGlvbjogNmRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyLjFzOyB9XHJcblxyXG4gICAgJi5vd2wtOSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtY2FtcC5wbmcnKTsgdG9wOiAxNi42NiU7IGxlZnQ6IDA7IC0tcm90YXRpb246IDdkZWc7IGFuaW1hdGlvbi1kZWxheTogMC40czsgfVxyXG4gICAgJi5vd2wtMTAgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWdhcmRlbi5wbmcnKTsgdG9wOiAxNi42NiU7IGxlZnQ6IDEyLjUlOyAtLXJvdGF0aW9uOiAtOWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAwLjdzOyB9XHJcbiAgICAmLm93bC0xMSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtcm9wZS5wbmcnKTsgdG9wOiAxNi42NiU7IGxlZnQ6IDI1JTsgLS1yb3RhdGlvbjogMTFkZWc7IGFuaW1hdGlvbi1kZWxheTogMXM7IH1cclxuICAgICYub3dsLTEyIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1zYWlsLnBuZycpOyB0b3A6IDE2LjY2JTsgbGVmdDogMzcuNSU7IC0tcm90YXRpb246IC02ZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuM3M7IH1cclxuICAgICYub3dsLTEzIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1za2F0ZS5wbmcnKTsgdG9wOiAxNi42NiU7IGxlZnQ6IDUwJTsgLS1yb3RhdGlvbjogOWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxLjZzOyB9XHJcbiAgICAmLm93bC0xNCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtc25vd21hbi5wbmcnKTsgdG9wOiAxNi42NiU7IGxlZnQ6IDYyLjUlOyAtLXJvdGF0aW9uOiAtN2RlZzsgYW5pbWF0aW9uLWRlbGF5OiAxLjlzOyB9XHJcbiAgICAmLm93bC0xNSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtd2Fsay5wbmcnKTsgdG9wOiAxNi42NiU7IGxlZnQ6IDc1JTsgLS1yb3RhdGlvbjogOGRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyLjJzOyB9XHJcbiAgICAmLm93bC0xNiB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtYm9vay5wbmcnKTsgdG9wOiAxNi42NiU7IGxlZnQ6IDg3LjUlOyAtLXJvdGF0aW9uOiAtMTFkZWc7IGFuaW1hdGlvbi1kZWxheTogMi41czsgfVxyXG5cclxuICAgICYub3dsLTE3IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1tdXNpYy5wbmcnKTsgdG9wOiAzMy4zMyU7IGxlZnQ6IDA7IC0tcm90YXRpb246IDEwZGVnOyBhbmltYXRpb24tZGVsYXk6IDAuNXM7IH1cclxuICAgICYub3dsLTE4IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1wZW5jaWwucG5nJyk7IHRvcDogMzMuMzMlOyBsZWZ0OiAxMi41JTsgLS1yb3RhdGlvbjogLThkZWc7IGFuaW1hdGlvbi1kZWxheTogMC44czsgfVxyXG4gICAgJi5vd2wtMTkgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXNvY2Nlci5wbmcnKTsgdG9wOiAzMy4zMyU7IGxlZnQ6IDI1JTsgLS1yb3RhdGlvbjogNmRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxLjFzOyB9XHJcbiAgICAmLm93bC0yMCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtYmljeWNsZS5wbmcnKTsgdG9wOiAzMy4zMyU7IGxlZnQ6IDM3LjUlOyAtLXJvdGF0aW9uOiAtMTJkZWc7IGFuaW1hdGlvbi1kZWxheTogMS40czsgfVxyXG4gICAgJi5vd2wtMjEgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXBsYXkucG5nJyk7IHRvcDogMzMuMzMlOyBsZWZ0OiA1MCU7IC0tcm90YXRpb246IDlkZWc7IGFuaW1hdGlvbi1kZWxheTogMS43czsgfVxyXG4gICAgJi5vd2wtMjIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWx1bmNoLnBuZycpOyB0b3A6IDMzLjMzJTsgbGVmdDogNjIuNSU7IC0tcm90YXRpb246IC03ZGVnOyBhbmltYXRpb24tZGVsYXk6IDJzOyB9XHJcbiAgICAmLm93bC0yMyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtbGFwdG9wLnBuZycpOyB0b3A6IDMzLjMzJTsgbGVmdDogNzUlOyAtLXJvdGF0aW9uOiAxMWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyLjNzOyB9XHJcbiAgICAmLm93bC0yNCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtY2FtcC5wbmcnKTsgdG9wOiAzMy4zMyU7IGxlZnQ6IDg3LjUlOyAtLXJvdGF0aW9uOiAtOWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyLjZzOyB9XHJcblxyXG4gICAgJi5vd2wtMjUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWdhcmRlbi5wbmcnKTsgdG9wOiA1MCU7IGxlZnQ6IDA7IC0tcm90YXRpb246IC0xMGRlZzsgYW5pbWF0aW9uLWRlbGF5OiAwLjZzOyB9XHJcbiAgICAmLm93bC0yNiB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtcm9wZS5wbmcnKTsgdG9wOiA1MCU7IGxlZnQ6IDEyLjUlOyAtLXJvdGF0aW9uOiA4ZGVnOyBhbmltYXRpb24tZGVsYXk6IDAuOXM7IH1cclxuICAgICYub3dsLTI3IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1zYWlsLnBuZycpOyB0b3A6IDUwJTsgbGVmdDogMjUlOyAtLXJvdGF0aW9uOiAtNmRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxLjJzOyB9XHJcbiAgICAmLm93bC0yOCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtc2thdGUucG5nJyk7IHRvcDogNTAlOyBsZWZ0OiAzNy41JTsgLS1yb3RhdGlvbjogMTJkZWc7IGFuaW1hdGlvbi1kZWxheTogMS41czsgfVxyXG4gICAgJi5vd2wtMjkgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXNub3dtYW4ucG5nJyk7IHRvcDogNTAlOyBsZWZ0OiA1MCU7IC0tcm90YXRpb246IC04ZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuOHM7IH1cclxuICAgICYub3dsLTMwIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC13YWxrLnBuZycpOyB0b3A6IDUwJTsgbGVmdDogNjIuNSU7IC0tcm90YXRpb246IDdkZWc7IGFuaW1hdGlvbi1kZWxheTogMi4xczsgfVxyXG4gICAgJi5vd2wtMzEgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWJvb2sucG5nJyk7IHRvcDogNTAlOyBsZWZ0OiA3NSU7IC0tcm90YXRpb246IC0xMWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyLjRzOyB9XHJcbiAgICAmLm93bC0zMiB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtbXVzaWMucG5nJyk7IHRvcDogNTAlOyBsZWZ0OiA4Ny41JTsgLS1yb3RhdGlvbjogOWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyLjdzOyB9XHJcblxyXG4gICAgJi5vd2wtMzMgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXBlbmNpbC5wbmcnKTsgdG9wOiA2Ni42NiU7IGxlZnQ6IDA7IC0tcm90YXRpb246IDZkZWc7IGFuaW1hdGlvbi1kZWxheTogMC43czsgfVxyXG4gICAgJi5vd2wtMzQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXNvY2Nlci5wbmcnKTsgdG9wOiA2Ni42NiU7IGxlZnQ6IDEyLjUlOyAtLXJvdGF0aW9uOiAtOWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxczsgfVxyXG4gICAgJi5vd2wtMzUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWJpY3ljbGUucG5nJyk7IHRvcDogNjYuNjYlOyBsZWZ0OiAyNSU7IC0tcm90YXRpb246IDExZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuM3M7IH1cclxuICAgICYub3dsLTM2IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1wbGF5LnBuZycpOyB0b3A6IDY2LjY2JTsgbGVmdDogMzcuNSU7IC0tcm90YXRpb246IC03ZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuNnM7IH1cclxuICAgICYub3dsLTM3IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1sdW5jaC5wbmcnKTsgdG9wOiA2Ni42NiU7IGxlZnQ6IDUwJTsgLS1yb3RhdGlvbjogMTBkZWc7IGFuaW1hdGlvbi1kZWxheTogMS45czsgfVxyXG4gICAgJi5vd2wtMzggeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWxhcHRvcC5wbmcnKTsgdG9wOiA2Ni42NiU7IGxlZnQ6IDYyLjUlOyAtLXJvdGF0aW9uOiAtMTJkZWc7IGFuaW1hdGlvbi1kZWxheTogMi4yczsgfVxyXG4gICAgJi5vd2wtMzkgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWNhbXAucG5nJyk7IHRvcDogNjYuNjYlOyBsZWZ0OiA3NSU7IC0tcm90YXRpb246IDhkZWc7IGFuaW1hdGlvbi1kZWxheTogMi41czsgfVxyXG4gICAgJi5vd2wtNDAgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWdhcmRlbi5wbmcnKTsgdG9wOiA2Ni42NiU7IGxlZnQ6IDg3LjUlOyAtLXJvdGF0aW9uOiAtMTBkZWc7IGFuaW1hdGlvbi1kZWxheTogMi44czsgfVxyXG5cclxuICAgICYub3dsLTQxIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC1yb3BlLnBuZycpOyB0b3A6IDgzLjMzJTsgbGVmdDogMDsgLS1yb3RhdGlvbjogLThkZWc7IGFuaW1hdGlvbi1kZWxheTogMC44czsgfVxyXG4gICAgJi5vd2wtNDIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLXNhaWwucG5nJyk7IHRvcDogODMuMzMlOyBsZWZ0OiAxMi41JTsgLS1yb3RhdGlvbjogOWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxLjFzOyB9XHJcbiAgICAmLm93bC00MyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtc2thdGUucG5nJyk7IHRvcDogODMuMzMlOyBsZWZ0OiAyNSU7IC0tcm90YXRpb246IC0xMWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAxLjRzOyB9XHJcbiAgICAmLm93bC00NCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtc25vd21hbi5wbmcnKTsgdG9wOiA4My4zMyU7IGxlZnQ6IDM3LjUlOyAtLXJvdGF0aW9uOiA3ZGVnOyBhbmltYXRpb24tZGVsYXk6IDEuN3M7IH1cclxuICAgICYub3dsLTQ1IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2xvZ2luL293bC13YWxrLnBuZycpOyB0b3A6IDgzLjMzJTsgbGVmdDogNTAlOyAtLXJvdGF0aW9uOiAtOWRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyczsgfVxyXG4gICAgJi5vd2wtNDYgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLWJvb2sucG5nJyk7IHRvcDogODMuMzMlOyBsZWZ0OiA2Mi41JTsgLS1yb3RhdGlvbjogMTJkZWc7IGFuaW1hdGlvbi1kZWxheTogMi4zczsgfVxyXG4gICAgJi5vd2wtNDcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbG9naW4vb3dsLW11c2ljLnBuZycpOyB0b3A6IDgzLjMzJTsgbGVmdDogNzUlOyAtLXJvdGF0aW9uOiAtNmRlZzsgYW5pbWF0aW9uLWRlbGF5OiAyLjZzOyB9XHJcbiAgICAmLm93bC00OCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9sb2dpbi9vd2wtcGVuY2lsLnBuZycpOyB0b3A6IDgzLjMzJTsgbGVmdDogODcuNSU7IC0tcm90YXRpb246IDEwZGVnOyBhbmltYXRpb24tZGVsYXk6IDIuOXM7IH1cclxuXHJcbiAgICAvKiBSZXNwb25zaXZlIHNpemluZyAqL1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMDQ7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xyXG4gICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMDY7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEdyaWQgY29udGFpbmVyIHdpdGggaW1wcm92ZWQgc3R5bGluZyAqL1xyXG4uZ3JvdXAtc2VsZWN0LWdyaWQtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjgwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgQ1NTIEdyaWQgZm9yIHRpbGVzICovXHJcbi5ncm91cC10aWxlcy1ncmlkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLyogNCBjb2x1bW5zIG9uIHNtYWxsIHNjcmVlbnMgKi9cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyogNiBjb2x1bW5zIG9uIG1lZGl1bSBzY3JlZW5zICovXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xyXG4gICAgICAgIGdhcDogMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAvKiA4IGNvbHVtbnMgb24gbGFyZ2Ugc2NyZWVucyAqL1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMWZyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiA4IGNvbHVtbnMgb24gZXh0cmEgbGFyZ2Ugc2NyZWVucyAqL1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIDFmcik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEdyb3VwIHRpbGUgYmFzZSBzdHlsZXMgd2l0aCBlbmhhbmNlZCBlZmZlY3RzICovXHJcbi5ncm91cC10aWxlIHtcclxuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCB2YXIoLS1zaGFkb3ctbWQpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICAvKiBTdWJ0bGUgc2hpbmUgZWZmZWN0ICovXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA2MCUpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cyBlYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEdsb3cgZWZmZWN0IG9uIGhvdmVyICovXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLTUwJTtcclxuICAgICAgICBsZWZ0OiAtNTAlO1xyXG4gICAgICAgIHdpZHRoOiAyMDAlO1xyXG4gICAgICAgIGhlaWdodDogMjAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgMCUsIHRyYW5zcGFyZW50IDcwJSk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzIGVhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpIHNjYWxlKDEuMDIpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTJweCAzMnB4IHZhcigtLXNoYWRvdy0zeGwpO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHNjYWxlKDEuMDEpO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyogRm9jdXMgc3RhdGUgZm9yIGFjY2Vzc2liaWxpdHkgKi9cclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWZvY3VzLXJpbmctYnJhbmQpO1xyXG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEdyb3VwIHRpbGUgaWNvbiBjb250YWluZXIgKGZhbGxiYWNrIHdoZW4gbm8gaW1hZ2UpICovXHJcbi5ncm91cC10aWxlLWljb24ge1xyXG4gICAgd2lkdGg6IDM2cHg7XHJcbiAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggdmFyKC0tc2hhZG93LXNtKTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcblxyXG4gICAgLmdyb3VwLXRpbGU6aG92ZXIgJiB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBSZXNwb25zaXZlIHNpemluZyAqL1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xyXG4gICAgICAgIHdpZHRoOiA0NHB4O1xyXG4gICAgICAgIGhlaWdodDogNDRweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogRmFsbGJhY2sgaWNvbiBpbnNpZGUgY2lyY2xlICovXHJcbi5ncm91cC10aWxlLWljb24tZmFsbGJhY2sge1xyXG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIERpcmVjdCBpbWFnZSBkaXNwbGF5IG9uIHRpbGUgKi9cclxuLmdyb3VwLXRpbGUtaW1hZ2Uge1xyXG4gICAgbWF4LXdpZHRoOiAzNnB4O1xyXG4gICAgbWF4LWhlaWdodDogMzZweDtcclxuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMnB4IDRweCB2YXIoLS1zaGFkb3ctbWQpKTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcblxyXG4gICAgLmdyb3VwLXRpbGU6aG92ZXIgJiB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBSZXNwb25zaXZlIHNpemluZyAqL1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0NHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDQ0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEdyb3VwIHRpbGUgbmFtZSB3aXRoIGJldHRlciB0eXBvZ3JhcGh5ICovXHJcbi5ncm91cC10aWxlLW5hbWUge1xyXG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcclxuICAgIHRleHQtc2hhZG93OiAwIDFweCAzcHggdmFyKC0tc2hhZG93LWxnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG5cclxuICAgIC8qIFJlc3BvbnNpdmUgc2l6aW5nICovXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBmb250LXNpemU6IDAuNjVyZW07XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzVweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJhY2tncm91bmQgY29sb3IgY2xhc3NlcyBhbmQgZmFsbGJhY2sgaWNvbiBjb2xvcnMgdXNpbmcgQ1NTIHZhcmlhYmxlc1xyXG4gICBOb3RlOiBcIm9yYW5nZVwiIGludGVudGlvbmFsbHkgdXNlcyBzYW1lIGNvbG9yIGFzIFwiY29yYWxcIiAoI0U4OTI3QylcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIENvcmFsICovXHJcbi5iZy1jb3JhbCwgLkJnX2NvcmFsIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JvdXAtY29yYWwpOyB9XHJcbi5ncm91cC10aWxlLmJnLWNvcmFsIC5ncm91cC10aWxlLWljb24tZmFsbGJhY2ssXHJcbi5ncm91cC10aWxlLkJnX2NvcmFsIC5ncm91cC10aWxlLWljb24tZmFsbGJhY2sge1xyXG4gICAgY29sb3I6IHZhcigtLWdyb3VwLWNvcmFsKTtcclxufVxyXG5cclxuLyogR3JheSAqL1xyXG4uYmctZ3JheSwgLkJnX2dyYXkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncm91cC1ncmF5KTsgfVxyXG4uZ3JvdXAtdGlsZS5iZy1ncmF5IC5ncm91cC10aWxlLWljb24tZmFsbGJhY2ssXHJcbi5ncm91cC10aWxlLkJnX2dyYXkgLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayB7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JvdXAtZ3JheSk7XHJcbn1cclxuXHJcbi8qIFRlYWwgKi9cclxuLmJnLXRlYWwsIC5CZ190ZWFsIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JvdXAtdGVhbCk7IH1cclxuLmdyb3VwLXRpbGUuYmctdGVhbCAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrLFxyXG4uZ3JvdXAtdGlsZS5CZ190ZWFsIC5ncm91cC10aWxlLWljb24tZmFsbGJhY2sge1xyXG4gICAgY29sb3I6IHZhcigtLWdyb3VwLXRlYWwpO1xyXG59XHJcblxyXG4vKiBHcmVlbiAqL1xyXG4uYmctZ3JlZW4sIC5CZ19ncmVlbiB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyb3VwLWdyZWVuKTsgfVxyXG4uZ3JvdXAtdGlsZS5iZy1ncmVlbiAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrLFxyXG4uZ3JvdXAtdGlsZS5CZ19ncmVlbiAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncm91cC1ncmVlbik7XHJcbn1cclxuXHJcbi8qIEJyb3duICovXHJcbi5iZy1icm93biwgLkJnX2Jyb3duIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JvdXAtYnJvd24pOyB9XHJcbi5ncm91cC10aWxlLmJnLWJyb3duIC5ncm91cC10aWxlLWljb24tZmFsbGJhY2ssXHJcbi5ncm91cC10aWxlLkJnX2Jyb3duIC5ncm91cC10aWxlLWljb24tZmFsbGJhY2sge1xyXG4gICAgY29sb3I6IHZhcigtLWdyb3VwLWJyb3duKTtcclxufVxyXG5cclxuLyogT3JhbmdlICh1c2VzIHNhbWUgY29sb3IgYXMgY29yYWwpICovXHJcbi5iZy1vcmFuZ2UsIC5CZ19vcmFuZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncm91cC1jb3JhbCk7IH1cclxuLmdyb3VwLXRpbGUuYmctb3JhbmdlIC5ncm91cC10aWxlLWljb24tZmFsbGJhY2ssXHJcbi5ncm91cC10aWxlLkJnX29yYW5nZSAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncm91cC1jb3JhbCk7XHJcbn1cclxuXHJcbi8qIFBpbmsgKi9cclxuLmJnLXBpbmssIC5CZ19waW5rIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JvdXAtcGluayk7IH1cclxuLmdyb3VwLXRpbGUuYmctcGluayAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrLFxyXG4uZ3JvdXAtdGlsZS5CZ19waW5rIC5ncm91cC10aWxlLWljb24tZmFsbGJhY2sge1xyXG4gICAgY29sb3I6IHZhcigtLWdyb3VwLXBpbmspO1xyXG59XHJcblxyXG4vKiBQdXJwbGUgKi9cclxuLmJnLXB1cnBsZSwgLkJnX3B1cnBsZSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyb3VwLXB1cnBsZSk7IH1cclxuLmdyb3VwLXRpbGUuYmctcHVycGxlIC5ncm91cC10aWxlLWljb24tZmFsbGJhY2ssXHJcbi5ncm91cC10aWxlLkJnX3B1cnBsZSAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncm91cC1wdXJwbGUpO1xyXG59XHJcblxyXG4vKiBCbHVlICovXHJcbi5iZy1ibHVlLCAuQmdfYmx1ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyb3VwLWJsdWUpOyB9XHJcbi5ncm91cC10aWxlLmJnLWJsdWUgLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayxcclxuLmdyb3VwLXRpbGUuQmdfYmx1ZSAuZ3JvdXAtdGlsZS1pY29uLWZhbGxiYWNrIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncm91cC1ibHVlKTtcclxufVxyXG5cclxuLyogTmF2eSAqL1xyXG4uYmctbmF2eSwgLkJnX25hdnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncm91cC1uYXZ5KTsgfVxyXG4uZ3JvdXAtdGlsZS5iZy1uYXZ5IC5ncm91cC10aWxlLWljb24tZmFsbGJhY2ssXHJcbi5ncm91cC10aWxlLkJnX25hdnkgLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayB7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JvdXAtbmF2eSk7XHJcbn1cclxuXHJcbi8qIFllbGxvdyAqL1xyXG4uYmcteWVsbG93LCAuQmdfeWVsbG93IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JvdXAteWVsbG93KTsgfVxyXG4uZ3JvdXAtdGlsZS5iZy15ZWxsb3cgLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayxcclxuLmdyb3VwLXRpbGUuQmdfeWVsbG93IC5ncm91cC10aWxlLWljb24tZmFsbGJhY2sge1xyXG4gICAgY29sb3I6IHZhcigtLWdyb3VwLXllbGxvdyk7XHJcbn1cclxuXHJcbi8qIFJlZCAqL1xyXG4uYmctcmVkLCAuQmdfcmVkIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JvdXAtcmVkKTsgfVxyXG4uZ3JvdXAtdGlsZS5iZy1yZWQgLmdyb3VwLXRpbGUtaWNvbi1mYWxsYmFjayxcclxuLmdyb3VwLXRpbGUuQmdfcmVkIC5ncm91cC10aWxlLWljb24tZmFsbGJhY2sge1xyXG4gICAgY29sb3I6IHZhcigtLWdyb3VwLXJlZCk7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ0xBU1MgTUFOQUdFTUVOVCAtIFN0dWRlbnQgY2FyZCBhbmQgZ3JpZCBzdHlsaW5nXHJcbiAgIFJlc3BvbnNpdmUgZGVzaWduIHVzaW5nIEJvb3RzdHJhcCBicmVha3BvaW50c1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgU3R1ZGVudCBDYXJkXHJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uc3R1ZGVudC1jYXJkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1pbi13aWR0aDogMDsgLyogUHJldmVudCBvdmVyZmxvdyBpbiBncmlkICovXHJcbn1cclxuXHJcbi5zdHVkZW50LWF2YXRhciB7XHJcbiAgICBAaW5jbHVkZSByYXRoby1hdmF0YXItZ3JhZGllbnQoMTIwcHgsIDNweCk7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogU21hbGxlciBhdmF0YXIgb24gbW9iaWxlICovXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnN0dWRlbnQtbmFtZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtZGFyayk7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgIC8qIFNtYWxsZXIgdGV4dCBvbiBtb2JpbGUgKi9cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgU2VsZWN0aW9uIEJhZGdlc1xyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLnN0dWRlbnQtYmFkZ2Uge1xyXG4gICAgd2lkdGg6IDI4cHg7XHJcbiAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJnLXdoaXRlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1JSwgMjUlKTtcclxuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuICAgICAgICB3aWR0aDogMjJweDtcclxuICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdHVkZW50LWJhZGdlLWZ1bGxzY3JlZW4ge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3RhdHVzLXN1Y2Nlc3MpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjUlLCAtMjUlKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdGF0dXMtc3VjY2Vzcy1kYXJrKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyNSUsIC0yNSUpIHNjYWxlKDEuMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdHVkZW50LWJhZGdlLWRlc2VsZWN0IHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXN0YXR1cy1lcnJvcik7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3RhdHVzLWVycm9yLWRhcmspO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1JSwgMjUlKSBzY2FsZSgxLjEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3R1ZGVudC1iYWRnZS1zZWxlY3RlZCB7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDE1JSwgMTUlKTtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgU2VsZWN0YWJsZSBBdmF0YXJcclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5zdHVkZW50LWF2YXRhci1zZWxlY3RhYmxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWxlY3RlZCBpbWcge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1ncmFkaWVudC1zdGFydCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgIFN5bmMgU2NyZWVuIE1vZGVcclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5zdHVkZW50LXN5bmMtc2NyZWVuIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JhZGllbnQtc3RhcnQpLCB2YXIoLS1ncmFkaWVudC1lbmQpKTtcclxuICAgIHBhZGRpbmc6IDNweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYXNwZWN0LXJhdGlvOiA0IC8gMztcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxufVxyXG5cclxuLnN0dWRlbnQtZnVsbHNjcmVlbi1pbWFnZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiA3MHZoO1xyXG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgR3JpZCBMYXlvdXQgLSBSZXNwb25zaXZlIHVzaW5nIEJvb3RzdHJhcCBicmVha3BvaW50c1xyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmNsYXNzbWFuYWdlbWVudC1ncmlkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAvKiBNb2JpbGU6IDIgY29sdW1ucyAoPCA1NzZweCkgKi9cclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICBnYXA6IDFyZW07XHJcblxyXG4gICAgLyogU21hbGw6IDMgY29sdW1ucyAoPj0gNTc2cHgpICovXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgICAgIGdhcDogMS4yNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBNZWRpdW06IDQgY29sdW1ucyAoPj0gNzY4cHgpICovXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xyXG4gICAgICAgIGdhcDogMS41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIExhcmdlOiA1IGNvbHVtbnMgKD49IDk5MnB4KSAqL1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBFeHRyYSBMYXJnZSs6IDYgY29sdW1ucyBtYXggKD49IDEyMDBweCkgKi9cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBTY3JlZW4gbW9kZSAtIHRpZ2h0ZXIgZ2FwcyBmb3Igd2lkZXIgY2FyZHMgKi9cclxuLmNsYXNzbWFuYWdlbWVudC1ncmlkLXNjcmVlbnMge1xyXG4gICAgZ2FwOiAwLjVyZW07XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XHJcbiAgICAgICAgZ2FwOiAwLjYyNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBnYXA6IDAuNzVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEV4dHJhIGNvbHVtbnMgd2hlbiBzaWRlYmFyIGlzIGNvbGxhcHNlZCB0byB1dGlsaXplIGZyZWVkIGhvcml6b250YWwgc3BhY2UgKi9cclxuLnNpZGViYXItY29sbGFwc2VkIC5jbGFzc21hbmFnZW1lbnQtZ3JpZCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCAxZnIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBUYWIgQ29udGVudCAmIENvbnRhaW5lciBBZGp1c3RtZW50c1xyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyogRW5zdXJlIHRhYiBjb250ZW50IGRvZXNuJ3Qgb3ZlcmZsb3cgKi9cclxuLnJhdGhvLXRhYi1jb250ZW50IHtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnJhdGhvLXRhYi1wYW5lIHtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICAvKiBSZXNwb25zaXZlIHBhZGRpbmcgKi9cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBUb29sYmFyIC0gU2VhcmNoLCBUb2dnbGUsIFRhZ3MgaW4gb25lIHJvdyAoQ1NTIEdyaWQgZm9yIHRydWUgY2VudGVyaW5nKVxyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmNsYXNzbWFuYWdlbWVudC10b29sYmFyIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDFmcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDAuNzVyZW07XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFNlYXJjaCBjb250YWluZXIgLSBsZWZ0IGNvbHVtbiAoc2VhcmNoIGJhciArIHNlbGVjdC1hbGwgc2lkZSBieSBzaWRlKSAqL1xyXG4uY2xhc3NtYW5hZ2VtZW50LWZpbHRlci1zZWFyY2gge1xyXG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG5cclxuICAgID4gOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xyXG5cclxuICAgICAgICA+IDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFRvZ2dsZSAtIGNlbnRlciBjb2x1bW4sIGFsd2F5cyBjZW50ZXJlZCAqL1xyXG4uY2xhc3NtYW5hZ2VtZW50LWZpbHRlci10b2dnbGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGdhcDogMC43NXJlbTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2xhc3NtYW5hZ2VtZW50LWFjdGlvbnMtYnRuIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIFRhZ3MgY29udGFpbmVyIC0gcmlnaHQgY29sdW1uICovXHJcbi5jbGFzc21hbmFnZW1lbnQtZmlsdGVyLXRhZ3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDAuNXJlbTtcclxuICAgIGp1c3RpZnktc2VsZjogZW5kO1xyXG59XHJcblxyXG4vKiBTZWxlY3QgYWxsIHRvZ2dsZSAqL1xyXG4uY2xhc3NtYW5hZ2VtZW50LXNlbGVjdC1hbGwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDAuMzc1cmVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tZ3JhZGllbnQtc3RhcnQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBGdWxsc2NyZWVuIE1vZGFsIC0gU2NyZWVuc2hvdCBwcmV2aWV3IG92ZXJsYXlcclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5mdWxsc2NyZWVuLW1vZGFsLW92ZXJsYXkge1xyXG4gICAgQGluY2x1ZGUgbW9kYWwtb3ZlcmxheSgpO1xyXG59XHJcblxyXG4uZnVsbHNjcmVlbi1tb2RhbC1jb250YWluZXIge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIEBpbmNsdWRlIG1vZGFsLWNvbnRhaW5lcig5MDBweCk7XHJcblxyXG4gICAgLm1vZGFsLWNvbnRlbnQge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5idG4tY2xvc2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIRUxQIFVQREFURVMgLSBQYWdlLXNwZWNpZmljIHN0eWxlc1xyXG4gICBPbmx5IHN0eWxlcyB0aGF0IGNhbm5vdCBiZSBhY2hpZXZlZCB3aXRoIEJvb3RzdHJhcCBjbGFzc2VzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBJbmZvcm1hdGlvbiBQYW5lbCAtIFNoYXJlZCBwYW5lbCBzdHlsaW5nIGZvciBJVCBhZG1pbnMgYW5kIGV4YW1wbGUgdXNlclxyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmluZm8tcGFuZWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNyZWFtKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zaWRlLWJvcmRlcik7XHJcbn1cclxuXHJcbi5pbmZvLWl0ZW0ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0LXBpbmspO1xyXG5cdGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuXHRwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblx0bWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xyXG5cclxuXHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5pbmZvLWljb24ge1xyXG5cdHdpZHRoOiA0MHB4O1xyXG5cdGhlaWdodDogNDBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQsICNmZjhmNjEpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG59XHJcblxyXG4uYWRtaW4tYXZhdGFyIHtcclxuXHR3aWR0aDogNDBweDtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcblx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0LCAjZmY4ZjYxKTtcclxufVxyXG5cclxuLmV4YW1wbGUtbGFiZWwge1xyXG5cdGNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbi5leGFtcGxlLWVtYWlsIHtcclxuXHRjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0KTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgaW5mbyBwYW5lbCBlbGVtZW50cyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuXHQuaW5mby1pY29uIHtcclxuXHRcdHdpZHRoOiAzNHB4O1xyXG5cdFx0aGVpZ2h0OiAzNHB4O1xyXG5cdFx0Zm9udC1zaXplOiAwLjc1cmVtO1xyXG5cdH1cclxuXHJcblx0LmFkbWluLWF2YXRhciB7XHJcblx0XHR3aWR0aDogMzRweDtcclxuXHRcdGhlaWdodDogMzRweDtcclxuXHR9XHJcblxyXG5cdC5wYXRjaC1ub3RlLWNhcmQge1xyXG5cdFx0cGFkZGluZzogMC42MjVyZW0gMC43NXJlbTtcclxuXHR9XHJcblxyXG5cdC5wYXRjaC1ub3RlLXJlYWQtbW9yZSB7XHJcblx0XHRtaW4taGVpZ2h0OiA0NHB4OyAvKiBXQ0FHIHRvdWNoIHRhcmdldCAqL1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxufVxyXG5cclxuLyogU2Nyb2xsYWJsZSBjb250YWluZXIgd2l0aCBjdXN0b20gc2Nyb2xsYmFyICovXHJcbi5hZG1pbi1zY3JvbGwge1xyXG5cdG1heC1oZWlnaHQ6IDE4MHB4O1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cdHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcclxuXHRzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcblx0c2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zaWRlLWJvcmRlcikgdHJhbnNwYXJlbnQ7XHJcblx0QGluY2x1ZGUgY3VzdG9tLXNjcm9sbGJhcih2YXIoLS1zaWRlLWJvcmRlciksIHRyYW5zcGFyZW50KTtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgTWFudWFscyBTZWN0aW9uIC0gU2VhcmNoIGFuZCBmaWx0ZXIgc3R5bGluZ1xyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLm1hbnVhbHMtZmlsdGVyYmFyIHtcclxuXHRnYXA6IDFyZW07XHJcblxyXG5cdC8qIFN0YWNrIHNlYXJjaCBhbmQgY2F0ZWdvcnkgZmlsdGVyIG9uIHNtYWxsIHNjcmVlbnMgKi9cclxuXHRAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuXHRcdGdhcDogMC41cmVtO1xyXG5cclxuXHRcdD4gKiB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyogQ29uc2lzdGVudCBoZWlnaHQgZm9yIHNlYXJjaCBiYXIgYW5kIGNhdGVnb3J5IGRyb3Bkb3duICovXHJcblx0LmZpbHRlci1pbnB1dCxcclxuXHQuZm9ybS1zZWxlY3Qge1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0bWluLWhlaWdodDogNDBweDtcclxuXHR9XHJcblxyXG5cdC8qIENhdGVnb3J5IGRyb3Bkb3duIC0gbWF0Y2ggYnJhbmQtc3R5bGVkIHNlbGVjdCAqL1xyXG5cdC5mb3JtLXNlbGVjdCB7XHJcblx0XHR3aWR0aDogMjIwcHg7XHJcblx0XHRwYWRkaW5nOiAwLjVyZW0gMi41cmVtIDAuNXJlbSAxcmVtO1xyXG5cdFx0Zm9udC1zaXplOiAwLjk1cmVtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdGNvbG9yOiB2YXIoLS10ZXh0LWRhcmspO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctd2hpdGUpO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYnJhbmQtYWNjZW50LWxpZ2h0LCAjZmY4ZjYxKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0XHQmOmZvY3VzIHtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQsICNmZjhmNjEpO1xyXG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDE0MywgOTcsIDAuMjUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5tYW51YWxzLXNlYXJjaCB7XHJcblx0bWF4LXdpZHRoOiBub25lO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBQYXRjaCBOb3RlcyBTZWN0aW9uXHJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ucGF0Y2gtbm90ZS1jYXJkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jcmVhbSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tc2lkZS1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XHJcblx0cGFkZGluZzogMC43NXJlbSAwLjlyZW07XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnBhdGNoLW5vdGUtdGl0bGUge1xyXG5cdGNvbG9yOiB2YXIoLS1zdGF0dXMtd2FybmluZy1yZWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAwLjlyZW07XHJcbn1cclxuXHJcbi5wYXRjaC1ub3RlLWRlc2Mge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcblx0Zm9udC1zaXplOiAwLjlyZW07XHJcbn1cclxuXHJcbi5wYXRjaC1ub3RlLWxpc3Qge1xyXG5cdGZvbnQtc2l6ZTogMC44NXJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZy1sZWZ0OiAxcmVtO1xyXG5cdG1hcmdpbi10b3A6IDAuMzVyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHJcblx0bGkge1xyXG5cdFx0bWFyZ2luOiAwLjE1cmVtIDA7XHJcblx0fVxyXG59XHJcblxyXG4ucGF0Y2gtbm90ZS1wcmV2aWV3IHtcclxuXHRkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuXHQtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcblx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4ucGF0Y2gtbm90ZS1yZWFkLW1vcmUge1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGNvbG9yOiB2YXIoLS1icmFuZC1hY2NlbnQtbGlnaHQsICNmZjhmNjEpO1xyXG5cdGZvbnQtc2l6ZTogMC44MTI1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWRhcmssICNlNjdhNGEpO1xyXG5cdH1cclxuXHJcblx0aSB7XHJcblx0XHRmb250LXNpemU6IDAuNjI1cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLnBhdGNoLW5vdGUtZnVsbC1jb250ZW50IHtcclxuXHRmb250LXNpemU6IDAuOTM3NXJlbTtcclxuXHRsaW5lLWhlaWdodDogMS42O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcblxyXG5cdHVsLFxyXG5cdG9sIHtcclxuXHRcdHBhZGRpbmctbGVmdDogMS4yNXJlbTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0fVxyXG5cclxuXHRsaSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG5cdH1cclxuXHJcblx0cCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG5cdH1cclxuXHJcblx0YixcclxuXHRzdHJvbmcge1xyXG5cdFx0Y29sb3I6IHZhcigtLXRleHQtZGFyayk7XHJcblx0fVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBVcGRhdGUgTW9kYWwgLSBGdWxsIHZpZXdwb3J0IG92ZXJsYXlcclxuICAgVXNlcyBzZXBhcmF0ZSBvdmVybGF5IGFuZCBjb250YWluZXIgZm9yIGJldHRlciBzdGFja2luZyBjb250ZXh0IGNvbnRyb2xcclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi51cGRhdGUtbW9kYWwtb3ZlcmxheSB7XHJcblx0QGluY2x1ZGUgbW9kYWwtb3ZlcmxheSgpO1xyXG59XHJcblxyXG4udXBkYXRlLW1vZGFsLWNvbnRhaW5lciB7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRAaW5jbHVkZSBtb2RhbC1jb250YWluZXIoJG1heC13aWR0aDogODAwcHgsICRib3JkZXItcmFkaXVzOiAwLjc1cmVtKTtcclxuXHJcblx0Lm1vZGFsLWNvbnRlbnQge1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5tb2RhbC1oZWFkZXIge1xyXG5cdFx0cGFkZGluZzogMXJlbSAxLjVyZW0gMC41cmVtO1xyXG5cdH1cclxuXHJcblx0Lm1vZGFsLWJvZHkge1xyXG5cdFx0cGFkZGluZzogMC41cmVtIDEuNXJlbSAxLjVyZW07XHJcblx0fVxyXG5cclxuXHRAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuXHRcdC5tb2RhbC1oZWFkZXIge1xyXG5cdFx0XHRwYWRkaW5nOiAwLjc1cmVtIDFyZW0gMC41cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5tb2RhbC1ib2R5IHtcclxuXHRcdFx0cGFkZGluZzogMC41cmVtIDFyZW0gMXJlbTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE1JQ1JPU09GVCBMT0dJTiBCVVRUT04gLSBMb2dpbiBidXR0b24gc3R5bGluZ1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmdyb3VwLXNlbGVjdC1sb2dpbi1zZWN0aW9uIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTtcclxuXHRwYWRkaW5nOiAxLjVyZW0gMDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXNvZnQpO1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5ncm91cC1zZWxlY3QtbG9naW4tYnRuIHtcclxuXHRwYWRkaW5nOiAwLjc1cmVtIDJyZW07XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRib3gtc2hhZG93OiAwIDNweCA4cHggdmFyKC0tc2hhZG93LXNtKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJvcmRlci1zb2Z0KSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xyXG5cdFx0Ym94LXNoYWRvdzogMCA2cHggMTZweCB2YXIoLS1zaGFkb3ctbWQpO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctaG92ZXItZ3JheSkgIWltcG9ydGFudDtcclxuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWxpZ2h0LXBpbmspICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQmOmFjdGl2ZSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcblx0XHRib3gtc2hhZG93OiAwIDJweCA2cHggdmFyKC0tc2hhZG93LXNtKTtcclxuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XHJcblx0fVxyXG5cclxuXHQmOmZvY3VzLXZpc2libGUge1xyXG5cdFx0b3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWZvY3VzLXJpbmctYnJhbmQpO1xyXG5cdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcclxuXHR9XHJcbn1cclxuXHJcbi5ncm91cC1zZWxlY3QtbG9naW4taWNvbiB7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTVEFSVCBQQUdFIC0gVGFiIHRpdGxlYmFyIHN0eWxpbmdcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIFRhYiBpbWFnZSBpY29ucyBzaG91bGQgYXBwZWFyIGdyZXkgdG8gbWF0Y2ggRm9udEF3ZXNvbWUgdGFiIGljb25zICovXHJcbi5yYXRoby10YWItdmlldyAubmF2LWxpbmsgaW1nIHtcclxuXHRmaWx0ZXI6IGdyYXlzY2FsZSgxKSBicmlnaHRuZXNzKDAuNTUpO1xyXG5cdHRyYW5zaXRpb246IGZpbHRlciAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4ucmF0aG8tdGFiLXZpZXcgLm5hdi1saW5rLmFjdGl2ZSBpbWcge1xyXG5cdGZpbHRlcjogZ3JheXNjYWxlKDEpIGJyaWdodG5lc3MoMC4zNSk7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNUQVJUIFBBR0UgLSBSZXNwb25zaXZlIHRhYiB0ZXh0IChpY29uLW9ubHkgb24gc21hbGwgc2NyZWVucylcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIE9uIGV4dHJhLXNtYWxsIHNjcmVlbnMsIGhpZGUgdGFiIHRleHQgYW5kIHNob3cgb25seSBpY29ucyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcclxuXHQucmF0aG8tdGFiLXZpZXcgLm5hdi1saW5rIHtcclxuXHRcdC8qIFJlbW92ZSByaWdodCBtYXJnaW4gb24gaWNvbiB3aGVuIHRleHQgaXMgaGlkZGVuICovXHJcblx0XHRpIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRmb250LXNpemU6IDEuMXJlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIExJQlJBUlkgUEFHRSAtIE1pbmltYWwgY3VzdG9tIHN0eWxlcyAodXNlcyBCb290c3RyYXAgdXRpbGl0aWVzKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogTm90ZTogLmxpYnJhcnktYWRkLWJ0biBtb3ZlZCB0byBfdXRpbGl0aWVzLnNjc3MgKHNoYXJlZCBhY3Jvc3MgU3RhcnQgYW5kIExpYnJhcnkgcGFnZXMpICovXHJcblxyXG4vKiBGaWx0ZXIgc2VsZWN0IGRyb3Bkb3ducyAqL1xyXG4ubGlicmFyeS1maWx0ZXItc2VsZWN0IHtcclxuICAgIG1pbi13aWR0aDogMTQwcHg7XHJcbiAgICBmbGV4OiAxIDEgMTgwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xyXG4gICAgcGFkZGluZzogMC41cmVtIDIuNXJlbSAwLjVyZW0gMXJlbTtcclxuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJyYW5kLWFjY2VudC1saWdodCwgI2ZmOGY2MSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9JzAgMCAxMiAxMiclM0UlM0NwYXRoIGZpbGw9JyUyMzMzMycgZD0nTTYgOUwxIDRoMTB6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMnB4O1xyXG5cclxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYWNjZW50LWRhcmssICNlNjdhNGEpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWhvdmVyLWNyZWFtKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWFjY2VudC1saWdodCwgI2ZmOGY2MSk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxNDMsIDk3LCAwLjI1KTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDIuNXJlbSAwLjYyNXJlbSAxcmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBTZWFyY2ggYmFyIHNpemluZyAqL1xyXG4ubGlicmFyeS1zZWFyY2gge1xyXG4gICAgbWluLXdpZHRoOiAxMjBweDtcclxuICAgIGZsZXg6IDEgMSAxNTBweDtcclxuICAgIG1heC13aWR0aDogMjAwcHg7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIENvbnNpc3RlbnQgaGVpZ2h0IGZvciBhbGwgZmlsdGVyYmFyIGNvbnRyb2xzICovXHJcbi5saWJyYXJ5LWZpbHRlci1zZWxlY3QsXHJcbi5saWJyYXJ5LXNlYXJjaCAuZmlsdGVyLWlucHV0LFxyXG4ucmF0aG8tZmlsdGVyYmFyIC5idG4tZ3JhZGllbnQsXHJcbi5yYXRoby1maWx0ZXJiYXIgLmJ0bi1ncmFkaWVudC1hY3RpdmUge1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgbWluLWhlaWdodDogNDBweDtcclxufVxyXG5cclxuLyogTm90ZTogLnctbWQtYXV0byB1dGlsaXR5IG1vdmVkIHRvIHNoYXJlZCBfdXRpbGl0aWVzLnNjc3MgKi9cclxuIiwiLy8gYXVnbWVudHMgdGhlIG9yaWdpbmFsIGdyaWQtc3RhY2sgY2xhc3NcclxuLmdyaWQtc3RhY2sge1xyXG4gICAgLy8gQWxsb3cgaW5kaWNhdG9ycyB0byBvdmVyZmxvdyBvdXRzaWRlIGdyaWQgaXRlbXNcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuICAgIC8vIEJhc2UgY2FyZCBzdHlsaW5nIGZvciBhbGwgUmF0aG8gZ3JpZHN0YWNrIGl0ZW1zXHJcbiAgICAuZ3JpZC1zdGFjay1pdGVtIHtcclxuICAgICAgICAvLyBBbGxvdyBjaGlsZHJlbiB0byBvdmVyZmxvdyAoZm9yIGxvY2svZGVsZXRlIGluZGljYXRvcnMpXHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xyXG5cclxuICAgICAgICA+IC5ncmlkLXN0YWNrLWl0ZW0tY29udGVudCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07IC8vIGFsaWducyB3aXRoIEJvb3RzdHJhcCByb3VuZGVkLTJcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBlYXNlLCBib3gtc2hhZG93IDE1MG1zIGVhc2U7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIE92ZXJyaWRlIGxpYnJhcnkncyBvdmVyZmxvdy15OiBhdXRvIHRvIHByZXZlbnQgc2Nyb2xsYmFyc1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSG92ZXIgaW50ZXJhY3Rpb246IHN1YnRsZSBsaWZ0IGFuZCBzdHJvbmdlciBzaGFkb3dcclxuICAgICAgICAmOmhvdmVyID4gLmdyaWQtc3RhY2staXRlbS1jb250ZW50IHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBXSURHRVQgQkFER0UgLSBTaGFyZWQgYmFzZSBmb3IgbG9jayAmIGRlbGV0ZSBpbmRpY2F0b3IgYmFkZ2VzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZ3Mtd2lkZ2V0LWJhZGdlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG5cclxuICAgIC8vIE9yYW5nZSBjaXJjbGUgYmFkZ2Ugd2l0aCB3aGl0ZSBib3JkZXIgLSBzY2FsZXMgd2l0aCB0aWxlIHNpemVcclxuICAgIHdpZHRoOiBjbGFtcCgxLjVyZW0sIDE1Y3FpLCAyLjc1cmVtKTtcclxuICAgIGhlaWdodDogY2xhbXAoMS41cmVtLCAxNWNxaSwgMi43NXJlbSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmFkaWVudC1zdGFydCwgI0ZGOEU2Myk7XHJcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmZmZmO1xyXG5cclxuICAgIC8vIENlbnRlciB0aGUgaWNvblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAvLyBXaGl0ZSBpY29uXHJcbiAgICBpIHtcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICBmb250LXNpemU6IGNsYW1wKDAuN3JlbSwgNy41Y3FpLCAxLjNyZW0pO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMT0NLIElORElDQVRPUiAtIFdpZGdldCBsb2NrIGJhZGdlIGF0IHRvcC1yaWdodFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmdzLWxvY2staW5kaWNhdG9yIHtcclxuICAgIEBleHRlbmQgLmdzLXdpZGdldC1iYWRnZTtcclxuICAgIHRvcDogY2xhbXAoMC4xNXJlbSwgMmNxaSwgMC40cmVtKTtcclxuICAgIHJpZ2h0OiBjbGFtcCgwLjE1cmVtLCAyY3FpLCAwLjRyZW0pO1xyXG5cclxuICAgIC8vIEludGVyYWN0aXZlIGxvY2sgdG9nZ2xlIChyZW5kZXJlZCBhcyA8YnV0dG9uPiBpbiBlZGl0IG1vZGUpXHJcbiAgICAmLS1pbnRlcmFjdGl2ZSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwLjkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWZvY3VzLXJpbmcsICM0ZDkwZmUpO1xyXG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBVbmxvY2tlZCBzdGF0ZTogbXV0ZWQgZ3JheSBpbnN0ZWFkIG9mIG9yYW5nZVxyXG4gICAgJi0tdW5sb2NrZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWdyYXktNDAwLCAjYWRiNWJkKTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWdyYXktNTAwLCAjNmM3NTdkKTtcclxuICAgICAgICAgICAgZmlsdGVyOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQ29tcGVuc2F0ZSBmb3IgcGFyZW50J3MgaG92ZXIgbGlmdFxyXG4uZ3JpZC1zdGFjay1pdGVtLmdzLXdpZGdldC1sb2NrZWQ6aG92ZXIgLmdzLWxvY2staW5kaWNhdG9yLFxyXG4uZ3JpZC1zdGFjay1pdGVtOmhvdmVyID4gLmdzLWxvY2staW5kaWNhdG9yIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBFRElUIElORElDQVRPUiAtIFdpZGdldCBlZGl0IGJ1dHRvbiBhdCB0b3AtbGVmdCAoZWRpdCBtb2RlKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmdzLWVkaXQtaW5kaWNhdG9yIHtcclxuICAgIEBleHRlbmQgLmdzLXdpZGdldC1iYWRnZTtcclxuICAgIHRvcDogY2xhbXAoMC4xNXJlbSwgMmNxaSwgMC40cmVtKTtcclxuICAgIGxlZnQ6IGNsYW1wKDAuMTVyZW0sIDJjcWksIDAuNHJlbSk7XHJcblxyXG4gICAgLy8gQnV0dG9uIHJlc2V0XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuXHJcbiAgICBpIHtcclxuICAgICAgICBmb250LXNpemU6IGNsYW1wKDAuNjVyZW0sIDdjcWksIDEuMnJlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZm9jdXMtcmluZywgIzRkOTBmZSk7XHJcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQ29tcGVuc2F0ZSBmb3IgcGFyZW50J3MgaG92ZXIgbGlmdFxyXG4uZ3JpZC1zdGFjay1pdGVtOmhvdmVyIC5ncy1lZGl0LWluZGljYXRvciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgREVMRVRFIElORElDQVRPUiAtIFdpZGdldCBkZWxldGUgYnV0dG9uIGF0IGJvdHRvbS1sZWZ0IChlZGl0IG1vZGUpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZ3MtZGVsZXRlLWluZGljYXRvciB7XHJcbiAgICBAZXh0ZW5kIC5ncy13aWRnZXQtYmFkZ2U7XHJcbiAgICBib3R0b206IGNsYW1wKDAuMTVyZW0sIDJjcWksIDAuNHJlbSk7XHJcbiAgICBsZWZ0OiBjbGFtcCgwLjE1cmVtLCAyY3FpLCAwLjRyZW0pO1xyXG5cclxuICAgIC8vIEJ1dHRvbiByZXNldFxyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgwLjY1cmVtLCA3Y3FpLCAxLjJyZW0pO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZm9jdXMtcmluZywgIzRkOTBmZSk7XHJcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQ29tcGVuc2F0ZSBmb3IgcGFyZW50J3MgaG92ZXIgbGlmdFxyXG4uZ3JpZC1zdGFjay1pdGVtOmhvdmVyIC5ncy1kZWxldGUtaW5kaWNhdG9yIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSRVNQT05TSVZFIEFESlVTVE1FTlRTIC0gUmVkdWNlIGhvdmVyIGxpZnQgb24gbW9iaWxlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBNb2JpbGVcclxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAuZ3JpZC1zdGFjay1pdGVtLmdzLXdpZGdldC1sb2NrZWQ6aG92ZXIgLmdzLWxvY2staW5kaWNhdG9yLFxyXG4gICAgLmdyaWQtc3RhY2staXRlbTpob3ZlciA+IC5ncy1sb2NrLWluZGljYXRvcixcclxuICAgIC5ncmlkLXN0YWNrLWl0ZW06aG92ZXIgLmdzLWVkaXQtaW5kaWNhdG9yLFxyXG4gICAgLmdyaWQtc3RhY2staXRlbTpob3ZlciAuZ3MtZGVsZXRlLWluZGljYXRvciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEuNXB4KTtcclxuICAgIH1cclxufVxyXG4iXX0= */
