/*! core.scss | Nephos | CSS Ninja */

/* ==========================================================================
Core styles 
========================================================================== */

/***
TABLE OF CONTENTS
=============================================================================
0. Main Sidebar
1. FAB Button
2. Categories sidebar
3. Main dark sidebar
4. Filters sidebar
5. Cart sidebar
6. Cards
7. Layout
8. Categories
9. Sorting
10. Account pages header
11. Account Tabs
12. Profile
13. Wishlist
14. Avatar upload
15. Cart page
16. Empty Cart
17. Orders
18. Single Product page
19. Checkout process
20. Login / Register page
21. Buttons
22. search Overlay
23. Filters
24. Checkboxes
25. Form controls
26. Invoice page
27. Pageloader
28. Elements
29. Utilities
30. Animations
31. Media Queries
=============================================================================
***/

/* ==========================================================================
0. Main Sidebar
========================================================================== */
html {
    scroll-behavior: smooth;
  }

.main-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 80px;
    background-color: #fff;
    box-shadow: 2px 0px 2px 0px rgba(0, 0, 0, 0.02);
    border-right: 1px solid #ededed;
    z-index: 10;
    transition: all .3s
}

.main-sidebar.is-pushed-mobile {
    -webkit-transform: translateX(-61px) !important;
    transform: translateX(-61px) !important
}

.main-sidebar .sidebar-brand {
    width: 80px;
    height: 80px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: #fcfcfc;
    border-right: 1px solid #ededed
}

.main-sidebar .sidebar-brand img {
    width: 32px;
    height: 32px
}

.main-sidebar .sidebar-inner {
    height: 100%;
    width: 100%;
    position: relative
}

.main-sidebar .sidebar-inner .icon-menu li,
.main-sidebar .sidebar-inner .bottom-menu li {
    width: 80px;
    height: 80px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}

.main-sidebar .sidebar-inner .icon-menu li a,
.main-sidebar .sidebar-inner .bottom-menu li a {
    display: block;
    position: relative;
    max-height: 20px;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
    transition: all .3s
}

.main-sidebar .sidebar-inner .icon-menu li a svg,
.main-sidebar .sidebar-inner .bottom-menu li a svg {
    stroke: #A9ABAC;
    width: 20px;
    height: 20px
}

.main-sidebar .sidebar-inner .icon-menu li a:hover svg,
.main-sidebar .sidebar-inner .icon-menu li a.is-active svg,
.main-sidebar .sidebar-inner .bottom-menu li a:hover svg,
.main-sidebar .sidebar-inner .bottom-menu li a.is-active svg {
    stroke: #E1484B
}

.main-sidebar .sidebar-inner .icon-menu li a .cart-items,
.main-sidebar .sidebar-inner .bottom-menu li a .cart-items {
    position: absolute;
    top: -6px;
    right: -9px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 9px;
    background: #E1484B;
    font-weight: 700
}

.main-sidebar .sidebar-inner .icon-menu li a.is-opened,
.main-sidebar .sidebar-inner .bottom-menu li a.is-opened {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    opacity: 0
}

.main-sidebar .sidebar-inner .icon-menu li a.is-inactive,
.main-sidebar .sidebar-inner .bottom-menu li a.is-inactive {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
    opacity: 0
}

.main-sidebar .sidebar-inner .icon-menu li #open-filters svg,
.main-sidebar .sidebar-inner .bottom-menu li #open-filters svg {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    transition: all .3s
}

.main-sidebar .sidebar-inner .icon-menu li #open-filters:hover svg,
.main-sidebar .sidebar-inner .bottom-menu li #open-filters:hover svg {
    -webkit-transform: rotate(145deg);
    transform: rotate(145deg)
}

.main-sidebar .sidebar-inner .bottom-menu {
    position: absolute;
    bottom: 80px;
    padding: 0
}


/* ==========================================================================
1. FAB Button
========================================================================== */

.menu-fab {
    position: fixed;
    right: 30px;
    top: 12px;
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 50%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 10;
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04);
    transition: all .4s;
    -webkit-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0);
    opacity: 1
}

.menu-fab.dismissed {
    -webkit-transform: translateX(300px) rotate(360deg);
    transform: translateX(300px) rotate(360deg);
    opacity: 0
}

.menu-fab a {
    padding: 10px 0
}
a {
    color: #E1484B !important;
}
.menu-fab .menu-toggle {
    font-size: 20px;
    color: #666;
    line-height: 48px;
    text-align: center;
    background: transparent;
    display: block;
    width: 24px;
    height: 26px;
    cursor: pointer;
    padding: 0;
    margin: 0 14px;
    transition: opacity 0.4s;
    opacity: 1;
    position: relative;
    -webkit-transform: scale(0.7);
    transform: scale(0.7)
}

.menu-fab .menu-toggle .icon-box-toggle {
    height: 100%;
    width: 100%;
    background: tranparent;
    position: relative;
    display: block
}

.menu-fab .menu-toggle .icon-box-toggle.active>span.rotate {
    -webkit-transform: rotate(90deg);
    transform: translate(0px, 0px) rotate(90deg)
}

.menu-fab .menu-toggle .icon-box-toggle.active>span>i.icon-line-center {
    visibility: hidden;
    width: 1px;
    height: 3px;
    left: 70%
}

.menu-fab .menu-toggle .icon-box-toggle.active>span>i.icon-line-bottom {
    margin: -1.5px 0 0 -10px;
    left: 50%;
    top: 50%;
    -webkit-transform: rotate(135deg);
    transform: translate(0px, 0px) rotate(135deg)
}

.menu-fab .menu-toggle .icon-box-toggle.active>span>i.icon-line-top {
    margin: -1.5px 0 0 -10px;
    left: 50%;
    top: 50%;
    -webkit-transform: rotate(45deg);
    transform: translate(0px, 0px) rotate(45deg)
}

.menu-fab .menu-toggle .icon-line-center {
    position: absolute;
    width: 20px;
    height: 2px;
    background: #E1484B;
    margin: -1.5px 0 0 -10px;
    left: 50%;
    top: 50%;
    transition: all .2s ease
}

.menu-fab .menu-toggle .icon-line-top {
    position: absolute;
    width: 20px;
    height: 2px;
    background: #E1484B;
    margin: -2px 0 0 -10px;
    left: 50%;
    top: 30%;
    transition: all .2s ease
}

.menu-fab .menu-toggle .icon-line-bottom {
    position: absolute;
    width: 20px;
    height: 2px;
    background: #E1484B;
    margin: 1.5px 0 0 -10px;
    left: 50%;
    top: 60%;
    transition: all .2s ease
}

/* ==========================================================================
2. Categories sidebar
========================================================================== */

.category-quickview {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    width: 260px;
    background-color: #fff;
    box-shadow: -2px 0px -2px 0px rgba(0, 0, 0, 0.06);
    border-left: 1px solid #ededed;
    z-index: 9;
    -webkit-transform: translateX(261px);
    transform: translateX(261px);
    transition: all .3s
}

.category-quickview.is-active {
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.category-quickview.is-pushed-mobile {
    -webkit-transform: translateX(-500px) !important;
    transform: translateX(-500px) !important
}

.category-quickview .inner {
    position: relative;
    height: 100%
}

.category-quickview .inner .category-menu {
    padding: 80px 0
}

.category-quickview .inner .category-menu li {
    height: 80px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding: 0 34px
}

.category-quickview .inner .category-menu li a {
    font-family: 'Merriweather-Sans', sans-serif;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-align: center;
    align-items: center;
    color: #4a4a4a
}

.category-quickview .inner .category-menu li a span {
    min-width: 150px;
    text-align: right;
    padding: 0 10px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 76%;
    transition: color .4s
}

.category-quickview .inner .category-menu li a img,
.category-quickview .inner .category-menu li a svg {
    max-height: 40px
}

.category-quickview .inner .category-menu li a svg {
    height: 40px;
    width: 40px;
    fill: #ccc;
    transition: all .3s
}

.category-quickview .inner .category-menu li a:hover span {
    color: #E1484B
}

.category-quickview .inner .category-menu li a:hover svg {
    fill: #E1484B
}

.category-quickview .inner .all-categories {
    position: absolute;
    bottom: 52px;
    width: 100%;
    text-align: center
}

.category-quickview .inner .all-categories a {
    text-transform: uppercase;
    font-size: 75%;
    font-weight: 500
}

.category-quickview .inner .all-categories .centered-divider {
    width: 100px;
    height: 1px;
    border-bottom: 2px solid #E1484B;
    margin: 0 auto;
    padding-top: 8px
}

/* ==========================================================================
3. Main dark sidebar
========================================================================== */

.shop-quickview {
    position: fixed;
    top: 0;
    left: 84px;
    height: 100%;
    width: 280px;
    background-color: #344258;
    background-size: cover;
    background-position: bottom;
    box-shadow: -2px 0px -2px 0px rgba(0, 0, 0, 0.06);
    z-index: 3;
    -webkit-transform: translateX(-285px);
    transform: translateX(-285px);
    transition: all .3s;
    overflow: hidden
}

.shop-quickview.is-pushed-mobile {
    -webkit-transform: translateX(-500px) !important;
    transform: translateX(-500px) !important;
    left: 0 !important
}

.shop-quickview.is-active {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px)
}

.shop-quickview .inner {
    position: relative;
    height: 100%;
    background-color: rgba(43, 56, 76, 0.95)
}

.shop-quickview .inner .quickview-header {
    height: 84px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #3d4e68
}

.shop-quickview .inner .quickview-header span {
    cursor: pointer
}

.shop-quickview .inner .quickview-header h2 {
    position: relative;
    top: -4px;
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 1.15rem;
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 6px;
    padding-left: 20px
}

.shop-quickview .inner .quickview-header svg {
    margin-right: 20px;
    width: 20px;
    height: 20px;
    stroke: #fff
}

.shop-quickview .inner .shop-menu li,
.shop-quickview .inner .user-profile li {
    width: 100%;
    height: 80px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: start;
    justify-content: flex-start;
    border-bottom: 1px solid #3d4e68
}

.shop-quickview .inner .shop-menu li {
    cursor: pointer
}

.shop-quickview .inner .shop-menu li:hover a {
    opacity: 0.8
}

.shop-quickview .inner .shop-menu li:hover a svg {
    -webkit-transform: translate3d(0, 0, 0) rotate(0);
    transform: translate3d(0, 0, 0) rotate(0);
    opacity: 1
}

.shop-quickview .inner .shop-menu a {
    width: 100%;
    padding: 0 20px;
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 500 !important;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 0.75rem;
    color: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
    -ms-flex-align: center;
    align-items: center
}

.shop-quickview .inner .shop-menu a svg {
    width: 18px;
    height: 18px;
    margin: 0;
    opacity: 0;
    transition: all .3s;
    -webkit-transform: translate3d(100px, 0, 0) rotate(360deg);
    transform: translate3d(100px, 0, 0) rotate(360deg)
}

.shop-quickview .inner .user-profile {
    position: absolute;
    bottom: 0;
    padding: 0
}

.shop-quickview .inner .user-profile li {
    border-bottom: none !important
}

.shop-quickview .inner .user-profile li img {
    max-height: 40px;
    max-width: 40px;
    border-radius: 50%;
    margin-left: 20px
}

.shop-quickview .inner .user-profile li a {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center
}

.shop-quickview .inner .user-profile li a .user {
    padding-left: 10px;
    color: #fff
}

.shop-quickview .inner .user-profile li a .user span {
    display: block;
    font-family: 'Merriweather-Sans', sans-serif;
}

.shop-quickview .inner .user-profile li a .user span:first-child {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.7rem;
    letter-spacing: 3px
}

.shop-quickview .inner .user-profile li a .user span:nth-child(2) {
    font-size: 0.8rem
}

.shop-quickview .inner .user-profile li a .user span:nth-child(2) small {
    font-size: 0.6rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px
}

.shop-quickview .inner .user-profile li a:hover span {
    opacity: 0.8
}

/* ==========================================================================
4. Filters sidebar
========================================================================== */

.filters-quickview {
    position: fixed;
    top: 0;
    left: 84px;
    height: 100%;
    width: 320px;
    background-color: #fff;
    background-size: cover;
    background-position: bottom;
    box-shadow: 2px 0px 2px 0px rgba(0, 0, 0, 0.02);
    z-index: 3;
    -webkit-transform: translateX(-325px);
    transform: translateX(-325px);
    transition: all .3s
}

.filters-quickview.is-pushed-mobile {
    -webkit-transform: translateX(-500px) !important;
    transform: translateX(-500px) !important
}

.filters-quickview.is-active {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px)
}

.filters-quickview .inner {
    position: relative;
    height: 100%
}

.filters-quickview .inner .quickview-header {
    height: 80px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1)
}

.filters-quickview .inner .quickview-header span {
    cursor: pointer
}

.filters-quickview .inner .quickview-header h2 {
    position: relative;
    top: -4px;
    font-size: 1.15rem;
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 500;
    color: #4a4a4a;
    text-transform: uppercase;
    letter-spacing: 6px;
    padding-left: 20px
}

.filters-quickview .inner .quickview-header svg {
    margin: 0 20px;
    width: 20px;
    height: 20px;
    stroke: #4a4a4a
}

.filters-quickview .inner .quickview-header svg:hover {
    stroke: #E1484B
}

.filters-quickview .inner .filters-body {
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 100vh;
    padding: 30px 20px
}

.filters-quickview .inner .filters-body::-webkit-scrollbar {
    width: 10px
}

.filters-quickview .inner .filters-body::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2)
}

.filters-quickview .inner .filter-block {
    width: 100%;
    margin-bottom: 30px
}

.filters-quickview .inner .filter-block .filter-title {
    position: relative;
    font-size: 0.8rem;
    font-weight: 500;
    color: #4a4a4a;
    text-transform: uppercase;
    letter-spacing: 1px
}

.filters-quickview .inner .filter-block .filter-title.has-padding {
    padding: 2px 0
}

.filters-quickview .inner .checkbox-wrap {
    padding: 0;
    color: #4a4a4a !important;
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: .9rem
}

.filters-quickview .inner .checkbox-wrap span {
    position: relative;
    top: -2px
}

/* ==========================================================================
5. Cart sidebar
========================================================================== */

.cart-quickview {
    position: fixed;
    top: 0;
    left: 84px;
    height: 100%;
    width: 340px;
    background-color: #fff;
    background-size: cover;
    background-position: bottom;
    box-shadow: 2px 0px 2px 0px rgba(0, 0, 0, 0.02);
    z-index: 3;
    -webkit-transform: translateX(-345px);
    transform: translateX(-345px);
    transition: all .3s
}

.cart-quickview.is-pushed-mobile {
    -webkit-transform: translateX(-500px) !important;
    transform: translateX(-500px) !important
}

.cart-quickview.is-active {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px)
}

.cart-quickview .inner {
    position: relative;
    height: 100%
}

.cart-quickview .inner .quickview-header {
    height: 84px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1)
}

.cart-quickview .inner .quickview-header span {
    cursor: pointer
}

.cart-quickview .inner .quickview-header h2 {
    position: relative;
    top: -4px;
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: #4a4a4a;
    text-transform: uppercase;
    letter-spacing: 6px;
    padding: 0 20px
}

.cart-quickview .inner .quickview-header svg {
    margin: 0 20px;
    width: 20px;
    height: 20px;
    stroke: #4a4a4a
}

.cart-quickview .inner .quickview-header svg:hover {
    stroke: #E1484B
}

.cart-quickview .inner .cart-action {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 20px;
    height: 80px;
    background: #fcfcfc;
    border-bottom: 1px solid #ededed
}

.cart-quickview .inner .cart-action .cart-total {
    display: block;
    font-size: 1.7rem;
    color: #E1484B;
    font-weight: 600
}

.cart-quickview .inner .cart-action .cart-total small {
    font-size: 70%;
    font-weight: 600;
    padding-right: 5px
}

.cart-quickview .inner .cart-action .cart-total .abstract {
    display: block;
    font-size: 0.8rem;
    color: #999
}

.cart-quickview .inner .cart-action .cart-total .abstract span {
    font-size: 1rem;
    font-weight: 600
}

.cart-quickview .inner .cart-action a {
    min-width: 130px;
    font-weight: 200;
    font-size: 80%;
    height: 40px
}

.cart-quickview .inner .cart-action a svg {
    position: relative;
    top: 1px;
    width: 17px;
    height: 17px;
    margin-right: 8px
}

.cart-quickview .inner .cart-body .empty-cart h3,
.cart-quickview .inner .cart-body .empty-cart img {
    display: block
}

.cart-quickview .inner .cart-body .empty-cart h3 {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 1.2rem;
    font-weight: 500;
    padding: 20px 0;
    color: #999
}

.cart-quickview .inner .cart-body .empty-cart img {
    max-height: 90px;
    max-width: 90px;
    margin: 0 auto
}

.cart-quickview .inner .cart-body .empty-cart a {
    margin-top: 20px;
    color: #E1484B;
    border: 1.4px solid #E1484B;
    transition: all .4s
}

.cart-quickview .inner .cart-body .empty-cart a:hover {
    color: rgba(0, 35, 255, 0.4);
    border-color: rgba(0, 35, 255, 0.4)
}

.cart-quickview .inner .cart-body .empty-cart small {
    display: block;
    color: #999;
    font-size: 80%;
    margin-top: 10px
}

.cart-quickview .inner .cart-body .shopping-cart-items {
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 80vh;
    min-height: 60vh
}

.cart-quickview .inner .cart-body .shopping-cart-items::-webkit-scrollbar {
    width: 10px
}

.cart-quickview .inner .cart-body .shopping-cart-items::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2)
}

.cart-quickview .inner .cart-body .shopping-cart-items li {
    height: 80px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 20px;
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1)
}

.cart-quickview .inner .cart-body .shopping-cart-items li:hover .remove-item {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.cart-quickview .inner .cart-body .shopping-cart-items img {
    float: left;
    max-height: 50px
}

.cart-quickview .inner .cart-body .shopping-cart-items .item-meta {
    display: block;
    width: 40%;
    padding: 0 10px
}

.cart-quickview .inner .cart-body .shopping-cart-items .item-name {
    display: block;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase
}

.cart-quickview .inner .cart-body .shopping-cart-items .item-price {
    color: #E1484B;
    margin-right: 8px
}

.cart-quickview .inner .cart-body .shopping-cart-items .quantity {
    display: block;
    margin: 0 10px
}

.cart-quickview .inner .cart-body .shopping-cart-items .quantity .input {
    max-width: 70px;
    margin: 0 10px;
    text-align: center;
    height: 32px
}

.cart-quickview .inner .cart-body .shopping-cart-items .item-quantity {
    color: #999
}

.cart-quickview .inner .cart-body .shopping-cart-items .item-quantity small {
    font-size: 80%
}

.cart-quickview .inner .cart-body .shopping-cart-items .remove-item {
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
    height: 78px;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    transition: all .45s;
    opacity: 0;
    -webkit-transform: translateX(200px);
    transform: translateX(200px);
    background: #f9f9f9
}

.cart-quickview .inner .cart-body .shopping-cart-items .remove-item svg {
    width: 18px;
    height: 18px;
    stroke: #999
}

.cart-quickview .inner .cart-body .shopping-cart-items .remove-item:hover {
    background: #fcfcfc
}

.cart-quickview .inner .cart-body .shopping-cart-items .remove-item:hover svg {
    stroke: #E1484B
}

.quickview-header span:hover svg {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.quickview-header svg {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    transition: all .3s
}


/* ==========================================================================
6. Cards
========================================================================== */

.flat-card {
    position: relative;
    background-color: #fff;
    border: 1px solid #ededed;
    border-radius: 0.1875rem;
    display: inline-block;
    position: relative;
    overflow: hidden;
    width: 100%;
    transition: all 0.5s;
    max-height: 270px;
    min-height: 270px
}

.flat-card .image {
    text-align: center;
    margin: 40px 0
}

.flat-card .image img {
    max-width: 100px;
    margin: 10px auto
}

.flat-card .product-info {
    padding: 0 20px
}

.flat-card .product-info a {
    color: #4a4a4a
}

.flat-card .product-info a:hover {
    opacity: 0.8;
    color: #E1484B
}

.flat-card .product-info .product-name {
    font-family: 'Merriweather-Sans', sans-serif;
    text-transform: uppercase;
    font-size: 1.0rem;
    font-weight: 500
}

.flat-card .product-info .product-description {
    font-size: 80%;
    color: #999
}

.flat-card .product-info .product-price {
    font-size: 90%;
    font-weight: 500;
    color: #E1484B
}

.flat-card .product-info .product-price:before {
    content: '$';
    font-size: 70%;
    position: relative
}

.flat-card .product-info .product-price .sale-price {
    color: #999;
    text-decoration: line-through;
    padding: 0 10px;
    font-size: 85%
}

.flat-card .product-info .product-price .sale-price:before {
    content: '$';
    font-size: 70%;
    position: relative
}

.flat-card.is-auto {
    height: auto !important;
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    max-width: auto !important
}

.flat-card:hover {
    box-shadow: 0px 5px 43px rgba(0, 0, 0, 0.18) !important
}

.flat-card.is-long {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: distribute;
    justify-content: space-around
}

.flat-card.is-long .left-image img {
    max-width: 260px
}

.flat-card.is-long .left-image.is-md img {
    max-width: 220px
}

.flat-card.is-long .product-info .product-name.featured {
    font-size: 1.2rem
}

.flat-card.is-long .product-info .product-name.featured-md {
    font-size: 1rem
}

.flat-card .actions {
    position: absolute;
    top: 15px;
    right: 15px
}

.flat-card .actions div,
.flat-card .actions span {
    display: inline-block;
    transition: all .3s
}

.flat-card .actions div svg,
.flat-card .actions span svg {
    height: 18px;
    width: 18px;
    margin-left: 10px;
    stroke: #999;
    transition: all .3s
}

.flat-card .actions div:hover,
.flat-card .actions span:hover {
    cursor: pointer
}

.flat-card .actions div.add,
.flat-card .actions span.add {
    transition-delay: .1s;
    -webkit-transform: translateX(250px);
    transform: translateX(250px)
}

.flat-card .actions div.add svg.is-active,
.flat-card .actions span.add svg.is-active {
    stroke: #E1484B
}

.flat-card .actions div.add:hover svg,
.flat-card .actions span.add:hover svg {
    stroke: #E1484B
}

.flat-card .actions div.like,
.flat-card .actions span.like {
    transition-delay: .2s;
    -webkit-transform: translateX(200px);
    transform: translateX(200px)
}

.flat-card .actions div.like svg.is-active,
.flat-card .actions span.like svg.is-active {
    stroke: #FF7273;
    fill: #FF7273
}

.flat-card .actions div.like:hover svg,
.flat-card .actions span.like:hover svg {
    stroke: #FF7273;
    fill: #FF7273
}

.flat-card .on-sale {
    position: absolute;
    top: 0;
    left: 0;
    width: 90px;
    height: 90px;
    padding: 9px;
    background: #E1484B;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-transform: translate(-50%, -50%) rotate(135deg);
    transform: translate(-50%, -50%) rotate(135deg)
}

.flat-card .on-sale svg {
    height: 18px;
    width: 18px;
    stroke: #fff;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

.flat-card:hover .add,
.flat-card:hover .like {
    -webkit-transform: translateX(0) !important;
    transform: translateX(0) !important
}

.flat-card.is-list-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    height: auto !important;
    padding: 20px 40px;
    margin-top: 20px
}

.flat-card.is-list-item:first-child {
    margin-top: 0 !important
}

.flat-card.is-list-item span {
    display: block
}

.flat-card.is-list-item span.image {
    margin: 0 !important;
    #width: 80px;
    #height: 80px
}

.flat-card.is-list-item span.image img {
    margin: 0 !important
}

.flat-card.is-list-item .rating i {
    color: #FFD700
}

.flat-card.is-list-item .rating i.is-empty {
    color: #cecece
}

.flat-card.is-list-item .rating small {
    padding: 0 5px;
    font-size: .65rem;
    color: #999
}

.flat-card.is-list-item .product-info {
    padding: 20px 40px !important
}

.flat-card.is-list-item .product-info .product-price span {
    display: inline-block !important
}

.flat-card.is-list-item .product-abstract {
    margin-left: auto;
    padding: 15px 0;
    width: 30%;
    color: #999;
    font-size: .8rem
}

.flat-card.is-list-item .product-abstract .view-more {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px 0
}

.flat-card.is-list-item .product-abstract .view-more a {
    font-size: .75rem;
    font-weight: 500;
    text-transform: uppercase;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-align: center;
    align-items: center
}

.flat-card.is-list-item .product-abstract .view-more a svg {
    position: relative;
    height: 16px;
    width: 16px;
    opacity: 0;
    -webkit-transform: translate(0);
    transform: translate(0);
    transition: all .3s
}

.flat-card.is-list-item .product-abstract .view-more a:hover svg {
    opacity: 1;
    -webkit-transform: translate(3px);
    transform: translate(3px)
}

.flat-card.is-list-item .actions {
    right: 40px !important
}

.flat-card.is-list-item .actions span {
    display: inline-block !important
}


/* ==========================================================================
7. Layout
========================================================================== */

body {
    height: 100%;
    width: 100%;
    overflow: hidden;
    background: #ededed;
    position: relative
}

.shop-wrapper {
    height: 100%;
    width: calc(100% - 80px);
    min-height: 100vh;
    margin-left: 80px;
    position: relative;
    background: #f0f0f0;
    transition: all .3s
}

.shop-wrapper.has-background-image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center
}

.shop-wrapper.is-mobile-mode {
    width: 100% !important;
    margin-left: 0 !important
}

.shop-wrapper .slider-wrapper {
    position: relative;
    height: 100%;
    width: 100%;
    max-height: 100vh
}

.shop-wrapper .slider-wrapper .fullscreen-slick {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    min-height: 100vh;
    width: 100%;
    outline: none !important
}

.shop-wrapper .slider-wrapper .fullscreen-slick:focus,
.shop-wrapper .slider-wrapper .fullscreen-slick:active {
    outline: none !important
}

.shop-wrapper .slider-wrapper .fullscreen-slick img {
    min-height: 100vh
}

.shop-wrapper .slider-wrapper .full-slide {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 100vh;
    outline: none !important
}

.shop-wrapper .slider-wrapper .full-slide:focus,
.shop-wrapper .slider-wrapper .full-slide:active {
    outline: none !important
}

.shop-wrapper .slider-wrapper .slick-dots {
    bottom: 20px;
    max-width: 200px;
    right: 0
}

.shop-wrapper .slider-wrapper .slick-dots li {
    width: 30px;
    height: 30px
}

.shop-wrapper .slider-wrapper .slick-dots li button::before {
    font-size: 12px
}

.shop-wrapper .slider-wrapper .slick-dots li.slick-active button::before {
    color: #E1484B
}

.shop-wrapper .hero-caption {
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    padding: 120px 0;
    text-align: center;
    z-index: 1
}

.shop-wrapper .hero-caption h1 {
    font-size: 8rem;
    font-weight: 300 !important;
    font-family: 'Merriweather-Sans', sans-serif;
}

.shop-wrapper .hero-caption h2 {
    font-size: 1.6rem;
    margin-top: -44px;
    font-family: 'Merriweather-Sans', sans-serif;;
    font-weight: 300 !important
}

.shop-wrapper .hero-caption .button {
    margin-top: 20px;
    font-size: 0.8rem !important
}

.shop-wrapper .background-caption {
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    padding: 50px 0;
    text-align: center;
    z-index: 1
}

.shop-wrapper .background-caption h1 {
    font-size: 14rem;
    font-weight: 900 !important;
    font-family: 'Merriweather-Sans', sans-serif;;
    opacity: 0.04
}


/* ==========================================================================
8. Categories
========================================================================== */

.is-categories-grid {
    margin-top: 20px
}

.tile.has-background-image {
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    transition: all .3s;
    padding: 1.25rem 2rem
}

.tile.has-background-image:hover .tile-overlay {
    background: rgba(52, 66, 88, 0.95)
}

.tile.has-background-image:hover .tile-content .divider {
    width: 100% !important
}

.tile.has-background-image:hover .tile-content p,
.tile.has-background-image:hover .tile-content .products,
.tile.has-background-image:hover .tile-content .action {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.tile.has-background-image .tile-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(52, 66, 88, 0.5);
    transition: all .3s;
    z-index: 0
}

.tile.has-background-image .tile-content {
    position: relative;
    height: 100%;
    z-index: 2
}

.tile.has-background-image .tile-content.is-small .divider,
.tile.has-background-image .tile-content.is-small p {
    display: none
}

.tile.has-background-image .tile-content .shop-category {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    color: #fff;
    letter-spacing: 3px
}

.tile.has-background-image .tile-content .shop-category.is-small {
    font-size: .9rem
}

.tile.has-background-image .tile-content .divider {
    height: 1.4px;
    background: #fff;
    width: 0%;
    min-width: 0px;
    margin: 10px 0;
    transition: width .3s ease
}

.tile.has-background-image .tile-content p {
    color: #fff;
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    transition: all .4s;
    font-size: .9rem
}

.tile.has-background-image .tile-content p.is-italic {
    font-weight: 300;
    font-size: .7rem;
    font-family: 'Merriweather-Sans', sans-serif;
}

.tile.has-background-image .tile-content .products {
    color: #fff;
    position: absolute;
    bottom: 0;
    padding: 0;
    left: 0;
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    transition: all .4s;
    transition-delay: .1s
}

.tile.has-background-image .tile-content .products span {
    text-transform: uppercase;
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 50%;
    font-weight: 300
}

.tile.has-background-image .tile-content .action {
    position: absolute;
    right: 0;
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    transition: all .3s;
    transition-delay: .15s
}

.tile.has-background-image .tile-content .action span {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: .75rem;
    font-weight: 400;
    text-transform: uppercase
}

.tile.has-background-image .tile-content .action svg {
    width: 16px;
    height: 16px;
    stroke: #fff;
    opacity: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    transition: all .3s
}

.tile.has-background-image .tile-content .action:hover {
    opacity: 0.7
}

.tile.has-background-image .tile-content .action:hover svg {
    opacity: 1;
    -webkit-transform: translateX(5px);
    transform: translateX(5px)
}

.tile.is-relative {
    position: relative
}

.tile.has-min-height {
    min-height: 280px
}

.category-header.low-padding {
    padding-top: 20px
}

.category-header.no-padding {
    padding-top: 0 !important
}

.category-header.no-padding h2 {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 300;
    font-size: 1.8rem;
    line-height: 1.2
}

.category-header h2 {
    #font-size: 1.8rem;
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 400 !important;
    line-height: 1.2;
    text-transform: uppercase
}

.category-header h2.is-small {
    font-size: 1.4rem
}

.category-header .category-title {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    margin: 20px 0;
    position: relative
}

.category-header .category-title.no-border {
    border-bottom: none !important
}

.category-header .category-title.is-product-category {
    margin: 10px 0 !important
}

.category-header .category-title h2 {
    width: 100%;
    color: #4a4a4a
}

.category-header .category-title .shadow-title {
    position: absolute;
    opacity: 0.1;
    font-weight: 700;
    text-transform: uppercase;
    display: block;
    font-size: 2.8rem;
    top: -11px
}

.category-header .category-title .category-icon {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.category-header .category-title .category-icon img,
.category-header .category-title .category-icon svg {
    max-height: 40px;
    height: 40px;
    width: 40px;
    display: block
}

.category-header .category-title .category-icon svg {
    fill: #999
}

.category-header .category-title .category-icon span {
    text-transform: uppercase;
    font-size: 80%;
    color: #ccc;
    display: block
}

.category-header .category-title .brand-filigrane {
    position: absolute;
    top: -18px;
    left: -25px;
    height: 68px;
    opacity: 0.4
}

.no-controls {
    margin-top: 20px
}

.show-more {
    text-align: center;
    padding: 10px 0
}

.show-more a {
    text-transform: uppercase;
    font-size: 85%;
    font-weight: 600;
    color: #E1484B
}

.show-more a:hover {
    opacity: 0.8;
    text-decoration: underline
}

/* ==========================================================================
9. Sorting
========================================================================== */

.listing-controls {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 0;
    border-top: 1px solid #d6d6d6;
    line-height: 16px
}

.listing-controls .layout-controls {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center
}

.listing-controls .layout-controls span {
    margin-right: 5px;
    cursor: pointer;
    display: block
}

.listing-controls .layout-controls span svg {
    stroke: #999
}

.listing-controls .layout-controls span.is-active svg {
    stroke: #E1484B
}

.sort-box {
    position: relative;
    max-width: 200px
}

.sort-box label,
.sort-box .sort-box-select {
    display: block
}

.sort-box label {
    line-height: 40px;
    margin-top: 1px;
    padding: 0
}

.sort-box .chosen-container-single .chosen-single {
    height: 36px;
    line-height: 34px;
    border: 1px solid #fff;
    background-color: #fff;
    width: 100%;
    display: inline-block;
    padding: 0 14px 0 16px;
    box-shadow: none;
    color: #666;
    font-weight: 500;
    font-size: 14px;
    border-radius: 50px;
    transition: all 0.3s;
    display: inline-block
}#
.sort-box .chosen-container .chosen-results li.highlighted {
    color: #E1484B !important
}

.sort-box .chosen-container-active .chosen-choices,
.sort-box .chosen-container-active.chosen-with-drop .chosen-single,
.sort-box .chosen-single:hover {
    background: #f3f3f3
}

.sort-box .chosen-container .chosen-drop {
    padding-top: 10px;
    border: 1px solid #e0e0e0;
    border-top: 1px solid #e0e0e0;
    border-radius: 3px;
    width: 200px;
    margin-left: 10px;
    background: #fff;
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.08);
    z-index: 999
}

.sort-box .chosen-container.chosen-with-drop .chosen-drop,
.sort-box .chosen-container .chosen-drop {
    left: auto;
    right: -1px
}

.sort-box .chosen-container-single .chosen-single div:after {
    color: #66676b;
    right: 0;
    top: 1px
}

.sort-box .chosen-container-single .chosen-default {
    color: #66676b
}

.sort-box .chosen-container-single .chosen-single span {
    margin-right: 0px;
    color: #666;
    font-weight: 600;
    transition: all 0.2s
}

.sort-box .chosen-container-single .chosen-single div {
    position: relative;
    top: 0;
    margin-left: 0;
    display: inline-block
}

.sort-box .chosen-container-single .chosen-single span {
    display: inline-block;
    margin-right: 0;
    vertical-align: top
}


/* ==========================================================================
10. Account pages Header
========================================================================== */

.account-header h2 {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 1.8rem;
    font-weight: 400 !important;
    text-transform: uppercase
}

.account-header .account-title {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 20px
}

.account-header .account-title h2 {
    width: 100%
}

.account-header .account-title .account-icon {
    width: 100%;
    height: 62px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.account-header .account-title .account-icon img {
    height: 40px;
    width: 40px;
    border-radius: 50%;
    display: block
}

.account-header .account-title .account-icon span {
    text-transform: uppercase;
    font-size: 80%;
    color: #ccc;
    display: block
}

.account-header .account-title .brand-filigrane {
    position: absolute;
    top: -20px;
    left: -40px;
    height: 80px;
    opacity: 0.4
}

/* ==========================================================================
11. Account Tabs
========================================================================== */

.account-tabs {
    margin-top: 1.5rem
}

.account-tabs li a {
    color: #999;
    border-width: 2px;
    padding-bottom: 15px
}

.account-tabs li a:hover {
    color: #999;
    border-color: #999
}

.account-tabs li.is-active a {
    color: #E1484B;
    border-color: #E1484B
}

.account-tabs.has-controls {
    margin-bottom: 0 !important
}

/* ==========================================================================
12. Profile
========================================================================== */

.profile-card {
    border: none;
    margin-bottom: 20px
}

.profile-card .card-body {
    padding: 20px 40px
}

.profile-card .profile-image img {
    display: block;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: 0 auto
}

.profile-card .username {
    padding-top: 10px
}

.profile-card .username span,
.profile-card .username small {
    display: block
}

.profile-card .username span {
    color: #4a4a4a;
    font-weight: 500
}

.profile-card .username small {
    font-size: 0.85rem;
    color: #999
}

.profile-card .profile-footer {
    padding: 20px 40px;
    background: #fcfcfc
}

.profile-card .profile-footer .achievement-title {
    font-family: 'Merriweather-Sans', sans-serif;
    text-transform: uppercase;
    font-weight: 500;
    font-size: .75rem;
    color: #999
}

.profile-card .profile-footer .count {
    font-size: 1.5rem;
    font-weight: 700;
    color: #4a4a4a
}

.profile-info-card,
.menu-card {
    margin-bottom: 20px;
    position: relative
}

.profile-info-card .card-title,
.menu-card .card-title {
    position: relative;
    padding: 15px 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    background: #fcfcfc;
    z-index: 2
}

.profile-info-card .card-title h3,
.menu-card .card-title h3 {
    font-weight: 500;
    color: #828282
}

.profile-info-card .card-title .edit-account,
.menu-card .card-title .edit-account {
    position: relative;
    height: 40px;
    width: 40px;
    max-height: 40px
}

.profile-info-card .card-title .edit-account svg,
.menu-card .card-title .edit-account svg {
    transition: all .3s;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    stroke-width: 1.2px
}

.profile-info-card .card-title .edit-account a,
.menu-card .card-title .edit-account a {
    color: grey;
    height: 40px;
    width: 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1.8px dashed #999;
    border-radius: 50%;
    max-height: 40px;
    transition: all .3s
}

.profile-info-card .card-title .edit-account a span,
.menu-card .card-title .edit-account a span {
    font-size: 90% !important;
    padding-left: 5px
}

.profile-info-card .card-title .edit-account a:hover,
.menu-card .card-title .edit-account a:hover {
    border: 1.8px solid #E1484B
}

.profile-info-card .card-title .edit-account a:hover svg,
.menu-card .card-title .edit-account a:hover svg {
    stroke: #E1484B;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.profile-info-card .card-title .confirm-button,
.menu-card .card-title .confirm-button {
    position: relative;
    height: 40px;
    width: 40px;
    max-height: 40px
}

.profile-info-card .card-title .confirm-button svg,
.menu-card .card-title .confirm-button svg {
    transition: all .3s;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    stroke-width: 1.2px
}

.profile-info-card .card-title .confirm-button a,
.menu-card .card-title .confirm-button a {
    color: grey;
    height: 40px;
    width: 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1.8px dashed #999;
    border-radius: 50%;
    max-height: 40px;
    transition: all .5s
}

.profile-info-card .card-title .confirm-button a span,
.menu-card .card-title .confirm-button a span {
    font-size: 90% !important;
    padding-left: 5px
}

.profile-info-card .card-title .confirm-button a:hover,
.menu-card .card-title .confirm-button a:hover {
    border: 1.8px solid #00b289
}

.profile-info-card .card-title .confirm-button a:hover svg,
.menu-card .card-title .confirm-button a:hover svg {
    stroke: #00b289;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
}

.profile-info-card .card-body,
.menu-card .card-body {
    padding: 20px
}

.profile-info-card .card-body .info-block,
.menu-card .card-body .info-block {
    margin-bottom: 20px
}

.profile-info-card .card-body .info-block span,
.menu-card .card-body .info-block span {
    display: block
}

.profile-info-card .card-body .info-block span.label-text,
.menu-card .card-body .info-block span.label-text {
    color: #4a4a4a;
    font-weight: 500;
    font-size: 0.85rem
}

.profile-info-card .card-body .info-block span.label-value,
.menu-card .card-body .info-block span.label-value {
    color: #828282
}

.profile-info-card .card-body .main-address,
.menu-card .card-body .main-address {
    position: relative;
    top: 1px;
    font-size: 0.8rem;
    color: #828282
}

.profile-info-card.is-dark,
.menu-card.is-dark {
    background: #344258;
    color: #fff
}

.profile-info-card.is-dark.is-achievement .card-body,
.menu-card.is-dark.is-achievement .card-body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center
}

.profile-info-card.is-dark.is-achievement .card-body img,
.menu-card.is-dark.is-achievement .card-body img {
    height: 45px
}

.profile-info-card.is-dark.is-achievement .card-body .achievement-name,
.menu-card.is-dark.is-achievement .card-body .achievement-name {
    padding: 0 10px
}

.profile-info-card.is-dark.is-achievement .card-body .achievement-name span,
.menu-card.is-dark.is-achievement .card-body .achievement-name span {
    display: block;
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 500
}

.profile-info-card.is-dark.is-achievement .card-body .achievement-name span:first-child,
.menu-card.is-dark.is-achievement .card-body .achievement-name span:first-child {
    text-transform: uppercase;
    font-size: 0.8rem;
    font-family: 'Merriweather-Sans', sans-serif;
}

.profile-info-card.is-dark.is-achievement .card-body .achievement-name span.is-gold,
.menu-card.is-dark.is-achievement .card-body .achievement-name span.is-gold {
    color: #ffd700
}

.profile-info-card.is-dark.is-achievement .card-body .achievement-name span.is-green,
.menu-card.is-dark.is-achievement .card-body .achievement-name span.is-green {
    color: #00b289
}

.profile-info-card.is-dark.is-achievement .card-body .achievement-name span:nth-child(2),
.menu-card.is-dark.is-achievement .card-body .achievement-name span:nth-child(2) {
    font-size: .75rem
}

.profile-info-card.has-overflow,
.menu-card.has-overflow {
    overflow: visible !important
}

.profile-info-card.has-overflow .chosen-single,
.menu-card.has-overflow .chosen-single {
    max-height: 36px
}

.profile-info-card.has-overflow .chosen-single span,
.menu-card.has-overflow .chosen-single span {
    max-height: 36px;
    display: block;
    position: relative;
    top: -42.5px;
    left: -8px
}

.profile-info-card.has-overflow .switch-wrapper,
.menu-card.has-overflow .switch-wrapper {
    height: 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.profile-info-card .card-bg,
.menu-card .card-bg {
    position: absolute;
    right: -32px;
    bottom: 6px;
    height: 160px;
    opacity: 0.3
}

/* ==========================================================================
13. Wishlist
========================================================================== */

.menu-card .wishlists li {
    padding: 5px 20px;
    border-top: 1px solid #ededed
}

.menu-card .wishlists li a {
    padding: 10px 0;
    display: block;
    color: #999
}

.menu-card .wishlists li.is-active a {
    color: #E1484B !important
}

.menu-card .wishlists li:first-child {
    border-top: none !important
}

.menu-card .wishlists li:hover {
    background: #fcfcfc
}

.menu-card .wishlists li:hover a {
    color: #828282
}

.wishlist-card {
    overflow: visible
}

.wishlist-card .wishlist .wishlist-item {
    border-top: 1px solid #ededed
}

.wishlist-card .wishlist .wishlist-item:first-child {
    border-top: none !important
}

.wishlist-card .wishlist .wishlist-item span {
    display: block
}

.wishlist-card .wishlist .wishlist-item .item-wrapper {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 40px
}

.wishlist-card .wishlist .wishlist-item .item-wrapper:hover .on-sale {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.wishlist-card .wishlist .wishlist-item .item-wrapper img {
    height: 80px
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .product-info span:first-child {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 600;
    font-size: .9rem
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .product-info span:last-child {
    font-size: 70%;
    font-weight: 500;
    text-transform: uppercase;
    color: #828282
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .action {
    margin-left: auto
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .action .dropdown-button {
    position: relative;
    height: 40px;
    width: 40px;
    max-height: 40px
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .action .dropdown-button svg {
    width: 20px;
    height: 20px;
    transition: all .3s;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    stroke-width: 1.2px
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .action .dropdown-button a {
    color: grey;
    height: 40px;
    width: 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1.8px dashed #999;
    border-radius: 50%;
    max-height: 40px;
    transition: all .3s
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .action .dropdown-button a span {
    font-size: 90% !important;
    padding-left: 5px
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .action .dropdown-button a:hover {
    border: 1.8px solid #E1484B
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .action .dropdown-button a:hover svg {
    stroke: #E1484B
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .action .dropdown-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .action .dropdown-item span {
    display: block;
    margin-left: 15px;
    color: #4a4a4a
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .action .dropdown-item svg {
    height: 18px;
    width: 18px;
    stroke-width: 1.2px;
    stroke: #cecece
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .action .dropdown-item:hover svg {
    stroke: #E1484B
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .on-sale {
    position: absolute;
    top: -15px;
    left: -15px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #E1484B;
    display: none;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    transition: opacity .3s
}

.wishlist-card .wishlist .wishlist-item .item-wrapper .on-sale svg {
    height: 12px;
    width: 12px;
    stroke: #fff;
    stroke-width: 3px !important;
    -webkit-transform: rotate(0) translate(5px, 5px);
    transform: rotate(0) translate(5px, 5px)
}

.wishlist-pagination {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 30px 0
}

.wishlist-pagination ul li {
    display: inline-block;
    margin: 0 5px;
    transition: all .3s;
    cursor: pointer
}

.wishlist-pagination ul li span {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #999;
    font-size: .9rem;
    color: #fff;
    transition: inherit
}

.wishlist-pagination ul li.is-active span {
    background: #E1484B;
    font-weight: 500;
    box-shadow: 0px 5px 43px rgba(0, 0, 0, 0.18) !important
}

.wishlist-pagination ul li:hover {
    opacity: 0.7
}

.wishlist-pagination ul li:hover span {
    box-shadow: 0px 5px 43px rgba(0, 0, 0, 0.18) !important
}

/* ==========================================================================
14. Avatar upload
========================================================================== */

.avatar-wrapper {
    position: relative;
    height: 100px;
    width: 100px;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 1px 1px 15px -5px black;
    transition: all .3s ease
}

.avatar-wrapper:hover {
    cursor: pointer
}

.avatar-wrapper:hover .profile-pic {
    opacity: .5
}

.avatar-wrapper .profile-pic {
    height: 100%;
    width: 100%;
    transition: all .3s ease
}

.avatar-wrapper .profile-pic:after {
    font-family: FontAwesome;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    font-size: 60px;
    color: #34495e;
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.avatar-wrapper .upload-button {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%
}

.avatar-wrapper .upload-button .upload-icon {
    position: absolute;
    width: 30px;
    height: 30px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    opacity: 0;
    transition: all .3s ease;
    stroke: #E1484B
}

.avatar-wrapper .upload-button:hover .upload-icon {
    opacity: .9
}

.upload-card {
    padding: 40px 20px
}

.upload-card .username {
    padding: 10px 0;
    font-weight: 500
}

.upload-card .username span {
    display: block
}

.upload-card .username span:nth-child(2) {
    font-size: 90%;
    font-weight: 400;
    color: #828282
}

.upload-card .button {
    font-weight: 500 !important;
    text-transform: uppercase;
    margin: 0 auto !important
}

/* ==========================================================================
15. Cart
========================================================================== */

.cart-summary {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 20px
}

.cart-summary .cart-total {
    font-size: 1.6rem;
    font-weight: 500
}

.cart-summary .cart-total:before {
    content: '$';
    font-size: 60%;
    position: relative;
    left: 8px
}

.cart-summary .cart-total small {
    display: block;
    font-size: .8rem;
    color: #E1484B;
    text-align: right
}

.cart-summary .cart-total small span {
    text-transform: uppercase;
    font-weight: 600;
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: .7rem
}

.cart-card {
    padding: 40px
}

.cart-card .cart-content li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center
}

.cart-card .cart-content li img {
    display: block;
    height: 80px
}

.cart-card .cart-content li span {
    display: block
}

.cart-card .cart-content li .product-info {
    padding: 0 30px;
    width: 220px
}

.cart-card .cart-content li .product-info span:first-child {
    color: #4a4a4a;
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 600;
    font-size: .9rem
}

.cart-card .cart-content li .product-info span:nth-child(2) {
    font-size: 80%;
    text-transform: uppercase;
    color: #828282;
    font-weight: 500
}

.cart-card .cart-content li .product-price span {
    margin-left: 30px
}

.cart-card .cart-content li .product-price span:first-child {
    font-weight: 600;
    font-size: .75rem;
    text-transform: uppercase;
    color: #4a4a4a
}

.cart-card .cart-content li .product-price span:nth-child(2) {
    font-size: 1.2rem;
    font-weight: 500;
    color: #E1484B;
    width: 100px
}

.cart-card .cart-content li .product-price span:nth-child(2):before {
    content: '$';
    font-size: 70%
}

.cart-card .cart-content li .product-quantity {
    margin: 0 30px
}

.cart-card .cart-content li .product-quantity span {
    font-weight: 600;
    font-size: .75rem;
    text-transform: uppercase;
    color: #4a4a4a
}

.cart-card .cart-content li .product-quantity .control {
    max-width: 70px
}

.cart-card .cart-content li .product-quantity .control input {
    max-height: 28px
}

.cart-card .cart-content li .action {
    margin-left: auto
}

.cart-card .cart-content li .action .action-link {
    position: relative;
    height: 36px;
    width: 36px;
    max-height: 36px;
    margin: 0 2px;
    display: inline-block
}

.cart-card .cart-content li .action .action-link svg {
    transition: all .3s;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    stroke-width: 1.2px
}

.cart-card .cart-content li .action .action-link a {
    color: grey;
    height: 36px;
    width: 36px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1.6px dashed #999;
    border-radius: 50%;
    max-height: 36px;
    transition: all .3s
}

.cart-card .cart-content li .action .action-link a span {
    font-size: 90% !important;
    padding-left: 5px
}

.cart-card .cart-content li .action .action-link a svg {
    height: 18px;
    width: 18px;
    transition: all .3s
}

.cart-card .cart-content li .action .action-link a:hover {
    border: 1.8px solid #E1484B
}

.cart-card .cart-content li .action .action-link a:hover svg {
    stroke: #E1484B
}

.cart-card .cart-content li .action .action-link.is-like:hover a,
.cart-card .cart-content li .action .action-link.is-like.is-active a {
    border: 1.8px solid #FF7273
}

.cart-card .cart-content li .action .action-link.is-like:hover svg,
.cart-card .cart-content li .action .action-link.is-like.is-active svg {
    stroke: #FF7273;
    fill: #FF7273
}

.cart-card .cart-content li .action .action-link.is-remove:hover a {
    border: 1.8px solid #eda514
}

.cart-card .cart-content li .action .action-link.is-remove:hover svg {
    stroke: #eda514
}

/* ==========================================================================
16. Empty Cart
========================================================================== */

.empty-cart-card {
    padding: 40px;
    border-radius: 6px
}

.empty-cart-card .empty-cart h3,
.empty-cart-card .empty-cart img {
    display: block
}

.empty-cart-card .empty-cart h3 {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    padding-bottom: 40px;
    color: #999
}

.empty-cart-card .empty-cart img {
    max-height: 90px;
    max-width: 90px;
    margin: 0 auto
}

.empty-cart-card .empty-cart a {
    margin-top: 20px;
    color: #E1484B;
    border: 1.4px solid #E1484B;
    transition: all .4s
}

.empty-cart-card .empty-cart a:hover {
    color: rgba(0, 35, 255, 0.4);
    border-color: rgba(0, 35, 255, 0.4)
}

.empty-cart-card .empty-cart small {
    display: block;
    color: #999;
    font-size: 80%;
    margin-top: 10px
}


/* ==========================================================================
17. Orders
========================================================================== */

.order-card {
    position: relative;
    padding: 20px;
    overflow: visible
}

.order-card .order-info {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 20px
}

.order-card .order-info span {
    display: block
}

.order-card .order-info span a {
    color: #4a4a4a;
    font-size: 90%;
    font-weight: 500
}

.order-card .order-info span a:hover {
    color: #E1484B;
    text-decoration: underline
}

.order-card .circle-chart-wrapper {
    text-align: center
}

.order-card .circle-chart-circle {
    -webkit-animation: circle-chart-fill 2s reverse;
    animation: circle-chart-fill 2s reverse;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: center;
    transform-origin: center
}

.order-card .chart-icon {
    position: absolute;
    top: 45%;
    left: 0;
    width: 100%;
    height: 40px
}

.order-card .chart-icon svg {
    position: relative;
    width: 30px;
    height: 30px;
    stroke: #999
}

.order-card .ring-title span {
    font-size: 1rem;
    color: #A9ABAC
}

.order-card .tag {
    position: relative;
    display: -ms-flexbox !important;
    display: flex !important
}

.order-card .tag.is-primary {
    background: #E1484B !important;
    color: #fff !important
}

.order-card .tag.is-success {
    background: #00b289 !important;
    color: #fff !important
}

.order-card .tag.is-warning {
    background: #eda514 !important;
    color: #fff !important
}

.order-card .tag.is-danger {
    background: #FF7273 !important;
    color: #fff !important
}

@-webkit-keyframes circle-chart-fill {
    to {
        stroke-dasharray: 0 100
    }
}

@keyframes circle-chart-fill {
    to {
        stroke-dasharray: 0 100
    }
}

.list-card .list-card-header {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 500;
    padding: 15px 20px;
    background: #fcfcfc;
    border-bottom: 1px solid #ededed;
    color: #828282
}

.list-card ul li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 20px;
    cursor: pointer;
    color: #999;
    font-size: 0.75rem;
    font-weight: 500;
    border-top: 1px solid #ededed
}

.list-card ul li:first-child {
    border-top: none
}

.list-card ul li:hover {
    background: #f9f9f9;
    color: #4a4a4a
}

.list-card ul li:hover .order-indicator {
    opacity: 0.8
}

.list-card ul li.is-active {
    color: #E1484B
}

.list-card ul li.is-active .order-indicator {
    opacity: 1
}

.list-card ul li .order-indicator {
    height: 8px;
    width: 8px;
    border-radius: 50%;
    opacity: 0
}

.list-card ul li .order-indicator.is-progress {
    background: #E1484B
}

.list-card ul li .order-indicator.is-preparing {
    background: #00b289
}

.list-card ul li .order-indicator.is-warning {
    background: #eda514
}

.list-card ul li .order-indicator.is-issue {
    background: #FF7273
}

.order-list-card {
    padding: 40px
}

.order-list-card .progress-block {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 10px
}

.order-list-card .progress-block h3 {
    font-size: .85rem;
    font-weight: 500
}

.order-list-card .progress-block progress {
    max-width: 120px
}

.order-list-card .progress-block progress.primary-progress::-webkit-progress-value {
    background-color: #E1484B
}

.order-list-card .progress-block progress.primary-progress::-moz-progress-bar {
    background-color: #E1484B
}

.order-list-card .progress-block progress.primary-progress::-ms-fill {
    background-color: #E1484B
}

.order-list-card .progress-block progress.success-progress::-webkit-progress-value {
    background-color: #00b289
}

.order-list-card .progress-block progress.success-progress::-moz-progress-bar {
    background-color: #00b289
}

.order-list-card .progress-block progress.success-progress::-ms-fill {
    background-color: #00b289
}

.order-list-card .progress-block progress.warning-progress::-webkit-progress-value {
    background-color: #eda514
}

.order-list-card .progress-block progress.warning-progress::-moz-progress-bar {
    background-color: #eda514
}

.order-list-card .progress-block progress.warning-progress::-ms-fill {
    background-color: #eda514
}

.order-list-card .progress-block progress.danger-progress::-webkit-progress-value {
    background-color: #FF7273
}

.order-list-card .progress-block progress.danger-progress::-moz-progress-bar {
    background-color: #FF7273
}

.order-list-card .progress-block progress.danger-progress::-ms-fill {
    background-color: #FF7273
}

.order-list-card .order-block {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 0
}

.order-list-card .order-block img {
    height: 40px;
    width: 40px;
    border-radius: 50%
}

.order-list-card .order-block .handled-by,
.order-list-card .order-block .status,
.order-list-card .order-block .date,
.order-list-card .order-block .total {
    margin: 0 10px
}

.order-list-card .order-block .handled-by div:first-child,
.order-list-card .order-block .status div:first-child,
.order-list-card .order-block .date div:first-child,
.order-list-card .order-block .total div:first-child {
    font-size: .65rem;
    text-transform: uppercase;
    font-weight: 600
}

.order-list-card .order-block .handled-by div:nth-child(2),
.order-list-card .order-block .status div:nth-child(2),
.order-list-card .order-block .date div:nth-child(2),
.order-list-card .order-block .total div:nth-child(2) {
    color: #828282
}

.order-list-card .order-block .handled-by div:nth-child(2).is-date,
.order-list-card .order-block .status div:nth-child(2).is-date,
.order-list-card .order-block .date div:nth-child(2).is-date,
.order-list-card .order-block .total div:nth-child(2).is-date {
    font-size: .85rem;
    font-weight: 500
}

.order-list-card .order-block .handled-by div:nth-child(2).is-price,
.order-list-card .order-block .status div:nth-child(2).is-price,
.order-list-card .order-block .date div:nth-child(2).is-price,
.order-list-card .order-block .total div:nth-child(2).is-price {
    font-size: 1rem;
    font-weight: 500;
    color: #E1484B
}

.order-list-card .order-block .handled-by div:nth-child(2).is-price:before,
.order-list-card .order-block .status div:nth-child(2).is-price:before,
.order-list-card .order-block .date div:nth-child(2).is-price:before,
.order-list-card .order-block .total div:nth-child(2).is-price:before {
    content: '$';
    font-size: 80%;
    position: relative;
    top: -3px
}

.order-list-card .order-block .total .tag {
    margin: 0 5px;
    font-weight: 400
}

.order-list-card .order-block .order-icon {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    height: 40px;
    width: 40px
}

.order-list-card .order-block .order-icon svg {
    stroke: #999;
    stroke-width: 1.4px;
    height: 20px;
    width: 20px
}

.order-list-card .order-block .tag.primary-tag {
    background: #E1484B;
    color: #fff
}

.order-list-card .order-block .tag.success-tag {
    background: #00b289;
    color: #fff
}

.order-list-card .order-block .tag.warning-tag {
    background: #eda514;
    color: #fff
}

.order-list-card .order-block .tag.danger-tag {
    background: #FF7273;
    color: #fff
}

.order-list-card .table-block {
    margin-top: 20px
}

.order-list-card .table-block table {
    border-collapse: collapse;
    margin: 0;
    padding: 0;
    width: 100%;
    table-layout: fixed
}

.order-list-card .table-block table th {
    font-size: .65rem !important;
    font-weight: 700;
    color: #4a4a4a
}

.order-list-card .table-block table td {
    font-size: .75rem;
    font-weight: 600;
    color: #828282;
    padding: .825rem .625em !important
}

.order-list-card .table-block table tr {
    background: #fcfcfc;
    border-bottom: 1px solid #ededed;
    padding: .35em
}

.order-list-card .table-block table th,
.order-list-card .table-block table td {
    padding: .625em;
    text-align: center
}

.order-list-card .table-block table th {
    font-size: .85em;
    letter-spacing: .1em;
    text-transform: uppercase
}

@media screen and (max-width: 600px) {
    .order-list-card .table-block table {
        border: 0
    }
    .order-list-card .table-block table caption {
        font-size: 1.3em
    }
    .order-list-card .table-block table thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px
    }
    .order-list-card .table-block table tr {
        border-bottom: 3px solid #ddd;
        display: block;
        margin-bottom: .625em
    }
    .order-list-card .table-block table td {
        border-bottom: 1px solid #ddd;
        display: block;
        font-size: .8em;
        text-align: right
    }
    .order-list-card .table-block table td:before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
        text-transform: uppercase
    }
    .order-list-card .table-block table td:last-child {
        border-bottom: 0
    }
}

.order-list-card .button-block {
    margin-top: 20px
}


/* ==========================================================================
18. Single Product page
========================================================================== */

.product-panel {
    #overflow-x: hidden;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    #min-height: 100vh;
    width: 40%;
    background: #fff;
    box-shadow: 2px 0px 2px 0px rgba(0, 0, 0, 0.06);
    z-index: 1
}

.product-panel .panel-header {
    line-height: 48px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-align: center;
    align-items: center;
    padding: 40px 0;
    position: relative;
    z-index: 15
}

.product-panel .panel-header .likes {
    margin: 0 30px
}

.product-panel .panel-header .likes span {
    font-size: 1.1rem;
    font-weight: 500;
    color: #999
}

.product-panel .panel-header .likes svg {
    width: 18px;
    height: 18px;
    stroke: #A9ABAC;
    position: relative;
    top: 2px
}

.product-panel .panel-header .likes svg.is-liked {
    stroke: #FF7273 !important;
    fill: #FF7273 !important
}

.product-panel .product-image {
    padding: 10% 0;
    text-align: center;
    position: relative
}

.product-panel .product-image img {
    #max-width: 250px
}

.product-panel .product-actions {
    position: absolute;
    bottom: 30px;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center
}

.product-panel .product-actions svg {
    width: 20px;
    height: 20px;
    cursor: pointer
}

.product-panel .product-actions .zoom-buttons {
    margin: 0 30px;
    max-height: 20px
}

.product-panel .product-actions .zoom-buttons svg {
    stroke: #999
}

.product-panel .product-actions .zoom-buttons svg:hover {
    stroke: #E1484B
}

.product-panel .product-actions .right-actions {
    margin: 0 30px;
    max-height: 20px
}

.product-panel .product-actions .right-actions svg {
    stroke: #999
}

.product-panel .product-actions .right-actions svg:hover {
    stroke: #E1484B
}

.product-panel .product-actions .right-actions span {
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px
}

.product-panel .product-actions .right-actions span.is-active svg {
    stroke: #E1484B
}

.product-panel .detailed-description {
    padding: 10px 40px 20px 40px;
    max-height: 65vh;
    overflow-y: auto;
    margin-top: 20px
}

.product-panel .detailed-description::-webkit-scrollbar {
    width: 10px
}

.product-panel .detailed-description::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2)
}

.product-panel .detailed-description .meta-block {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 10px 0
}

.product-panel .detailed-description .meta-block h3 {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 600;
    color: #4a4a4a;
    font-size: 0.8rem;
    text-transform: uppercase
}

.product-panel .detailed-description .meta-block h3.spaced {
    padding-top: 10px
}

.product-panel .detailed-description .meta-block p {
    color: #999;
    padding-top: 5px;
    font-size: 0.9rem
}

.product-panel .detailed-description .meta-block p.spaced {
    padding-top: 10px
}

.product-panel .detailed-description .meta-block .colored-dots {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 10px
}

.product-panel .detailed-description .meta-block .colored-dots .dot-wrapper {
    text-align: center;
    margin: 0 5px
}

.product-panel .detailed-description .meta-block .colored-dots .dot-wrapper .dot {
    width: 24px;
    height: 24px;
    border-radius: 50%
}

.product-panel .detailed-description .meta-block .colored-dots .dot-wrapper .dot.is-blue {
    background: #E1484B
}

.product-panel .detailed-description .meta-block .colored-dots .dot-wrapper .dot.is-white {
    background: #fff;
    border: 1px solid #ccc
}

.product-panel .detailed-description .meta-block .colored-dots .dot-wrapper .dot.is-dark {
    background: #393447
}

.product-panel .detailed-description .meta-block .colored-dots .dot-wrapper .dot.is-cream {
    background: #d6d3c0
}

.product-panel .detailed-description .meta-block .colored-dots .dot-wrapper .dot.is-red {
    background: #FF7273
}

.product-panel .product-ratings {
    padding: 10px 40px 20px 40px;
    max-height: 65vh;
    overflow-y: auto;
    margin-top: 20px
}

.product-panel .product-ratings::-webkit-scrollbar {
    width: 10px
}

.product-panel .product-ratings::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2)
}

.product-panel .product-ratings .main-rating {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1)
}

.product-panel .product-ratings h3 {
    text-transform: uppercase;
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    margin-bottom: 15px
}

.product-panel .product-ratings span {
    font-weight: 400;
    color: #999;
    font-size: 0.9rem;
    padding-top: 15px
}

.product-panel .product-ratings span small {
    font-size: 0.9rem;
    font-weight: 500;
    color: #E1484B
}

.product-panel .product-ratings .stars {
    padding: 10px 20px;
    border-radius: 6px;
    border: 1px solid rgba(0, 0, 0, 0.1)
}

.product-panel .product-ratings .stars i {
    font-size: 1.2rem;
    color: #FFD700
}

.product-panel .product-ratings .add-review {
    cursor: pointer
}

.product-panel .product-ratings .add-review svg {
    height: 16px;
    width: 16px;
    position: relative;
    top: 4px
}

.product-panel .product-ratings .add-review:hover {
    color: #E1484B
}

.product-panel .product-ratings .add-review:hover svg {
    stroke: #E1484B
}

.product-panel .product-ratings .customer-ratings .media {
    margin-top: 30px
}

.product-panel .product-ratings .customer-ratings .media img {
    border-radius: 50%
}

.product-panel .product-ratings .customer-ratings .media-content p {
    font-size: 0.9rem;
    color: #999
}

.product-panel .product-ratings .customer-ratings .media-content p span {
    color: #4a4a4a;
    font-size: 0.9rem;
    font-weight: 500
}

.product-panel .product-ratings .customer-ratings .media-content p .rating-content {
    font-size: 0.85rem;
    color: #999;
    font-weight: 400
}

.product-panel .product-ratings .customer-ratings .media-content p small {
    padding-left: 10px
}

.product-panel .product-ratings .customer-ratings .media-content p small i {
    color: #FFD700
}

.product-info-panel {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    min-height: 100vh;
    width: 60%;
    background: #f0f0f0
}

.product-info-panel .inner-panel {
    height: 100%
}

.product-info-panel .inner-panel .panel-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding: 40px 0
}

.product-info-panel .inner-panel .panel-header .category-title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    padding: 0 80px
}

.product-info-panel .inner-panel .panel-header .category-title h2 {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 1.3rem;
    text-transform: uppercase;
    font-weight: 500;
    padding: 0 20px;
    color: #4a4a4a
}

.product-info-panel .inner-panel .panel-header .category-title img {
    height: 48px
}

.product-info-panel .inner-panel .panel-header .category-title svg {
    height: 40px;
    width: 40px;
    fill: #999
}

.product-info-panel .inner-panel .panel-body {
    padding: 60px 80px
}

.product-info-panel .inner-panel .panel-body .product-name {
    font-family: 'Merriweather-Sans', sans-serif;
    text-transform: uppercase;
    font-size: 2.2rem;
    font-weight: 500;
    #color: #E1484B;
}

.product-info-panel .inner-panel .panel-body .product-name span {
    font-family: 'Merriweather-Sans', sans-serif;
    text-transform: none !important;
    color: #999;
    font-size: 50%
}

.product-info-panel .inner-panel .panel-body .product-description {
    padding-top: 20px;
    color: #999
}

.product-info-panel .inner-panel .panel-body .product-controls {
    padding-top: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: baseline;
    align-items: baseline;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.product-info-panel .inner-panel .panel-body .product-controls .product-price {
    position: relative
}

.product-info-panel .inner-panel .panel-body .product-controls .product-price .heading {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 600;
    margin: 5px 0
}

.product-info-panel .inner-panel .panel-body .product-controls .product-price .value {
    font-size: 1.6rem;
    font-weight: 700;
    color: #E1484B;
}

.product-info-panel .inner-panel .panel-body .product-controls .product-price .value:after {
    #content: '$90,00';
    font-size: 1.2rem;
    font-weight: 500;
    padding: 0 20px;
    color: #999;
    text-decoration: line-through
}

.product-info-panel .inner-panel .panel-body .product-controls .product-quantity {
    /* margin-left: auto */
}
.product-info-panel .inner-panel .panel-body .product-controls .product-quantity2 {
    margin-left: auto
}

.product-info-panel .inner-panel .panel-body .product-controls .product-quantity .heading {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 600;
    margin: 5px 0;
    text-align: center
}

.product-info-panel .inner-panel .panel-body .product-controls .product-quantity .control {
    height: 48px;
    max-width: 80px
}

.product-info-panel .inner-panel .panel-body .product-controls .product-quantity .control .input {
    text-align: center
}

.product-info-panel .inner-panel .panel-body .product-controls .add-to-cart .heading {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 600;
    margin: 0
}

.product-info-panel .inner-panel .panel-body .product-controls .add-to-cart button {
    line-height: 0;
    font-size: 0.6rem;
    font-weight: 600;
    margin-left: 20px
}

.product-info-panel .inner-panel .panel-footer {
    padding: 35px 0;
    position: absolute;
    bottom: 0;
    width: 100%;
    background: #fff;
    min-height: 250px;
    z-index: 0
}

.product-info-panel .inner-panel .panel-footer .footer-inner {
    padding: 20px 0
}

.product-info-panel .inner-panel .panel-footer .footer-inner .recommended {
    text-transform: uppercase;
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    color: #999;
    position: absolute;
    top: 106px;
    left: -20px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.product-info-panel .inner-panel .panel-footer .footer-inner .featured-product .image img {
    max-width: 80px;
    margin: 5px auto
}

.product-info-panel .inner-panel .panel-footer .footer-inner .featured-product a {
    color: #4a4a4a
}

.product-info-panel .inner-panel .panel-footer .footer-inner .featured-product .product-name {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 0.9rem
}

.product-info-panel .inner-panel .panel-footer .footer-inner .featured-product .product-description {
    font-size: 70%;
    color: #999
}

.review-modal .modal-content {
    max-width: 480px
}

.review-modal .modal-content .modal-delete {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: auto
}

.review-modal .modal-content .modal-delete svg {
    width: 20px;
    height: 20px;
    stroke: #999;
    cursor: pointer
}

.review-modal .modal-content .modal-delete svg:hover {
    stroke: #E1484B
}

.review-modal .modal-content .box {
    padding: 0;
    overflow: hidden;
    transition: all .4s;
    -webkit-transform: scale(0);
    transform: scale(0)
}

.review-modal .modal-content .box .box-header {
    width: 100%;
    background: #ededed;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 20px
}

.review-modal .modal-content .box .box-header img {
    width: 40px;
    height: 40px;
    border-radius: 50%
}

.review-modal .modal-content .box .box-header span {
    display: block;
    padding-left: 10px;
    color: #4a4a4a
}

.review-modal .modal-content .box .box-header .delete {
    margin-left: auto
}

.review-modal .modal-content .box .box-body {
    padding: 20px
}

.review-modal .modal-content .box p {
    font-size: 85%;
    color: #999
}

.review-modal .modal-content fieldset,
.review-modal .modal-content label {
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 99
}

.review-modal .modal-content .rating {
    border: none;
    float: left
}

.review-modal .modal-content .rating>input {
    display: none
}

.review-modal .modal-content .rating>label:before {
    margin: 5px;
    font-size: 1.25em;
    font-family: FontAwesome;
    display: inline-block;
    content: "\f005"
}

.review-modal .modal-content .rating>.half:before {
    content: "\f089";
    position: absolute
}

.review-modal .modal-content .rating>label {
    color: #ddd;
    float: right
}

.review-modal .modal-content .rating>input:checked ~ label,
.review-modal .modal-content .rating:not(:checked)>label:hover,
.review-modal .modal-content .rating:not(:checked)>label:hover ~ label {
    color: #FFD700 !important
}

.review-modal .modal-content .rating>input:checked+label:hover,
.review-modal .modal-content .rating>input:checked ~ label:hover,
.review-modal .modal-content .rating>label:hover ~ input:checked ~ label,
.review-modal .modal-content .rating>input:checked ~ label:hover ~ label {
    color: #FFED85 !important
}

.review-modal.is-active .box {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.is-carousel img {
    max-height: 350px !important
}

.is-carousel .slider {
    margin: 0 auto
}

.is-carousel .slick-slide img {
    margin: 0 auto !important
}

.is-carousel .slider:focus,
.is-carousel .slick-slide:focus {
    outline: none !important
}


/* ==========================================================================
19. Checkout process
========================================================================== */

.steps-wrapper {
    width: 600px
}

.steps-wrapper .step-list {
    position: relative;
    overflow: hidden;
    counter-reset: wizard;
    list-style-type: none
}

.steps-wrapper .step-list li {
    position: relative;
    float: left;
    width: 25%;
    text-align: center
}

.steps-wrapper .step-list .active {
    color: #fff
}

.steps-wrapper .step-list .active:before {
    background: #E1484B;
    color: #fff;
    border-color: #fff;
    font-weight: 500
}

.steps-wrapper .step-list li:before {
    counter-increment: wizard;
    content: counter(wizard);
    display: block;
    color: #999;
    background-color: #cecece;
    border: 2px solid #fff;
    text-align: center;
    width: 3em;
    height: 3em;
    line-height: 2.8em;
    border-radius: 3em;
    position: relative;
    left: 50%;
    margin-left: -1.5em;
    z-index: 1;
    font-size: .8rem;
    font-weight: 500
}

.steps-wrapper .step-list li+li:after {
    content: "";
    display: block;
    width: 100%;
    background-color: #cecece;
    height: 5px;
    position: absolute;
    left: -50%;
    top: 1.1em;
    z-index: 0
}

.steps-wrapper .step-list .active:after {
    background-color: #E1484B
}

.checkout-title {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    margin: 10px 0
}

.checkout-title h2 {
    font-size: 1.6rem;
    font-weight: 400 !important;
    text-transform: uppercase
}

.checkout-title h3 {
    font-weight: 500;
    color: #E1484B
}

.checkout-title.is-centered {
    -ms-flex-pack: center;
    justify-content: center
}

.checkout-title .brand-filigrane {
    position: absolute;
    top: -5px;
    left: -27px;
    height: 48px;
    opacity: 0.4
}

.checkout-title .brand-filigrane.is-centered {
    left: 0;
    right: 0;
    top: -10px;
    margin: 0 auto;
    height: 60px
}

.checkout-wrapper {
    padding: 60px 0
}

.flat-card.is-checkout-form.has-overflow {
    overflow: visible !important
}

.flat-card.is-checkout-form .form-title h3 {
    font-size: 1.2rem;
    font-weight: 300 !important;
    text-transform: uppercase;
    padding-bottom: 20px
}

.flat-card.is-checkout-form .column.is-padded {
    padding: 40px !important
}

.flat-card.is-checkout-form .column.is-light-padded {
    padding: 15px 40px !important
}

.flat-card.is-checkout-form .column.grey-column {
    background: #f9f9f9
}

.flat-card.is-checkout-form .customer-wrapper {
    padding: 80px 0
}

.flat-card.is-checkout-form .customer-wrapper .logged-as {
    font-size: 90%;
    color: #828282;
    padding-top: 10px
}

.flat-card.is-checkout-form .customer-wrapper .username {
    font-weight: 500
}

.flat-card.is-checkout-form .customer-wrapper .switch {
    padding-top: 10px;
    font-size: 90%;
    font-weight: 500
}

.flat-card.is-checkout-form .customer-wrapper .switch a {
    color: #828282
}

.flat-card.is-checkout-form .customer-wrapper .switch a:hover {
    color: #E1484B
}

.flat-card.is-checkout-form .customer-wrapper img {
    height: 75px;
    width: 75px;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0px 5px 43px rgba(0, 0, 0, 0.18) !important
}

.flat-card.is-checkout-form .customer-wrapper img.logo {
    border-radius: 0;
    height: 75px;
    width: auto
}

.flat-card.is-checkout-form .shipping-wrapper {
    padding: 80px 10px
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card {
    position: relative;
    background: #fff;
    border-radius: 6px;
    border: 2px solid #cecece;
    padding: 20px;
    margin: 10px;
    overflow: visible;
    cursor: pointer;
    transition: all .3s
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card svg {
    height: 48px;
    fill: #cecece
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card .shipping-method {
    text-transform: uppercase;
    font-size: 70%;
    color: #cecece;
    display: block
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card .shipping-price {
    text-transform: uppercase;
    font-size: 70%;
    font-weight: 500;
    color: #E1484B;
    display: none
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card:hover {
    border-color: #999
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card:hover svg {
    fill: #999
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card:hover .shipping-method {
    color: #999
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card .active-indicator {
    visibility: hidden;
    position: absolute;
    top: -16px;
    right: -16px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    width: 32px;
    height: 32px;
    border: 2px solid #99a7ff;
    border-radius: 50%;
    background: #E1484B
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card .active-indicator svg {
    width: 14px;
    height: 14px;
    stroke: #fff;
    stroke-width: 3px
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card.is-active {
    border-color: #E1484B
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card.is-active svg {
    fill: #E1484B
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card.is-active .shipping-method {
    color: #E1484B;
    display: none
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card.is-active .shipping-price {
    display: block
}

.flat-card.is-checkout-form .shipping-wrapper .mini-card.is-active .active-indicator {
    visibility: visible
}

.flat-card.is-checkout-form .shipping-address-form .column {
    padding: 0 .75rem !important
}

.flat-card.is-checkout-form .shipping-address-form .chosen-single {
    max-height: 36px
}

.flat-card.is-checkout-form .shipping-address-form .chosen-single span {
    max-height: 36px;
    display: block;
    position: relative;
    top: -2.5px;
    left: -8px
}

.flat-card.is-checkout-form .verification-wrapper {
    padding: 80px 0
}

.flat-card.is-checkout-form .verification-wrapper .total-price svg {
    width: 26px;
    height: 26px;
    stroke: #999
}

.flat-card.is-checkout-form .verification-wrapper .total-price span {
    display: block
}

.flat-card.is-checkout-form .verification-wrapper .total-price span:nth-child(2) {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: .85rem;
    font-weight: 600;
    text-transform: uppercase
}

.flat-card.is-checkout-form .verification-wrapper .total-price span:nth-child(3) {
    font-size: 2rem;
    font-weight: 600
}

.flat-card.is-checkout-form .verification-wrapper .total-price span:nth-child(3):before {
    content: '$';
    position: relative;
    top: -10px;
    font-size: 50%
}

.flat-card.is-checkout-form .verification-wrapper .total-price span:nth-child(4) {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 600;
    color: #E1484B;
    margin: 5px 0;
    font-size: .85rem
}

.flat-card.is-checkout-form .items-column {
    max-height: 350px;
    overflow-y: auto
}

.flat-card.is-checkout-form .items-column::-webkit-scrollbar {
    width: 10px
}

.flat-card.is-checkout-form .items-column::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2)
}

.flat-card.is-checkout-form .items-column .order-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 0;
    border-top: 1px solid #ededed
}

.flat-card.is-checkout-form .items-column .order-item .item-description span,
.flat-card.is-checkout-form .items-column .order-item .item-quantity span {
    display: block
}

.flat-card.is-checkout-form .items-column .order-item .item-description span:first-child,
.flat-card.is-checkout-form .items-column .order-item .item-quantity span:first-child {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 80%
}

.flat-card.is-checkout-form .items-column .order-item .item-description span:nth-child(2),
.flat-card.is-checkout-form .items-column .order-item .item-quantity span:nth-child(2) {
    font-size: 80%;
    color: #828282
}

.flat-card.is-checkout-form .items-column .order-item .item-description {
    width: 50%
}

.flat-card.is-checkout-form .items-column .order-item .item-quantity {
    width: 15%
}

.flat-card.is-checkout-form .items-column .order-item .item-price {
    width: 25%;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 90%;
    color: #E1484B
}

.flat-card.is-checkout-form .payment-wrapper {
    padding: 100px 0
}

.flat-card.is-checkout-form .payment-wrapper .subtotal {
    padding: 5px 0
}

.flat-card.is-checkout-form .payment-wrapper .subtotal .partial-value:before,
.flat-card.is-checkout-form .payment-wrapper .subtotal .vat-value:before {
    content: '$';
    font-size: 60%;
    position: relative;
    top: -6px
}

.flat-card.is-checkout-form .payment-wrapper .subtotal .partial-value {
    font-weight: 500;
    color: #828282
}

.flat-card.is-checkout-form .payment-wrapper .subtotal .vat-value {
    font-weight: 500;
    color: #E1484B
}

.flat-card.is-checkout-form .payment-wrapper .subtotal .plus-operator,
.flat-card.is-checkout-form .payment-wrapper .subtotal .equal-operator {
    font-weight: 600
}

.flat-card.is-checkout-form .payment-wrapper .total span {
    display: block;
    font-size: 2.2rem;
    font-weight: 700;
    color: #4a4a4a
}

.flat-card.is-checkout-form .payment-wrapper .total span:before {
    content: '$';
    font-size: 60%;
    position: relative;
    top: -10px
}

.flat-card.is-checkout-form .logo {
    height: 35px;
    width: auto;
    border: none;
    box-shadow: none;
    display: block
}

.flat-card.is-checkout-form .logo.is-centered {
    margin: 0 auto
}

.flat-card.is-checkout-form .bank-account {
    padding: 10px 0;
    display: block;
    font-size: 90%;
    color: #828282
}

.flat-card.is-checkout-form .control {
    margin: 10px 0
}

.flat-card.is-checkout-form .control.has-margin {
    margin-left: 5px;
    margin-right: 5px
}

.flat-card.is-checkout-form .control .input {
    box-shadow: none !important;
    color: #828282
}

.flat-card.is-checkout-form .checkout-label {
    font-weight: 500;
    color: #4a4a4a;
    font-size: 90%;
    margin: 5px 0;
    display: block
}

.flat-card.payment-method {
    text-align: center;
    padding: 40px;
    border: 2px solid transparent;
    cursor: pointer
}

.flat-card.payment-method .payment-icon svg {
    height: 60px;
    width: 60px;
    fill: #cecece;
    transition: all .3s
}

.flat-card.payment-method .payment-text {
    text-transform: uppercase;
    padding: 10px 0;
    font-size: 80%;
    color: #cecece
}

.flat-card.payment-method:hover.is-paypal {
    border-color: #039BE5
}

.flat-card.payment-method:hover.is-paypal svg {
    fill: #039BE5
}

.flat-card.payment-method:hover.is-paypal .payment-text {
    color: #039BE5
}

.flat-card.payment-method:hover.is-bank {
    border-color: #eda514
}

.flat-card.payment-method:hover.is-bank svg {
    fill: #eda514
}

.flat-card.payment-method:hover.is-bank .payment-text {
    color: #eda514
}

.flat-card.payment-method:hover.is-credit-card {
    border-color: #E1484B
}

.flat-card.payment-method:hover.is-credit-card svg {
    fill: #E1484B
}

.flat-card.payment-method:hover.is-credit-card .payment-text {
    color: #E1484B
}

.flat-card.payment-method:hover.is-cash {
    border-color: #00b289
}

.flat-card.payment-method:hover.is-cash svg {
    fill: #00b289
}

.flat-card.payment-method:hover.is-cash .payment-text {
    color: #00b289
}

.flat-card.thanks-card {
    padding: 40px;
    margin: 10px 0
}

.flat-card.thanks-card img {
    display: block;
    height: 75px;
    margin: 0 auto 10px auto
}

.flat-card.thanks-card .card-heading {
    font-size: 1rem;
    font-weight: 500
}

.flat-card.thanks-card p {
    padding: 10px 40px;
    font-size: .9rem;
    color: #828282
}

.flat-card.thanks-card .big-button {
    border: 2px solid #E1484B;
    color: #E1484B;
    font-weight: 500
}

.flat-card.thanks-card .big-button:hover {
    border-color: #667bff;
    color: #667bff
}

#payment-methods {
    padding: 10px 0
}

.button-wrapper {
    padding: 10px 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center
}


/* ==========================================================================
20. Login / Register page
========================================================================== */

.auth-title {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    margin: 20px 0
}

.auth-title h2 {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 1.6rem;
    font-weight: 400 !important;
    text-transform: uppercase
}

.auth-title h3 {
    font-weight: 500;
    color: #E1484B
}

.auth-title.is-centered {
    -ms-flex-pack: center;
    justify-content: center
}

.auth-title .brand-filigrane {
    position: absolute;
    top: -15px;
    left: -25px;
    height: 68px;
    opacity: 0.4
}

.flat-card.is-auth-form {
    min-height: 445px !important
}

.flat-card.is-auth-form .form-title h3 {
    font-size: 1.2rem;
    font-weight: 300 !important;
    text-transform: uppercase;
    padding-bottom: 20px
}

.flat-card.is-auth-form .column.is-padded {
    padding: 40px !important
}

.flat-card.is-auth-form .column.is-mobile-padded {
    padding: 40px
}

.flat-card.is-auth-form .column.is-light-padded {
    padding: 15px 40px !important
}

.flat-card.is-auth-form .column.image-column {
    position: relative;
    background-image: url("http://via.placeholder.com/1600x1200");
    background-size: cover;
    background-repeat: no-repeat
}

.flat-card.is-auth-form .column.image-column .nephos-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(43, 56, 76, 0.95);
    z-index: 0
}

.flat-card.is-auth-form .store-wrapper {
    padding: 120px 0;
    position: relative;
    z-index: 2
}

.flat-card.is-auth-form .store-wrapper .title {
    font-size: 1.6rem;
    letter-spacing: 3px;
    color: #fff;
    padding-top: 10px;
    text-transform: uppercase;
    font-weight: 300
}

.flat-card.is-auth-form .store-wrapper .subtitle {
    font-size: .75rem;
    color: #fff;
    padding: 10px 0;
    text-transform: uppercase;
    letter-spacing: 2px
}

.flat-card.is-auth-form .store-wrapper img {
    height: 75px;
    width: 75px
}

.flat-card.is-auth-form .store-wrapper img.logo {
    border-radius: 0;
    height: 75px;
    width: auto
}

.flat-card.is-auth-form .is-form-tabs {
    margin-bottom: 20px
}

.flat-card.is-auth-form .is-form-tabs li a {
    color: #cecece;
    font-family: 'Merriweather-Sans', sans-serif;
    text-transform: uppercase;
    font-size: 85%
}

.flat-card.is-auth-form .is-form-tabs li.is-active a {
    color: #E1484B
}

.flat-card.is-auth-form .auth-label {
    font-weight: 500;
    color: #4a4a4a;
    font-size: 90%;
    margin: 5px 0;
    display: block
}

.flat-card.is-auth-form .input {
    box-shadow: none !important
}

.flat-card.is-auth-form .control {
    margin-bottom: 10px
}

.flat-card.is-auth-form .checkbox-wrap {
    padding: 0 !important;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

.flat-card.is-auth-form .checkbox-wrap small {
    font-size: .8rem !important
}

.flat-card.is-auth-form .forgotten {
    font-size: .85rem
}

/* ==========================================================================
21. Buttons
========================================================================== */

.button.big-button {
    padding: 22px 40px !important
}

.button.big-button.btn-outlined.is-bold {
    border-width: 2px;
    font-weight: 600
}

.button.big-button.is-bold {
    font-weight: 600
}

.button.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(0, 0, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important;
    opacity: 0.8
}

.button.upper-button {
    text-transform: uppercase
}

.button.upper-button.is-bold {
    font-weight: 600 !important
}

.button.rounded {
    border-radius: 500px
}

.button.feather-button {
    min-width: 130px;
    font-weight: 200;
    font-size: 80%;
    height: 40px
}

.button.feather-button.is-pushed {
    margin-left: auto
}

.button.feather-button svg {
    position: relative;
    top: 1px;
    width: 17px;
    height: 17px;
    margin-right: 8px
}

.button.feather-button.is-small {
    min-width: 100px;
    height: 32px;
    font-size: 60%;
    font-weight: 500
}

.button.feather-button.is-bold {
    font-weight: 500 !important;
    font-size: .75rem;
    text-transform: uppercase;
    border-width: 2px
}

button[type=submit],
.will-upload {
    display: block !important;
    text-align: center !important
}

.button.primary-button {
    outline: none;
    border-color: #E1484B;
    background-color: #E1484B;
    color: #fff !important;
    transition: all 0.5s
}

.button.primary-button:hover {
    color: #fff
}

.button.primary-button.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(0, 35, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 35, 255, 0.2) !important;
    opacity: 0.9 0.5
}

.button.primary-button.btn-outlined {
    border-color: #E1484B;
    color: #E1484B !important;
    background-color: transparent
}

.button.primary-button.btn-outlined:hover {
    color: #fff !important;
    background-color: #E1484B
}

.button.primary-button:focus {
    border-color: #E1484B
}

.button.secondary-button {
    outline: none;
    border-color: #00D1B2;
    background-color: #00D1B2;
    color: #fff;
    transition: all 0.5s
}

.button.secondary-button:hover {
    color: #fff
}

.button.secondary-button.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(0, 209, 178, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 209, 178, 0.2) !important;
    opacity: 0.95
}

.button.secondary-button.btn-outlined {
    border-color: #00D1B2;
    color: #00D1B2;
    background-color: transparent
}

.button.secondary-button.btn-outlined:hover {
    color: #fff;
    background-color: #00D1B2
}

.button.secondary-button:focus {
    border-color: #00D1B2
}

.button.accent-button {
    outline: none;
    border-color: #7F00FF;
    background-color: #7F00FF;
    color: #fff;
    transition: all 0.5s
}

.button.accent-button:hover {
    color: #fff
}

.button.accent-button.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important;
    opacity: 0.8
}

.button.accent-button.btn-outlined {
    border-color: #7F00FF;
    color: #7F00FF;
    background-color: transparent
}

.button.accent-button.btn-outlined:hover {
    color: #fff;
    background-color: #7F00FF
}

.button.accent-button:focus {
    border-color: #7F00FF
}

.button.grey-button {
    outline: none;
    border-color: #ccc;
    background-color: #ccc;
    color: #fff;
    transition: all 0.5s
}

.button.grey-button:hover {
    color: #fff
}

.button.grey-button.raised:hover {
    opacity: 0.8
}

.button.grey-button.btn-outlined {
    border-color: #ccc;
    color: #ccc;
    background-color: transparent
}

.button.grey-button.btn-outlined:hover {
    color: #fff;
    background-color: #ccc
}

.button.grey-button:focus {
    border-color: #ccc
}


/* ==========================================================================
22. search Overlay
========================================================================== */

.search-overlay {
    position: fixed;
    top: -100px;
    left: -100px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    transition: all .4s;
    -webkit-transform: scale(1);
    transform: scale(1);
    z-index: 3
}

.search-overlay.is-active {
    -webkit-transform: scale(50);
    transform: scale(50)
}

.search-input-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 4
}

.search-input-wrapper.is-desktop {
    left: 80px;
    width: calc(100% - 80px)
}

.search-input-wrapper .field {
    position: relative;
    top: 25%;
    width: 100%;
    padding: 0 18%
}

.search-input-wrapper .control {
    position: relative;
    width: 100%;
    margin: 0 auto;
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    transition: all .3s
}

.search-input-wrapper .control input {
    width: 100%;
    height: 155px;
    padding-right: 75px;
    border-left: none;
    border-right: none;
    border-top: none;
    border-radius: 0;
    border-bottom: 3px solid #E1484B;
    background: transparent;
    font-size: 5rem;
    font-weight: 200;
    font-family: 'Merriweather-Sans', sans-serif;;
    text-transform: uppercase;
    padding-bottom: 10px
}

.search-input-wrapper .control input:focus {
    outline: none !important
}

.search-input-wrapper .control .search-help {
    display: block;
    color: #E1484B;
    font-size: 1.3rem;
    padding-top: 20px
}

.search-input-wrapper .control #clear-search {
    display: block;
    position: absolute;
    top: 64px;
    right: 16px;
    cursor: pointer
}

.search-input-wrapper .control #clear-search svg {
    width: 42px;
    height: 42px;
    stroke: #E1484B;
    stroke-width: 1px
}

.search-input-wrapper .control.is-active {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.search-input-wrapper .control input:not(:valid) ~ #clear-search {
    display: none
}


/* ==========================================================================
23. Filters
========================================================================== */

.price-range-wrapper .price-limit {
    position: relative;
    top: 3px;
    float: left;
    color: #999;
    font-size: 16px;
    font-weight: 500;
    margin-right: 5px
}

.price-range-wrapper .price-limit small {
    font-size: 70%
}

.range-slider {
    position: relative;
    width: 220px;
    float: left;
    margin: 0 4px
}

.range-slider .slider-output {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.range-slider .slider-output small {
    font-size: .8rem;
    color: #999
}

.range-slider .input-range {
    -webkit-appearance: none;
    width: 220px;
    height: 5px;
    border-radius: 5px;
    background: #ccc;
    outline: none
}

.range-slider .input-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #E1484B;
    cursor: pointer;
    transition: background .15s ease-in-out;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.range-slider .input-range::-webkit-slider-thumb:hover {
    background: #E1484B
}

.range-slider .input-range:active::-moz-range-thumb {
    background: #E1484B
}

.range-slider .input-range::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border: 0;
    border-radius: 50%;
    background: #E1484B;
    cursor: pointer;
    transition: background .15s ease-in-out
}

.range-slider .range-value {
    display: block !important;
    position: relative;
    color: #E1484B;
    font-size: 14px;
    font-weight: 500;
    padding: 0 10px
}

.range-slider::-moz-range-track {
    background: #ccc;
    border: 0
}

.range-slider input::-moz-focus-inner {
    border: 0
}

.columns.is-checkboxes .column .field {
    margin: 5px 0
}


/* ==========================================================================
24. Checkboxes
========================================================================== */

.checkbox-wrap {
    position: relative;
    cursor: pointer;
    padding: 1em
}

.checkbox-wrap::-moz-selection {
    background: transparent
}

.checkbox-wrap::selection {
    background: transparent
}

.checkbox-wrap input.d-checkbox+span,
.checkbox-wrap input.b-radio+span {
    background: #fff;
    content: "";
    display: inline-block;
    margin: 0 .5em 0 0;
    padding: 0;
    border: 1px solid #999;
    vertical-align: middle;
    width: 2em;
    height: 2em
}

.checkbox-wrap input.d-checkbox+span::after,
.checkbox-wrap input.b-radio+span::after {
    content: "";
    display: block;
    -webkit-transform: scale(0);
    transform: scale(0);
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s
}

.checkbox-wrap input.d-checkbox:checked+span::after,
.checkbox-wrap input.b-radio:checked+span::after {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.checkbox-wrap input.d-checkbox,
.checkbox-wrap input.b-radio {
    position: absolute;
    cursor: pointer;
    opacity: 0
}

.checkbox-wrap input+span {
    border-radius: 2px
}

.checkbox-wrap input+span::after {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
    background-size: contain;
    width: 1.9em;
    height: 1.9em;
    position: relative;
    top: -1px
}

.checkbox-wrap.is-medium input+span {
    width: 1.4em;
    height: 1.4em
}

.checkbox-wrap.is-medium input+span::after {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
    background-size: contain;
    width: 1.3em;
    height: 1.3em;
    position: relative;
    top: -1px
}

.checkbox-wrap.is-small input+span {
    width: 1em;
    height: 1em
}

.checkbox-wrap.is-small input+span::after {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
    background-size: contain;
    width: 0.9em;
    height: 0.9em;
    position: relative;
    top: -1px
}

.checkbox-wrap label {
    color: #999
}


/* ==========================================================================
25. Form controls
========================================================================== */

textarea.textarea {
    color: #999;
    box-shadow: none;
    overflow: hidden;
    transition: all 0.8s
}

textarea.textarea:focus {
    border: 1px solid #ededed;
    box-shadow: none !important
}

textarea.textarea.is-primary-focus:focus {
    border-color: #E1484B
}

textarea.textarea.is-primary-focus:focus ~ span.icon i {
    color: #E1484B
}

textarea.textarea.is-secondary-focus:focus {
    border-color: #00D1B2
}

textarea.textarea.is-secondary-focus:focus ~ span.icon i {
    color: #00D1B2
}

textarea.textarea.is-accent-focus:focus {
    border-color: #7F00FF
}

textarea.textarea.is-accent-focus:focus ~ span.icon i {
    color: #7F00FF
}

textarea.textarea.is-grey-focus:focus {
    border-color: #A9ABAC
}

textarea.textarea.is-grey-focus:focus ~ span.icon i {
    color: #A9ABAC
}

textarea.textarea.is-default-focus:focus {
    border-color: #999
}

textarea.textarea.is-default-focus:focus ~ span.icon i {
    color: #999
}

textarea.textarea.is-grow {
    min-height: 40px !important;
    height: 40px;
    resize: none;
    transition: all 0.5s
}

textarea.textarea.is-grow:focus {
    height: 130px !important;
    border-color: #ededed
}

textarea.textarea.is-button {
    min-height: 60px !important;
    height: 60px !important;
    resize: none;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: none !important;
    transition: all 0.6s
}

textarea.textarea.is-button:hover {
    border-color: #ededed
}

textarea.textarea.is-button:focus {
    height: 130px !important;
    padding-bottom: 40px !important;
    border-color: #ededed
}

textarea.textarea.is-button+.textarea-button {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
    border: 1px solid #ededed;
    border-top: none !important;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    background: #f9f9f9
}

textarea.textarea.is-button+.textarea-button button {
    margin: 10px 7px 7px 7px;
    font-size: 0.85rem;
    padding: 4px 10px 8px 10px;
    width: 92px
}

.control.control-medium {
    padding: 20px
}

.control.is-input-wrapper {
    margin: 10px 0;
    background: #f7f7f7
}

.input {
    transition: all .3s
}

.input.is-minimal {
    box-shadow: none !important
}

.input.is-minimal:focus {
    box-shadow: none !important;
    border: 1px solid #ededed
}

.input.is-default {
    box-shadow: none;
    color: #828282
}

.input.is-default:focus {
    border: 1px solid #ededed
}


/* ==========================================================================
26. Invoice page
========================================================================== */

.invoice-wrap {
    padding: 20px 0
}

.invoice-controls {
    padding: 10px 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center
}

.invoice {
    background: #fff;
    width: 100%;
    padding: 50px
}

.invoice .logo {
    width: 60px
}

.invoice .document-type {
    text-align: right;
    color: #444
}

.invoice .conditions {
    font-size: 0.7em;
    color: #666
}

.invoice .bottom-page {
    font-size: 0.85em
}

.invoice .bottom-page .company,
.invoice .bottom-page .url {
    font-weight: 500;
    font-family: 'Merriweather-Sans', sans-serif;
}

.invoice .bottom-page .url {
    color: #E1484B
}

.invoice .bottom-page .code,
.invoice .bottom-page .id {
    color: #4a4a4a;
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 500;
    font-size: 90%
}

.invoice .seller,
.invoice .buyer {
    font-size: .85rem;
    color: #828282;
    font-weight: 400
}

.invoice .seller span,
.invoice .buyer span {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    color: #4a4a4a
}

.invoice .invoice-meta span {
    text-transform: uppercase;
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: 70%;
    font-weight: 600
}

.invoice .invoice-meta span small {
    font-weight: 500;
    color: #828282;
    text-transform: none;
    font-size: 1rem
}

.invoice .invoice-meta span small.date {
    font-size: .85rem;
    padding: 0 5px
}

.responsive-table {
    width: 100%
}

.responsive-table td {
    vertical-align: middle !important
}

.responsive-table td .product {
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 600;
    font-size: 90%
}

.responsive-table td .sku {
    font-size: 80%;
    color: #828282;
    font-weight: 500
}

.responsive-table td .quantity {
    color: #828282
}

.responsive-table td .unit-price,
.responsive-table td .total-price {
    font-weight: 500;
    color: #4a4a4a;
    font-size: 85%
}

.responsive-table td .unit-price:before,
.responsive-table td .total-price:before {
    content: '$';
    font-size: 80%
}

.responsive-table th {
    text-transform: uppercase;
    font-weight: 500 !important;
    font-size: .75rem;
    color: #828282 !important
}

@media only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px) {
    .responsive-table table,
    .responsive-table thead,
    .responsive-table tbody,
    .responsive-table th,
    .responsive-table td,
    .responsive-table tr {
        display: block
    }
    .responsive-table thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px
    }
    .responsive-table tr {
        border: 1px solid #ccc
    }
    .responsive-table td {
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 50%
    }
    .responsive-table td.has-text-centered {
        text-align: left !important
    }
    .responsive-table td:before {
        position: absolute;
        top: 12px;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-transform: uppercase;
        font-weight: 500 !important;
        font-size: .75rem;
        color: #828282 !important
    }
    .responsive-table td:nth-of-type(1):before {
        content: "Product"
    }
    .responsive-table td:nth-of-type(2):before {
        content: "Quantity"
    }
    .responsive-table td:nth-of-type(3):before {
        content: "Price"
    }
    .responsive-table td:nth-of-type(4):before {
        content: "Total"
    }
}

.sub-table {
    width: 100% !important
}

.sub-table .subtotal,
.sub-table .vat {
    text-transform: uppercase;
    font-weight: 500 !important;
    font-size: .75rem;
    color: #828282
}

.sub-table .total {
    text-transform: uppercase;
    font-weight: 500 !important;
    font-size: 95%;
    color: #4a4a4a
}

.sub-table .subtotal-value,
.sub-table .vat-value {
    font-weight: 500;
    font-size: 80%;
    color: #4a4a4a
}

.sub-table .subtotal-value:before,
.sub-table .vat-value:before {
    content: '$';
    font-size: 80%
}

.sub-table .total-value {
    font-weight: 600;
    color: #E1484B
}

.sub-table .total-value:before {
    content: '$';
    font-size: 80%
}


/* ==========================================================================
27. Pageloader
========================================================================== */

.pageloader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 80px;
    width: calc(100% - 80px);
    background-color: #ededed;
    z-index: 999998;
    transition: -webkit-transform 0.35s ease-out;
    transition: transform 0.35s ease-out;
    transition: transform 0.35s ease-out, -webkit-transform 0.35s ease-out;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    will-change: transform
}

.pageloader.is-active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.pageloader.is-full {
    width: 100% !important;
    left: 0 !important
}

.pageloader.is-demo {
    background-image: linear-gradient(to right, #6a11cb 0%, #2575fc 100%) !important
}

.pageloader::after,
.pageloader::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    border-radius: 100%;
    content: "";
    z-index: 999999
}

.pageloader::after {
    margin-top: -100px;
    margin-left: -100px;
    width: 200px;
    height: 200px;
    background-color: rgba(255, 255, 255, 0.5);
    border: 3px solid rgba(255, 255, 255, 0.75);
    -webkit-animation: page-loader-inner 1.5s infinite ease-out;
    animation: page-loader-inner 1.5s infinite ease-out
}

.pageloader::before {
    margin-top: -30px;
    margin-left: -30px;
    width: 60px;
    height: 60px;
    background-color: #fff;
    -webkit-animation: page-loader-outer 1.5s infinite ease-in;
    animation: page-loader-outer 1.5s infinite ease-in
}

@-webkit-keyframes page-loader-inner {
    0%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }
}

@keyframes page-loader-inner {
    0%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }
}

@-webkit-keyframes page-loader-outer {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0
    }
}

@keyframes page-loader-outer {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0
    }
}

.infraloader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 80px;
    width: calc(100% - 80px);
    background-color: #fff;
    z-index: -1;
    opacity: 0;
    transition: opacity .35s
}

.infraloader.is-active {
    opacity: 1;
    z-index: 999997
}

.infraloader.is-full {
    width: 100% !important;
    left: 0 !important
}


/* ==========================================================================
28. Elements
========================================================================== */

.is-element-card {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 40px
}

.is-element-card .element-card-title {
    text-transform: uppercase;
    font-size: .75rem;
    font-weight: 500
}

.is-element-card img {
    max-width: 120px;
    width: 120px;
    margin: 5px 0
}

.is-element-card .view-element {
    font-family: 'Merriweather-Sans', sans-serif;
    text-transform: uppercase
}

.is-element-card .view-element a {
    font-weight: 600
}

.is-element-details {
    border: none !important;
    margin-bottom: 20px
}

.is-element-details.has-overflow {
    overflow: visible !important
}

.is-element-details .columns.is-gapless {
    background: #344258
}

.is-element-details .is-component .inner,
.is-element-details .is-description .inner {
    padding: 40px
}

.is-element-details .is-component {
    background: #fff
}

.is-element-details .is-component .control {
    margin-bottom: 20px
}

.is-element-details .is-component.is-grey {
    background: #fcfcfc
}

.is-element-details .is-description {
    color: #fcfcfc !important
}

.is-element-details .is-description .divider {
    height: 1.6px;
    background: #fcfcfc;
    border-radius: 50px;
    width: 60px;
    margin: 10px 0
}

.is-element-details .is-description h2 {
    color: #fcfcfc !important
}

.is-element-details .is-description p {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: .85rem;
    margin-bottom: 10px
}

.is-element-details .is-description code {
    color: #ffcc00;
    background: transparent !important
}

.spacer {
    padding: 20px 0
}

.control.required {
    position: relative
}

.control.required .input {
    padding-right: 36px
}

.control.required svg {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 16px;
    height: 16px;
    display: none;
    stroke-width: 2.4px
}

.control.required svg.success-icon {
    stroke: #00b289
}

.control.required svg.error-icon {
    stroke: #FF7273
}

.control.required svg.warning-icon {
    stroke: #eda514
}

.control.required .status-text span {
    font-size: 60%;
    font-family: 'Merriweather-Sans', sans-serif;
    display: none
}

.control.required .status-text span.success-text {
    color: #00b289
}

.control.required .status-text span.warning-text {
    color: #eda514
}

.control.required .status-text span.error-text {
    color: #FF7273
}

.control.required.has-success .input {
    border-color: #00b289 !important
}

.control.required.has-success .success-icon,
.control.required.has-success .success-text {
    display: block
}

.control.required.has-warning .input {
    border-color: #eda514 !important
}

.control.required.has-warning .warning-icon,
.control.required.has-warning .warning-text {
    display: block
}

.control.required.has-error .input {
    border-color: #FF7273 !important
}

.control.required.has-error .error-icon,
.control.required.has-error .error-text {
    display: block
}

.control.has-addon {
    position: relative
}

.control.has-addon.has-block .input {
    padding-right: 40px
}

.control.has-addon.has-block .input-block {
    position: absolute;
    top: 0;
    right: 0;
    height: 36px;
    width: 36px;
    background: #ededed;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: 500
}

.control.has-addon.has-button .input {
    padding-right: 70px
}

.control.has-addon.has-button .input-button {
    max-height: 30px;
    background: #00D1B2;
    color: #fff;
    padding: 8px 14px;
    font-size: .7rem;
    line-height: 1.2;
    border-radius: 3px;
    position: absolute;
    top: 3px;
    right: 3px;
    transition: opacity .3s;
    cursor: pointer
}

.control.has-addon.has-button .input-button:hover {
    opacity: 0.7
}

.control.has-addon.has-icon .input {
    padding-left: 40px
}

.control.has-addon.has-icon .input:focus {
    border-color: #E1484B
}

.control.has-addon.has-icon .input:focus+svg {
    stroke: #E1484B
}

.control.has-addon.has-icon svg {
    height: 22px;
    width: 22px;
    position: absolute;
    top: 7px;
    left: 10px;
    stroke: #cecece;
    transition: all .3s
}

.control.has-select-icon {
    position: relative
}

.control.has-select-icon svg {
    position: absolute;
    top: 7px;
    left: 10px;
    width: 18px;
    height: 18px;
    color: #ccc
}

.control.has-select-icon .styledSelect {
    left: 36px !important
}

.control.has-select-icon.is-loading::after {
    left: .625em !important;
    top: .49em !important
}

.s-hidden {
    visibility: hidden;
    padding-right: 10px
}

.select:not(.is-multiple) {
    height: 2.85em !important
}

.select {
    cursor: pointer;
    display: block;
    position: relative;
    font: normal 11px/22px Arial, Sans-Serif;
    color: black;
    border: 1px solid #ccc
}

.styledSelect {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #fff;
    color: #999;
    padding: 0 10px;
    font-family: 'Merriweather-Sans', sans-serif;
    font-weight: 500;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

.styledSelect:active,
.styledSelect.active {
    background-color: #fcfcfc
}

.options {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 999;
    margin: 0 0;
    padding: 0 0;
    list-style: none;
    border: 1px solid #ccc;
    background-color: white;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2)
}

.options li {
    padding: 5px 6px;
    margin: 0 0;
    padding: 5px 10px
}

.options li:hover {
    background-color: #E1484B;
    color: #fff
}

.control.is-loading.is-preloading:after {
    left: .625em !important;
    top: 0.8em !important
}

.control.is-loading.is-preloading.native:after {
    top: 0.5em !important
}

.control.is-loading.is-preloading .chosen-single {
    padding-left: 36px !important
}

.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
    height: 40px !important
}

.chosen-container-multi .chosen-choices li.search-choice {
    background-color: #E1484B !important;
    margin: 10px 12px 10px -8px !important
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    top: 0px !important
}

.easy-autocomplete {
    width: 100% !important
}

.autocpl {
    box-shadow: none !important
}

.autocpl .easy-autocomplete-container ul {
    padding: 10px !important
}

.autocpl .easy-autocomplete-container ul li {
    margin: 0 10px
}

.template-wrapper {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center
}

.template-wrapper .autocpl-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 100px !important
}

.template-wrapper .autocpl-product {
    width: 36px !important;
    height: 36px !important;
    border-radius: 2px !important
}

.template-wrapper .entry-text {
    margin-left: 15px
}

.template-wrapper .entry-text span {
    font-size: 0.8rem;
    color: #A9ABAC
}

.spinner-control {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center
}

.spinner-control input {
    height: 36px;
    border-top: 1px solid #cecece;
    border-bottom: 1px solid #cecece;
    border-left: none !important;
    border-right: none !important
}

.spinner-control input:focus,
.spinner-control input:active {
    border-top: 1px solid #fcfcfc !important;
    border-bottom: 1px solid #fcfcfc !important;
    outline: non !important
}

.spinner-control .spinner-button {
    width: 36px;
    height: 36px;
    background: #ededed;
    border: 1px solid #cecece;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    transition: all .3s
}

.spinner-control .spinner-button svg {
    width: 16px;
    height: 16px;
    stroke-width: 1.6px;
    stroke: #999;
    transition: all .3s
}

.spinner-control .spinner-button:hover {
    opacity: 0.7
}

.spinner-control .spinner-button:hover svg {
    stroke: #E1484B
}

.spinner-control .input-group-prepend .spinner-button {
    border-radius: 4px 0 0 4px
}

.spinner-control .input-group-append .spinner-button {
    border-radius: 0 4px 4px 0
}

.tabs-wrapper.underline-tabs .tabs ul li a {
    color: #cecece
}

.tabs-wrapper.underline-tabs .tabs ul li.is-active a {
    color: #E1484B
}

.tabs-wrapper .navtab-content {
    font-family: 'Merriweather-Sans', sans-serif;
    font-size: .9rem
}


/* ==========================================================================
29. Utilities
========================================================================== */

.action-bar {
    position: fixed;
    top: 0;
    left: 0;
    margin-left: 80px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 20px;
    width: calc(100% - 80px);
    background: #fff;
    z-index: 2;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12);
    transition: all .3s
}

.action-bar.is-centered {
    -ms-flex-pack: center !important;
    justify-content: center !important
}

.mobile-navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12);
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    transition: all .3s
}

.mobile-navbar.is-active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.mobile-navbar .navbar-item.is-icon svg {
    stroke-width: 1.6px;
    stroke: #E1484B
}

.mobile-navbar .navbar-item.is-sidebar-toggler svg {
    stroke: #999 !important
}

.mobile-navbar .navbar-item.is-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center
}

.mobile-navbar .navbar-item.is-flex span {
    display: block
}

.mobile-navbar .navbar-item.is-flex span.menu-badge {
    color: #00D1B2;
    width: 20px;
    height: 20px;
    border: 1px solid #00D1B2;
    border-radius: 50%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 90%;
    font-weight: 500
}

.mobile-navbar .navbar-burger:hover {
    background-color: rgba(0, 0, 0, 0.02)
}

.mobile-navbar .navbar-burger span {
    background-color: #E1484B
}

.mobile-navbar .navbar-menu {
    background: #344258
}

.mobile-navbar .navbar-menu .navbar-item,
.mobile-navbar .navbar-menu .navbar-link {
    color: #fff
}

.mobile-navbar .navbar-menu .navbar-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #475a78
}

.mobile-navbar .navbar-menu .navbar-link img {
    height: 32px;
    width: 32px;
    max-height: 32px !important;
    border-radius: 50%
}

.mobile-navbar .navbar-menu .navbar-link svg {
    height: 20px;
    width: 20px;
    stroke-width: 1.2px;
    stroke: #fff
}

.mobile-navbar .navbar-menu .navbar-link span {
    margin: 0 10px
}

.mobile-navbar .navbar-menu .navbar-link span.is-heading {
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase
}

.mobile-navbar .navbar-menu .navbar-dropdown .navbar-item {
    font-size: 90%;
    padding: .75rem 1.5rem !important
}

.mobile-navbar .navbar-menu .navbar-dropdown .navbar-item.is-atcive,
.mobile-navbar .navbar-menu .navbar-dropdown .navbar-item:hover {
    background: #475a78
}

.tabs-wrapper .tabs {
    overflow: hidden
}

.tabs-wrapper.animated-tabs .navtab-content {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s
}

.tabs-wrapper.translated-tabs .navtab-content {
    -webkit-animation-name: translateLeft;
    animation-name: translateLeft;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s
}

.tabs-wrapper .navtab-content {
    display: none;
    padding: 15px;
    min-height: 190px
}

.tabs-wrapper .navtab-content.is-active {
    display: block
}

.form-switch {
    position: relative;
    display: inline-block;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent
}

.form-switch i {
    position: relative;
    display: inline-block;
    margin-right: .5rem;
    width: 46px;
    height: 26px;
    background-color: #e6e6e6;
    border-radius: 23px;
    vertical-align: text-bottom;
    transition: all 0.3s linear
}

.form-switch i::before {
    content: "";
    position: absolute;
    left: 0;
    width: 42px;
    height: 22px;
    background-color: #fff;
    border-radius: 11px;
    -webkit-transform: translate3d(2px, 2px, 0) scale3d(1, 1, 1);
    transform: translate3d(2px, 2px, 0) scale3d(1, 1, 1);
    transition: all 0.25s linear
}

.form-switch i::after {
    content: "";
    position: absolute;
    left: 0;
    width: 22px;
    height: 22px;
    background-color: #fff;
    border-radius: 11px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24);
    -webkit-transform: translate3d(2px, 2px, 0);
    transform: translate3d(2px, 2px, 0);
    transition: all 0.2s ease-in-out
}

.form-switch:active i::after {
    width: 28px;
    -webkit-transform: translate3d(2px, 2px, 0);
    transform: translate3d(2px, 2px, 0)
}

.form-switch:active input:checked+i::after {
    -webkit-transform: translate3d(16px, 2px, 0);
    transform: translate3d(16px, 2px, 0)
}

.form-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.form-switch input:checked+i {
    background-color: #E1484B
}

.form-switch input:checked+i::before {
    -webkit-transform: translate3d(18px, 2px, 0) scale3d(0, 0, 0);
    transform: translate3d(18px, 2px, 0) scale3d(0, 0, 0)
}

.form-switch input:checked+i::after {
    -webkit-transform: translate3d(22px, 2px, 0);
    transform: translate3d(22px, 2px, 0)
}

.webui-popover {
    box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 10px 4px !important;
    background: #344258 !important;
    color: #fff !important;
    border: none !important;
    margin-top: -20px !important
}

.webui-popover.top>.webui-arrow {
    border-top-color: transparent !important
}

.webui-popover .webui-arrow {
    border-top-color: transparent !important
}

.webui-popover .webui-arrow:after {
    border-top-color: #344258 !important
}

.webui-popover .webui-popover-title {
    background-color: #344258 !important;
    border-bottom: none !important;
    font-weight: 500
}

.webui-popover .webui-popover-content {
    font-size: .75rem !important
}

.webui-popover .webui-popover-content .popover-flex-block {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px 0
}

.webui-popover .webui-popover-content .popover-flex-block .staff-avatar {
    height: 38px;
    width: 38px;
    border-radius: 50%
}

.webui-popover .webui-popover-content .popover-flex-block .content-block {
    margin-left: 10px
}

.webui-popover .webui-popover-content .popover-flex-block .content-block label,
.webui-popover .webui-popover-content .popover-flex-block .content-block span {
    display: block
}

.webui-popover .webui-popover-content .popover-flex-block .content-block label {
    color: #879ab8;
    text-transform: uppercase;
    font-size: 70%
}

.webui-popover .webui-popover-content .popover-flex-block .fa.fa-star,
.webui-popover .webui-popover-content .popover-flex-block .fa.fa-star-half {
    color: #FFD700
}

.webui-popover .webui-popover-content .popover-flex-block .icon-block {
    height: 38px;
    width: 38px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.webui-popover .webui-popover-content .popover-flex-block .icon-block svg {
    height: 18px;
    width: 18px;
    stroke: #fff;
    stroke-width: 1.3px
}

.webui-popover .webui-popover-content .popover-flex-block .icon-block svg.is-medium {
    height: 26px;
    width: 26px
}

.is-vhidden {
    visibility: hidden !important
}

.is-hidden {
    display: none !important
}

.is-disabled {
    pointer-events: none;
    opacity: 0.4;
    cursor: default !important
}

.mt-80 {
    margin-top: 80px !important
}

.is-space-between {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center
}

.text-bold-1 {
    font-weight: 400 !important
}

.ml-5 {
    margin-left: 5px !important
}

.mr-5 {
    margin-right: 5px !important
}

.light-text {
    color: #fff !important
}

/* ==========================================================================
30. Animations
========================================================================== */

.animated {
    animation-duration: 0.5s;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-fill-mode: both
}

@-webkit-keyframes fadeInUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInUp {
    opacity: 0
}

.fadeInUp {
    opacity: 0;
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

@-webkit-keyframes translateLeft {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes translateLeft {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.translateLeft {
    -webkit-animation-name: translateLeft;
    animation-name: translateLeft;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    transition: all 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06)
}

@-webkit-keyframes fadeInLeft {
    from {
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0);
        opacity: 0
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInLeft {
    from {
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0);
        opacity: 0
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInLeft {
    opacity: 0
}

.fadeInLeft {
    opacity: 0;
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

@-webkit-keyframes gelatine {
    from,
    to {
        -webkit-transform: scale(1, 1)
    }
    25% {
        -webkit-transform: scale(0.9, 1.1)
    }
    50% {
        -webkit-transform: scale(1.1, 0.9)
    }
    75% {
        -webkit-transform: scale(0.95, 1.05)
    }
}

@keyframes gelatine {
    from,
    to {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1)
    }
    25% {
        -webkit-transform: scale(0.9, 1.1);
        transform: scale(0.9, 1.1)
    }
    50% {
        -webkit-transform: scale(1.1, 0.9);
        transform: scale(1.1, 0.9)
    }
    75% {
        -webkit-transform: scale(0.95, 1.05);
        transform: scale(0.95, 1.05)
    }
}

.gelatine {
    -webkit-animation: gelatine 0.6s;
    animation: gelatine 0.6s;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

@-webkit-keyframes scaleIn {
    from {
        -webkit-transform: scale(0)
    }
    to {
        -webkit-transform: scale(1)
    }
}

@keyframes scaleIn {
    from {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.scaleIn {
    -webkit-animation: scaleIn 0.5s;
    animation: scaleIn 0.5s;
    -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1)
}

@-webkit-keyframes scaleOut {
    from {
        -webkit-transform: scale(1)
    }
    to {
        -webkit-transform: scale(0)
    }
}

@keyframes scaleOut {
    from {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    to {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
}

.scaleOut {
    -webkit-animation: scaleOut 0.6s;
    animation: scaleOut 0.6s
}

@-webkit-keyframes levitate {
    from {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
    50% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px)
    }
    to {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

@keyframes levitate {
    from {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
    50% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px)
    }
    to {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

.levitate {
    -webkit-animation-name: levitate;
    animation-name: levitate;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
}


/* ==========================================================================
31. Media Queries
========================================================================== */

@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: portrait) {
    .fullscreen-slick .full-slide {
        background-position: bottom
    }
    .fullscreen-slick .slick-dots {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
    .shop-wrapper .is-tablet-landscape-padded {
        margin-left: 5.33333% !important
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
    .shop-wrapper .is-tablet-landscape-padded {
        width: 100% !important;
        margin: 0 !important
    }
    .shop-wrapper .is-invoice-landscape-padded {
        width: 100% !important;
        margin: 0 !important
    }
    .product-panel {
        width: 35%
    }
    .product-panel .likes {
        margin: 0 30px !important
    }
    .product-panel .detailed-description,
    .product-panel .product-ratings {
        padding: 10px 20px !important;
        margin-top: 10px !important
    }
    .product-panel .product-image {
        padding: 40% 0 !important
    }
    .product-panel .product-image img {
        max-width: 220px
    }
    .product-info-panel {
        width: 65%
    }
    .product-info-panel .category-title {
        padding: 0 40px !important
    }
    .product-info-panel .panel-body {
        padding: 60px 40px !important
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .fullscreen-slick .full-slide {
        background-position: bottom
    }
    .fullscreen-slick .slick-dots {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
    .hero-caption {
        padding: 160px 0 !important
    }
    .background-caption {
        padding: 90px 0 !important
    }
    .main-sidebar.is-pushed-mobile {
        -webkit-transform: translateX(-81px) !important;
        transform: translateX(-81px) !important
    }
    .shop-wrapper {
        margin-top: 20px !important
    }
    .menu-fab {
        top: 80px !important
    }
    .category-title .brand-filigrane {
        left: -26px !important
    }
    .tile.has-background-image {
        min-height: 300px !important;
        padding: 1.25rem 1.5rem !important
    }
    .tile.has-background-image .tile-content {
        height: 260px !important
    }
    .tile.has-background-image .tile-content.is-small .divider,
    .tile.has-background-image .tile-content.is-small p {
        display: block !important
    }
    .tile.has-background-image .tile-content .products {
        position: absolute;
        bottom: 0;
        padding: 0;
        left: 0
    }
    .flat-card.is-long {
        display: block
    }
    .flat-card.is-long .left-image,
    .flat-card.is-long .left-image.is-md {
        text-align: center !important;
        margin: 40px 0 !important;
        width: 100% !important
    }
    .flat-card.is-long .left-image img,
    .flat-card.is-long .left-image.is-md img {
        max-width: 100px;
        margin: 10px auto !important;
        display: block !important
    }
    .flat-card.is-long .product-info {
        text-align: center !important
    }
    .flat-card.is-long .product-info h3 {
        font-family: 'Merriweather-Sans', sans-serif; !important;
        text-transform: uppercase !important;
        font-size: .8rem !important;
        font-weight: 500 !important
    }
    .product-panel {
        display: block;
        position: relative;
        width: 100%
    }
    .product-panel .panel-header {
        -ms-flex-pack: start;
        justify-content: flex-start
    }
    .product-panel .panel-header .likes {
        margin: 0 40px !important
    }
    .product-panel img {
        max-width: 360px !important
    }
    .product-panel .detailed-description,
    .product-panel .product-ratings {
        max-height: 75vh !important;
        padding: 20px 40px !important
    }
    .product-panel .product-actions {
        padding: 0 10px !important;
        bottom: 40px !important
    }
    .product-info-panel {
        display: block;
        position: relative;
        width: 100%
    }
    .product-info-panel .inner-panel {
        padding-right: 0
    }
    .product-info-panel .inner-panel .panel-header {
        padding-top: 40px !important
    }
    .product-info-panel .inner-panel .panel-header .category-title {
        padding: 0 40px !important
    }
    .product-info-panel .inner-panel .panel-header .category-title h2 {
        padding-left: 20px !important
    }
    .product-info-panel .inner-panel .panel-header .category-icon {
        display: none !important
    }
    .product-info-panel .inner-panel .panel-body {
        padding: 0 40px 40px 40px !important
    }
    .product-info-panel .inner-panel .panel-body .product-name {
        padding-top: 20px !important;
        font-size: 1.8rem !important
    }
    .product-info-panel .inner-panel .panel-body .product-controls {
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .product-info-panel .inner-panel .panel-body .product-controls .product-price {
        margin-bottom: 10px
    }
    .product-info-panel .inner-panel .panel-body .product-controls .product-quantity {
        margin-left: 0 !important
    }
    .product-info-panel .inner-panel .panel-body .product-controls .add-to-cart button {
        margin-left: 0 !important
    }
    .product-info-panel .inner-panel .panel-footer {
        display: block;
        position: relative
    }
    .product-info-panel .inner-panel .panel-footer .footer-inner {
        margin-top: 0;
        padding-bottom: 45px
    }
    .product-info-panel .inner-panel .panel-footer .footer-inner .recommended {
        display: block;
        position: relative;
        -webkit-transform: rotate(0);
        transform: rotate(0);
        top: 12px;
        left: 40px
    }
    .product-info-panel .inner-panel .panel-footer .footer-inner .product-info {
        padding: 0 40px;
        text-align: center !important
    }
    .cart-card .action {
        display: -ms-flexbox !important;
        display: flex !important
    }
    .action-bar {
        width: 100% !important;
        margin-left: 0 !important
    }
    .is-auth {
        padding: 100px 0 !important
    }
}

@media (max-width: 767px) {
    .fullscreen-slick .full-slide {
        background-position: bottom
    }
    .fullscreen-slick .slick-dots {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        bottom: 24px !important
    }
    .main-sidebar {
        width: 60px
    }
    .main-sidebar .sidebar-brand {
        width: 60px
    }
    .main-sidebar .icon-menu li,
    .main-sidebar .bottom-menu li {
        width: 60px !important
    }
    .navbar-link {
        padding: 0.5rem 1.5rem !important
    }
    .menu-fab {
        top: 72px !important
    }
    .shop-wrapper {
        width: calc(100% - 60px);
        margin-left: 60px
    }
    .shop-wrapper.is-mobile-mode {
        margin-top: 10px
    }
    .pageloader,
    .infraloader {
        left: 60px;
        width: calc(100% - 60px)
    }
    .pageloader.is-full,
    .infraloader.is-full {
        left: 0 !important;
        width: 100% !important
    }
    .hero-caption {
        padding-top: 100px !important
    }
    .hero-caption h1 {
        font-size: 4rem !important
    }
    .hero-caption h2 {
        font-size: 1.3rem !important;
        margin-top: -20px !important
    }
    .background-caption {
        top: 0 !important;
        padding-top: 76px !important
    }
    .background-caption h1 {
        font-size: 6rem !important
    }
    .search-input-wrapper.is-desktop {
        position: fixed;
        top: 0;
        left: 60px;
        height: 100%;
        width: calc(100% - 60px)
    }
    .search-input-wrapper.is-desktop .field {
        padding: 0 5%;
        top: 22%
    }
    .search-input-wrapper.is-desktop .search-help {
        font-size: 1rem !important
    }
    .search-input-wrapper.is-desktop input {
        height: 60px !important;
        padding-right: 34px !important;
        font-size: 1.6rem !important
    }
    .search-input-wrapper.is-desktop #clear-search {
        top: 10px !important;
        right: 1px !important
    }
    .search-input-wrapper.is-desktop #clear-search svg {
        width: 32px !important;
        height: 32px !important
    }
    .is-product-grid {
        padding-top: 20px
    }
    .is-product-grid .column {
        padding: .15rem !important
    }
    .category-title {
        border-bottom: none !important
    }
    .category-title .category-icon {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important
    }
    .category-title .category-icon img {
        max-height: 30px !important;
        padding: 0 !important
    }
    .category-title h2 {
        font-size: 1.4rem !important
    }
    .category-title .brand-filigrane {
        top: -16px !important;
        left: -25px !important;
        height: 58px !important
    }
    .flat-card.is-long {
        display: block
    }
    .flat-card.is-long .left-image,
    .flat-card.is-long .left-image.is-md {
        text-align: center !important;
        margin: 40px 0 !important;
        width: 100% !important
    }
    .flat-card.is-long .left-image img,
    .flat-card.is-long .left-image.is-md img {
        max-width: 100px;
        margin: 10px auto !important;
        display: block !important
    }
    .flat-card.is-long .product-info h3 {
        font-family: 'Merriweather-Sans', sans-serif; !important;
        text-transform: uppercase !important;
        font-size: .8rem !important;
        font-weight: 500 !important
    }
    .shop-quickview {
        left: 60px !important;
        width: 260px !important;
        -webkit-transform: translateX(-261px);
        transform: translateX(-261px)
    }
    .cart-quickview {
        left: 60px !important;
        width: calc(100% - 60px);
        -webkit-transform: translateX(calc(-100% - 60px));
        transform: translateX(calc(-100% - 60px))
    }
    .filters-quickview {
        left: 60px !important;
        width: calc(100% - 60px);
        -webkit-transform: translateX(calc(-100% - 60px));
        transform: translateX(calc(-100% - 60px))
    }
    .range-slider {
        width: 200px !important
    }
    .range-slider .input-range {
        width: 200px !important
    }
    .product-panel {
        display: block;
        position: relative;
        width: 100%
    }
    .product-panel .panel-header {
        -ms-flex-pack: start;
        justify-content: flex-start
    }
    .product-panel .panel-header .likes {
        margin: 0 30px
    }
    .product-panel .detailed-description,
    .product-panel .product-ratings {
        margin-top: 0 !important;
        max-height: 70vh !important;
        padding: 10px 20px !important
    }
    .product-panel .product-actions {
        bottom: 30px !important
    }
    .product-info-panel {
        display: block;
        position: relative;
        width: 100%
    }
    .product-info-panel .inner-panel {
        padding-right: 0
    }
    .product-info-panel .inner-panel .panel-header {
        padding: 20px 0
    }
    .product-info-panel .inner-panel .panel-header .category-title {
        padding: 0 20px !important;
        -ms-flex-pack: center;
        justify-content: center
    }
    .product-info-panel .inner-panel .panel-header .category-title h2 {
        font-size: 1.1rem !important;
        padding: 0 10px !important
    }
    .product-info-panel .inner-panel .panel-header .category-title svg {
        display: none !important
    }
    .product-info-panel .inner-panel .panel-body {
        padding: 20px !important
    }
    .product-info-panel .inner-panel .panel-body .product-name {
        text-align: center !important;
        font-size: 1.8rem !important
    }
    .product-info-panel .inner-panel .panel-body .product-name span {
        display: block
    }
    .product-info-panel .inner-panel .panel-body .product-description {
        text-align: center
    }
    .product-info-panel .inner-panel .panel-body .product-controls {
        display: block
    }
    .product-info-panel .inner-panel .panel-body .product-controls .product-price {
        margin-bottom: 10px;
        width: 100%;
        text-align: center
    }
    .product-info-panel .inner-panel .panel-body .product-controls .product-price .value::after {
        display: none
    }
    .product-info-panel .inner-panel .panel-body .product-controls .product-quantity {
        margin-left: 0 !important;
        width: 100%;
        text-align: center !important
    }
    .product-info-panel .inner-panel .panel-body .product-controls .product-quantity .heading {
        margin-left: 0 !important;
        text-align: center
    }
    .product-info-panel .inner-panel .panel-body .product-controls .product-quantity .control {
        height: auto;
        width: 100%;
        max-width: 100%
    }
    .product-info-panel .inner-panel .panel-body .product-controls .add-to-cart {
        width: 100%;
        text-align: center;
        margin-top: 10px
    }
    .product-info-panel .inner-panel .panel-body .product-controls .add-to-cart .heading {
        display: none
    }
    .product-info-panel .inner-panel .panel-body .product-controls .add-to-cart button {
        margin-left: 0 !important;
        width: 100%
    }
    .product-info-panel .inner-panel .panel-footer {
        display: block;
        position: relative
    }
    .product-info-panel .inner-panel .panel-footer .footer-inner {
        margin-top: 20px;
        padding-bottom: 45px
    }
    .product-info-panel .inner-panel .panel-footer .footer-inner .recommended {
        display: block;
        -webkit-transform: rotate(0);
        transform: rotate(0);
        top: 25px;
        right: 0;
        left: 0;
        max-width: 300px;
        margin: 0 auto;
        text-align: center
    }
    .product-info-panel .inner-panel .panel-footer .footer-inner .product-info {
        text-align: center !important
    }
    .is-account-grid .column {
        padding: .75rem .25rem !important
    }
    .account-title .brand-filigrane {
        top: -8px !important;
        left: -25px !important;
        height: 60px !important
    }
    .profile-info-card .card-title {
        padding: 15px 12px
    }
    .wishlist-card .item-wrapper {
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 40px !important
    }
    .wishlist-card .item-wrapper img {
        margin-right: 0 !important
    }
    .wishlist-card .item-wrapper .product-info {
        text-align: center
    }
    .wishlist-card .item-wrapper .action {
        margin: 0 !important
    }
    .wishlist-card .item-wrapper .action .dropdown-menu {
        left: 0 !important;
        -webkit-transform: translateX(-40%) !important;
        transform: translateX(-40%) !important
    }
    .wishlist-item .action {
        padding: 10px 0
    }
    .action-bar {
        width: calc(100% - 60px) !important;
        margin-left: 60px !important
    }
    .invoice-wrapper {
        padding: .75rem 0 !important
    }
    .invoice {
        padding: 20px !important
    }
    .flat-card.is-auth-form .columns {
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }
    .tile.has-background-image {
        min-height: 300px !important;
        padding: 1.25rem 1.5rem !important
    }
    .tile.has-background-image .tile-content {
        height: 260px !important
    }
    .tile.has-background-image .tile-content.is-small .divider,
    .tile.has-background-image .tile-content.is-small p {
        display: block !important
    }
    .tile.has-background-image .tile-content .products {
        position: absolute;
        bottom: 0;
        padding: 0;
        left: 0
    }
    .flat-card.is-list-item {
        padding: 20px !important
    }
    .flat-card.is-list-item .product-info {
        padding: 20px !important
    }
    .is-product-grid .product-info {
        text-align: center
    }
    .cart-card li {
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-direction: column;
        flex-direction: column
    }
    .cart-card li .product-info,
    .cart-card li .product-price,
    .cart-card li .product-quantity,
    .cart-card li .action {
        text-align: center !important;
        padding: 5px !important
    }
    .cart-card li .product-price span {
        margin-left: 0 !important
    }
    .cart-card li .action {
        margin: 10px auto
    }
    .cart-card li .action .action-link {
        margin: 0 2px !important
    }
    .order-list-card {
        padding: 20px !important
    }
    .checkout-title .brand-filigrane {
        left: -15px !important
    }
    .action-bar.is-mobile {
        width: 100% !important;
        margin-left: 0 !important
    }
    .customer-wrapper,
    .verification-wrapper {
        padding: 0 !important
    }
    .shipping-wrapper {
        padding: 20px 10px !important
    }
    .payment-wrapper {
        padding: 20px 0 !important
    }
    #payment-methods {
        padding: 20px 0 !important
    }
    .jp-card {
        left: -18px !important
    }
    .thanks-card p {
        padding: 10px 0 !important
    }
    .auth-title .brand-filigrane {
        top: -10px !important;
        left: -16px !important;
        height: 58px !important
    }
    .is-auth-form .column.is-mobile-padded {
        padding: 40px 20px !important
    }
}

a {
    color: #E1484B
}


/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvcmUuc2NzcyIsInBhcnRpYWxzL190aGVtZS1kZWZhdWx0LnNjc3MiLCJwYXJ0aWFscy9fY29sb3JzLnNjc3MiLCJwYXJ0aWFscy9fc2lkZWJhci5zY3NzIiwicGFydGlhbHMvX3F1aWNrdmlldy5zY3NzIiwicGFydGlhbHMvX2NhcmRzLnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0LnNjc3MiLCJwYXJ0aWFscy9fY2F0ZWdvcmllcy5zY3NzIiwicGFydGlhbHMvX2FjY291bnQuc2NzcyIsInBhcnRpYWxzL19jYXJ0LnNjc3MiLCJwYXJ0aWFscy9fb3JkZXJzLnNjc3MiLCJwYXJ0aWFscy9fcHJvZHVjdC5zY3NzIiwicGFydGlhbHMvX2NoZWNrb3V0LnNjc3MiLCJwYXJ0aWFscy9fYXV0aC5zY3NzIiwicGFydGlhbHMvX2J1dHRvbnMuc2NzcyIsInBhcnRpYWxzL19zZWFyY2guc2NzcyIsInBhcnRpYWxzL19maWx0ZXJzLnNjc3MiLCJwYXJ0aWFscy9fY2hlY2tib3hlcy5zY3NzIiwicGFydGlhbHMvX2Zvcm1zLnNjc3MiLCJwYXJ0aWFscy9faW52b2ljZS5zY3NzIiwicGFydGlhbHMvX3BhZ2Vsb2FkZXIuc2NzcyIsInBhcnRpYWxzL19lbGVtZW50cy5zY3NzIiwicGFydGlhbHMvX3V0aWxzLnNjc3MiLCJwYXJ0aWFscy9fcmVzcG9uc2l2ZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQywrQ0NBVSx3Q0NBUCx5Q0NBQyxjQWtCckMsZUFDQSxNQUNBLE9BQ0EsWUFDQSxXQUNBLHNCQUNBLDRDQUNBLCtCQUNBLFdBQ0Esa0JBQW9CLENBVnhCLCtCQWFRLCtDQUFBLEFBQXVDLHNDQUFBLENBYi9DLDZCQWlCUSxXQUNBLFlBQ0Esb0JBQUEsQUFDQSxhQUFBLHNCQUFBLEFBQ0EsbUJBQUEscUJBQUEsQUFDQSx1QkFBQSxtQkFDQSw4QkRoQlcsQ0NQbkIsaUNBeUJZLFdBQ0EsV0FBYSxDQTFCekIsNkJBK0JRLFlBQ0EsV0FDQSxpQkFB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LGlDQUlPLHFCQUF1QixDQUMxQixzQkFLRyxzQkFDQSx3QkFBMEIsQ0FDN0Isd0NBSUQsb0JBQXNCLENBQ3pCLGtCQUVHLDRCQUE4QixDQUNqQyxpQkFFRyx5QkFBMkIsQ0FDOUIsaUJBRUcseUJBQTJCLENBQzlCLFNBR0cscUJBQXVCLENBQzFCLGVBSU8seUJBQTJCLENBQzlCLDZCQUtHLHFCQUNBLHNCQUNBLHNCQUF3QixDQUMzQix1Q0FJRCw0QkFBOEIsQ0FDakMsQ3ZCanNCTCxFQUNJLGFDOUJhLENEK0JoQiIsImZpbGUiOiJjb3JlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBjb3JlLnNjc3MgfCBOZXBob3MgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbk5lcGhvcyBjb3JlIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDU1MgSW1wb3J0c1xyXG4xLiBSZXNldHMgYW5kIGJhc2Ugc2V0dXBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQ1NTIEltcG9ydHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBpbXBvcnQgJ3BhcnRpYWxzL3RoZW1lLWRlZmF1bHQnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jb2xvcnMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9zaWRlYmFyJztcclxuQGltcG9ydCAncGFydGlhbHMvcXVpY2t2aWV3JztcclxuQGltcG9ydCAncGFydGlhbHMvY2FyZHMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9sYXlvdXQnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jYXRlZ29yaWVzJztcclxuQGltcG9ydCAncGFydGlhbHMvYWNjb3VudCc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2NhcnQnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9vcmRlcnMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9wcm9kdWN0JztcclxuQGltcG9ydCAncGFydGlhbHMvY2hlY2tvdXQnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9hdXRoJztcclxuQGltcG9ydCAncGFydGlhbHMvYnV0dG9ucyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL3NlYXJjaCc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2ZpbHRlcnMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jaGVja2JveGVzJztcclxuQGltcG9ydCAncGFydGlhbHMvZm9ybXMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9pbnZvaWNlJztcclxuQGltcG9ydCAncGFydGlhbHMvcGFnZWxvYWRlcic7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2VsZW1lbnRzJztcclxuQGltcG9ydCAncGFydGlhbHMvdXRpbHMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9yZXNwb25zaXZlJztcclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBSZXNldHMgYW5kIGJhc2Ugc2V0dXBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbmEge1xyXG4gICAgY29sb3I6ICRwcmltYXJ5O1xyXG59XHJcblxyXG4iLCIvKiEgX3RoZW1lLWRlZmF1bHQuc2NzcyB8IE5lcGhvcyB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuRGVmYXVsdCB0aGVtZSB2YXJpYWJsZXMgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFZhcmlhYmxlc1xyXG4xLiBTaGFkb3cgdmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIENvbG9yIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuJHByaW1hcnk6ICMwMDIzZmY7XHJcbiRzZWNvbmRhcnk6ICMwMEQxQjI7XHJcbiRhY2NlbnQ6ICM3RjAwRkY7XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBTaGFkb3cgdmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0Jhc2Ugc2hhZG93XHJcbiRiYXNlLXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuXHJcbi8vUHJpbWFyeSBib3ggc2hhZG93XHJcbiRwcmltYXJ5LXNoYWRvdy1mcm9tOiByZ2JhKDAsIDM1LCAyNTUsIDAuNDIpO1xyXG4kcHJpbWFyeS1zaGFkb3ctdG86IHJnYmEoMCwgMzUsIDI1NSwgMC4yKTtcclxuJHByaW1hcnktYm94LXNoYWRvdzogIDAgMTRweCAyNnB4IC0xMnB4ICRwcmltYXJ5LXNoYWRvdy1mcm9tLCAwIDRweCAyM3B4IDBweCAkYmFzZS1zaGFkb3csIDAgOHB4IDEwcHggLTVweCAkcHJpbWFyeS1zaGFkb3ctdG8gIWltcG9ydGFudDtcclxuXHJcbi8vU2Vjb25kYXJ5IGJveCBzaGFkb3dcclxuJHNlY29uZGFyeS1zaGFkb3ctZnJvbTogcmdiYSgwLCAyMDksIDE3OCwgMC40Mik7XHJcbiRzZWNvbmRhcnktc2hhZG93LXRvOiByZ2JhKDAsIDIwOSwgMTc4LCAwLjIpO1xyXG4kc2Vjb25kYXJ5LWJveC1zaGFkb3c6ICAwIDE0cHggMjZweCAtMTJweCAkc2Vjb25kYXJ5LXNoYWRvdy1mcm9tLCAwIDRweCAyM3B4IDBweCAkYmFzZS1zaGFkb3csIDAgOHB4IDEwcHggLTVweCAkc2Vjb25kYXJ5LXNoYWRvdy10byAhaW1wb3J0YW50O1xyXG5cclxuLy9BY2NlbnQgYm94IHNoYWRvd1xyXG4kYWNjZW50LXNoYWRvdy1mcm9tOiByZ2JhKDEyNywgMCwgMjU1LCAwLjQyKTtcclxuJGFjY2VudC1zaGFkb3ctdG86IHJnYmEoMTI3LCAwLCAyNTUsIDAuMik7XHJcbiRhY2NlbnQtYm94LXNoYWRvdzogIDAgMTRweCAyNnB4IC0xMnB4ICRhY2NlbnQtc2hhZG93LWZyb20sIDAgNHB4IDIzcHggMHB4ICRiYXNlLXNoYWRvdywgMCA4cHggMTBweCAtNXB4ICRhY2NlbnQtc2hhZG93LXRvICFpbXBvcnRhbnQ7IiwiLyohIF9jb2xvcnMuc2NzcyB8IE5lcGhvcyB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuTmVwaG9zIGdsb2JhbCBjb2xvcnMgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiR3aGl0ZTogI2ZmZjtcclxuJHNtb2tlLXdoaXRlOiAjZmNmY2ZjO1xyXG4kcGxhY2Vob2xkZXI6ICNjZWNlY2U7XHJcbiRsaWdodC1ncmV5OiAjZjlmOWY5O1xyXG4kbXV0ZWQtZ3JleTogIzk5OTtcclxuJG11dGVkLWdyZXktYm9sZDogIzgyODI4MjtcclxuJHRpdGxlLWdyZXk6ICNBOUFCQUM7XHJcbiRmYWRlLWdyZXk6ICNlZGVkZWQ7XHJcbiRhY2NlbnQtZ3JleTogI2NjYztcclxuJGRhcmstdGV4dDogIzRhNGE0YTtcclxuJGNob3Nlbi1ncmV5OiAjZTBlMGUwO1xyXG4kY2hvc2VuLWRhcmstZ3JleTogIzY2Njc2YjtcclxuJGdyZXktNjogIzY2NjtcclxuJHNlY3Rpb24tZ3JleTogI2ZjZmNmYztcclxuXHJcbiRzaWRlYmFyOiAjMzQ0MjU4O1xyXG4kcmVkOiAjRkY3MjczO1xyXG4kYmx1ZTogIzAzOUJFNTtcclxuJGdyZWVuOiAjMDBiMjg5O1xyXG4kb3JhbmdlOiAjZWRhNTE0OyIsIi8qISBfc2lkZWJhci5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5NYWluIGxlZnQgc2lkZWJhclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBNYWluIFNob3AgU2lkZWJhclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBNYWluIFNob3AgU2lkZWJhclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm1haW4tc2lkZWJhciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBib3gtc2hhZG93OiAycHggMHB4IDJweCAwcHggcmdiYSgwLDAsMCwwLjAyKTtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAvL01vYmlsZSBwdXNoZWQgc3RhdGVcclxuICAgICYuaXMtcHVzaGVkLW1vYmlsZSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02MXB4KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9pY29uIGJyYW5kXHJcbiAgICAuc2lkZWJhci1icmFuZCB7XHJcbiAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2lubmVyIHdyYXBwZXJcclxuICAgIC5zaWRlYmFyLWlubmVyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vbWVudXMgc2V0dGluZ3NcclxuICAgICAgICAuaWNvbi1tZW51LCAuYm90dG9tLW1lbnUge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy9hY3RpdmUgaWNvbiBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgc3ZnLCAmLmlzLWFjdGl2ZSBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvL2RvdCB0aGF0IGluZm9ybXMgdGhhdCB0aGVyZSBhcmUgaXRlbXMgaW5zaWRlIHRoZSBjYXJ0XHJcbiAgICAgICAgICAgICAgICAgICAgLmNhcnQtaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC05cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDlweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vaWNvbiB0b2dnbGUgc3RhdGVzXHJcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1vcGVuZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmlzLWluYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgI29wZW4tZmlsdGVycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNDVkZWcpOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL2JvdHRvbSBsb2dvdXQgbWVudSBwb3NpdGlvbmluZ1xyXG4gICAgICAgIC5ib3R0b20tbWVudSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiA4MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qISBfcXVpY2t2aWV3LnNjc3MgfCBOZXBob3MgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblF1aWNrdmlldyBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gRmx5aW5nIEFjdGlvbiBCdXR0b25cclxuMS4gQ2F0ZWdvcmllcyByaWdodCBTaWRlYmFyXHJcbjIuIFNob3AgRGFyayBTaWRlYmFyXHJcbjMuIEZpbHRlcnMgU2lkZWJhclxyXG40LiBDYXJ0IFNpZGViYXJcclxuNS4gU2lkZWJhciBIZWFkZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gRmx5aW5nIEFjdGlvbiBCdXR0b25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vRml4ZWQgY2F0ZWdvcmllcyBGQUJcclxuLm1lbnUtZmFiIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgdG9wOiAxMnB4O1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZSgwKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAvL1B1c2hlcyB0aGUgYnV0dG9uIHdoZW4gZmlsdGVycyBhbmQgY2FydCBhcmUgb3BlbmVkXHJcbiAgICAmLmRpc21pc3NlZCB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwMHB4KSByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgfVxyXG4gICAgLy9BbmltYXRlZCBoYW1idXJnZXIgaWNvblxyXG4gICAgLm1lbnUtdG9nZ2xlICB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyBcclxuICAgICAgICBjb2xvcjogIzY2NjsgXHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7IFxyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IFxyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDI2cHg7IFxyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgXHJcbiAgICAgICAgcGFkZGluZzogMDsgXHJcbiAgICAgICAgbWFyZ2luOiAwIDE0cHg7IFxyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XHJcbiAgICAgICAgLy90b2dnbGVhYmxlIGljb25cclxuICAgICAgICAuaWNvbi1ib3gtdG9nZ2xlICB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFucGFyZW50OyBcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgXHJcbiAgICAgICAgICAgIC8vQWN0aXZlIHN0YXRlXHJcbiAgICAgICAgICAgICYuYWN0aXZlID4gc3Bhbi5yb3RhdGUge1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vQWN0aXZlIGhhbWJ1cmdlciBsaW5lc1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSA+IHNwYW4gPiBpLmljb24tbGluZS1jZW50ZXJ7XHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDsgXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDsgXHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA3MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUgPiBzcGFuID4gaS5pY29uLWxpbmUtYm90dG9tIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogLTEuNXB4IDAgMCAtMTBweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlOyBcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgICAgICAtby10cmFuc2Zvcm06dHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlICA+IHNwYW4gPiBpLmljb24tbGluZS10b3Age1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAtMS41cHggMCAwIC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7IFxyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vaGFtYnVyZ2VyIGxpbmVzXHJcbiAgICAgICAgLmljb24tbGluZS1jZW50ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxyXG4gICAgICAgICAgICB3aWR0aDogMjBweDsgXHJcbiAgICAgICAgICAgIGhlaWdodDogMnB4OyBcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7IFxyXG4gICAgICAgICAgICBtYXJnaW46IC0xLjVweCAwIDAgLTEwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7IFxyXG5cclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSA7XHJcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSA7XHRcclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24tbGluZS10b3Age1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxyXG4gICAgICAgICAgICB3aWR0aDogMjBweDsgXHJcbiAgICAgICAgICAgIGhlaWdodDogMnB4OyBcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7IFxyXG4gICAgICAgICAgICBtYXJnaW46IC0ycHggMCAwIC0xMHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRvcDogMzAlOyBcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSA7XHJcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSA7XHRcclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24tbGluZS1ib3R0b20ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxyXG4gICAgICAgICAgICB3aWR0aDogMjBweDsgXHJcbiAgICAgICAgICAgIGhlaWdodDogMnB4OyBcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7IFxyXG4gICAgICAgICAgICBtYXJnaW46IDEuNXB4IDAgMCAtMTBweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0b3A6IDYwJTsgXHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlIDtcclxuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgO1xyXG4gICAgICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgO1x0XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBDYXRlZ29yaWVzIHJpZ2h0IFNpZGViYXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jYXRlZ29yeS1xdWlja3ZpZXcge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMjYwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBib3gtc2hhZG93OiAtMnB4IDBweCAtMnB4IDBweCByZ2JhKDAsMCwwLDAuMDYpO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWRlZGVkO1xyXG4gICAgei1pbmRleDogOTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNjFweCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgLy9QdXNoZWQgc3RhdGVcclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbiAgICAmLmlzLXB1c2hlZC1tb2JpbGUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuaW5uZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy9NZW51IGFuZCBpdGVtc1xyXG4gICAgICAgIC5jYXRlZ29yeS1tZW51IHtcclxuICAgICAgICAgICAgcGFkZGluZzogODBweCAwO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDM0cHg7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay10ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDc2JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjRzO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpbWcsIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRhY2NlbnQtZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0FsbCBjYXRlZ29yaWVzIGxpbmtcclxuICAgICAgICAuYWxsLWNhdGVnb3JpZXMge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogNTJweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA3NSU7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jZW50ZXJlZC1kaXZpZGVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBTaG9wIERhcmsgU2lkZWJhclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnNob3AtcXVpY2t2aWV3IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDg0cHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMjgwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XHJcbiAgICBib3gtc2hhZG93OiAtMnB4IDBweCAtMnB4IDBweCByZ2JhKDAsMCwwLDAuMDYpO1xyXG4gICAgei1pbmRleDogMztcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjg1cHgpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAvL1B1c2hlZCBTdGF0ZVxyXG4gICAgJi5pcy1wdXNoZWQtbW9iaWxlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwMHB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vUHVzaGVkIHN0YXRlXHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xyXG4gICAgfVxyXG4gICAgLmlubmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDU2LCA3NiwgMC45NSk7XHJcbiAgICAgICAgLy9oZWFkZXJcclxuICAgICAgICAucXVpY2t2aWV3LWhlYWRlciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogODRweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRlbigkc2lkZWJhciwgNSUpO1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC00cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1cmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0JvZHlcclxuICAgICAgICAuc2hvcC1tZW51LCAudXNlci1wcm9maWxlIHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGVuKCRzaWRlYmFyLCA1JSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9zaG9wIG1lbnVcclxuICAgICAgICAuc2hvcC1tZW51IHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciBhIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCkgcm90YXRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwcHgsMCwwKSByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0N1c3RvbWVyIGF2YXRhclxyXG4gICAgICAgIC51c2VyLXByb2ZpbGUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgLy9MaXN0IGl0ZW1cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC51c2VyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjZyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIEZpbHRlcnMgU2lkZWJhclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmZpbHRlcnMtcXVpY2t2aWV3IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDg0cHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMzIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xyXG4gICAgYm94LXNoYWRvdzogMnB4IDBweCAycHggMHB4IHJnYmEoMCwwLDAsMC4wMik7XHJcbiAgICB6LWluZGV4OiAzO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMjVweCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgLy9Nb2JpbGUgcHVzaGVkIHN0YXRlXHJcbiAgICAmLmlzLXB1c2hlZC1tb2JpbGUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL1B1c2hlZCBzdGF0ZVxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcclxuICAgIH1cclxuICAgIC5pbm5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvL2hlYWRlclxyXG4gICAgICAgIC5xdWlja3ZpZXctaGVhZGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTRweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogJGRhcmstdGV4dDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9ib2R5XHJcbiAgICAgICAgLmZpbHRlcnMtYm9keSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xyXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vRmlsdGVyIGJsb2NrIGVsZW1lbnRcclxuICAgICAgICAuZmlsdGVyLWJsb2NrIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIC5maWx0ZXItdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICAgICAgICAgICYuaGFzLXBhZGRpbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jaGVja2JveC13cmFwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIENhcnQgU2lkZWJhclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNhcnQtcXVpY2t2aWV3IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDg0cHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMzQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xyXG4gICAgYm94LXNoYWRvdzogMnB4IDBweCAycHggMHB4IHJnYmEoMCwwLDAsMC4wMik7XHJcbiAgICB6LWluZGV4OiAzO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zNDVweCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgLy9Nb2JpbGUgcHVzaGVkIHN0YXRlXHJcbiAgICAmLmlzLXB1c2hlZC1tb2JpbGUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL1B1c2hlZCBzdGF0ZVxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcclxuICAgIH1cclxuICAgIC5pbm5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvL2hlYWRlclxyXG4gICAgICAgIC5xdWlja3ZpZXctaGVhZGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4NHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTRweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogJGRhcmstdGV4dDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9Ub3RhbCBwcmljZSBhbmQgY2hlY2tvdXQgbGlua1xyXG4gICAgICAgIC5jYXJ0LWFjdGlvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmY2ZjZmM7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgICAgICAuY2FydC10b3RhbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDcwJTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5hYnN0cmFjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDgwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTdweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL2JvZHlcclxuICAgICAgICAuY2FydC1ib2R5IHtcclxuICAgICAgICAgICAgLy9FbXB0eSBDYXJ0XHJcbiAgICAgICAgICAgIC5lbXB0eS1jYXJ0IHtcclxuICAgICAgICAgICAgICAgIGgzLCBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy9JbWFnZVxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMS40cHggc29saWQgJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9vcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDAsIDM1LCAyNTUsIDAuNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAzNSwgMjU1LCAwLjQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA4MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2l0ZW1zIGxpc3RcclxuICAgICAgICAgICAgLnNob3BwaW5nLWNhcnQtaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA2MHZoO1xyXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnJlbW92ZS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW0gcGhvdG9cclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5pdGVtLW1ldGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy9OYW1lXHJcbiAgICAgICAgICAgICAgICAuaXRlbS1uYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy9QcmljZVxyXG4gICAgICAgICAgICAgICAgLml0ZW0tcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vUXVhbnRpdHlcclxuICAgICAgICAgICAgICAgIC5xdWFudGl0eSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLmlucHV0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLml0ZW0tcXVhbnRpdHkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICBzbWFsbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvL3JlbW92ZSBpdGVtXHJcbiAgICAgICAgICAgICAgICAucmVtb3ZlLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40NXM7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XHJcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkbXV0ZWQtZ3JleTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNS4gU2lkZWJhciBIZWFkZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5xdWlja3ZpZXctaGVhZGVyIHtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgICY6aG92ZXIgc3ZnIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzdmcge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICB9XHJcbn0iLCIvKiEgX2NhcmRzLnNjc3MgfCBOZXBob3MgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblNob3AgY2FyZHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQmFzaWMgRmxhdCBDYXJkXHJcbjEuIExpc3QgRmxhdCBjYXJkc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBCYXNpYyBGbGF0IENhcmRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vbWluaW1hbCBjYXJkXHJcbi5mbGF0LWNhcmQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgbWF4LWhlaWdodDogMjcwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiAyNzBweDtcclxuICAgIC8vcHJvZHVjdCBpbWFnZVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiA0MHB4IDA7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9wcm9kdWN0IG1ldGFcclxuICAgIC5wcm9kdWN0LWluZm8ge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vbmFtZVxyXG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC44cmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2Rlc2NyaXB0aW9uXHJcbiAgICAgICAgLnByb2R1Y3QtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDgwJTtcclxuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL3ByaWNlXHJcbiAgICAgICAgLnByb2R1Y3QtcHJpY2Uge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDkwJTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJCc7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDcwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL1N0cmlrZSB0cm91Z2ggcHJpY2VcclxuICAgICAgICAgICAgLnNhbGUtcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDg1JTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJCc7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA3MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9BdXRvIGhlaWdodCBtb2RpZmllclxyXG4gICAgJi5pcy1hdXRvIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL2FkZHMgYSBib3ggc2hhZG93IHRvIHRoZSBjYXJkIG9uIGhvdmVyXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAgMHB4IDVweCA0M3B4IHJnYmEoMCwgMCwgMCwgMC4xOCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vbG9uZyBjYXJkIG1vZGlmaWVyXHJcbiAgICAmLmlzLWxvbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgICAvL0xlZnQgaW1hZ2VcclxuICAgICAgICAubGVmdC1pbWFnZSB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaXMtbWQgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9GZWF0dXJlZCBOYW1lXHJcbiAgICAgICAgLnByb2R1Y3QtaW5mbyB7XHJcbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUuZmVhdHVyZWQge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByb2R1Y3QtbmFtZS5mZWF0dXJlZC1tZCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0FuaW1hdGVkIGNhcnQgYW5kIHdoaXNobGlzdCBpY29uc1xyXG4gICAgLmFjdGlvbnMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDE1cHg7XHJcbiAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgZGl2LCBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAgICAgLy9vcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vYWRkIHRvIGNhcnRcclxuICAgICAgICAgICAgJi5hZGQge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjFzO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTtcclxuICAgICAgICAgICAgICAgIC8vQWN0aXZlIHN0YXRlXHJcbiAgICAgICAgICAgICAgICBzdmcuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9hZGQgdG8gd2lzaGxpc3RcclxuICAgICAgICAgICAgJi5saWtlIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4ycztcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDBweCk7XHJcbiAgICAgICAgICAgICAgICAvL0FjdGl2ZSBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgc3ZnLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRyZWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRyZWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1NhbGVzIGluZGljYXRvclxyXG4gICAgLm9uLXNhbGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogOTBweDtcclxuICAgICAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgcGFkZGluZzogOXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgIHN0cm9rZTogJHdoaXRlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3RyYW5zbGF0ZSBpbiBpY29ucyBvbiBob3ZlclxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLmFkZCwgLmxpa2Uge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIExpc3QgRmxhdCBDYXJkXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0xpc3QgY2FyZHNcclxuLmZsYXQtY2FyZCB7XHJcbiAgICAvL0xpc3QgbW9kaWZpZXJcclxuICAgICYuaXMtbGlzdC1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQWRqdXN0aW5nIHNwYW5zIHRvIGRpc3BsYXkgYmxvY2tcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICYuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9TdGFyIFJhdGluZ1xyXG4gICAgICAgIC5yYXRpbmcge1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZENzAwO1xyXG4gICAgICAgICAgICAgICAgJi5pcy1lbXB0eSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC42NXJlbTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL1Byb2R1Y3QgbWV0YVxyXG4gICAgICAgIC5wcm9kdWN0LWluZm8ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLnByb2R1Y3QtcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9BYnN0cmFjdFxyXG4gICAgICAgIC5wcm9kdWN0LWFic3RyYWN0IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC44cmVtO1xyXG4gICAgICAgICAgICAvL1ZpZXcgbW9yZSBsaW5rXHJcbiAgICAgICAgICAgIC52aWV3LW1vcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3RvcDogMS40cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDNweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0FjdGlvbnNcclxuICAgICAgICAuYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKiEgX2xheW91dC5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5CYXNpYyBsYXlvdXQgc2V0dGluZ3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQm9keVxyXG4xLiBTaG9wIFdyYXBwZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQm9keVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuYm9keSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBTaG9wIFdyYXBwZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zaG9wLXdyYXBwZXIge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XHJcbiAgICBtYXJnaW4tbGVmdDogODBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgLy9CYWNrZ3JvdW5kIGltYWdlIG1vZGlmaWVyXHJcbiAgICAmLmhhcy1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLy9Nb2JpbGUgbW9kZSBtb2RpZmllclxyXG4gICAgJi5pcy1tb2JpbGUtbW9kZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9GdWxsIHNjcmVlbiBzbGlkZXJcclxuICAgIC5zbGlkZXItd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICAvL3NsaWRlciB3cmFwcGVyXHJcbiAgICAgICAgLmZ1bGxzY3JlZW4tc2xpY2sge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgJjpmb2N1cywgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL3NsaWRlXHJcbiAgICAgICAgLmZ1bGwtc2xpZGUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL3NsaWRlciBkb3RzXHJcbiAgICAgICAgLnNsaWNrLWRvdHMge1xyXG4gICAgICAgICAgICBib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIGJ1dHRvbjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9Ib21lcGFnZSBTdGF0aWMgY2FwdGlvblxyXG4gICAgLmhlcm8tY2FwdGlvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMTIwcHggMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOHJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0FsZWdyZXlhIFNhbnMgU0MnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNDRweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdBbGVncmV5YSBTYW5zIFNDJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0ZpbGlncmFuZSB0aXRsZVxyXG4gICAgLmJhY2tncm91bmQtY2FwdGlvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIC8vdG9wOiAtNDhweDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdBbGVncmV5YSBTYW5zIFNDJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC4wNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIi8qISBfY2F0ZWdvcmllcy5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5NYWluIHByb2R1Y3RzIGRpc3BsYXkgTGF5b3V0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFNob3AgVGlsZXNcclxuMS4gQ2F0ZWdvcnkgSGVhZGVyXHJcbjIuIFNvcnRpbmcgT3B0aW9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBTaG9wIFRpbGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaXMtY2F0ZWdvcmllcy1ncmlkIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi50aWxlIHtcclxuICAgIC8vQmFja2dyb3VuZCBpbWFnZSBtb2RpZmllclxyXG4gICAgJi5oYXMtYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMnJlbTtcclxuICAgICAgICAvL0hvdmVyIGJlaGF2aW91clxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAudGlsZS1vdmVybGF5IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTIsIDY2LCA4OCwgMC45NSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRpbGUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAuZGl2aWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHAsIC5wcm9kdWN0cywgLmFjdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9EYXJrIE92ZXJsYXlcclxuICAgICAgICAudGlsZS1vdmVybGF5IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTIsIDY2LCA4OCwgMC41KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9Db250ZW50XHJcbiAgICAgICAgLnRpbGUtY29udGVudCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICAvL1NtYWxsIHRpbGUgbW9kaWZpZXJcclxuICAgICAgICAgICAgJi5pcy1zbWFsbCB7XHJcbiAgICAgICAgICAgICAgICAuZGl2aWRlciwgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL1Nob3AgY2F0ZWdvcnkgdGl0bGVcclxuICAgICAgICAgICAgLnNob3AtY2F0ZWdvcnkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xyXG4gICAgICAgICAgICAgICAgLy9zaXplIG1vZGlmaWVyXHJcbiAgICAgICAgICAgICAgICAmLmlzLXNtYWxsIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vQW5pbWF0ZWQgZGl2aWRlclxyXG4gICAgICAgICAgICAuZGl2aWRlciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDAlO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcyBlYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vUGFyYWdyYXBoXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgICAgICAgICAgICAgLy9JdGFsaWMgbW9kaWZpZXJcclxuICAgICAgICAgICAgICAgICYuaXMtaXRhbGljIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjdyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL1Byb2R1Y3RzIGNvdW50XHJcbiAgICAgICAgICAgIC5wcm9kdWN0cyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4xcztcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vVmlldyBsaW5rXHJcbiAgICAgICAgICAgIC5hY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4xNXM7XHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL0hvdmVyIGJlaGF2aW91clxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vTW9kaWZpZXJzXHJcbiAgICAmLmlzLXJlbGF0aXZlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAmLmhhcy1taW4taGVpZ2h0IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyODBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gQ2F0ZWdvcnkgSGVhZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2F0ZWdvcnktaGVhZGVyIHtcclxuICAgIC8vTW9kaWZpZXJzXHJcbiAgICAmLmxvdy1wYWRkaW5nIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgIH1cclxuICAgICYubm8tcGFkZGluZyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgJi5pcy1zbWFsbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vVGl0bGUgYmxvY2tcclxuICAgIC5jYXRlZ29yeS10aXRsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICYubm8tYm9yZGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLXByb2R1Y3QtY2F0ZWdvcnkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGRhcmstdGV4dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNoYWRvdy10aXRsZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOjIuOHJlbTtcclxuICAgICAgICAgICAgdG9wOiAtMTFweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9pY29uXHJcbiAgICAgICAgLmNhdGVnb3J5LWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy9oZWlnaHQ6IDYycHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGltZywgc3ZnIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDgwJTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50LWdyZXk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0ZpbGlncmFuZSBsb2dvXHJcbiAgICAgICAgLmJyYW5kLWZpbGlncmFuZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtMThweDtcclxuICAgICAgICAgICAgbGVmdDogLTI1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjhweDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9HcmlkIHNwYWNpbmdcclxuLm5vLWNvbnRyb2xzIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi8vU2hvdyBtb3JlIGxpbmtcclxuLnNob3ctbW9yZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogODUlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gU29ydGluZyBvcHRpb25zXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0xpc3RpbmcgY29udHJvbHNcclxuLmxpc3RpbmctY29udHJvbHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZDZkNjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgLmxheW91dC1jb250cm9scyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL0Nob3NlbiBzb3J0Ym94XHJcbi5zb3J0LWJveCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG4gICAgbGFiZWwsIC5zb3J0LWJveC1zZWxlY3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLy9MYWJlbFxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcclxuICAgICAgICBwYWRkaW5nOiAwOyBcclxuICAgIH1cclxuICAgIC8vQ2hvc2VuIHN0eWxlc1xyXG4gICAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIHtcclxuICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNHB4IDAgMTZweDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkZ3JleS02O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmhpZ2hsaWdodGVkIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLWNob2ljZXMsIC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlLCAuY2hvc2VuLXNpbmdsZTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2YzZjNmMztcclxuICAgIH1cclxuICAgIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tZHJvcCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNob3Nlbi1ncmV5O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2hvc2VuLWdyZXk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcbiAgICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgfVxyXG4gICAgLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLWRyb3AsIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tZHJvcCB7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICByaWdodDogLTFweDtcclxuICAgIH1cclxuICAgIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XHJcbiAgICAgICAgLmNob3Nlbi1zaW5nbGUgZGl2OmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjaG9zZW4tZGFyay1ncmV5O1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jaG9zZW4tZGVmYXVsdCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY2hvc2VuLWRhcmstZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNob3Nlbi1zaW5nbGUgc3BhbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGdyZXktNjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jaG9zZW4tc2luZ2xlIGRpdiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2hvc2VuLXNpbmdsZSBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfYWNjb3VudC5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5BY2NvdW50IHBhZ2VzIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBBY2NvdW50IEhlYWRlclxyXG4xLiBXaXNobGlzdCBzdHlsZXNcclxuMi4gUHJvZmlsZSBDYXJkXHJcbjMuIERldGFpbHMgQ2FyZFxyXG40LiBXaXNobGlzdHNcclxuNS4gQXZhdGFyIFVwbG9hZFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBBY2NvdW50IEhlYWRlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9QYWdlIHRpdGxlXHJcbi5hY2NvdW50LWhlYWRlciB7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuICAgIC5hY2NvdW50LXRpdGxlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vaWNvblxyXG4gICAgICAgIC5hY2NvdW50LWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDgwJTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50LWdyZXk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0ZpbGlncmFuZSBMb2dvXHJcbiAgICAgICAgLmJyYW5kLWZpbGlncmFuZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtMjBweDtcclxuICAgICAgICAgICAgbGVmdDogLTQwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gVGFic1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmFjY291bnQtdGFicyB7XHJcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XHJcbiAgICBsaSB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1N1cHByZXNzaW5nIG1hcmdpbnMgd2hlbiB0aGVyZSBhcmUgY29udHJvbHNcclxuICAgICYuaGFzLWNvbnRyb2xzIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIFByb2ZpbGUgQ2FyZFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnByb2ZpbGUtY2FyZCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgLy9Cb2R5XHJcbiAgICAuY2FyZC1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XHJcbiAgICB9XHJcbiAgICAvL0F2YXRhclxyXG4gICAgLnByb2ZpbGUtaW1hZ2Uge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vVXNlciBNZXRhXHJcbiAgICAudXNlcm5hbWUge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgIHNwYW4sIHNtYWxsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGRhcmstdGV4dDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0FjaGlldm1lbnQgZm9vdGVyc1xyXG4gICAgLnByb2ZpbGUtZm9vdGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZjZmNmYztcclxuICAgICAgICAuYWNoaWV2ZW1lbnQtdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY291bnQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBEZXRhaWxzIENhcmRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vQ2FyZHMgdGhhdCBkaXNwbGF5IGluZm9ybWF0aW9uXHJcbi5wcm9maWxlLWluZm8tY2FyZCwgLm1lbnUtY2FyZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy9UaXRsZVxyXG4gICAgLmNhcmQtdGl0bGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRzbW9rZS13aGl0ZTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vRWRpdCBidXR0b25cclxuICAgICAgICAuZWRpdC1hY2NvdW50IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMS4ycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZ3JleTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMS44cHggZGFzaGVkICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDkwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxLjhweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQ29uZmlybSBidXR0b25cclxuICAgICAgICAuY29uZmlybS1idXR0b24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAxLjJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBncmV5O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxLjhweCBkYXNoZWQgJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDEuOHB4IHNvbGlkICRncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0JvZHlcclxuICAgIC5jYXJkLWJvZHkge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgLmluZm8tYmxvY2sge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgJi5sYWJlbC10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstdGV4dDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYubGFiZWwtdmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleS1ib2xkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tYWluLWFkZHJlc3Mge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9EYXJrIGJhY2tncm91bmQgY2FyZHNcclxuICAgICYuaXMtZGFyayB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXI7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAvL0FjaGlldmVtZW50IGNhcmRcclxuICAgICAgICAmLmlzLWFjaGlldmVtZW50IHtcclxuICAgICAgICAgICAgLy9Cb2R5XHJcbiAgICAgICAgICAgIC5jYXJkLWJvZHkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vVGl0bGVcclxuICAgICAgICAgICAgICAgIC5hY2hpZXZlbWVudC1uYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1nb2xkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZkNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtZ3JlZW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vT3ZlcmZsb3cgbW9kaWZpZXJcclxuICAgICYuaGFzLW92ZXJmbG93IHtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vQ2hvc2VuIFNlbGVjdFxyXG4gICAgICAgIC5jaG9zZW4tc2luZ2xlIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC00Mi41cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vanMgU3dpdGNoXHJcbiAgICAgICAgLnN3aXRjaC13cmFwcGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0NhcmQgYmFja2dyb3VuZCBpY29uXHJcbiAgICAuY2FyZC1iZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAtMzJweDtcclxuICAgICAgICBib3R0b206IDZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gV2lzaGxpc3RzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL1dpc2hsaXN0cyBtZW51XHJcbi5tZW51LWNhcmQge1xyXG4gICAgLy9NZW51IExpc3RcclxuICAgIC53aXNobGlzdHMge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vQWN0aXZlIFN0YXRlXHJcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc21va2Utd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXktYm9sZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9MaXN0IG9mIHdpc2hsaXN0IGl0ZW1zXHJcbi53aXNobGlzdC1jYXJkIHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgLndpc2hsaXN0IHtcclxuICAgICAgICAvL2l0ZW1cclxuICAgICAgICAud2lzaGxpc3QtaXRlbSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9XcmFwcGVyXHJcbiAgICAgICAgICAgIC5pdGVtLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAub24tc2FsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL0ltYWdlXHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vUHJvZHVjdCBtZXRhXHJcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pbmZvIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDcwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy9BY3Rpb25zXHJcbiAgICAgICAgICAgICAgICAuYWN0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAvL0Ryb3Bkb3duXHJcbiAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMS4ycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMS44cHggZGFzaGVkICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDkwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxLjhweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvL0Ryb3Bkb3duIGxpc3QgaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstdGV4dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDEuMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkcGxhY2Vob2xkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL1NhbGVzIGluZGljYXRvclxyXG4gICAgICAgICAgICAgICAgLm9uLXNhbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcztcclxuICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAzcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCkgdHJhbnNsYXRlKDVweCw1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9XaXNobGlzdCBwYWdpbmF0aW9uXHJcbi53aXNobGlzdC1wYWdpbmF0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICAvL2xpc3RcclxuICAgIHVsIHtcclxuICAgICAgICAvL1BhZ2luYXRpb24gSXRlbVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9BY3RpdmUgc3RhdGVcclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAgMHB4IDVweCA0M3B4IHJnYmEoMCwgMCwgMCwgMC4xOCkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICAwcHggNXB4IDQzcHggcmdiYSgwLCAwLCAwLCAwLjE4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL0VkaXQgQWNjb3VudFxyXG4uYXZhdGFyLXdyYXBwZXJ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm94LXNoYWRvdzogMXB4IDFweCAxNXB4IC01cHggYmxhY2s7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICAmOmhvdmVye1xyXG4gICAgICAgIC8vdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIC5wcm9maWxlLXBpY3tcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgIH1cclxuICAgIC5wcm9maWxlLXBpYyB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XHJcbiAgICAgICAgICAgIC8vY29udGVudDogXCJcXGYwODNcIjtcclxuICAgICAgICAgICAgdG9wOiAwOyBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiAjZWNmMGYxO1xyXG5cclxuICAgICAgICAgICAgY29sb3I6ICMzNDQ5NWU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudXBsb2FkLWJ1dHRvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDsgbGVmdDogMDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLnVwbG9hZC1pY29uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICAgICAgICAgICAgc3Ryb2tlOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciAudXBsb2FkLWljb24ge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuOTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjUuIEF2YXRhciBVcGxvYWRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vQ2FyZFxyXG4udXBsb2FkLWNhcmQge1xyXG4gICAgcGFkZGluZzogNDBweCAyMHB4O1xyXG4gICAgLy91c2VyXHJcbiAgICAudXNlcm5hbWUge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA5MCU7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0J1dHRvblxyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxufSIsIi8qISBfY2FydC5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5DYXJ0IHBhZ2Ugc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIENhcnQgU3VtbWFyeVxyXG4xLiBDYXJ0IENhcmRcclxuMi4gRW1wdHkgQ2FydCBDYXJkXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIENhcnQgU3VtbWFyeVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNhcnQtc3VtbWFyeSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAvL1RvdGFsIGFtb3VudFxyXG4gICAgLmNhcnQtdG90YWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJCc7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDhweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuOHJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC43cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBDYXJ0IENhcmRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jYXJ0LWNhcmQge1xyXG4gICAgcGFkZGluZzogNDBweDtcclxuICAgIC8vQ2FydCBjb250ZW50XHJcbiAgICAuY2FydC1jb250ZW50IHtcclxuICAgICAgICAvL0NhcnQgaXRlbVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL1Byb2R1Y3QgbWV0YVxyXG4gICAgICAgICAgICAucHJvZHVjdC1pbmZvIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstdGV4dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDgwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vUHJvZHVjdCBwcmljZVxyXG4gICAgICAgICAgICAucHJvZHVjdC1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay10ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICckJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNzAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vUXVhbnRpdHlcclxuICAgICAgICAgICAgLnByb2R1Y3QtcXVhbnRpdHkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHg7XHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuY29udHJvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjhweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9BY3Rpb25zXHJcbiAgICAgICAgICAgIC5hY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAuYWN0aW9uLWxpbmsge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAxLjJweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxLjZweCBkYXNoZWQgJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDkwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMS44cHggc29saWQgJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1saWtlOmhvdmVyLCAmLmlzLWxpa2UuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDEuOHB4IHNvbGlkICRyZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHJlZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRyZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1yZW1vdmU6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMS44cHggc29saWQgJG9yYW5nZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBFbXB0eSBDYXJ0IENhcmRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5lbXB0eS1jYXJ0LWNhcmQge1xyXG4gICAgcGFkZGluZzogNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIC5lbXB0eS1jYXJ0IHtcclxuICAgICAgICBoMywgaW1nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMS40cHggc29saWQgJHByaW1hcnk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLy9vcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgwLCAzNSwgMjU1LCAwLjQpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDM1LCAyNTUsIDAuNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDgwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKiEgX29yZGVycy5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5PcmRlcnMgcGFnZXMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIE9yZGVyIENhcmRzXHJcbjEuIE9yZGVyIExpc3QgQ2FyZHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gT3JkZXIgQ2FyZHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5vcmRlci1jYXJkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIC8vTWV0YSBpbmZvXHJcbiAgICAub3JkZXItaW5mbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDkwJTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0NpcmNsZSBQcm9ncmVzc1xyXG4gICAgLmNpcmNsZS1jaGFydC13cmFwcGVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuY2lyY2xlLWNoYXJ0LWNpcmNsZSB7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBjaXJjbGUtY2hhcnQtZmlsbCAycyByZXZlcnNlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLy9JY29uXHJcbiAgICAuY2hhcnQtaWNvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNDUlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgc3Ryb2tlOiAkbXV0ZWQtZ3JleVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vUmluZyBsYWJlbFxyXG4gICAgLnJpbmctdGl0bGUgc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgIH1cclxuICAgIC8vVGFnc1xyXG4gICAgLnRhZyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICAmLmlzLXByaW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtc3VjY2VzcyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtd2FybmluZyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2UgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWRhbmdlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY2lyY2xlIGNoYXJ0IGFuaW1hdGlvblxyXG4gICAgQGtleWZyYW1lcyBjaXJjbGUtY2hhcnQtZmlsbCB7XHJcbiAgICAgICAgdG8geyBzdHJva2UtZGFzaGFycmF5OiAwIDEwMDsgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBPcmRlciBMaXN0IENhcmRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubGlzdC1jYXJkIHtcclxuICAgIC5saXN0LWNhcmQtaGVhZGVyIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRzbW9rZS13aGl0ZTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWdyZXktYm9sZDtcclxuICAgIH1cclxuICAgIC8vTGlzdFxyXG4gICAgdWwge1xyXG4gICAgICAgIC8vTGlzdCBJdGVtXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgICAgICAub3JkZXItaW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9BY3RpdmUgU3RhdGVcclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgLm9yZGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL0luZGljYXRvclxyXG4gICAgICAgICAgICAub3JkZXItaW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAmLmlzLXByb2dyZXNzIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuaXMtcHJlcGFyaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmlzLXdhcm5pbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmlzLWlzc3VlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL0xpc3QgQ2FyZFxyXG4ub3JkZXItbGlzdC1jYXJkIHtcclxuICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAvL1Byb2dyZXNzIGJsb2NrXHJcbiAgICAucHJvZ3Jlc3MtYmxvY2sge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL1Byb2dyZXNzIGJhclxyXG4gICAgICAgIHByb2dyZXNzIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgICAgICAgICAgLy9Db2xvciBNb2RpZmllcnNcclxuICAgICAgICAgICAgJi5wcmltYXJ5LXByb2dyZXNzIHtcclxuICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6LW1zLWZpbGwge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3VjY2Vzcy1wcm9ncmVzcyB7XHJcbiAgICAgICAgICAgICAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6LW1zLWZpbGwge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLndhcm5pbmctcHJvZ3Jlc3Mge1xyXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6LW1zLWZpbGwge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5kYW5nZXItcHJvZ3Jlc3Mge1xyXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6LW1zLWZpbGwge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL09yZGVyIGJsb2NrIGxheW91dFxyXG4gICAgLm9yZGVyLWJsb2NrIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vaGFuZGxlZCBieVxyXG4gICAgICAgIC5oYW5kbGVkLWJ5LCAuc3RhdHVzLCAuZGF0ZSwgLnRvdGFsIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC42NXJlbTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRpdjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQ7XHJcbiAgICAgICAgICAgICAgICAmLmlzLWRhdGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmlzLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTNweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9Ub3RhbFxyXG4gICAgICAgIC50b3RhbCB7XHJcbiAgICAgICAgICAgIC50YWcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9JY29uXHJcbiAgICAgICAgLm9yZGVyLWljb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDEuNHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9UYWdcclxuICAgICAgICAudGFnIHtcclxuICAgICAgICAgICAgJi5wcmltYXJ5LXRhZyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdWNjZXNzLXRhZyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYud2FybmluZy10YWcge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5kYW5nZXItdGFnIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9UYWJsZVxyXG4gICAgLnRhYmxlLWJsb2NrIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuNjVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstdGV4dDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXktYm9sZDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC44MjVyZW0gLjYyNWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGFibGUgdHIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc21va2Utd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAuMzVlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGFibGUgdGgsXHJcbiAgICAgICAgdGFibGUgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAuNjI1ZW07XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGFibGUgdGgge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC44NWVtO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9yZXNwb25zaXZlIHNldHRpbmdzXHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICAgICAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRhYmxlIGNhcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0YWJsZSB0aGVhZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IC0xcHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGFibGUgdHIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC42MjVlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0YWJsZSB0ZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuOGVtO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGFibGUgdGQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0YWJsZSB0ZDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uLWJsb2NrIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfcHJvZHVjdC5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5Qcm9kdWN0IHBhZ2Ugc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFByb2R1Y3QgbGVmdCBwYW5lbFxyXG4xLiBQcm9kdWN0IFJpZ2h0IFBhbmVsXHJcbjIuIFJldmlldyBNb2RhbFxyXG4zLiBDYXJvdXNlbCBNb2RpZmllclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBQcm9kdWN0IGxlZnQgcGFuZWxcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vTGVmdCBpbWFnZSBwYW5lbFxyXG4ucHJvZHVjdC1wYW5lbCB7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICB3aWR0aDogNDAlO1xyXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgYm94LXNoYWRvdzogMnB4IDBweCAycHggMHB4IHJnYmEoMCwwLDAsMC4wNik7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgLy9oZWFkZXJcclxuICAgIC5wYW5lbC1oZWFkZXIge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHggMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTU7XHJcbiAgICAgICAgLmxpa2VzIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHg7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICAgICAgICAgICYuaXMtbGlrZWQge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHJlZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRyZWQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vaW1hZ2VcclxuICAgIC5wcm9kdWN0LWltYWdlIHtcclxuICAgICAgICBwYWRkaW5nOiAyNSUgMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9mb290ZXIgYWN0aW9uc1xyXG4gICAgLnByb2R1Y3QtYWN0aW9ucyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMzBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy96b29tIGJ1dHRvbnNcclxuICAgICAgICAuem9vbS1idXR0b25zIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHg7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0FjdGlvbnNcclxuICAgICAgICAucmlnaHQtYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAzMHB4O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1Byb2R1Y3QgZGVzY3JpcHRpb25cclxuICAgIC5kZXRhaWxlZC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCA0MHB4IDIwcHggNDBweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA2NXZoO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9NZXRhXHJcbiAgICAgICAgLm1ldGEtYmxvY2sge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpOztcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay10ZXh0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgJi5zcGFjZWQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICAgICAgJi5zcGFjZWQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vQ29sb3IgZG90c1xyXG4gICAgICAgICAgICAuY29sb3JlZC1kb3RzIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAuZG90LXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC5kb3Qge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtYmx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLXdoaXRlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQtZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWRhcmsge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzM5MzQ0NztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWNyZWFtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkNmQzYzA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1yZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vUHJvZHVjdCByYXRpbmdzIHNlY3Rpb25zXHJcbiAgICAucHJvZHVjdC1yYXRpbmdzIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDQwcHggMjBweCA0MHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDY1dmg7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vTWFpbiByYXRpbmdcclxuICAgICAgICAubWFpbi1yYXRpbmcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vU3RhcnNcclxuICAgICAgICAuc3RhcnMge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkQ3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9BZGQgcmV2aWV3IGJ1dHRvblxyXG4gICAgICAgIC5hZGQtcmV2aWV3IHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0N1c3RvbWVyIHJhdGluZ3MgbGlzdFxyXG4gICAgICAgIC5jdXN0b21lci1yYXRpbmdzIHtcclxuICAgICAgICAgICAgLy9MaXN0IGl0ZW1cclxuICAgICAgICAgICAgLm1lZGlhIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVkaWEtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay10ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnJhdGluZy1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZENzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBQcm9kdWN0IFJpZ2h0IHBhbmVsXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL1JpZ2h0IHBhbmVsXHJcbi5wcm9kdWN0LWluZm8tcGFuZWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xyXG4gICAgLmlubmVyLXBhbmVsIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy9oZWFkZXJcclxuICAgICAgICAucGFuZWwtaGVhZGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XHJcbiAgICAgICAgICAgIC8vcHJvZHVjdCBjYXRlZ29yeVxyXG4gICAgICAgICAgICAuY2F0ZWdvcnktdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgODBweDtcclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vYm9keVxyXG4gICAgICAgIC5wYW5lbC1ib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogNjBweCA4MHB4O1xyXG4gICAgICAgICAgICAvL3Byb2R1Y3QgbWV0YVxyXG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9kZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAucHJvZHVjdC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL0NvbnRyb2xzXHJcbiAgICAgICAgICAgIC5wcm9kdWN0LWNvbnRyb2xzIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIC8vcHJpY2VcclxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgLmhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICckOTAsMDAnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL3F1YW50aXR5IGlucHV0XHJcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgLmhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5jb250cm9sIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vYWRkIHRvIGNhcnQgYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAuYWRkLXRvLWNhcnQge1xyXG4gICAgICAgICAgICAgICAgICAgIC5oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjZyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL3BhbmVsIGZvb3RlclxyXG4gICAgICAgIC5wYW5lbC1mb290ZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyNTBweDtcclxuICAgICAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICAgICAgLmZvb3Rlci1pbm5lciB7XHJcbiAgICAgICAgICAgICAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIC8vdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICAgICAgLy90aXRsZVxyXG4gICAgICAgICAgICAgICAgLnJlY29tbWVuZGVkIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vcmVjb21tZW5kZWQgcHJvZHVjdHNcclxuICAgICAgICAgICAgICAgIC5mZWF0dXJlZC1wcm9kdWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay10ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA3MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIFJldmlldyBNb2RhbFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnJldmlldy1tb2RhbCB7XHJcbiAgICAvL0NvbnRlbnRcclxuICAgIC5tb2RhbC1jb250ZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICAgIC8vQ2xvc2UgbW9kYWwgYnV0dG9uXHJcbiAgICAgICAgLm1vZGFsLWRlbGV0ZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9Jbm5lciBib3hcclxuICAgICAgICAuYm94IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICAgICAgLy9IZWFkZXJcclxuICAgICAgICAgICAgLmJveC1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZmFkZS1ncmV5O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZGVsZXRlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYm94LWJvZHkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogODUlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vTGFiZWxzXHJcbiAgICAgICAgZmllbGRzZXQsIGxhYmVsIHsgXHJcbiAgICAgICAgICAgIG1hcmdpbjogMDsgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vcmF0aW5nc1xyXG4gICAgICAgIC5yYXRpbmcgeyBcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJhdGluZyA+IGlucHV0IHsgZGlzcGxheTogbm9uZTsgfSBcclxuICAgICAgICAucmF0aW5nID4gbGFiZWw6YmVmb3JlIHsgXHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yYXRpbmcgPiAuaGFsZjpiZWZvcmUgeyBcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGYwODlcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmF0aW5nID4gbGFiZWwgeyBcclxuICAgICAgICAgICAgY29sb3I6ICNkZGQ7IFxyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7IFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy9IaWdobGlnaHQgU3RhcnMgb24gSG92ZXIgXHJcbiAgICAgICAgLnJhdGluZyA+IGlucHV0OmNoZWNrZWQgfiBsYWJlbCwgLy9zaG93IGdvbGQgc3RhciB3aGVuIGNsaWNrZWQgXHJcbiAgICAgICAgLnJhdGluZzpub3QoOmNoZWNrZWQpID4gbGFiZWw6aG92ZXIsLy9ob3ZlciBjdXJyZW50IHN0YXIgXHJcbiAgICAgICAgLnJhdGluZzpub3QoOmNoZWNrZWQpID4gbGFiZWw6aG92ZXIgfiBsYWJlbCB7IFxyXG4gICAgICAgICAgICBjb2xvcjogI0ZGRDcwMCAhaW1wb3J0YW50OyAgXHJcbiAgICAgICAgfSAvL2hvdmVyIHByZXZpb3VzIHN0YXJzIGluIGxpc3QgXHJcblxyXG4gICAgICAgIC5yYXRpbmcgPiBpbnB1dDpjaGVja2VkICsgbGFiZWw6aG92ZXIsIC8vaG92ZXIgY3VycmVudCBzdGFyIHdoZW4gY2hhbmdpbmcgcmF0aW5nIFxyXG4gICAgICAgIC5yYXRpbmcgPiBpbnB1dDpjaGVja2VkIH4gbGFiZWw6aG92ZXIsXHJcbiAgICAgICAgLnJhdGluZyA+IGxhYmVsOmhvdmVyIH4gaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsLCAvL2xpZ2h0ZW4gY3VycmVudCBzZWxlY3Rpb24gXHJcbiAgICAgICAgLnJhdGluZyA+IGlucHV0OmNoZWNrZWQgfiBsYWJlbDpob3ZlciB+IGxhYmVsIHsgXHJcbiAgICAgICAgICAgIGNvbG9yOiAjRkZFRDg1ICFpbXBvcnRhbnQ7ICBcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLy9BY3RpdmUgc3RhdGVcclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAuYm94IHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIENhcm91c2VsIE1vZGlmaWVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaXMtY2Fyb3VzZWwge1xyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAzNTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNsaWRlciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAuc2xpY2stc2xpZGUgaW1nIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNsaWRlciwgLnNsaWNrLXNsaWRlIHtcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qISBfY2hlY2tvdXQuc2NzcyB8IE5lcGhvcyB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQ2hlY2tvdXQgcGFnZXMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFN0ZXBzIGluZGljYXRvclxyXG4xLiBDaGVja291dCBIZWFkZXJcclxuMi4gQ2hlY2tvdXQgQ2FyZHNcclxuMy4gU3BhY2luZ1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBTdGVwcyBpbmRpY2F0b3JcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vVmFyaWFibGVzXHJcbiRudW1iZXItb2Ytc3RlcHM6IDQ7XHJcbiRidWxsZXQtc2l6ZTogM2VtO1xyXG5cclxuLy9XcmFwcGVyXHJcbi5zdGVwcy13cmFwcGVyIHtcclxuICAgIHdpZHRoOiA2MDBweDtcclxuICAgIC8vTGlzdFxyXG4gICAgLnN0ZXAtbGlzdCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgY291bnRlci1yZXNldDogd2l6YXJkOyAgXHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCUgLyAkbnVtYmVyLW9mLXN0ZXBzO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQWN0aXZlIHN0YXRlXHJcbiAgICAgICAgLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0xpbmsgYmV0d2VlbiBzdGVwc1xyXG4gICAgICAgIGxpOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiB3aXphcmQ7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIod2l6YXJkKTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBsYWNlaG9sZGVyO1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6ICRidWxsZXQtc2l6ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkYnVsbGV0LXNpemU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjhlbTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1bGxldC1zaXplO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRidWxsZXQtc2l6ZSAqIC0wLjU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpICsgbGkge1xyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGxhY2Vob2xkZXI7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC01MCU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDEuMWVtO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0FjdGl2ZSBTdGF0ZVxyXG4gICAgICAgIC5hY3RpdmU6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIENoZWNrb3V0IEhlYWRlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNoZWNrb3V0LXRpdGxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbiAgICAmLmlzLWNlbnRlcmVkIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC8vRmlsaWdyYW5lIGxvZ29cclxuICAgIC5icmFuZC1maWxpZ3JhbmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC01cHg7XHJcbiAgICAgICAgbGVmdDogLTI3cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICAvL0NlbnRlcmVkIG1vZGlmaWVyXHJcbiAgICAgICAgJi5pcy1jZW50ZXJlZCB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNoZWNrb3V0LXdyYXBwZXIge1xyXG4gICAgcGFkZGluZzogNjBweCAwO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBDaGVja291dCBDYXJkc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmZsYXQtY2FyZCB7XHJcbiAgICAvL0NoZWNrb3V0IEZvcm0gbW9kaWZpZXJcclxuICAgICYuaXMtY2hlY2tvdXQtZm9ybSB7XHJcbiAgICAgICAgLy9PdmVyZmxvdyBtb2RpZmllclxyXG4gICAgICAgICYuaGFzLW92ZXJmbG93IHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9UaXRsZVxyXG4gICAgICAgIC5mb3JtLXRpdGxlIGgzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICAvL0NvbHVtbiBtb2RpZmllcnNcclxuICAgICAgICAgICAgJi5pcy1wYWRkZWQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaXMtbGlnaHQtcGFkZGVkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZ3JleS1jb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9Db250YWN0IGluZm8gZm9ybVxyXG4gICAgICAgIC5jdXN0b21lci13cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogODBweCAwO1xyXG4gICAgICAgICAgICAubG9nZ2VkLWFzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL1VzZXJuYW1lXHJcbiAgICAgICAgICAgIC51c2VybmFtZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vU3dpdGNoXHJcbiAgICAgICAgICAgIC5zd2l0Y2gge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDkwJTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXktYm9sZDtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL0ltYWdlXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICAwcHggNXB4IDQzcHggcmdiYSgwLCAwLCAwLCAwLjE4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgJi5sb2dvIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL1NoaXBwaW5nIGluZm8gZm9ybVxyXG4gICAgICAgIC5zaGlwcGluZy13cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogODBweCAxMHB4O1xyXG4gICAgICAgICAgICAvL1NtYWxsIHNoaXBwaW5nIGNhcmRcclxuICAgICAgICAgICAgLm1pbmktY2FyZCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkcGxhY2Vob2xkZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJHBsYWNlaG9sZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy9TaGlwcGluZyBtZXRob2RcclxuICAgICAgICAgICAgICAgIC5zaGlwcGluZy1tZXRob2Qge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA3MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vUHJpY2VcclxuICAgICAgICAgICAgICAgIC5zaGlwcGluZy1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDcwJTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy9Ib3ZlciBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnNoaXBwaW5nLW1ldGhvZHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vU3RhdGUgaW5kaWNhdG9yXHJcbiAgICAgICAgICAgICAgICAuYWN0aXZlLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IC0xNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTZweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGxpZ2h0ZW4oJHByaW1hcnksIDMwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDNweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL0FjdGl2ZSBTdGF0ZVxyXG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5zaGlwcGluZy1tZXRob2R7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnNoaXBwaW5nLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5hY3RpdmUtaW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9TaGlwcGluZyBBZGRyZXNzZSBmb3JtXHJcbiAgICAgICAgLnNoaXBwaW5nLWFkZHJlc3MtZm9ybSB7XHJcbiAgICAgICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAuNzVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2hvc2VuLXNpbmdsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMi41cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLThweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL09yZGVyIHZlcmlmaWNhdGlvbiB3cmFwcGVyXHJcbiAgICAgICAgLnZlcmlmaWNhdGlvbi13cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogODBweCAwO1xyXG4gICAgICAgICAgICAvL1RvdGFsXHJcbiAgICAgICAgICAgIC50b3RhbC1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC44NXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICckJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAuODVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQ29sdW1uXHJcbiAgICAgICAgLml0ZW1zLWNvbHVtbiB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM1MHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICAvL1Njcm9sbGJhclxyXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL0l0ZW1cclxuICAgICAgICAgICAgLm9yZGVyLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICAgICAgICAgIC5pdGVtLWRlc2NyaXB0aW9uLCAuaXRlbS1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL0Rlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgICAuaXRlbS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vUXVhbnRpdHlcclxuICAgICAgICAgICAgICAgIC5pdGVtLXF1YW50aXR5IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy9QcmljZVxyXG4gICAgICAgICAgICAgICAgLml0ZW0tcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL1BheW1lbnQgZm9ybSB3cmFwcGVyXHJcbiAgICAgICAgLnBheW1lbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDA7XHJcbiAgICAgICAgICAgIC8vU3VidG90YWxcclxuICAgICAgICAgICAgLnN1YnRvdGFsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICAgICAgLnBhcnRpYWwtdmFsdWUsIC52YXQtdmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyQnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDYwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC02cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnBhcnRpYWwtdmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudmF0LXZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbHVzLW9wZXJhdG9yLCAuZXF1YWwtb3BlcmF0b3Ige1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9Ub3RhbFxyXG4gICAgICAgICAgICAudG90YWwge1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstdGV4dDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICckJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA2MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9Mb2dvXHJcbiAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAmLmlzLWNlbnRlcmVkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQmFuayBBY2NvdW50XHJcbiAgICAgICAgLmJhbmstYWNjb3VudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXktYm9sZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9mb3JtIENvbnRyb2xcclxuICAgICAgICAuY29udHJvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICAmLmhhcy1tYXJnaW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbnB1dCB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXktYm9sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0xhYmVsc1xyXG4gICAgICAgIC5jaGVja291dC1sYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay10ZXh0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDkwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9QYXltZW50IG1ldGhvcyBjYXJkc1xyXG4gICAgJi5wYXltZW50LW1ldGhvZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIC8vSWNvblxyXG4gICAgICAgIC5wYXltZW50LWljb24ge1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiAkcGxhY2Vob2xkZXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vVGV4dFxyXG4gICAgICAgIC5wYXltZW50LXRleHQge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xyXG4gICAgICAgICAgICBjb2xvcjogJHBsYWNlaG9sZGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL0hvdmVyIFN0YXRlXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC8vUGF5cGFsIG1vZGlmaWVyXHJcbiAgICAgICAgICAgICYuaXMtcGF5cGFsIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRibHVlO1xyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgICAgICAucGF5bWVudC10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9CYW5rIG1vZGlmaWVyXHJcbiAgICAgICAgICAgICYuaXMtYmFuayB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgICAgIC5wYXltZW50LXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vQ3JlZGl0IENhcmQgbW9kaWZpZXJcclxuICAgICAgICAgICAgJi5pcy1jcmVkaXQtY2FyZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgLnBheW1lbnQtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vQ2FzaCBtb2RpZmllclxyXG4gICAgICAgICAgICAmLmlzLWNhc2gge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgLnBheW1lbnQtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vT3JkZXIgY29tcGxldGUgY2FyZFxyXG4gICAgJi50aGFua3MtY2FyZCB7XHJcbiAgICAgICAgcGFkZGluZzogNDBweDtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAvL0ltYWdlXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL0hlYWRpbmdcclxuICAgICAgICAuY2FyZC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCA0MHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXktYm9sZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9CdXR0b25cclxuICAgICAgICAuYmlnLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRwcmltYXJ5LCAyMCUpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJHByaW1hcnksIDIwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIFNwYWNpbmdcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiNwYXltZW50LW1ldGhvZHMge1xyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG59XHJcblxyXG4uYnV0dG9uLXdyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuIiwiLyohIF9hdXRoLnNjc3MgfCBOZXBob3MgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkxvZ2luIC8gUmVnaXN0ZXIgcGFnZSBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQXV0aGVudGljYXRpb24gaGVhZGVyXHJcbjEuIEF1dGhlbnRpY2F0aW9uIGNhcmRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQXV0aGVudGljYXRpb24gaGVhZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYXV0aC10aXRsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbiAgICAmLmlzLWNlbnRlcmVkIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5icmFuZC1maWxpZ3JhbmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0xNXB4O1xyXG4gICAgICAgIGxlZnQ6IC0yNXB4O1xyXG4gICAgICAgIGhlaWdodDogNjhweDtcclxuICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEF1dGhlbnRpY2F0aW9uIGNhcmRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vQ2FyZFxyXG4uZmxhdC1jYXJkIHtcclxuICAgIC8vRm9ybSBtb2RpZmllclxyXG4gICAgJi5pcy1hdXRoLWZvcm0ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ0NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLmZvcm0tdGl0bGUgaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9Nb2RpZmllcnNcclxuICAgICAgICAuY29sdW1uIHtcclxuICAgICAgICAgICAgJi5pcy1wYWRkZWQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaXMtbW9iaWxlLXBhZGRlZCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaXMtbGlnaHQtcGFkZGVkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaW1hZ2UtY29sdW1uIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cDovL3ZpYS5wbGFjZWhvbGRlci5jb20vMTYwMHgxMjAwJyk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIC5uZXBob3Mtb3ZlcmxheSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NiwgNzYsIDAuOTUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9XcmFwcGVyXHJcbiAgICAgICAgLnN0b3JlLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMjBweCAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIC8vVGl0bGVcclxuICAgICAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vU3VidGl0bGVcclxuICAgICAgICAgICAgLnN1YnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vSGVsaW9zIExvZ29cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgJi5sb2dvIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL1RhYnNcclxuICAgICAgICAuaXMtZm9ybS10YWJzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA4NSU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9MYWJlbFxyXG4gICAgICAgIC5hdXRoLWxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRkYXJrLXRleHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9JbnB1dFxyXG4gICAgICAgIC5pbnB1dCB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9Gb3JtIGNvbnRyb2xcclxuICAgICAgICAuY29udHJvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQ2hlY2tib3hcclxuICAgICAgICAuY2hlY2tib3gtd3JhcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuOHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vRm9yZ290IHBhc3N3b3JkIExpbmtcclxuICAgICAgICAuZm9yZ290dGVuIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuODVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyohIF9idXR0b25zLnNjc3MgfCBOZXBob3MgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkJ1dHRvbiBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQmFzaWMgYnV0dG9uc1xyXG4xLiBDb2xvcmVkIGJ1dHRvbnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQmFzaWMgYnV0dG9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmJ1dHRvbiB7XHJcbiAgICAvL21ha2UgdGhlIGJ1dHRvbiBiaWdnZXJcclxuICAgICYuYmlnLWJ1dHRvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMjJweCA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy9ib2xkIGFuZCBvdXRsaW5lZFxyXG4gICAgICAgICYuYnRuLW91dGxpbmVkLmlzLWJvbGQge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1ib2xkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0hvdmVyIHJhaXNlZCBidXR0b25zXHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAxNHB4IDI2cHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjQyKSwgMCA0cHggMjNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICAgIC8vVXBwZXJjYXNlIGJ1dHRvblxyXG4gICAgJi51cHBlci1idXR0b24ge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgJi5pcy1ib2xkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vUm91bmRlZCBidXR0b25zXHJcbiAgICAmLnJvdW5kZWQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gICAgfVxyXG4gICAgLy9IZWxpb3MgQ1RBIGJ1dHRvblxyXG4gICAgJi5mZWF0aGVyLWJ1dHRvbiB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcclxuICAgICAgICBmb250LXdlaWdodDogMjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogODAlO1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAmLmlzLXB1c2hlZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9zaXplIG1vZGlmaWVyXHJcbiAgICAgICAgJi5pcy1zbWFsbCB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA2MCU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQm9sZCB3ZWlnaHRcclxuICAgICAgICAmLmlzLWJvbGQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC53aWxsLXVwbG9hZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIENvbG9yZWQgQnV0dG9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9wcmltYXJ5IGJ1dHRvblxyXG4uYnV0dG9uLnByaW1hcnktYnV0dG9uIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAvL3JhaXNlZCBzdGF0ZVxyXG4gICAgJi5yYWlzZWQ6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRwcmltYXJ5LWJveC1zaGFkb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMC45LjU7XHJcbiAgICB9XHJcbiAgICAvL291dGxpbmVkIGJ1dHRvblxyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vc2Vjb25kYXJ5IGJ1dHRvblxyXG4uYnV0dG9uLnNlY29uZGFyeS1idXR0b24ge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgLy9yYWlzZWQgc3RhdGVcclxuICAgICYucmFpc2VkOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkc2Vjb25kYXJ5LWJveC1zaGFkb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMC45NTtcclxuICAgIH1cclxuICAgIC8vb3V0bGluZWQgYnV0dG9uXHJcbiAgICAmLmJ0bi1vdXRsaW5lZCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vYWNjZW50IGJ1dHRvblxyXG4uYnV0dG9uLmFjY2VudC1idXR0b24ge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgLy9yYWlzZWQgc3RhdGVcclxuICAgICYucmFpc2VkOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYWNjZW50LWJveC1zaGFkb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG4gICAgLy9vdXRsaW5lZCBidXR0b25cclxuICAgICYuYnRuLW91dGxpbmVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vL0dyZXkgYnV0dG9uXHJcbi5idXR0b24uZ3JleS1idXR0b24ge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1ncmV5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1ncmV5O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuICAgIC8vcmFpc2VkIHN0YXRlXHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG4gICAgLy9vdXRsaW5lZCBidXR0b25cclxuICAgICYuYnRuLW91dGxpbmVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtZ3JleTtcclxuICAgICAgICBjb2xvcjogJGFjY2VudC1ncmV5O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWdyZXk7XHJcbiAgICB9XHJcbn0iLCIvKiEgX3NlYXJjaC5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5HbG9iYWwgU2VhcmNoIFN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBTZWFyY2ggT3ZlcmxheVxyXG4xLiBTZWFyY2ggSW5wdXRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gU2VhcmNoIE92ZXJsYXlcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zZWFyY2gtb3ZlcmxheSB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IC0xMDBweDtcclxuICAgIGxlZnQ6IC0xMDBweDtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSg1MCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIFNlYXJjaCBJbnB1dFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnNlYXJjaC1pbnB1dC13cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDQ7XHJcbiAgICAmLmlzLWRlc2t0b3Age1xyXG4gICAgICAgIGxlZnQ6IDgwcHg7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xyXG4gICAgfVxyXG4gICAgLy9maWVsZCB3cmFwcGVyXHJcbiAgICAuZmllbGQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDI1JTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAwIDE4JTtcclxuICAgIH1cclxuICAgIC8vY29udHJvbCB3cmFwcGVyXHJcbiAgICAuY29udHJvbCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgLy9pbnB1dFxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTU1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDc1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdBbGVncmV5YSBTYW5zIFNDJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vaGVscCB0ZXh0IHVuZGVyIGlucHV0XHJcbiAgICAgICAgLnNlYXJjaC1oZWxwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2NsZWFyIGlucHV0IGljb25cclxuICAgICAgICAjY2xlYXItc2VhcmNoIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA2NHB4O1xyXG4gICAgICAgICAgICByaWdodDogMTZweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQycHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQycHg7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9wdXNoaW5nIHRoZSBpbnB1dCB0byB0aGUgdG9wIHdoZW4gYWN0aXZlXHJcbiAgICAgICAgJi5pcy1hY3RpdmUgIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vaGlkZSBjbGVhciBpY29uXHJcbiAgICAuY29udHJvbCBpbnB1dDpub3QoOnZhbGlkKSB+ICNjbGVhci1zZWFyY2gge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn0iLCIvKiEgX2ZpbHRlcnMuc2NzcyB8IE5lcGhvcyB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuRmlsdGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBQcmljZSByYW5nZSBmaWx0ZXJcclxuMS4gUmFuZ2UgaW5wdXRcclxuMi4gQ2hlY2tib3hlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBQcmljZSByYW5nZSBmaWx0ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vUHJpY2UgcmFuZ2UgZmlsdGVyXHJcbi5wcmljZS1yYW5nZS13cmFwcGVyIHtcclxuICAgIC8vTGFiZWxzXHJcbiAgICAucHJpY2UtbGltaXQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDcwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIFJhbmdlIElucHV0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL1NsaWRlclxyXG4ucmFuZ2Utc2xpZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAyMjBweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luOiAwIDRweDtcclxuICAgIC8vT3V0cHV0XHJcbiAgICAuc2xpZGVyLW91dHB1dCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC44cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8vUmFuZ2VcclxuICAgIC5pbnB1dC1yYW5nZSB7XHJcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2NjYztcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG4gICAgLmlucHV0LXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XHJcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cyBlYXNlLWluLW91dDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG4gICAgLmlucHV0LXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICB9XHJcbiAgICAuaW5wdXQtcmFuZ2U6YWN0aXZlOjotbW96LXJhbmdlLXRodW1iIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICAgIC5pbnB1dC1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuICAgIC5yYW5nZS12YWx1ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxuICAgIDo6LW1vei1yYW5nZS10cmFjayB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2NjYztcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbiAgICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBDaGVja2JveGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY29sdW1ucy5pcy1jaGVja2JveGVzIHtcclxuICAgIC5jb2x1bW4ge1xyXG4gICAgICAgIC5maWVsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4iLCIvKiEgX2NoZWNrYm94ZXMuc2NzcyB8IE5lcGhvcyB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQ2hlY2tib3hlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDaGVja2JveCBzZXR1cFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDaGVja2JveCBzZXR1cFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuJWNvbnRyb2xsZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcGFkZGluZzogMWVtO1xyXG5cclxuICAgICY6OnNlbGVjdGlvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICAvL2QtY2hlY2tib3hcclxuICAgIGlucHV0LmQtY2hlY2tib3ggKyBzcGFuLCBpbnB1dC5iLXJhZGlvICsgc3BhbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCAuNWVtIDAgMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtdXRlZC1ncmV5O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgd2lkdGg6IDJlbTtcclxuICAgICAgICBoZWlnaHQ6IDJlbTtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY2hlY2tlZCBzdGF0ZVxyXG4gICAgaW5wdXQuZC1jaGVja2JveDpjaGVja2VkICsgc3Bhbjo6YWZ0ZXIsIGlucHV0LmItcmFkaW86Y2hlY2tlZCArIHNwYW46OmFmdGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG4gICAgLy9oaWRlIG5hdGl2ZSBpbnB1dFxyXG4gICAgaW5wdXQuZC1jaGVja2JveCwgaW5wdXQuYi1yYWRpbyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vL2NoZWNrYm94IHN0eWxlXHJcbi5jaGVja2JveC13cmFwIHtcclxuICAgIEBleHRlbmQgJWNvbnRyb2xsZXI7XHJcbiAgICAvL2NoZWNrIHN5bWJvbFxyXG4gICAgaW5wdXQgKyBzcGFuIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4SVVSUFExUlpVRVVnYzNabklGQlZRa3hKUXlBaUxTOHZWek5ETHk5RVZFUWdVMVpISURFdU1TOHZSVTRpSUNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5SGNtRndhR2xqY3k5VFZrY3ZNUzR4TDBSVVJDOXpkbWN4TVM1a2RHUWlQanh6ZG1jZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVRHRjVaWEpmTVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlnZUQwaU1IQjRJaUI1UFNJd2NIZ2lJSGRwWkhSb1BTSTJOSEI0SWlCb1pXbG5hSFE5SWpZMGNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMk5DQTJOQ0lnWlc1aFlteGxMV0poWTJ0bmNtOTFibVE5SW01bGR5QXdJREFnTmpRZ05qUWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGp4blBqeHdiMng1WjI5dUlIQnZhVzUwY3owaU1UTXVOekEzTERNeUxqSTVNeUF4TWk0eU9UTXNNek11T0RVMElESTBMakk1TXl3ME5pQXlOUzQzTURjc05EWWdORGt1TnpBM0xESXhMamcxTkNBME9DNHlPVE1zTWpBdU16WTJJREkxTERRekxqWXlNeUFpTHo0OEwyYytQQzl6ZG1jKykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgICAgICB3aWR0aDogMS45ZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogMS45ZW07XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAtMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY2hlY2sgc3ltYm9sIG1lZGl1bVxyXG4gICAgJi5pcy1tZWRpdW0gaW5wdXQgKyBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMS40ZW07XHJcbiAgICAgICAgaGVpZ2h0OiAxLjRlbTtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhJVVJQUTFSWlVFVWdjM1puSUZCVlFreEpReUFpTFM4dlZ6TkRMeTlFVkVRZ1UxWkhJREV1TVM4dlJVNGlJQ0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlIY21Gd2FHbGpjeTlUVmtjdk1TNHhMMFJVUkM5emRtY3hNUzVrZEdRaVBqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpVEdGNVpYSmZNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdlRDBpTUhCNElpQjVQU0l3Y0hnaUlIZHBaSFJvUFNJMk5IQjRJaUJvWldsbmFIUTlJalkwY0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTkNBMk5DSWdaVzVoWW14bExXSmhZMnRuY205MWJtUTlJbTVsZHlBd0lEQWdOalFnTmpRaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQanhuUGp4d2IyeDVaMjl1SUhCdmFXNTBjejBpTVRNdU56QTNMRE15TGpJNU15QXhNaTR5T1RNc016TXVPRFUwSURJMExqSTVNeXcwTmlBeU5TNDNNRGNzTkRZZ05Ea3VOekEzTERJeExqZzFOQ0EwT0M0eU9UTXNNakF1TXpZMklESTFMRFF6TGpZeU15QWlMejQ4TDJjK1BDOXpkbWMrKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjNlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxLjNlbTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6IC0xcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9jaGVjayBzeW1ib2wgc21hbGxcclxuICAgICYuaXMtc21hbGwgaW5wdXQgKyBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMWVtO1xyXG4gICAgICAgIGhlaWdodDogMWVtO1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0OElVUlBRMVJaVUVVZ2MzWm5JRkJWUWt4SlF5QWlMUzh2VnpOREx5OUVWRVFnVTFaSElERXVNUzh2UlU0aUlDSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OUhjbUZ3YUdsamN5OVRWa2N2TVM0eEwwUlVSQzl6ZG1jeE1TNWtkR1FpUGp4emRtY2dkbVZ5YzJsdmJqMGlNUzR4SWlCcFpEMGlUR0Y1WlhKZk1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJZ2VEMGlNSEI0SWlCNVBTSXdjSGdpSUhkcFpIUm9QU0kyTkhCNElpQm9aV2xuYUhROUlqWTBjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJOQ0EyTkNJZ1pXNWhZbXhsTFdKaFkydG5jbTkxYm1ROUltNWxkeUF3SURBZ05qUWdOalFpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBqeG5Qanh3YjJ4NVoyOXVJSEJ2YVc1MGN6MGlNVE11TnpBM0xETXlMakk1TXlBeE1pNHlPVE1zTXpNdU9EVTBJREkwTGpJNU15dzBOaUF5TlM0M01EY3NORFlnTkRrdU56QTNMREl4TGpnMU5DQTBPQzR5T1RNc01qQXVNelkySURJMUxEUXpMall5TXlBaUx6NDhMMmMrUEM5emRtYyspIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgd2lkdGg6IDAuOWVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDAuOWVtO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0xhYmVsXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCIvKiEgX2Zvcm1zLnNjc3MgfCBOZXBob3MgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkZvcm0gY29udHJvbHMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFRleHRhcmVhc1xyXG4xLiBGb3JtIENvbnRyb2xzXHJcbjIuIElucHV0c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBUZXh0YXJlYXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbnRleHRhcmVhLnRleHRhcmVhIHtcclxuICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XHJcbiAgICAvL2ZvY3VzIGNvbG9yc1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLmlzLXByaW1hcnktZm9jdXM6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfiBzcGFuLmljb24gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLXNlY29uZGFyeS1mb2N1czpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH4gc3Bhbi5pY29uIGkge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWFjY2VudC1mb2N1czpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIH4gc3Bhbi5pY29uIGkge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWdyZXktZm9jdXM6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgfiBzcGFuLmljb24gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWRlZmF1bHQtZm9jdXM6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgfiBzcGFuLmljb24gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2dyb3dpbmcgdGV4dGFyZWFcclxuICAgICYuaXMtZ3JvdyB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICByZXNpemU6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTMwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vZW1iZWRlZCBidXR0b24gaW5zaWRlIHRleHRhcmVhXHJcbiAgICAmLmlzLWJ1dHRvbiB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHJlc2l6ZTogbm9uZTtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRmYWRlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICsgLnRleHRhcmVhLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDdweCA3cHggN3B4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDEwcHggOHB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTJweDtcclxuICAgICAgICAgICAgICAgIC8vYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gRm9ybSBDb250cm9sc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNvbnRyb2wge1xyXG4gICAgJi5jb250cm9sLW1lZGl1bSB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgIH1cclxuICAgICYuaXMtaW5wdXQtd3JhcHBlciB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gSW5wdXRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaW5wdXQge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICYuaXMtbWluaW1hbCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1kZWZhdWx0IHtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleS1ib2xkO1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qISBfaW52b2ljZS5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5JbnZvaWNlIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBMYXlvdXRcclxuMS4gSW52b2ljZVxyXG4yLiBSZXNwb25zaXZlIFRhYmxlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIExheW91dFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9XcmFwcGVyXHJcbi5pbnZvaWNlLXdyYXAge1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG59XHJcbi8vQ29udHJvbHNcclxuLmludm9pY2UtY29udHJvbHMge1xyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEludm9pY2VcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pbnZvaWNlIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDUwcHg7XHJcbiAgICAvL0xvZ29cclxuICAgIC5sb2dvIHtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgIH1cclxuICAgIC5kb2N1bWVudC10eXBlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBjb2xvcjogIzQ0NDtcclxuICAgIH1cclxuICAgIC5jb25kaXRpb25zIHtcclxuICAgICAgICBmb250LXNpemU6IDAuN2VtO1xyXG4gICAgICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgfVxyXG4gICAgLy9JbnZvaWNlIGZvb3RlclxyXG4gICAgLmJvdHRvbS1wYWdlIHtcclxuICAgICAgICBmb250LXNpemU6IDAuODVlbTtcclxuICAgICAgICAuY29tcGFueSwgLnVybCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51cmwge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2RlLCAuaWQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGRhcmstdGV4dDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA5MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9TdXBwbGllciBhbmQgQ3VzdG9tZXJcclxuICAgIC5zZWxsZXIsIC5idXllciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAuODVyZW07XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay10ZXh0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vTWV0YVxyXG4gICAgLmludm9pY2UtbWV0YSB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzAlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBzbWFsbCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgICAgICYuZGF0ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAuODVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIFJlc3BvbnNpdmUgVGFibGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5yZXNwb25zaXZlLXRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGQge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcclxuICAgICAgICAucHJvZHVjdCB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2t1IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA4MCU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleS1ib2xkO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhbnRpdHkge1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXktYm9sZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnVuaXQtcHJpY2UsIC50b3RhbC1wcmljZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay10ZXh0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDg1JTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyQnO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA4MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aCB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5LWJvbGQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vUmVzcG9uc2l2ZSBtb2RlXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2MHB4KSxcclxuICAgICAgICAobWluLWRldmljZS13aWR0aDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyNHB4KSAge1xyXG5cclxuICAgICAgICAgICAgLy9Gb3JjZSBjYXJkIGRpc3BsYXlcclxuICAgICAgICAgICAgdGFibGUsIHRoZWFkLCB0Ym9keSwgdGgsIHRkLCB0ciB7IFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vSGlkZSB0YWJsZSBoZWFkZXJzICBcclxuICAgICAgICAgICAgdGhlYWQgdHIgeyBcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTk5OTlweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC05OTk5cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHIgeyBcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkIHsgXHJcbiAgICAgICAgICAgICAgICAvKiBCZWhhdmUgIGxpa2UgYSBcInJvd1wiICovXHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsgXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwJTsgXHJcbiAgICAgICAgICAgICAgICAmLmhhcy10ZXh0LWNlbnRlcmVkIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRkOmJlZm9yZSB7IFxyXG4gICAgICAgICAgICAgICAgLy9UYWJsZSBoZWFkZXIgXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAvL01pbWljIHBhZGRpbmcgXHJcbiAgICAgICAgICAgICAgICB0b3A6IDEycHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA2cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDUlOyBcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IFxyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleS1ib2xkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vRGF0YSBsYWJlbHNcclxuICAgICAgICAgICAgdGQ6bnRoLW9mLXR5cGUoMSk6YmVmb3JlIHsgXHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlByb2R1Y3RcIjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQ6bnRoLW9mLXR5cGUoMik6YmVmb3JlIHsgXHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlF1YW50aXR5XCI7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkOm50aC1vZi10eXBlKDMpOmJlZm9yZSB7IFxyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJQcmljZVwiOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZDpudGgtb2YtdHlwZSg0KTpiZWZvcmUgeyBcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiVG90YWxcIjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9TdWJ0YWJsZVxyXG4uc3ViLXRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAuc3VidG90YWwsIC52YXQge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleS1ib2xkO1xyXG4gICAgfVxyXG4gICAgLnRvdGFsIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXNpemU6IDk1JTtcclxuICAgICAgICBjb2xvcjogJGRhcmstdGV4dDtcclxuICAgIH1cclxuICAgIC5zdWJ0b3RhbC12YWx1ZSwgLnZhdC12YWx1ZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LXNpemU6IDgwJTtcclxuICAgICAgICBjb2xvcjogJGRhcmstdGV4dDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICckJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiA4MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvdGFsLXZhbHVlIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICckJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiA4MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfcGFnZWxvYWRlci5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5QYWdlbG9hZGVyIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBQYWdlbG9hZGVyXHJcbjEuIEtleWZyYW1lc1xyXG4yLiBJbmZyYWxvYWRlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBQYWdlbG9hZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ucGFnZWxvYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDgwcHg7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFkZS1ncmV5O1xyXG4gICAgei1pbmRleDogOTk5OTk4O1xyXG4gICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzIGVhc2Utb3V0O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcbiAgICAvL0FjdGl2ZSBzdGF0ZVxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICAgIC8vRnVsbHdpZHRoIG1vZGlmaWVyXHJcbiAgICAmLmlzLWZ1bGwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5pcy1kZW1vIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM2YTExY2IgMCUsICMyNTc1ZmMgMTAwJSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciwgJjo6YmVmb3JlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB6LWluZGV4OiA5OTk5OTk7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xMDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcclxuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwYWdlLWxvYWRlci1pbm5lciAxLjVzIGluZmluaXRlIGVhc2Utb3V0O1xyXG4gICAgICAgIGFuaW1hdGlvbjogcGFnZS1sb2FkZXItaW5uZXIgMS41cyBpbmZpbml0ZSBlYXNlLW91dDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogcGFnZS1sb2FkZXItb3V0ZXIgMS41cyBpbmZpbml0ZSBlYXNlLWluO1xyXG4gICAgICAgIGFuaW1hdGlvbjogcGFnZS1sb2FkZXItb3V0ZXIgMS41cyBpbmZpbml0ZSBlYXNlLWluO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBLZXlmcmFtZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBwYWdlLWxvYWRlci1pbm5lciB7XHJcbiAgICAwJSw0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcGFnZS1sb2FkZXItaW5uZXIge1xyXG4gICAgMCUsNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcGFnZS1sb2FkZXItb3V0ZXIge1xyXG4gICAgMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUsNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHBhZ2UtbG9hZGVyLW91dGVyIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlLDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gSW5mcmFsb2FkZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pbmZyYWxvYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDgwcHg7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zNXM7XHJcbiAgICAvL0FjdGl2ZSBzdGF0ZVxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgei1pbmRleDogOTk5OTk3O1xyXG4gICAgfVxyXG4gICAgLy9GdWxsd2lkdGggbW9kaWZpZXJcclxuICAgICYuaXMtZnVsbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLyohIF9lbGVtZW50cy5zY3NzIHwgTmVwaG9zIHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5OZXBob3MgZWxlbWVudHMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIExheW91dFxyXG4xLiBJbnB1dHNcclxuMi4gTmF0aXZlIFNlbGVjdHNcclxuMy4gQ2hvc2VuIFNlbGVjdHNcclxuNC4gQXV0b2NvbXBsZXRlXHJcbjUuIFNwaW5uZXJcclxuNi4gVGFic1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBMYXlvdXRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vRWxlbWVudCBjYXJkIHNlbGVjdG9yXHJcbi5pcy1lbGVtZW50LWNhcmQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgIC8vdGl0bGVcclxuICAgIC5lbGVtZW50LWNhcmQtdGl0bGUge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgIH1cclxuICAgIC8vYnV0dG9uXHJcbiAgICAudmlldy1lbGVtZW50IHtcclxuICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL01haW4gRWxlbWVudCBjYXJkXHJcbi5pcy1lbGVtZW50LWRldGFpbHMge1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgLy9vdmVyZmxvdyBtb2RpZmllclxyXG4gICAgJi5oYXMtb3ZlcmZsb3cge1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY29sdW1ucy5pcy1nYXBsZXNzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhcjtcclxuICAgIH1cclxuICAgIC5pcy1jb21wb25lbnQsIC5pcy1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgLmlubmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NvbXBvbmVudCBzaWRlXHJcbiAgICAuaXMtY29tcG9uZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWdyZXkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc21va2Utd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9kZXNjcmlwdGlvbiBzaWRlXHJcbiAgICAuaXMtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiAkc21va2Utd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICAuZGl2aWRlciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMS42cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzbW9rZS13aGl0ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc21va2Utd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2RlIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmNjMDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL1NwYWNlciBlbGVtZW50XHJcbi5zcGFjZXIge1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBJbnB1dHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vVmFsaWRhdGlvblxyXG4uY29udHJvbCB7XHJcbiAgICAmLnJlcXVpcmVkIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmlucHV0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9pY29uXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBzdHJva2Utd2lkdGg6IDIuNHB4O1xyXG4gICAgICAgICAgICAmLnN1Y2Nlc3MtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRncmVlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmVycm9yLWljb24ge1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAkcmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYud2FybmluZy1pY29uIHtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogJG9yYW5nZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL1N0YXR1c1xyXG4gICAgICAgIC5zdGF0dXMtdGV4dCB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2MCU7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICYuc3VjY2Vzcy10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi53YXJuaW5nLXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5lcnJvci10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL3N1Y2Nlc3MgbW9kaWZpZXJcclxuICAgICAgICAmLmhhcy1zdWNjZXNzIHtcclxuICAgICAgICAgICAgLmlucHV0IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdyZWVuICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN1Y2Nlc3MtaWNvbiwgLnN1Y2Nlc3MtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL3dhcm5pbmcgbW9kaWZpZXJcclxuICAgICAgICAmLmhhcy13YXJuaW5nIHtcclxuICAgICAgICAgICAgLmlucHV0IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG9yYW5nZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC53YXJuaW5nLWljb24sIC53YXJuaW5nLXRleHQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9lcnJvciBtb2RpZmllclxyXG4gICAgICAgICYuaGFzLWVycm9yIHtcclxuICAgICAgICAgICAgLmlucHV0IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHJlZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lcnJvci1pY29uLCAuZXJyb3ItdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQWRkb24gbW9kaWZpZXJcclxuICAgICYuaGFzLWFkZG9uIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy9CbG9jayBtb2RpZmllclxyXG4gICAgICAgICYuaGFzLWJsb2NrIHtcclxuICAgICAgICAgICAgLmlucHV0IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmlucHV0LWJsb2NrIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9CdXR0b24gbW9kaWZpZXJcclxuICAgICAgICAmLmhhcy1idXR0b24ge1xyXG4gICAgICAgICAgICAuaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW5wdXQtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuN3JlbTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAzcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcztcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0ljb24gbW9kaWZpZXJcclxuICAgICAgICAmLmhhcy1pY29uIHtcclxuICAgICAgICAgICAgLmlucHV0IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgKyBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDdweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIFNlbGVjdHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vTmF0aXZlIHNlbGVjdHNcclxuLmNvbnRyb2wge1xyXG4gICAgJi5oYXMtc2VsZWN0LWljb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogN3B4O1xyXG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI2NjYztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0eWxlZFNlbGVjdCB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDM2cHggIWltcG9ydGFudFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWxvYWRpbmc6OmFmdGVyIHtcclxuICAgICAgICAgICAgbGVmdDogLjYyNWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRvcDogLjQ5ZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vSGlkZSBuYXRpdmUgaW5wdXRcclxuLnMtaGlkZGVuIHtcclxuICAgIHZpc2liaWxpdHk6aGlkZGVuO1xyXG4gICAgcGFkZGluZy1yaWdodDoxMHB4O1xyXG59XHJcblxyXG4uc2VsZWN0Om5vdCguaXMtbXVsdGlwbGUpIHtcclxuICAgIGhlaWdodDogMi44NWVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vU2VsZWN0IHN0eWxlc1xyXG4uc2VsZWN0IHtcclxuICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgZm9udDpub3JtYWwgMTFweC8yMnB4IEFyaWFsLCBTYW5zLVNlcmlmO1xyXG4gICAgY29sb3I6YmxhY2s7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICNjY2M7IFxyXG59XHJcbi5zdHlsZWRTZWxlY3Qge1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB0b3A6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBib3R0b206MDtcclxuICAgIGxlZnQ6MDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgIHBhZGRpbmc6MCAxMHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uc3R5bGVkU2VsZWN0OmFjdGl2ZSwgLnN0eWxlZFNlbGVjdC5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNtb2tlLXdoaXRlO1xyXG59XHJcbi8vT3B0aW9ucyBzdHlsZXNcclxuLm9wdGlvbnMge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB0b3A6MTAwJTtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICB6LWluZGV4Ojk5OTtcclxuICAgIG1hcmdpbjowIDA7XHJcbiAgICBwYWRkaW5nOjAgMDtcclxuICAgIGxpc3Qtc3R5bGU6bm9uZTtcclxuICAgIGJvcmRlcjoxcHggc29saWQgI2NjYztcclxuICAgIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgIC1tb3otYm94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgYm94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG59XHJcbi5vcHRpb25zIGxpIHtcclxuICAgIHBhZGRpbmc6NXB4IDZweDtcclxuICAgIG1hcmdpbjowIDA7XHJcbiAgICBwYWRkaW5nOjVweCAxMHB4O1xyXG59XHJcbi5vcHRpb25zIGxpOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gQ2hvc2VuIFNlbGVjdHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vTG9hZGluZyBzdGF0ZVxyXG4uY29udHJvbC5pcy1sb2FkaW5nLmlzLXByZWxvYWRpbmcge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgbGVmdDogLjYyNWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiAwLjhlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5uYXRpdmUge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0b3A6IDAuNWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNob3Nlbi1zaW5nbGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzZweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vL1N0eWxlcyBmb3Igc2VsZWN0IG11bHRpcGxlXHJcbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDEwcHggMTJweCAxMHB4IC04cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UgLnNlYXJjaC1jaG9pY2UtY2xvc2Uge1xyXG4gICAgdG9wOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gQXV0b2NvbXBsZXRlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZWFzeS1hdXRvY29tcGxldGUge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy9CYXNlIGNsYXNzXHJcbi5hdXRvY3BsIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC8vY29udGFpbmVyXHJcbiAgICAuZWFzeS1hdXRvY29tcGxldGUtY29udGFpbmVyICB7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3RlbXBsYXRlLXdyYXBwZXJcclxuLnRlbXBsYXRlLXdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC8vYXZhdGFyXHJcbiAgICAuYXV0b2NwbC1hdmF0YXIge1xyXG4gICAgICAgIHdpZHRoOiAzNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5hdXRvY3BsLXByb2R1Y3Qge1xyXG4gICAgICAgIHdpZHRoOiAzNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL3RleHRcclxuICAgIC5lbnRyeS10ZXh0IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjUuIFNwaW5uZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vU3Bpbm5lciB3cmFwcGVyXHJcbi5zcGlubmVyLWNvbnRyb2wge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAvL2lucHV0XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2VjZWNlO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2VjZWNlO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJjpmb2N1cywgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHNtb2tlLXdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc21va2Utd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9idXR0b25cclxuICAgIC5zcGlubmVyLWJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDM2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRmYWRlLWdyZXk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NlY2VjZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgLy9pY29uXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAxLjZweDtcclxuICAgICAgICAgICAgc3Ryb2tlOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2xlZnQgYnV0dG9uIHJhZGl1c1xyXG4gICAgLmlucHV0LWdyb3VwLXByZXBlbmQge1xyXG4gICAgICAgIC5zcGlubmVyLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vcmlnaHQgYnV0dG9uIHJhZGl1c1xyXG4gICAgLmlucHV0LWdyb3VwLWFwcGVuZCB7XHJcbiAgICAgICAgLnNwaW5uZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG42LiBUYWJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL1NldHRpbmcgY29sb3JzIGFuZCB0eXBvZ3JhcGh5XHJcbi50YWJzLXdyYXBwZXIge1xyXG4gICAgJi51bmRlcmxpbmUtdGFicyB7XHJcbiAgICAgICAgLnRhYnMgdWwgbGkge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5OyAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmF2dGFiLWNvbnRlbnQge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgIH1cclxufSIsIi8qISBfdXRpbHMuc2NzcyB8IE5lcGhvcyB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuVXRpbHMgYW5kIE1pc2NlbGxhbmVvdXMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEFjdGlvbiBCYXJcclxuMS4gTW9iaWxlIE5hdmJhclxyXG4yLiBUYWJzXHJcbjMuIFN3aXRjaFxyXG40LiBQb3BvdmVyc1xyXG41LiBIZWxwZXJzXHJcbjYuIEZhZGUgaW4gVXAgYW5pbWF0aW9uXHJcbjcuIFRyYW5zbGF0ZSBMZWZ0IGFuaW1hdGlvblxyXG44LiBGYWRlIEluIExlZnQgYW5pbWF0aW9uXHJcbjkuIEdlbGF0aW5lIGFuaW1hdGlvblxyXG4xMC4gU2NhbGUgaW4gYW5pbWF0aW9uXHJcbjExLiBTY2FsZSBvdXQgYW5pbWF0aW9uXHJcbjEyLiBMZXZpdGF0ZSBhbmltYXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQWN0aW9uIEJhclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmFjdGlvbi1iYXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xyXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICYuaXMtY2VudGVyZWQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIE1vYmlsZSBOYXZiYXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vTW9iaWxlIG1vZGUgbmF2YmFyXHJcbi5tb2JpbGUtbmF2YmFyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDhweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgIC8vQWN0aXZlIFN0YXRlXHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gICAgLy9OYXZiYXIgaXRlbVxyXG4gICAgLm5hdmJhci1pdGVtIHtcclxuICAgICAgICAvL0ljb24gbW9kaWZpZXJcclxuICAgICAgICAmLmlzLWljb24ge1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAxLjZweDtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9TaWRlYmFyIHRvZ2dsZXJcclxuICAgICAgICAmLmlzLXNpZGViYXItdG9nZ2xlciB7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRtdXRlZC1ncmV5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9GbGV4IHNob3J0Y3V0XHJcbiAgICAgICAgJi5pcy1mbGV4IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgJi5tZW51LWJhZGdlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL01lbnUgSGFtYnVyZ2VyXHJcbiAgICAubmF2YmFyLWJ1cmdlcjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMDIpO1xyXG4gICAgfVxyXG4gICAgLm5hdmJhci1idXJnZXIgc3BhbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbiAgICAvL05hdmJhciBSZXNwb25zaXZlIG1lbnVcclxuICAgIC5uYXZiYXItbWVudSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXI7XHJcbiAgICAgICAgLm5hdmJhci1pdGVtLCAubmF2YmFyLWxpbmsge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL0xpbmtcclxuICAgICAgICAubmF2YmFyLWxpbmsge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAgbGlnaHRlbigkc2lkZWJhciwgMTAlKTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMS4ycHg7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgJi5pcy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vTW9iaWxlIERyb3Bkb3duXHJcbiAgICAgICAgLm5hdmJhci1kcm9wZG93biAubmF2YmFyLWl0ZW0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDkwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogLjc1cmVtIDEuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmLmlzLWF0Y2l2ZSwgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRzaWRlYmFyLCAxMCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBUYWJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGFicy13cmFwcGVyIHtcclxuICAgIC50YWJzIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLy9mYWRlZCB0YWJzXHJcbiAgICAmLmFuaW1hdGVkLXRhYnMge1xyXG4gICAgICAgIC5uYXZ0YWItY29udGVudCB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy90cmFuc2xhdGVkIHRhYnNcclxuICAgICYudHJhbnNsYXRlZC10YWJzIHtcclxuICAgICAgICAubmF2dGFiLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogdHJhbnNsYXRlTGVmdDtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vbmF2dGFiIGNvbnRlbnRcclxuICAgIC5uYXZ0YWItY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDE5MHB4O1xyXG4gICAgfVxyXG4gICAgLy9hY3RpdmUgc3RhdGVcclxuICAgIC5uYXZ0YWItY29udGVudC5pcy1hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBTd2l0Y2hcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mb3JtLXN3aXRjaCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgIGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcclxuICAgICAgICB3aWR0aDogNDZweDtcclxuICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyM3B4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDQycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMXB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJweCwycHgsMCkgc2NhbGUzZCgxLDEsMSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBsaW5lYXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMXB4O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCAycHggcmdiYSgwLDAsMCwwLjI0KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgycHgsMnB4LDApO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGk6OmFmdGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMnB4LDJweCwwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgJjpjaGVja2VkICsgaTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNnB4LDJweCwwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAgICY6Y2hlY2tlZCArIGkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE4cHgsMnB4LDApIHNjYWxlM2QoMCwwLDApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIycHgsMnB4LDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG40LiBQb3BvdmVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLndlYnVpLXBvcG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjA0KSAwcHggM3B4IDEwcHggNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhciAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjBweCAhaW1wb3J0YW50O1xyXG4gICAgJi50b3AgPiAud2VidWktYXJyb3cge1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL0Fycm93XHJcbiAgICAud2VidWktYXJyb3cge1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9UaXRsZVxyXG4gICAgLndlYnVpLXBvcG92ZXItdGl0bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcbiAgICAvL2NvbnRlbnRcclxuICAgIC53ZWJ1aS1wb3BvdmVyLWNvbnRlbnQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLnBvcG92ZXItZmxleC1ibG9jayB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgICAgIC5zdGFmZi1hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM4cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9CbG9ja1xyXG4gICAgICAgICAgICAuY29udGVudC1ibG9jayB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIGxhYmVsLCBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkc2lkZWJhciwgMzUlKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNzAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mYS5mYS1zdGFyLCAuZmEuZmEtc3Rhci1oYWxmIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZENzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pY29uLWJsb2NrIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzhweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzOHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMS4zcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1tZWRpdW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNS4gSGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmlzLXZoaWRkZW4ge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pcy1oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaXMtZGlzYWJsZWQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm10LTgwIHtcclxuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlzLXNwYWNlLWJldHdlZW4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50ZXh0LWJvbGQtMSB7XHJcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tbC01IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudDtcclxufVxyXG4ubXItNSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubGlnaHQtdGV4dCB7XHJcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjYuIEZhZGUgaW4gVXAgYW5pbWF0aW9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYW5pbWF0ZWQge1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4vL0tleWZyYW1lc1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4ucHJlRmFkZUluVXAge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLmZhZGVJblVwIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gVHJhbnNsYXRlIExlZnQgYW5pbWF0aW9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0tleWZyYW1lc1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgdHJhbnNsYXRlTGVmdCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHRyYW5zbGF0ZUxlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4udHJhbnNsYXRlTGVmdCB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0cmFuc2xhdGVMZWZ0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHRyYW5zbGF0ZUxlZnQ7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xyXG4gICAgdHJhbnNpdGlvbjogICAgICAgICBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjguIEZhZGUgSW4gTGVmdCBhbmltYXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnByZUZhZGVJbkxlZnQge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLmZhZGVJbkxlZnQge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsgICAgXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjkuIEdlbGF0aW5lIGFuaW1hdGlvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGdlbGF0aW5lIHtcclxuICAgIGZyb20sIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpOyB9XHJcbiAgICAyNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45LCAxLjEpOyB9XHJcbiAgICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xLCAwLjkpOyB9XHJcbiAgICA3NSUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45NSwgMS4wNSk7IH1cclxufVxyXG5Aa2V5ZnJhbWVzIGdlbGF0aW5lIHtcclxuICAgIGZyb20sIHRvIHsgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsgfVxyXG4gICAgMjUlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjksIDEuMSk7IH1cclxuICAgIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xLCAwLjkpOyB9XHJcbiAgICA3NSUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTUsIDEuMDUpOyB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4uZ2VsYXRpbmUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGdlbGF0aW5lIDAuNnM7XHJcbiAgICBhbmltYXRpb246IGdlbGF0aW5lIDAuNnM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEwLiBTY2FsZSBpbiBhbmltYXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZUluIHtcclxuICAgIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxuICAgIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbn1cclxuQGtleWZyYW1lcyBzY2FsZUluIHtcclxuICAgIGZyb20geyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbiAgICB0byB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxufVxyXG4vL1NldHRpbmdzXHJcbi5zY2FsZUluIHtcclxuICAgIC8qIC4uLiAqL1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNjYWxlSW4gMC41cztcclxuICAgIGFuaW1hdGlvbjogc2NhbGVJbiAwLjVzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTEuIFNjYWxlIG91dCBhbmltYXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZU91dCB7XHJcbiAgICBmcm9tIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICB0byB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcbkBrZXlmcmFtZXMgc2NhbGVPdXQge1xyXG4gICAgZnJvbSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIHRvIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnNjYWxlT3V0IHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzY2FsZU91dCAwLjZzO1xyXG4gICAgYW5pbWF0aW9uOiBzY2FsZU91dCAwLjZzO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMi4gTGV2aXRhdGUgYW5pbWF0aW9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0tleWZyYW1lc1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGV2aXRhdGUge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxyXG4gICAgNTAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpOyB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfSB9XHJcblxyXG5Aa2V5ZnJhbWVzIGxldml0YXRlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTsgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH0gfVxyXG4vL1NldHRpbmdzXHJcbi5sZXZpdGF0ZSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsZXZpdGF0ZTtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBsZXZpdGF0ZTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbn0iLCIvKiEgX3Jlc3BvbnNpdmUuc2NzcyB8IE5lcGhvcyB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuTmVwaG9zIEdsb2JhbCBNZWRpYSBRdWVyaWVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEhEIFRhYmxldCBwb3J0cmFpdCBvbmx5XHJcbjEuIFRhYmxldCBMYW5kc2NhcGVcclxuMi4gVGFibGV0IFBvcnRyYWl0XHJcbjMuIE1vYmlsZSBPbmx5XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEhEIFRhYmxldCBwb3J0cmFpdCBvbmx5XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogMTAyNHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiAxMzY2cHgpIGFuZCAob3JpZW50YXRpb24gOiBwb3J0cmFpdCkge1xyXG4gICAgLy9GdWxsc2NyZWVuIHNsaWRlclxyXG4gICAgLmZ1bGxzY3JlZW4tc2xpY2sge1xyXG4gICAgICAgIC5mdWxsLXNsaWRlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2RvdHNcclxuICAgICAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vTWFpbiB3cmFwcGVyXHJcbiAgICAuc2hvcC13cmFwcGVyIHtcclxuICAgICAgICAuaXMtdGFibGV0LWxhbmRzY2FwZS1wYWRkZWQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNS4zMzMzMyUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIFRhYmxldCBMYW5kc2NhcGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGggOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7IFxyXG4gICAgLy9NYWluIHdyYXBwZXJcclxuICAgIC5zaG9wLXdyYXBwZXIge1xyXG4gICAgICAgIC8vVGFibGV0IEFkanVzdG1lbnRzXHJcbiAgICAgICAgLmlzLXRhYmxldC1sYW5kc2NhcGUtcGFkZGVkIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pcy1pbnZvaWNlLWxhbmRzY2FwZS1wYWRkZWQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3Byb2R1Y3QgcGFnZVxyXG4gICAgLnByb2R1Y3QtcGFuZWwge1xyXG4gICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgLy9MaWtlc1xyXG4gICAgICAgIC5saWtlcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vRGV0YWlsZWQgZGVzY3JpcHRpb25cclxuICAgICAgICAuZGV0YWlsZWQtZGVzY3JpcHRpb24sIC5wcm9kdWN0LXJhdGluZ3Mge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL0ltYWdlXHJcbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MCUgMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vUHJvZHVjdCBpbmZvIHBhbmVsXHJcbiAgICAucHJvZHVjdC1pbmZvLXBhbmVsIHtcclxuICAgICAgICB3aWR0aDogNjUlO1xyXG4gICAgICAgIC5jYXRlZ29yeS10aXRsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gVGFibGV0IFBvcnRyYWl0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aCA6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSB7IFxyXG4gICAgLy9GdWxsc2NyZWVuIFNsaWRlclxyXG4gICAgLmZ1bGxzY3JlZW4tc2xpY2sge1xyXG4gICAgICAgIC5mdWxsLXNsaWRlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vSGVybyBDYXB0aW9uXHJcbiAgICAuaGVyby1jYXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAxNjBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuYmFja2dyb3VuZC1jYXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiA5MHB4IDAgIWltcG9ydGFudFxyXG4gICAgfVxyXG4gICAgLy9NYWluIFNpZGViYXJcclxuICAgIC5tYWluLXNpZGViYXIge1xyXG4gICAgICAgICYuaXMtcHVzaGVkLW1vYmlsZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtODFweCkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1Nob3AgbWFpbiB3cmFwcGVyXHJcbiAgICAuc2hvcC13cmFwcGVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL0ZBQlxyXG4gICAgLm1lbnUtZmFiIHtcclxuICAgICAgICB0b3A6IDgwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vQ2F0ZWdvcnkgdGl0bGVcclxuICAgIC5jYXRlZ29yeS10aXRsZSB7XHJcbiAgICAgICAgLmJyYW5kLWZpbGlncmFuZSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0yNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9UaWxlc1xyXG4gICAgLnRpbGUge1xyXG4gICAgICAgIC8vQmFja2dyb3VuZCBpbWFnZSBtb2RpZmllclxyXG4gICAgICAgICYuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAudGlsZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjYwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICYuaXMtc21hbGwge1xyXG4gICAgICAgICAgICAgICAgICAgIC5kaXZpZGVyLCBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucHJvZHVjdHMge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9Mb25nIGNhcmRcclxuICAgIC5mbGF0LWNhcmQuaXMtbG9uZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgLmxlZnQtaW1hZ2UsIC5sZWZ0LWltYWdlLmlzLW1kIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb2R1Y3QtaW5mbyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC44cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1Byb2R1Y3QgcGFnZVxyXG4gICAgLnByb2R1Y3QtcGFuZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAucGFuZWwtaGVhZGVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAubGlrZXMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0ltYWdlXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL0Rlc2NyaXB0aW9uXHJcbiAgICAgICAgLmRldGFpbGVkLWRlc2NyaXB0aW9uLCAucHJvZHVjdC1yYXRpbmdzIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNzV2aCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9BY3Rpb25zXHJcbiAgICAgICAgLnByb2R1Y3QtYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3R0b206IDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0luZm8gcGFuZWxcclxuICAgIC5wcm9kdWN0LWluZm8tcGFuZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAuaW5uZXItcGFuZWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAvL0hlYWRlclxyXG4gICAgICAgICAgICAucGFuZWwtaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAuY2F0ZWdvcnktdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmNhdGVnb3J5LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL0JvZHlcclxuICAgICAgICAgICAgLnBhbmVsLWJvZHkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4IDQwcHggNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy9Db250cm9sc1xyXG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtY29udHJvbHMge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdC1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmFkZC10by1jYXJ0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9Gb290ZXJcclxuICAgICAgICAgICAgLnBhbmVsLWZvb3RlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIC5mb290ZXItaW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9SZWNvbW1lbmRlZCBpdGVtcyB0aXRsZVxyXG4gICAgICAgICAgICAgICAgICAgIC5yZWNvbW1lbmRlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ2FydFxyXG4gICAgLmNhcnQtY2FyZCB7XHJcbiAgICAgICAgLmFjdGlvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0FjdGlvbiBiYXJcclxuICAgIC5hY3Rpb24tYmFyIHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL0F1aHRuZXRpY2F0aW9uXHJcbiAgICAuaXMtYXV0aCB7XHJcbiAgICAgICAgcGFkZGluZzogMTAwcHggMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gTW9iaWxlIE9ubHlcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLy9GdWxsc2NyZWVuIFNsaWRlclxyXG4gICAgLmZ1bGxzY3JlZW4tc2xpY2sge1xyXG4gICAgICAgIC5mdWxsLXNsaWRlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL0RvdHNcclxuICAgICAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgICBib3R0b206IDI0cHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3NpZGViYXIgXHJcbiAgICAubWFpbi1zaWRlYmFyIHtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAvL0JyYW5kXHJcbiAgICAgICAgLnNpZGViYXItYnJhbmQge1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24tbWVudSwgLmJvdHRvbS1tZW51IHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vTmF2YmFyXHJcbiAgICAubmF2YmFyLWxpbmsge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5uYXZiYXItZHJvcGRvd24ge1xyXG5cclxuICAgIH1cclxuICAgIC8vRkFCXHJcbiAgICAubWVudS1mYWIge1xyXG4gICAgICAgIHRvcDogNzJweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy93cmFwcGVyXHJcbiAgICAuc2hvcC13cmFwcGVyIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XHJcbiAgICAgICAgJi5pcy1tb2JpbGUtbW9kZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9wYWdlbG9hZGVyXHJcbiAgICAucGFnZWxvYWRlciwgLmluZnJhbG9hZGVyIHtcclxuICAgICAgICBsZWZ0OiA2MHB4O1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcclxuICAgICAgICAmLmlzLWZ1bGwge1xyXG4gICAgICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9DYXB0aW9uXHJcbiAgICAuaGVyby1jYXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHggIWltcG9ydGFudDtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9CYWNrZ3JvdW5kIENhcHRpb25cclxuICAgIC5iYWNrZ3JvdW5kLWNhcHRpb24ge1xyXG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA3NnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDZyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3NlYXJjaFxyXG4gICAgLnNlYXJjaC1pbnB1dC13cmFwcGVyLmlzLWRlc2t0b3Age1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xyXG4gICAgICAgIC5maWVsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNSU7XHJcbiAgICAgICAgICAgIHRvcDogMjIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VhcmNoLWhlbHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL0NsZWFyIHNlYXJjaCBidXR0b25cclxuICAgICAgICAjY2xlYXItc2VhcmNoIHtcclxuICAgICAgICAgICAgdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vcHJvZHVjdCBncmlkXHJcbiAgICAuaXMtcHJvZHVjdC1ncmlkIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAuY29sdW1uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogLjE1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9DYXRlZ29yeSB0aXRsZVxyXG4gICAgLmNhdGVnb3J5LXRpdGxlIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy9JY29uXHJcbiAgICAgICAgLmNhdGVnb3J5LWljb24ge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQnJhbmQgbG9nbyBmaWxpZ3JhbmVcclxuICAgICAgICAuYnJhbmQtZmlsaWdyYW5lIHtcclxuICAgICAgICAgICAgdG9wOiAtMTZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBsZWZ0OiAtMjVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDU4cHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0xvbmcgY2FyZFxyXG4gICAgLmZsYXQtY2FyZC5pcy1sb25nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAubGVmdC1pbWFnZSwgLmxlZnQtaW1hZ2UuaXMtbWQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvZHVjdC1pbmZvIGgzIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vc2hvcCBxdWlja3ZpZXdcclxuICAgIC5zaG9wLXF1aWNrdmlldyB7XHJcbiAgICAgICAgbGVmdDogNjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiAyNjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjYxcHgpO1xyXG4gICAgfVxyXG4gICAgLy9jYXJ0IHF1aWNrdmlld1xyXG4gICAgLmNhcnQtcXVpY2t2aWV3IHtcclxuICAgICAgICBsZWZ0OiA2MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xMDAlIC0gNjBweCkpO1xyXG4gICAgfVxyXG4gICAgLy9maWx0ZXJzIHF1aWNrdmlld1xyXG4gICAgLmZpbHRlcnMtcXVpY2t2aWV3IHtcclxuICAgICAgICBsZWZ0OiA2MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xMDAlIC0gNjBweCkpO1xyXG4gICAgfVxyXG4gICAgLy9yYW5nZSBmaWx0ZXJcclxuICAgIC5yYW5nZS1zbGlkZXIge1xyXG4gICAgICAgIHdpZHRoOiAyMDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC5pbnB1dC1yYW5nZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vUHJvZHVjdCBwYWdlXHJcbiAgICAucHJvZHVjdC1wYW5lbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC5wYW5lbC1oZWFkZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIC5saWtlcyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZGV0YWlsZWQtZGVzY3JpcHRpb24sIC5wcm9kdWN0LXJhdGluZ3Mge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcwdmggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9kdWN0LWFjdGlvbnMge1xyXG4gICAgICAgICAgICBib3R0b206IDMwcHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0luZm8gcGFuZWxcclxuICAgIC5wcm9kdWN0LWluZm8tcGFuZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAuaW5uZXItcGFuZWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAucGFuZWwtaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICAgICAgICAgIC5jYXRlZ29yeS10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgc3Zne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vQm9keVxyXG4gICAgICAgICAgICAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtY29udHJvbHMge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmFkZC10by1jYXJ0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9Gb290ZXJcclxuICAgICAgICAgICAgLnBhbmVsLWZvb3RlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIC5mb290ZXItaW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLnJlY29tbWVuZGVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdC1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9BY2NvdW50IGdyaWRcclxuICAgIC5pcy1hY2NvdW50LWdyaWQge1xyXG4gICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAuNzVyZW0gLjI1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY291bnQtdGl0bGUge1xyXG4gICAgICAgIC5icmFuZC1maWxpZ3JhbmUge1xyXG4gICAgICAgICAgICB0b3A6IC04cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbGVmdDogLTI1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9Qcm9maWxlIFxyXG4gICAgLnByb2ZpbGUtaW5mby1jYXJkIHtcclxuICAgICAgICAuY2FyZC10aXRsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1dpc2hsaXN0XHJcbiAgICAud2lzaGxpc3QtY2FyZCB7XHJcbiAgICAgICAgLml0ZW0td3JhcHBlciB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcm9kdWN0LWluZm8ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAlKSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLndpc2hsaXN0LWl0ZW0ge1xyXG4gICAgICAgIC5hY3Rpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9BY3Rpb24gYmFyXHJcbiAgICAuYWN0aW9uLWJhciB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vSW52b2ljZVxyXG4gICAgLmludm9pY2Utd3JhcHBlciB7XHJcbiAgICAgICAgcGFkZGluZzogLjc1cmVtIDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5pbnZvaWNlIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy9Mb2dpbi9SZWdpc3RlclxyXG4gICAgLmZsYXQtY2FyZC5pcy1hdXRoLWZvcm0ge1xyXG4gICAgICAgIC5jb2x1bW5zIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcblxyXG4gICAgLy9UaWxlc1xyXG4gICAgLnRpbGUge1xyXG4gICAgICAgICYuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAudGlsZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjYwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICYuaXMtc21hbGwge1xyXG4gICAgICAgICAgICAgICAgICAgIC5kaXZpZGVyLCBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucHJvZHVjdHMge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vTGlzdCBwcm9kdWN0c1xyXG4gICAgLmZsYXQtY2FyZCB7XHJcbiAgICAgICAgJi5pcy1saXN0LWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC5wcm9kdWN0LWluZm8ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlzLXByb2R1Y3QtZ3JpZCB7XHJcbiAgICAgICAgLnByb2R1Y3QtaW5mbyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0NhcnQgcGFnZVxyXG4gICAgLmNhcnQtY2FyZCB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgLnByb2R1Y3QtaW5mbywgLnByb2R1Y3QtcHJpY2UsIC5wcm9kdWN0LXF1YW50aXR5LCAuYWN0aW9uIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByb2R1Y3QtcHJpY2Ugc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICAuYWN0aW9uLWxpbmsge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAycHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vT3JkZXJzXHJcbiAgICAub3JkZXItbGlzdC1jYXJkIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL0NoZWNrb3V0XHJcbiAgICAuY2hlY2tvdXQtdGl0bGUge1xyXG4gICAgICAgIC5icmFuZC1maWxpZ3JhbmUge1xyXG4gICAgICAgICAgICBsZWZ0OiAtMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQWNpb24gQmFyXHJcbiAgICAuYWN0aW9uLWJhciB7XHJcbiAgICAgICAgJi5pcy1tb2JpbGUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ2hlY2tvdXQgd3JhcHBlcnNcclxuICAgIC5jdXN0b21lci13cmFwcGVyLCAudmVyaWZpY2F0aW9uLXdyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5zaGlwcGluZy13cmFwcGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5wYXltZW50LXdyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgI3BheW1lbnQtbWV0aG9kcyB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL0pzIENyZWRpdCBDYXJkXHJcbiAgICAuanAtY2FyZCB7XHJcbiAgICAgICAgbGVmdDogLTE4cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vT3JkZXIgY29tcGxldGUgY2FyZFxyXG4gICAgLnRoYW5rcy1jYXJkIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9BdXRoXHJcbiAgICAuYXV0aC10aXRsZSB7XHJcbiAgICAgICAgLmJyYW5kLWZpbGlncmFuZSB7XHJcbiAgICAgICAgICAgIHRvcDogLTEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbGVmdDogLTE2cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1OHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9BdXRoZW50aWNhdGlvbiBmb3JtIHBhZGRpbmdcclxuICAgIC5pcy1hdXRoLWZvcm0gLmNvbHVtbi5pcy1tb2JpbGUtcGFkZGVkIHtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufSJdfQ== */