@font-face {
    font-family: 'titillium';
    src: url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-regular-webfont.eot');
    src: url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-regular-webfont.eot?#iefix') format('embedded-opentype'), url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-regular-webfont.woff') format('woff'), url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-regular-webfont.ttf') format('truetype'), url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-regular-webfont.svg#titillium_webregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'titillium';
    src: url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-bold-webfont.eot');
    src: url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-bold-webfont.eot?#iefix') format('embedded-opentype'), url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-bold-webfont.woff') format('woff'), url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-bold-webfont.ttf') format('truetype'), url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-bold-webfont.svg#titillium_webbold') format('svg');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'titillium';
    src: url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-italic-webfont.eot');
    src: url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-italic-webfont.eot?#iefix') format('embedded-opentype'), url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-italic-webfont.woff') format('woff'), url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-italic-webfont.ttf') format('truetype'), url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-italic-webfont.svg#titillium_webbold') format('svg');
    font-style: italic;
}

/*Ikoner*/
@font-face {
    font-family: 'icons';
    src: url('/ka-dist/assets/fonts/fuauIntranet.eot');
    src: url('/ka-dist/assets/fonts/fuauIntranet.eot?#iefix') format('embedded-opentype'), url('/ka-dist/assets/fonts/fuauIntranet.ttf') format('truetype'), url('/ka-dist/assets/fonts/fuauIntranet.woff') format('woff'), url('/ka-dist/assets/fonts/fuauIntranet.svg#fuauIntranet') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* Material Design Icons */
@font-face {
    font-family: 'Material Design Icons';
    src: url('/ka-dist/assets/fonts/materialdesignicons-webfont.eot');
    src: url('/ka-dist/assets/fonts/materialdesignicons-webfont.eot?#iefix') format('embedded-opentype'), url('/ka-dist/assets/fonts/materialdesignicons-webfont.ttf') format('truetype'), url('/ka-dist/assets/fonts/materialdesignicons-webfont.woff') format('woff'), url('/ka-dist/assets/fonts/materialdesignicons-webfont.svg#materialdesignicons-webfont') format('svg');
    font-weight: normal;
    font-style: normal;
}

[class^="icon-"],
[class*=" icon-"] {
    font-family: 'icons';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: rgba(162, 162, 162, 0.75);
}

.icon-icon_9094:before {
    content: "\e614";
}

.icon-decline-icon:before {
    content: "\e612";
}

.icon-accept-icon:before {
    content: "\e613";
}

.icon-contract:before {
    content: "\e611";
}

.icon-Favorite-icon:before {
    content: "\e610";
}

.icon-Create-multi-icon:before {
    content: "\e60f";
}

.icon-Folder-closed-icon:before {
    content: "\e60b";
}

.icon-Img-icon:before {
    content: "\e60c";
}

.icon-Folder-open-icon:before {
    content: "\e60d";
}

.icon-Doc-icon:before {
    content: "\e60e";
}

.icon-Cal-icon:before {
    content: "\e60a";
}

.icon-Mail-icon:before {
    content: "\e609";
}

.icon-Edit-icon:before {
    content: "\e606";
}

.icon-Delete-icon:before {
    content: "\e607";
}

.icon-Close-icon:before {
    content: "\e608";
}

.icon-User-icon:before {
    content: "\e600";
}

.icon-Search-icon:before {
    content: "\e601";
}

.icon-List-link-icon:before {
    content: "\e603";
}

.icon-List-economy-icon:before {
    content: "\e602";
}

.icon-List-content-icon:before {
    content: "\e604";
}

.icon-Create-icon:before {
    content: "\e605";
}

.icon-comment:before {
    content: "\e615";
}

.icon-warning:before {
    content: "\e616";
}

.icon-paperclip:before {
    content: "\e617";
}

.icon-arrowUp:before {
    content: "\e61a";
}



@media screen and (-webkit-min-device-pixel-ratio:0) {
    @font-face {
        font-family: 'titillium';
        src: url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-regular-webfont.svg') format('svg');
        font-weight: normal;
        font-style: normal;
    }

    @font-face {
        font-family: 'titillium';
        src: url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-bold-webfont.svg') format('svg');
        font-weight: bold;
        font-style: normal;
    }

    @font-face {
        font-family: 'titillium';
        src: url('/ka-dist/assets/fonts/titilliumweb/titilliumweb-italic-webfont.svg') format('svg');
        font-style: italic;
    }

    @font-face {
        font-family: 'icons';
        src: url('/ka-dist/assets/fonts/fuauIntranet.svg#fuauIntranet') format('svg');
        font-weight: normal;
        font-style: normal;
    }
}

.filterHeader {
    font-size: 14px;
    margin-bottom: 7px;
    line-height: 1;
}

button.filterHeader.small {
    color: #12779a;
    padding: 0;
    margin-bottom: 0;
    padding: 10px 60px;
}

button.disabled {
    opacity: 0.4;
    cursor: default;
}

.sectionWrapper>h2 {
    cursor: pointer;
}

.sectionWrapper .section {
    overflow: hidden;
    margin-bottom: 20px;
}

.sectionWrapper .section.hide {
    display: none;
}

.sectionButton {
    float: right;
    padding: 16px 30px 16px;
    font-size: 0.75rem;
    color: #555;
}

.sectionTitle {
    padding: 10px;
    display: block;
}

body {
    min-width: 1000px;
    font-family: 'titillium';
}

.row.spacerTop {
    margin-top: 20px;
}

.row.spacerDown,
.modalRow.spacerDown {
    margin-bottom: 20px;
}

.noMargin {
    margin: 0 !important;
}

select {
    font-family: Arial !important;
}

input.error {
    border: #c11e1e 2px solid;
}

input.readonly,
select.readonly,
input.readonly:focus,
select.readonly:focus {
    background: #eee;
    color: #888;
    border-color: #ccc;
    box-shadow: 0 0 0px #999999;
}

.inputWrapper {
    position: relative;
}

.inputWrapper.withParagraph p {
    padding: 0.3rem 0;
}

.inputWrapper.withParagraph p.success {
    font-weight: 700;
}

.checkboxWrapper {
    overflow: hidden;
    margin-bottom: 5px;
}

.checkboxWrapper input[type="checkbox"] {
    margin-bottom: 0;
    float: left;
}

.checkboxWrapper label {
    position: relative;
    top: -4px;
}

label.slim {
    font-weight: 100;
}

.checkboxWrapper p.description {
    margin: -5px 0 0 20px;
}

.intraListWrapper {
    margin: 20px;
}

.currentItemDataHolder.list {
    margin-top: 20px;
}

.intraListWrapper tr:hover td {
    background: #D6F2FA;
}

.productlistButtonWrapper {
    margin-bottom: 1rem;
}

.productlistKeyAccountSales {
    text-align: center;
}

#productlistColumnPicker .checkboxWrapper label {
    top: -6px;
}

.productlistWaitinglist,
.productlistNewCustomers {
    text-align: center;
}

.productlistVisibleId {
    white-space: nowrap;
}

.productlistPrice,
.productlistStudentPrice,
.productlistProfit,
.productlistSales {
    text-align: right;
}

.productlistSelect input,
.checkboxOnList,
.orderlistSelect input {
    margin: 3px 0 0 !important;
}

#productSearchTable td:first-child,
#productSearchTable th:first-child {
    padding: 2px 5px;
}

th.productlistStatusSelect input,
th.orderslistStatusSelect input {
    position: relative;
    top: 8px;
}

table.noBorders,
table.noBorders td {
    border: 0;
}

#toggleAdvancedSearch {
    margin-top: -10px;
    display: block;
    margin-left: 10px;
    font-size: 0.9rem;
}

.listFilterWrapper {
    float: right;
    margin-right: 20px;
}

.datePickBtn {
    position: absolute;
    right: 10px;
    bottom: 7px;
}

.dateWrapper .datePickBtn {
    bottom: 22px;
}

.dateWrapper .description {
    position: absolute;
}

.searchBtn {
    /*position: absolute;
    right: 15px;
    bottom: 3px;*/
    font-size: 22px;
    padding: 12px !important;
}

.searchBtn .icon-Search-icon {
    /*padding-left: 10px;
    padding-right:0!important;*/
}

.searchBtn.large {
    bottom: 11px;
}

.liRow {
    overflow: hidden;
    position: relative;
}

.liColumn {
    float: left;
    padding: 15px;
}


.fl {
    float: left;
}

.center {
    text-align: center;
}

.right,
.textRight {
    text-align: right;
}

.textleft {
    text-align: left;
}

.nolist {
    list-style: none;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

.smalllist {
    font-size: 0.75rem;
}

.smalllist li {
    border-bottom: 1px dashed #ddd;
    overflow: hidden;
    padding: 5px 0;
}

a {
    color: #12779a;
}

a:hover {
    color: #224175;
}

#mainHeader {
    background: #298ea9;
    /* Old browsers */
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIyJSIgc3RvcC1jb2xvcj0iIzI5OGVhOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9Ijk5JSIgc3RvcC1jb2xvcj0iIzExNzY5OSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
    /* FF3.6+ */
    /* Chrome,Safari4+ */
    /* Chrome10+,Safari5.1+ */
    /* Opera 11.10+ */
    /* IE10+ */
    background: linear-gradient(to bottom, #298ea9 2%, #117699 99%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#298ea9', endColorstr='#117699', GradientType=0);
    /* IE6-8 */
}

#primaryLogo {
    display: block;
    padding: 10px 0;
}

#mainContentWrapper {
    background: #fff;
    padding: 40px 0;
}


#primaryNavigationWrapper {
    background-color: #0f6481;
}

#primaryNavigation .navigationItem {
    float: left;
    margin-top: 15px;
}

.navigationItemLink {
    display: block;
    padding: 10px 20px 7px;
    font-size: 0.85rem;
    margin-left: 10px;
    background: #12779a;
    color: #fff;
    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topleft: 5px;
    -moz-border-radius-topright: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.first .navigationItemLink {
    margin-left: 0;
}

.navigationItemLink.selected,
.navigationItemLink.selected:hover {
    background-color: #eaeaea;
    color: #0a234c;
}

.navigationItemLink:hover {
    background: #298ea9;
    color: #fff;
}

#secondaryNavigationWrapper {
    background-color: #eaeaea;
    min-height: 10px;
}

#secondaryNavigationWrapper .navigationItemLink {
    background: none;
    text-align: center;
    float: left;
    color: #12779a;
}



input.primarySearch {
    font-size: 24px;
    padding: 0.75rem 0.5rem;
}

.primarySearchSumRowPrice {
    text-align: right;
    padding-top: 10px;
    padding-bottom: 10px;
}

.primarySearchSumRowPriceLabel {
    padding-right: 20px;
}

table {
    background: white;
    margin-bottom: 1.25rem;
    border-top: solid 1px #dddddd;
    width: 100%;
}

thead.whiteBackground {
    background: #fff;
    border-bottom: 1px solid #e5e5e5;
}

table thead,
table tfoot {
    background: whitesmoke;
    font-weight: bold;
}

table thead tr th,
table thead tr td,
table tfoot tr th,
table tfoot tr td {
    padding: 0.2em 10px;
    font-size: 0.875rem;
    color: #222222;
    text-align: left;
}

table thead tr th {
    padding: 10px;
    font-weight: 100;
}

table tr th,
table tr td {
    padding: 0.2em 10px;
    color: #222222;
    font-size: 14px;
    border-bottom: solid 1px #dddddd;
}

table tr.alt td,
table tr:nth-of-type(even) td {
    background: #f0f0f0;
}

table [class^="icon-"],
.productOptionsHeader [class^="icon-"] {
    font-size: 22px;
}

table thead tr th,
table tfoot tr th,
table tbody tr td,
table tr td,
table tfoot tr td {
    display: table-cell;
    line-height: 1.125rem;
}


.button .nextToSearch {
    padding: 15px 40px;
}

.button.disabled {
    opacity: 0.4;
}

.button.secondary [class^="icon-"],
[class*=" icon-"],
button.secondary [class^="icon-"],
[class*=" icon-"] {
    padding-right: 10px;
    position: relative;
    top: 2px;
}

.button.secondary.small [class^="icon-"],
[class*=" icon-"],
button.secondary.small [class^="icon-"],
[class*=" icon-"] {
    padding-right: 3px;
}

.button.primary [class^="icon-"],
[class*=" icon-"],
button.primary [class^="icon-"],
[class*=" icon-"] {
    color: #fff;
    padding-right: 10px;
    position: relative;
    top: 2px;
}

/* PL = ProductList */


.productlistContractsStatus,
.productlistPublished,
.productlistContentStatus {
    text-align: center;
}

.productlistPublished span {
    padding-right: 0;
    top: -1px;
}

.productlistFirstDate,
.productlistPublishedFrom,
.productlistPublishedTo,
.productlistRegistrationStart,
.productlistRegistrationEnd {
    text-align: right;
    white-space: nowrap;
}

.productlistAttendance,
.productlistRegistrationOpen,
.productlistHasImage {
    text-align: center;
}

.productlistAvailable,
.productlistSeatsTotal {
    text-align: center;
}

.productlistName {
    min-width: 305px;
}

#productSearchTableApproved .productlistName,
#productSearchTableApproved .productlistName {
    min-width: initial;
}

.productlistStatus {
    text-align: center;
}

td.PL_c2.productlistEconomyStatus {
    padding: 0.2em 0;
    text-align: center;
}

.productlistEvents {
    text-align: center;
}

/* Ticketlist */
#ticketSearchTable .cancled td {
    opacity: 0.4;
    text-decoration: line-through;
}

/* OL = OrderList */
.orderslistProcessed [class^="icon-"],
.orderslistProcessed [class*=" icon-"] {
    font-size: 14px;
}

#ordersSearchTable .cancled td {
    opacity: 0.4;
    text-decoration: line-through;
}

#ordersSearchTable .cancled td.OL_c2 {
    opacity: 1;
    text-decoration: none;
}

.orderslistTransitionNumber {
    text-align: center;
}

.orderslistDate {
    white-space: nowrap;
    text-align: right;
}

.orderslistAmount {
    white-space: nowrap;
    text-align: right;
}

.orderslistProducts {
    text-align: center;
}

/* OrdersDetail */

#orderTicketContent {
    height: 300px;
}




/* ODL = OrderDetailList */
.ODL_c1 {}

.ODL_c2 {
    text-align: center;
}

.ODL_c3 {}

.ODL_c5 {
    text-align: right;
}

.ODL_c6 {
    text-align: right;
}

.ODL_c7 {
    text-align: center;
}

table td {
    background: #fff;
}

#orderDetailOrderlinesTable .orderline.disabled a,
.orderline.disabled td,
.optionline.disabled td,
.discountline td {
    color: rgba(0, 0, 0, 0.5);
    text-decoration: line-through;
}

#orderDetailOrderlinesTable .discountline td {
    background: #fff;
}

#orderDetailOrderlinesTable.discountline .description {
    font-size: 12px;
    font-style: normal;
}

#orderDetailOrderlinesTable .discountline .description.black {
    color: #000;
    padding: 0 10px 0 5px;
}

.optionlineTag {
    margin: 0;
    color: #bbb;
    font-size: 14px;
    padding-left: 10px;
}

#orderDetailOrderlinesTable td {
    background: #fff;
}

#orderDetailOrderlinesTable .subtotalLine td {
    background: #eee;
}

#orderDetailOrderlinesTable .subtotalLine .ODL_c3,
.subtotalLine .ODL_c6 {
    font-weight: 100;
    color: #444;
}

#orderDetailOrderlinesTable tr.totalLine td {
    border-top: 2px solid #bbb;
}

/* CL = CourseList */
#courselist [class^="icon-"],
#courselist [class*=" icon-"] {
    color: #12779a;
}

.courselistHeaderWrapper {
    overflow: hidden;
    font-weight: 700;
    border-top: 1px solid #ddd;
}

.CL_rowInner {
    background: #f9f9f9;
    overflow: hidden;
    font-size: 0.9rem;
}

.CL_rowInner .CL_ToolColumn {
    width: 21%;
}

.CL_row.cancelled .CL_rowInner {
    background-color: #f5c7c7;
}

.CL_row {
    border: 1px solid #ccc;
    margin-bottom: 10px;
}

.CL_row .liColumn {
    padding: 5px 15px;
}

.CL_rowInner.headerBar {
    background: #eaeaea;
    border-bottom: 1px solid #ddd;
}


.productDetailCourseLabel {
    margin: 0;
}

.CL_c1 {
    width: 10%;
    text-align: center;
}

.CL_c2 {
    width: 10%;
    text-align: center;
}

.CL_c3 {
    width: 22%;
}

.CL_c4 {
    width: 22%;
}

.CL_c5 {
    width: 15%;
}

.CL_c6 {
    width: 16%;
    padding: 0;
    text-align: right;
}

.soldOut {
    font-weight: 700;
    color: #c11e1e;
}

.courseButtonWrapper {
    overflow: hidden;
}

.courseStatusWrapper {
    color: #666;
    font-size: 12px;
    line-height: 10px;
    text-align: right;
}

/* CEL = CourseEventList */


.CEL_row {
    border-top: 1px dashed #dddddd;
}

.CEL_row .location .locationName {
    font-size: 0.9rem;
    display: block;
    line-height: 1rem;
}

.CEL_row .title {
    display: block;
    font-weight: 700;
    font-size: 0.9rem;
}

.CEL_row .description {
    color: #888;
    font-style: normal;
    font-size: 0.8rem;
    display: block;
    margin: 0;
    line-height: 1rem;
}

.CEL_row p {
    margin: 0;
    font-size: 0.9rem;
}

.CEL_c1 {
    width: 20%;
}

.CEL_c1 .title {
    color: #777;
}

.CEL_c2 {
    width: 22%;
}

.CEL_c3 {
    width: 22%;
}

.CEL_c4 {
    width: 26%;
}

.CEL_c5 {
    padding: 0;
    width: 10%;
    text-align: right;
}

.CEL_c5 [class^="icon-"],
.CEL_c5 [class*=" icon-"] {
    color: rgba(204, 204, 204, 0.75);
}


.CEL_employeeItem[data-status="1"] {
    cursor: default;
    color: #333;
}

.CEL_employeeItem[data-status="1"]:hover {
    color: #333;
}

.CEL_employeeItem,
.CEL_employeeItemContract {
    display: block;
    margin-bottom: 2px;
    font-size: 0.9em;
}

.CEL_employees .offline {
    font-size: 0.75em;


}

.CEL_employeeItemContract [class^="icon-"],
.CEL_employeeItemContract [class*=" icon-"] {
    font-size: 12px !important;
    position: relative;
    top: 1px;
}

/*.CEL_employeeItemContract[data-status="1.5"]:hover {
        cursor:default!important;
        color:#12779a;
    }*/
.CEL_employeeItemName {
    display: block;
}

.CEL_employeeItemStatus {
    font-size: 0.75rem;
    margin-top: -7px;
    color: #888;
}

.CEL_employeeItemStatus.attention {
    color: #73732E;
}

.CEL_employeeItemStatus.error {
    color: #c60f13;
    padding: 0;
    background: none;
    font-weight: 700;
    margin-top: -7px;
}

.CEL_row.cancelled {
    border-left: 2px solid #c11e1e !important;
}

.CEL_row.cancelled .startDate,
.CEL_row.cancelled .endDate {
    text-decoration: line-through;
}

#employeeRelationModal {
    min-height: 390px;
}

#modalEventCancelReason,
#modalCourseCancelReason {
    min-height: 150px;
}

#employeeRelationWrapper {
    margin-top: 10px;
}

#employeeRelationWrapper label {
    margin: 0;
}

#employeeRelationWrapper a {
    display: block;
    margin-bottom: 20px;
}

#employeeRelationUserResult .noSearchResult {
    padding: 10px;
    text-align: center;
    font-size: 14px;
    line-height: 22px;
}

/* LL = Locationlist */
.LL_c1 {}

.LL_c2 {}

.locationlistZipcode {
    text-align: center;
}


/* CAL = Course Attendance List */

.CAL_c1 {}

.CAL_c2 {}

.CAL_c3 {
    text-align: center;
}

.CAL_c4 {}

.CAL_c5 {
    text-align: center;
}

.CAL_c6 {
    text-align: center;
}

.modalPaddingBox {
    padding: 0 15px;
    width: 100%;
}

.modalRow {
    overflow: hidden;
}

#attendanceSearchTableWrapper,
.modalContent {
    overflow-y: auto;
    overflow-x: hidden;
    display: block;
}

#attendanceSearchTableWrapper {
    height: 450px;
}

#attendanceSearchTable {
    border-top: 0;
}

#attendanceSearchTable tbody {}

.productRow.cancelled td {
    text-decoration: line-through;
}

.productRow [class^="icon-"] {
    font-size: 1rem;
}

.dateLabel {
    width: 40px;
    display: block;
    float: left;
}

.pageingItem {
    display: block;
    float: left;
    background: #eaeaea;
    padding: 7px;
    min-width: 30px;
    text-align: center;
    margin-right: 5px;
    color: #444;
}

.pageingItem.selected,
.pageingItem.selected:hover {
    background-color: #ccc;
}

.pageingItem:hover {
    background-color: #f3f3f3;
    color: #333;
}

button,
.button {
    background-color: transparent;
    border: 0;
    display: inline-block;
    text-align: center;
}

button.primary,
.button.primary,
button.secondary,
.button.secondary {
    padding: 20px 40px;
    width: 100%;
    border-radius: 5px;
    margin-bottom: 20px;
}

button.primary,
.button.primary {
    background-color: #12779a;
    color: #fff;
    border: 1px solid #0d627f;
    font-weight: 700;
}

button.secondary,
.button.secondary {
    background-color: #eaeaea;
    border: 1px solid #dbdbdb;
    color: #555;
}

button.small,
.button.small {
    padding: 10px 20px;
    font-size: 0.9rem;
    line-height: 1;
}

#productSearchResult,
#orderSearchResult {
    position: relative;
}

#shortDesc {
    height: 100px;
}

#longDesc {
    height: 300px;
}

.primarySearchResults {
    margin-top: 20px;
}

.pagingWrapper {
    overflow: hidden;
    float: left;
}

.pagerToolsWrapper {
    overflow: hidden;
}

.pageSizeSelectorWrapper {
    float: right;
    font-size: 0.9rem;
}

.pageSizeSelector {
    margin-left: 10px;
    width: 75px;
}

/* Loader */
#loaderOverlay {
    background-color: rgba(255, 255, 255, 0.5);
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

#loaderWrapper {
    margin: auto;
}

#loading {
    cursor: wait;
    background-color: rgba(0, 0, 0, 0);
    opacity: .8;
    border-radius: 50px;
    margin: 5% auto;
    animation: loading .5s infinite linear;
    -moz-animation: loading .5s infinite linear;
    -webkit-animation: loading .5s infinite linear;
}

.loadingText {
    color: #222323;
    text-align: center;
}

.spin-1 {
    border: 10px solid #117699;
    border-top: 10px solid rgba(0, 0, 0, 0);
    border-left: 10px solid rgba(0, 0, 0, 0);
    width: 50px;
    height: 50px;
}

@keyframes loading {
    0% {
        -moz-transform: rotate(0deg);
    }

    100% {
        -moz-transform: rotate(360deg);
    }

    ;
}

@-webkit-keyframes loading {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }

    ;
}

.box-success {
    background-color: #1ec17a;
    color: #fff !important;
}

.text-success {
    color: #1ec17a !important;
}

.text-attention {
    color: #E68A00 !important;
}

.box-attention {
    background-color: #E68A00;
    color: #fff !important;
}

.text-passive {
    color: rgba(162, 162, 162, 0.75) !important;
}

.box-passive {
    background-color: rgba(162, 162, 162, 0.75) !important;
    color: #fff !important;
}




.text-error {
    color: #c11e1e !important;
}

.box-error {
    background-color: #c11e1e !important;
    color: #fff;
}

.success {
    color: #1ec17a;
}

.error {
    color: #c11e1e;
}


/* Edit Product */

.smallText p,
.smallText span {
    font-size: 0.85rem;
    margin-bottom: 0;
}


.description.alone {
    text-align: center;
    margin-top: 20px;
}

.description {
    margin: -15px 0 15px 0;
    font-size: 0.75em;
    color: #777;
    font-style: italic;
}

.description.extraSpace {
    position: relative;
    top: -12px;
    clear: both;
}

.summaryRow {
    /* background: #f9f9f9; */
    overflow: hidden;
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
}

.summaryRow.first {
    padding-top: 0;
}

.summaryRow .description {
    padding-right: 90px;
}

.summaryRow p {
    margin: 0;
}



label {
    color: #555;
    font-weight: 700;
    line-height: 20px;
}

.currentItemDataHolder h2 {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background: #f9f9f9;
    color: #555;
    font-size: 1.25rem;
    margin-bottom: 20px;
}

.responsiblelistItem p {
    margin: 0;
    line-height: 0.85rem;
}

.responsiblelistItemChange {
    float: right;
    font-size: 0.8rem;
    color: #12779a;
    padding: 7px;
}

.textareaWrapper {
    margin-bottom: 15px !important;
}

.mceWrapper p.description {
    margin-top: 0;
}

table.smallPadding th,
table.smallPadding td {
    padding: 5px 15px;
}

table.smallPadding .courselistButton {
    padding: 10px;
}

#productCategoryPicker.disabled {
    opacity: 0.35;
}

.productCategoryPrimaryBtn.selected i,
.productAreaPrimaryBtn.selected i {
    color: #d7d325;
}


.PCL_c3 {
    text-align: right;
}


#contractRecipients {
    margin-bottom: 0;
}

.attachmentModallist .checkboxWrapper {
    width: 32px;
}

.statusTitle {
    float: left;
    width: 75px;
}

.statusTitle p {
    font-weight: 700;
}

.statusStatus {
    font-weight: 700;
}

.statusIcon {
    float: left;
    margin-right: 5px;
    position: relative;
    top: 3px;
    padding-right: 0;
}

.statusWrapper {
    border-bottom: 1px solid #eee;
    overflow: hidden;
}

.statuslist {
    border-top: 1px solid #eee;
}

.statusAuthor,
.statusLinkText {
    font-size: 0.7rem !important;
    line-height: 0.7rem;
}

.statusDescriptionWrapper {
    padding: 5px 0;
    overflow: hidden;
}

/* Edit Product - END */


/* ALERT BOXES */
#statusMsgHolder {
    bottom: 20px;
    left: 50%;
    margin-left: -485px;
    position: fixed;
    width: 100%;
    max-width: 970px;
    z-index: 30030;
}

.statusMsg {
    border-radius: 3px;
    margin-bottom: 1.25rem;
    padding: 0.875rem 2.5rem 0.875rem 0.875rem;
    border-style: solid;
    border-width: 1px;
    width: 100%;
    max-width: 970px;
    font-weight: 700;
    font-size: 1em;
    display: none;
    position: relative;
}

.statusMsg.show {
    display: block;
}

.statusMsg.success {
    background-color: #1ec17a;
    border-color: #14A666;
    color: white;
}

.statusMsg.success a {
    color: white;
    text-decoration: underline;
}

.statusMsg.error {
    background-color: #c11e1e;
    border-color: #a61414;
    color: white;
}

.statusMsg.attention {
    background-color: #fff7a0;
    border-color: #d8c600;
    color: #626252;
}

.statusMsg.attention .statusMsgClose {
    color: #626252;
}

.statusMsgClose {
    display: block;
    float: right;
    color: rgba(255, 255, 255, 0.9);
    margin-top: -3px;
    position: absolute;
    top: 16px;
    right: 16px;
    margin-right: -2px;
    font-size: 1.3rem;
}

.statusMsgClose:hover {
    color: rgba(255, 255, 255, 1);
}

.economyStatusWrapper {
    overflow: hidden;
    font-size: 0.85rem;
    padding: 5px;
    float: left;
}

.largeStatusIcon {
    font-size: 2rem;
    padding: 14px 8px;
    width: 50px;
    text-align: center;
}

.largeStatusIcon span {
    font-size: 2rem;
}

.largeStatusIcon.proof,
.largeStatusIcon.published {
    float: left;
    margin-right: 10px;
}

.largeStatusIcon.proof span,
.largeStatusIcon.published span {
    color: #fff;
}

#publishedButNoCategory {
    display: block;
    font-weight: 100;
    font-size: 12px;
    color: #333;
}

#publishedButNoCategory.hide {
    display: none;
}

.economyStatusButtonLarge {
    display: block;
    font-size: 2rem;
    padding: 14px 8px;
}

.economyStatusButtonLarge .icon-List-economy-icon {
    display: block;
    color: #fff !important;
}

.economyStatusButton {
    display: block;
}


.economyStatusButton[data-status="approved"] {
    cursor: default;
}

.economyStatusText {
    font-weight: 700;
}

.economyStatusWrapper .icon-List-economy-icon {
    float: left;
    margin-right: 10px;
    position: relative;
    top: 3px;
}

.economyStatusWrapper .statusAuthor {
    margin: -3px 0;
    display: block;
    color: #555;
}

.economyStatusWrapper .statusAuthor.cancelledAuthor {
    margin-top: 5px;
}

.courselistButton {
    font-size: 1.15rem;
    margin-bottom: 0;
    padding-bottom: 0;
    padding: 8px 10px;
    float: right;
}

#createCourse {}

#courseUpdateForm {
    margin-top: 20px;
    overflow: hidden;
}

.editCourseModal {
    min-height: 500px;
}

#courseMessageContent,
#courseMessageContentContract {
    height: 220px;
    resize: vertical;
}

.dateWrapper,
.timeWrapper {
    float: left;
}

.dateWrapper {
    width: 80%;
}

.timeWrapper {
    width: 20%;
}

.locationAdressWrapper,
.employeeAddressWrapper {
    border: 1px dashed #aaa;
    border-top: 0;
    color: #aaa;
    padding: 0.5rem;
    margin-bottom: 15px;
}

.locationDescription {
    margin: 0;
    font-size: 0.8rem;
}

#courseEventAddLocation,
#courseEventAddEmployee {
    margin-top: 20px;
}

#addEquipmentToLocation {
    width: 45%;
    margin-top: 10px;
}

#equipmentlist a {
    color: #333;
    display: block;
}

#equipmentlist a .icon-decline-icon {
    float: right;
    padding: 2px 5px;
}

#courseEventLocationSelector,
#courseEventEmployeeSelector {
    font-family: Arial;
    height: 255px;
}

#courseEventDescription {
    min-height: 200px;
}

.courseEventAddedEmployeeInputWrapper {

    padding: 10px 0;
    overflow: hidden;
}

.courseEventContractComment {
    border-bottom: 1px dashed #bbb;
    padding: 5px 0 10px;
}

.addedEmployeeWrapper {
    position: relative;
}

.productCourseRemoveEmployeeBtn {
    position: absolute;
    top: 8px;
    right: 5px;
}

.courseEventAddedEmployeeAddressToggleButton,
.courseEventGeoLink {
    font-size: 0.8rem;
    display: block;
    padding: 10px 0;
}


/* Product Options */
.productOptionEdit {
    float: right;
}

.productOptionsHeader {
    padding: 0.5em 10px;
    background: #eaeaea;
    overflow: hidden;
    color: #555;
}

.productsOptionHeaderTitle {
    display: block;
    font-size: 18px;
    line-height: 18px;
    font-weight: 700;
    padding: 0;
}

.productsOptionHeaderDescription {
    font-size: 12px;
    display: block;
    line-height: 12px;
}

.productOptionsTable {
    width: 100%;
}

.productOptionsTable td {
    padding-top: 5px;
    padding-bottom: 5px;
}

.productOptionTitle {
    font-weight: 700;
    color: #555;
    display: block;
}

.productOptionPrice {
    display: block;
    padding-top: 5px;
}

.optionsButton {
    float: right;
    padding-left: 20px;
    position: relative;
}

.optionsButton i[class^="icon-"] {
    font-size: 18px;
}

.productOptionDescription {
    color: #8a8a8a;
}

.optionsButton i {
    color: #12779a;
}

.productOptionsHeader .optionsButton {
    padding: 5px 8px 0;
}

/* Product Options End */

/* Product Course Event list item */
#productCourseEventLocationlistWrapper,
#productCourseEventEmployeelistWrapper,
#productCourseEventEmployeelist {
    position: relative;
}

.employeelistDawa,
.orderslistDAWA,
.userlistDawa,
.employeelistHasDescrition {
    text-align: center;
}


.productCourseEventlistItem {
    font-size: 0.8rem;
    border-bottom: 1px #eee solid;
    overflow: hidden;
}

.productCourseEventlistItem.booked {
    background-color: #fff7a0;
}

.productCourseEventlistItem.booked-error {
    background-color: #FFD4D4;
}


.courseEventSelectedItemTitle {
    margin-bottom: 10px;
}

#productWaitlistMessage {
    height: 200px;
    resize: vertical;
}

.productCourseWaitlistWrapper {
    max-height: 320px;
    overflow-y: auto;
}

.waitingCounter,
.scheduledMessageCounter {
    color: #fff;
    position: absolute;
    font-weight: 700;
    font-size: 10px;
    background: rgba(0, 0, 0, 0.5);
    padding: 2px 5px;
    border-radius: 80px;
    line-height: 12px;
}

.waitingCounter {
    top: 0;
    left: 0;
}

.scheduledMessageCounter {
    top: 5px;
    margin-left: -5px;
}

.productDetailCourseEventModallist {
    border: 1px solid #ccc;
    height: 320px;
    overflow: auto;
}

.productDetailCourseEconomyStatusIcon {
    float: left;
    margin: 0 0.4rem 0 -0.95em;
}


.productCourseEventLocationlistItem.booked {
    background-color: #FFD4D4;
    border-bottom: 1px solid #ddd;
}

.productCourseEventLocationlistItem.toSmall {
    background-color: #fff7a0;
    border-bottom: 1px solid #ddd;
}

.productCourseEventLocationlistItem.toSmall.booked {
    background-color: #fff7a0;
}

.productCourseEventLocationlistItem.toSmall.booked .productCourseEventLocationlistItemContent {
    border-right: 75px solid #FFD4D4;
}

.productCourseEventLocationlistItem button,
.productCourseEventEmployeelistItemContent button {
    color: #a0a0a0;
    padding: 8px 15px 7px;
    border-bottom: 1px solid #aaa;
}

.productCourseEventLocationlistItemContent {
    padding: 5px;
}

.productCourseEventLocationlistItemCapacity {
    display: block;
}

.productCourseEventLocationlistItemButton,
.productCourseEventEmployeelistItemButton {
    background-color: #eaeaea;
    border-left: 1px solid #dbdbdb;
    color: #555;
    float: right;
    font-size: 2rem;
}

.courseEventLocationsCreateShortcut {
    font-size: 0.8rem;
    padding: 15px 0;
    display: block;
}

.courseEventSelectedItemWrapper {
    background: #f9f9f9;
    border: 1px solid #ddd;
    padding: 10px;
    position: relative;
    overflow: hidden;
    margin-bottom: 10px;
}

.productCourseEventLocationlistItemEmpty {
    text-align: center;
    padding: 20px;
    font-size: 0.75rem;
    color: #444;
}

#courseEventAddedEmployeeList {
    height: 374px;
    overflow: auto;
    /* border: 1px solid; */
    padding-right: 5px;
}

.courseEventAddedEmployeeTitleWrapper {
    width: 60%;
    float: left;
}

.courseEventAddedEmployeeQuantityWrapper {
    width: 40%;
    padding-left: 0.75rem;
    float: left;
    overflow: hidden;
}

input.courseEventAddedEmployeeQuantity {
    width: 30%;
    float: left;
    text-align: right;
}

.courseEventQuantityDescription {
    float: left;
    padding: 10px;
    font-style: italic;
    color: #aaa;
    font-weight: 700;
}

/* Product Course Event list item - End */


.teacherWrapper {
    padding: 0.5rem;
    margin-top: -6px;
    margin-bottom: 15px;
}

.ui-datepicker-next:hover,
.ui-datepicker-next {
    background: url('/image/jqueryUI/next-arrow.png') no-repeat center;
    border: 0;
}

.ui-datepicker-prev:hover,
.ui-datepicker-prev {
    background: url('/image/jqueryUI/prev-arrow.png') no-repeat center;
    border: 0;
}

/* COLORBOX CUSTOM */

#cboxOverlay {
    background: rgba(0, 0, 0, 0.75);
}

.colorboxWrapper {
    display: none;
}

#cboxLoadedContent {
    background: #fff;
    padding: 0;
}

#cboxLoadingOverlay {
    background: #fff;
}

#cboxContent {
    background: #fff;
    border-radius: 15px;
}

.colorboxCloseWrapper {
    float: left;
    width: 100px;
}

.colorboxButtonWrapper {
    width: 100px;
    float: right;
}

/* Websites / Categories */
#websiteslist {}

.websiteItem {
    overflow: hidden;
}

.websiteItem .websiteItemDescriptionWrapper {
    float: left;
}

.websiteItem .websiteItemDescriptionWrapper .description {
    margin: -5px 0 0;
}

.listWithSublist {
    background: #efefef;
    border-bottom: 1px solid #ddd;
}

.listWithSublist li.even {
    background-color: #e0e0e0;
}

.listWithSublist .header {
    padding: 15px;
    display: block;
    border-top: 1px solid #ddd;
}

.listWithSublist .header.haveChildren {
    border-bottom: 1px dashed #ccc;
}

.sublist {
    background: #fff;
}

.sublist li.even {
    background: #f9f9f9;
}

.sublist li {
    padding: 10px 15px 10px 30px;
    border-top: 1px solid #eee;
}

.websiteHeaderWrapper .websiteCategoryButtonWrapper {
    padding: 18px 15px 13px;
}

.websiteCategoryButtonWrapper {
    float: right;
}

.websiteOpenLink {
    display: block;
    float: left;
    margin-right: 5px;
}


/* FILEDB - START */
.fileDBSearchWrapper {
    float: left;
    min-width: 400px;
}

.fileDBButtonWrapper {
    overflow: hidden;
    float: right;
}

#fileDatabaseWrapper {
    overflow: auto;
    min-width: 1000px;
}

.fileDBNavigationWrapper {
    float: left;
    position: relative;
    width: 15%;
    min-width: 150px;
    min-height: 500px;
    background-color: #ddd;
    border-right: 1px solid #aaa;
    border-bottom: 1px solid #ccc;
}

.fileDBNavigationWrapper #loaderWrapper {
    margin-top: 150px;
}

.fileDBNavigation {
    border-bottom: 1px solid #ccc;
    margin: 20px 0;
    font-size: 0.8rem;
    line-height: 0.8rem;
}

.fileDBNavigation a:hover {
    background-color: #f9f9f9;
}

.fileDBNavigation.sub {
    margin: 0;
    border-bottom: 0;
}

.fileDBNavigation.sub a {
    padding-left: 25px;
}

.sub .fileDBNavigation.sub a {
    padding-left: 40px;
}

#fileDBContentNavigation {
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.fileDBNavigation.sub .current {
    background: #f9f9f9;
}

.fileDBNavigation a {
    display: block;
    padding: 10px;
    border-top: 1px solid #ccc;
    color: rgba(0, 0, 0, 0.75);
}

.fileDBNavigation [class^="icon-"],
.fileDBNavigation [class*=" icon-"] {
    color: rgba(0, 0, 0, 0.55);
    margin-right: 5px;
}

.fileDBDashboardUtilityBelt {
    min-height: 100px;
    padding: 20px;
    border-bottom: 1px solid #ddd;
}

.fileDBDashboard {
    float: left;
    width: 85%;
}

.fileDBContentNavigationItemLink {
    display: block;
    padding: 10px;
    border: 1px solid #ddd;
    height: 190px;
    width: 212px;
    margin: 20px 0 0 20px;
    background-color: #efefef;
}


.fileDBContentNavigationItem {
    overflow: hidden;
    float: left;
}


.fileDBContentNavigationItemLink:hover {
    background-color: #f9f9f9;
}

.fileDBContentNavigationItem .imageWrapper {
    display: block;
    background-repeat: no-repeat;
    width: 100%;
    height: 130px;
    overflow: hidden;
    border: 1px solid #ddd;
    background-size: cover;
    background-color: #fff;
}

.fileDBContentNavigationItem:nth-child(4n+1) .fileDBContentNavigationItemLink,
.fileDBContentNavigationItem:first-child .fileDBContentNavigationItemLink {
    margin-left: 0;
}

.fileDBContentNavigationItem .imageWrapper .image {}

.fileDBContentNavigationItem .imageWrapper [class^="icon-"],
.fileDBContentNavigationItem .imageWrapper [class*=" icon-"] {
    margin: 20px auto;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 5rem;
}

.fileDBContentNavigationItem .fileName {
    line-height: 27px;
    margin: 0 0 -5px;
}

.fileDBContentNavigationItem p {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #222;
    font-size: 12px;
}


#fileDBContentNavigation .fileName {
    display: block;
}

.fileDBContentNavigationItem .lastEditDate {
    font-size: 0.75rem;
    color: #888;
    margin-top: 0px;
    display: block;
}

.fileDBNavigation .selected {
    background: #ededed;
}

.fileDBDashboardUtilityBelt .buttonWrapper {
    float: left;
    margin-right: 10px;
}

.fileDBDashboardUtilityBelt button.secondary,
.fileDBDashboardUtilityBelt button.primary {
    margin-bottom: 0;
}

.fileDBDashboardUtilityBelt {
    overflow: hidden;
}

.fileDBNavigation.sub {
    display: none;
}

.uploadImagethumb {
    position: absolute;
    left: 50%;
    display: block;
    height: 150px;
    width: 200px;
    margin-left: -100px;
    background-size: cover;
}

#fileDBDashboardDetail {
    padding: 20px;
}

#cropperWrapper {
    border: 1px solid #ddd;
    height: 438px;
    width: 75%;
    float: left;
}

#cropperThumbWrapper {
    width: 25%;
    float: left;
    padding-left: 30px;
}

.cropper-thumbPreviewWrapper {
    padding: 10px;
    border: 1px solid #ddd;
}

.cropper-thumbPreview {
    min-height: 100px;
    margin: auto;
}

#cropperThumbWrapper .description {
    padding: 0;
    margin: 0;
}

#croppingSection {
    overflow: hidden;
}

#fileMetaWrapper {
    width: 960px;
    margin-top: 40px;
    overflow: hidden;
}

.fileDBLinkToFile {
    display: block;
    font-size: 0.8rem;
    line-height: 2.5rem;
    margin-bottom: 1rem;
}

.fileDBContentNavigationItemLink.selected {
    background: #c4f2c9 !important;
}

#imageDisplay,
.imageDisplay {
    text-align: center;
    margin-bottom: 0;
    padding: 10px;
    border: 1px dashed #ddd;
}

#imageDisplay img,
.imageDisplay img {
    max-width: 100%;
}

.imageDetailsWrapper {
    border: 1px dashed #ddd;
    border-top: 0;
    padding: 10px;
    background: #fff;
    margin-bottom: 10px;
}

.imageDetailsWrapper table {
    margin: 0;
}

.imageDetailsWrapper td,
.imageDetailsWrapper table,
.imageDetailsWrapper table tr:nth-of-type(even) td {
    background: none;
    border: 0;
    padding: 5px 0;
}

.imageInfoHeader {
    font-weight: 700;
    width: 100px;
}

#mediaQuerySearch {
    margin-top: 22px;
}

/* FILEDB - END */


/*  MODAL - START  */
.modalHeader {
    background: #0f6481;
    padding: 0.9375em 0.9375em 0;
}

p.modalHeader {
    background: none;
    padding: 0px;
    font-size: 16px;
    font-weight: 700;
    margin: 0;
}

p.modalSubHeader {
    border-bottom: 1px solid #aaa;
    padding: 0;
    font-size: 14px;
}

.modalDescription {
    margin: 0;
    font-size: 12px;
    padding-top: 5px;
    color: #666;
    line-height: 10px;
}

ul.tabNavigation {}

.tabsNavigationItem {
    float: left;
}

.tabsNavigationItemLink {
    display: block;
    text-decoration: none;
    font-family: Arial;
    font-size: 1em;
    padding: 10px 30px;
    margin-left: 20px;
    background: #12779a;
    color: #fff;
    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topleft: 5px;
    -moz-border-radius-topright: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.tabsNavigationItemLink:hover {
    background: #298ea9;
    color: #fff;
}

.tabsNavigationItem.first a {
    margin-left: 0;
}

.tabsNavigationItemLink.active {
    background-color: #fff;
    color: #0a234c;
}

.modalFooter {
    width: 100%;
    position: absolute;
    bottom: 0;
    min-height: 60px;
    background: #aaa;
    border-top: 1px solid #d6d8e1;
    text-align: right;
    padding: 0.9375em;
}

.modalFooter button {
    margin-bottom: 0;
}

.modalBody {
    margin: 25px 0 80px;
}

#courseEditModal {
    overflow: hidden;
}

.modalContractStatus {
    float: right;
    font-size: 14px;
    font-weight: 700;
}

.modalContractEquipment {
    min-height: 150px;
}

.attachmentDate {
    text-align: right;
}

/*  MODAL - END  */

/* Comments - START */
#commentslist {
    border-top: 1px solid #ddd;
}

.commentItem {
    /*border-radius: 5px;*/
    /*background: #eee;*/
    padding: 10px;
    margin-bottom: 3px;
    min-height: 60px;
    border-bottom: 1px solid #ddd;
}

.commentItem.even {
    background: #f0f0f0;
}

.commentItem.status.attention {
    background-color: #eeeeca;
}

.commentItem.status.error {
    background-color: #eecaca;
}


.commentItem p {
    margin-bottom: 0;
}

.commentItem p,
.commentItem a {
    font-size: 0.8em;
}

.dashboardViewAllButton {
    display: block;
    text-align: right;
    font-size: 14px;
}

#latestComments {
    border-top: 1px solid #ddd;
}

#latestComments .commentItem {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    margin-bottom: 0;
}

#latestComments a {
    font-size: 1rem;
    display: block;
}

.primaryComment {
    overflow: hidden;
}

.authorContent {
    float: left;
    padding-right: 20px;
    width: 175px;
    overflow: hidden;
}



.commentAddCommentLink {
    float: right;
    display: block;
    margin-right: 10px;
}

.commentContent {
    float: left;
    margin-left: 20px;
    padding-left: 20px;
    border-left: 1px solid #aaa;
}

.commentContent.withReference {
    float: none;
    overflow: hidden;
    margin-top: 2px;
}

.commentItemDate {
    float: right;
    display: block;
    min-width: 90px;
    text-align: right;
    color: #333;
    overflow: hidden;
}

.commentItem a {
    overflow: hidden;
}

.commentAuthor {
    font-weight: 700;
    float: left;
    margin-right: 20px;
    display: block;
    color: #333;
    width: 140px;
}

.commentContent {
    color: #333;
}

.commentContent .commentContent {
    width: 240px;
}

#newComment {
    margin-top: 10px;
}

.replyWrapper {
    border-top: 1px dashed #ccc;
    margin-top: 10px;
    overflow: hidden;
    padding-top: 10px;
}

.replyWrapper button {
    margin-bottom: 0;
}

.replyWrapper textarea {
    height: 40px;
    resize: vertical;
    margin-bottom: 0;
}

.nestedComments {
    border-top: 1px dashed #ccc;
    margin: 10px 0 0;
}

.nestedCommentsItem {
    overflow: hidden;
    padding: 10px;
    background-color: #f4f4f4;
    margin-bottom: 1px;
}

.nestedComments.hidden {
    display: none;
}

.lastestCommentsItem {
    display: block;
    overflow: hidden;
}

.commentLocation {
    display: block;
}


/* Location Detail - START */
#termLabel {
    margin-bottom: 0;
}

.advancedSearchWrapper {
    margin: 20px 0 30px;
    padding: 20px 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

#locationActivitylist {
    border-top: 1px solid #ddd;
}

.locationActivitylistItem {
    border-bottom: 1px solid #ddd;
}

.locationActivitylistItem a {
    display: block;
    overflow: hidden;
    padding: 10px;
}

.locationActivitylistStartDate {
    float: left;
}

.locationActivitylistName {
    float: left;
    margin-left: 20px;
}

/* Comments - END */

.currentItemDataHolder h2.rightColumnHeader,
h2.rightColumnHeader {
    background: transparent;
    border-top: 0;
    font-size: 1rem;
    padding: 5px 0;
    font-weight: 700;
    border-bottom: 1px solid #ddd;
}

.locationRelatedLink {
    font-size: 0.9rem;
    padding: 8px;
}

.listColumnPickerItem {
    margin-bottom: 5px;
}

.filterContainer {
    position: absolute;
    background: #e5e5e5;
    padding: 10px;
    z-index: 100;
    width: 205px;
    border-top: 1px solid #aaa;
}

#galleriHolder {
    min-height: 50px;
}

.productDetailExpenseslist {
    border-top: 1px dashed #ddd;
    margin-top: 10px;
}

.productDetailExpensesItem {
    border-bottom: 1px dashed #ddd;
    overflow: hidden;
    padding: 5px 0;
}

.productDetailExpensesItemPrice {
    float: right;
}

.productDetailExpensesItem p {
    font-size: 0.75rem;
}



#addExpense {
    float: left;
    min-width: 100px;
    width: 100px;
    margin: 10px 0 0;
    padding: 5px;
}

#expensesTotal {
    padding-top: 10px;
}

.remunerationDate {
    display: block;
}

.remunerationAmount {
    text-align: right;
}

.remunerationItem {
    font-size: 0.85rem;
    border-top: 1px solid #ddd;
    overflow: hidden;
    padding: 5px 0;
}

.remunerationItem.even {
    background-color: #f9f9f9;
}

button.addRemuneration {
    float: right;
    width: auto;
    margin: 0;
}

.listHeader {
    padding: 10px;
    margin: 0;
}

.listHeader.price {
    text-align: right;
}

/* Equipment - START */
#equipmentCreate {
    margin-top: 20px;
}

#equipmentlist .equipmentlistItem.inactive a {
    text-decoration: line-through;
    color: rgba(0, 0, 0, 0.5);
}

/* Equipment - END */

/* USER Detail */
.userOrderslistLabelHolder {
    overflow: hidden;
    font-weight: 700;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
}

.userOrderslist li {
    border-bottom: 1px solid #ddd;
}

.userOrderslist li a {
    display: block;
    overflow: hidden;
}

.userOrderslistColumn {
    float: left;
    padding: 0 10px;
}

.userOrderslistColumn.orderId {
    padding-left: 0;
    width: 20%;
}

.userOrderslistColumn.lines {
    width: 15%;
    text-align: center;
}

.userOrderslistColumn.orderDate {
    width: 35%;
}

/* Productlist - MASS EDIT */
#massPublishTableWrapper {
    max-height: 500px;
    overflow: auto;
}

.selectedProductsDate {
    text-align: right;
    white-space: nowrap;
}

.visibleId {
    white-space: nowrap;
}

/* Productlist - MASS EDIT - END */
/* OrderDetail - REIMBURSE */
.price {
    text-align: right;
}


.optionTitle {
    font-size: 14px;
    margin: 0;
}

.optionDescription {
    font-size: 12px;
    margin: 0;
    color: #aaa;
}

/* OrderDetail - REIMBURSE - END */

/* USER Detail end */


/* Keyaccount - Contract */
.keyAccountsContractValidatelist {
    margin-top: 20px;
    border-bottom: 1px solid #ddd;
}

.keyAccountsContractValidatelist li {
    padding: 5px;
    border-top: 1px dashed #ddd;
    overflow: hidden;
}

.keyAccountsContractValidatelist li p {
    font-size: 0.75rem;
}

.keyAccountContractProductsBefore {
    text-decoration: line-through;
    color: #aaa;
}

.keyAccountContractProductsDelete {
    width: 32px;
}

.keyAccountsContractValidatelistField {
    float: left;
    width: 90%;
}

.keyAccountsContractValidatelistDecline {
    float: left;
    width: 10%;
    text-align: right;
    padding: 10px 0;
}

/* Keyaccount - Contract END */
/* Keyaccount - Contract create modal */
#contractDescription {
    min-height: 250px;
}

/* Keyaccount - Contract create modal - END */
/* Keyaccount - Add product til contract modal */
#keyaccountContractProductSearch {
    margin-top: 27px;
    margin-bottom: 0;
}

#keyaccountContractProductSearchResultWrapper {
    height: 450px;
    overflow: auto;
}

.keyAccountContractTableSumUp {
    text-align: right;
    font-style: italic;
    color: #aaa;
    font-size: 0.75rem;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #ddd;
}

/* Keyaccount - Add product til contract modal - END */

/* KeyAccount Contract Orders */
.keyAccountContractListItem {
    border: 1px solid #aaa;
    padding: 10px 10px 0 10px;
    margin-bottom: 20px;
}

.contractlistTerm,
.contractlistcourseWaitinglist,
.contractlistRemunerationType,
.contractlistEventCancelled,
.contractlistStatus,
.contractlistProductType,
.contractlistParticipants,
.contractlistVisibleId,
.contractlistEducatorId {
    text-align: center;
}

.productlistRemunerationSum,
.productlistParticipantHours {
    text-align: right;
}


/* DASHBOARD */
.noWrap {
    white-space: nowrap;
}


#dashboardContracts {
    float: right;
    width: 300px;
}

.contractlistEducatorId {
    text-align: right;
}

.contractlistProductName {
    width: 275px;
}

.contractlistProductVisibleId {
    width: 90px;
}

.approvelistProductName {
    width: 350px;
}

.tableNoMatch {
    text-align: center;
    padding: 10px;
    font-style: italic;
}

.contractlistfileUploadDate {
    text-align: right;
}

table tr.optionItem:nth-of-type(even) td {
    background-color: #fff;
}


table tr.optionItem:nth-of-type(even):hover td {
    background-color: #D6F2FA;
}

table tr.attenanceItem td {
    background-color: #f0f0f0;
}

.optionListSequenceNo {
    text-align: center;
}

.attendanceListSequenceNo,
.optionListQuantity {
    text-align: center;
}

.optionDescription {
    color: #A9A9A9;
    display: block;
}

.attendanceListOrderNr {
    width: 100px;
    text-align: center;
}

.attendanceListPhoneNumber {
    width: 120px;
    text-align: center;
}

.attendanceListLink {
    display: block;
    margin: 0 0 20px;
}

.attendanceListLink.selected {
    color: #333;
    text-decoration: underline;
}

.participantlistItemName {
    width: 20%;
    min-width: 250px;
}

.participantlistItemQuantity {
    width: 5%;
    text-align: right;
}

.participantlistItemPrice {
    width: 10%;
}

.attenanceItem.disabled td,
.optionItem.disabled td,
#attendancelist .itemRow.disabled {
    text-decoration: line-through;
    color: #a0a0a0;
}

#attendancelist .itemRow.disabled td {
    color: #a0a0a0
}

#attendancelist .itemRow.disabled a {
    color: #91B5C1
}




#productTypeTable td {
    line-height: 27px;
}

#productTypeTable .deactivated td,
#productTypeTable .deactivated a {
    color: #aaa;
    text-decoration: line-through;
}

#productTypeTable .createProductTypeChild {
    float: right;
    padding: 2px;
}

#productTypeTable .createProductTypeChild .icon-Create-icon {
    color: #12779a;
    font-size: 1.25rem;
}

.eventContractRow {
    overflow: hidden;
}

.courseEventAddedEmployeePayRollTypeWrapper {
    clear: both;
    margin-top: 20px;
}

.courseEventContractPayrollSelector {
    background-color: #fff;
    margin-bottom: 10px;
}

.courseEventContractAttachmentItem {
    border: 1px solid #ddd;
    margin-bottom: 20px;
    min-height: 250px;
    font-size: 14px;
}

.courseEventContractAttachmentHeader {
    background: #eaeaea;
    padding: 10px 0;
    overflow: hidden;
}


.courseEventContractAttachmentHeader .title {
    color: #333;
    font-size: 16px;
    width: 100%;
    display: block;
    font-weight: 700;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    line-height: 20px;
}

#contractsStatus {
    overflow-x: hidden;
    width: 100%;
}

#contractsStatus.shortlist {
    max-height: 350px;
}

.courseEventContractAttachmentHeader .type {
    font-size: 14px;
    margin-top: 5px;
}

.courseEventContractAttachmentHeader p {
    margin: 0;
}

.courseEventContractAttachmentHeader span {
    display: block;
}


.courseEventContractAttachmentApproveBtn,
.courseEventContractAttachmentApprove {
    text-align: right;
}

.courseEventContractAttachmentApprove * {
    cursor: default;
}

.courseEventContractAttachmentHeader .uploadDate {
    font-size: 12px;
    color: #555;
    text-align: right;
    margin: 5px 0;
    line-height: 14px;
}

.courseEventContractAttachmentHeader .currentStatusChangeText {
    text-align: right;
    font-size: 12px;
}



.courseEventContractAttachmentHeader .status-text {
    font-weight: 700;
}

.courseEventContractAttachmentContent .attachmentLine {
    overflow: hidden;
}

.courseEventContractAttachmentContent .attachmentLine label {
    float: left;
    display: block;
    padding: 5px 10px;
    margin: 0;
}

.courseEventContractAttachmentContent .attachmentLine a,
.courseEventContractAttachmentContent .attachmentLine p {
    display: block;
    float: right;
    font-size: 14px;
    padding: 5px 10px;
    margin: 0;
}

.courseEventContractAttachmentContent .attachmentLine p.description {
    text-align: left;
    width: 100%;
    font-style: normal;
}

th.sortable:hover {
    background: #f5f5f5;
}

th.sortable {
    color: #12779a;
    cursor: pointer;
}

th.sortable.selected {
    text-decoration: underline;
    background: #eee;
    border-left: solid 1px #ddd;
    border-right: solid 1px #ddd;
    font-weight: 700;
}

#proofStatus {
    cursor: pointer;
}

#contractModalAttachmentGeneral .sendmail {
    font-size: 12px;
    line-height: 1;
    display: block;
}

p.attachmentStatusTitle {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
}

#attachmentDetail #description {
    min-height: 150px;
}

.datePickBtnNoWrapper {
    position: absolute;
    right: 20px;
    bottom: 40px;
}

#contractModalAttachmentGeneral {
    border-bottom: 1px solid #ddd;
    margin-bottom: 20px;
    padding-bottom: 10px;
}

#contractModalAttachmentGeneral .checkboxLabel,
#contractModalAttachmentGeneral input[type="checkbox"] {
    float: left;
}

#contractModalAttachmentGeneral input[type="checkbox"] {
    position: relative;
    top: 3px;
    margin-right: 0px;
}

.CEL_employeeItemContract [class^='icon-'] {
    margin-left: 5px;
}

.statusTopBox {
    padding: 10px;
    font-weight: 700;
}

#keyAccountActiveContracts td {
    background: #fff;
}

#keyAccountActiveContracts td.spacer {
    height: 10px;
    background-color: #fff;
}

.sumupLine td {
    border-top: 2px solid #ddd;
}

#keyAccountActiveContracts .keyAccountCompanyTitleWrapper {
    background-color: #f8f8f8;
    border-bottom: 1px solid #aaa;
}

#waitlistDeleteSelected {
    float: left;
    width: auto;
}

#productDetailRelatedProductSearch {
    margin-top: 28px;
    padding-bottom: 10px;
    margin-bottom: 0;
}

#productRelatedProductsTable tr:first-child .relatedProductsMoveItemUp,
#productRelatedLinksTable tr:first-child .relatedLinkMoveItemUp {
    display: none;
}

#productRelatedProductsTable tr td:last-child {
    padding-left: 0;
    width: 55px;
}

.relatedProductsMoveItemUp,
.relatedLinkMoveItemUp {
    padding: 12px;
    float: right;
}


.relatedLinkEdit {
    float: right;
    padding: 10px;
}

.productDetailRelatedTitle {
    /*width:60%;*/
}

#employeeLinkModal .row {
    max-width: 100%;
}

#employeeRelatedLinks li {
    display: block;
    padding: 10px;
    overflow: hidden;
    border-top: 1px solid #d6d6d6;
}

#employeeRelatedLinks li:first-child {
    border-top: 0;
}


#employeeRelatedLinks li a {
    float: right;
    margin-left: 20px;
}

#employeeRelatedLinks li a:first-child {
    float: left;
    margin-left: 0;
}

#employeeRelatedLinksCreate {
    margin-top: 10px;
}

#employeeDetailStatusMsg {
    width: 75px;
}

.attendancelistOption {
    margin-top: 10px;
    width: 300px;
    margin-bottom: 0;
    border-top: 1px dashed rgba(0, 0, 0, 0.2);

}

.attendancelistOption:first-child {
    margin-top: 0;
    border-top: 0;
}

.attendancelistOption td {
    border-bottom: 0;
    border-top: 0;
}

.amountColumn {
    width: 50px;
    text-align: right;
    vertical-align: top;
}

#attendancelistWithOptions td {
    vertical-align: top;
}

#employeeOutOfDraftBtn {
    max-width: 160px;
    margin: 20px auto 0;
}

.doubleRelationWrapper {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #ddd;
}

.doubleRelationWrapper .description {
    margin-left: 25px;
}

.doubleRelationInfo {
    display: block;
    font-size: 12px;
    color: #444;
}

td.contractlistRemuneration,
th.contractlistRemuneration {
    text-align: right;
}

textarea.large {
    min-height: 150px
}

textarea.larger {
    min-height: 400px
}

/*#educatorsMails,#participantsMails{white-space: nowrap;}*/


.keyAccountAmount,
.keyAccountSales {
    text-align: right;
}

.keyAccountRegistrationStart,
.keyAccountPublishedFrom,
.keyAccountPublishedTo {
    text-align: center;
}

.keyAccountAmount,
.keyAccountRegistrationStart,
.keyAccountPublishedFrom,
.keyAccountSales,
.keyAccountPublishedTo {
    white-space: nowrap;
}


.keyAccountMaxProducts,
.keyAccountMaxQuantity {
    text-align: center;
}

#productSearchTable .primarySearchSumRow td {
    border-top: 2px solid black;
    border-bottom: 2px solid black;
    padding-top: 10px;
    padding-bottom: 10px;
}

.invoiceSearch {
    border-top: 1px dashed #ddd;
    border-bottom: 1px dashed #ddd;
    margin-bottom: 20px;
    padding-top: 15px;
}

#invoiceSearchBtn,
#invoiceSearchUse {
    margin-top: 27px;
}

#employeeContracts th {
    color: #12779a;

}

.productDetailRelatedLinkUrl a {
    display: block;
    width: 214px;
    text-overflow: ellipsis;
    overflow: hidden;
}


.toolBelt {
    padding: 10px;
    position: fixed;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #f4f4f4;
    border-top: 1px solid #ddd;
    z-index: 100;
}

.toolBelt button,
.toolBeltExtras button {
    float: right;
    padding: 10px 20px;
    font-size: 0.9rem;
    line-height: 1;
    width: auto;
    margin: 0;
}

.toolBelt button.secondary {
    float: left;
    margin-right: 20px;
}

.toolBeltExtras {
    border: 1px solid #ddd;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    max-width: 275px;
    position: fixed;
    bottom: 0;
    left: 0;
    background-color: #f4f4f4;
    height: 200px;
    z-index: 95;
    padding: 10px;
    border-radius: 5px;
}



.toolBeltExtras button {
    width: 100%;
    margin-bottom: 10px;
}

.toolBeltExtras.hide {
    bottom: -300px;
}

.searchFilterLocationlist {
    height: 250px;
    overflow: auto;
    list-style: none;
    margin: 0;
    padding: 0;
}

.searchFilterLocationlist p {
    font-size: 12px;
    margin: 0;
    padding: 4px 0px;
}

.searchFilterLocationlist a {
    display: block;
    float: right;
    font-size: 12px;
    padding: 4px 15px;
}

#locationsOptions a.locationFilterRemove {
    display: none;
}

#locationsSelected a.locationFilterAdd {
    display: none;
}

#exportAddresses {
    margin-top: 40px;
}

#templateDescription {
    width: 100%;
    height: 400px;

}


.description.error {
    background-color: #c11e1e;
    color: white;
    padding: 5px 10px;
}

.product-detail-ticket-wrapper {
    background-color: #eee;
    padding: 20px;
    padding-bottom: 0;
    margin-bottom: 20px;
    border: 1px dashed #ccc;

}

.product-detail-ticket-wrapper .headline {
    font-weight: 700;
    float: right;
    padding-bottom: 0;

}

.product-list-toolbelt {
    font-size: 14px;
}

.chevron-wrapper {
    display: inline-block;
    padding: 7px 0 4px 7px;
    border-radius: 45px;
    background-color: #12779a;
    width: 26px;
}

.chevron::before {
    border-style: solid;
    border-width: 0.15em 0.15em 0 0;
    content: '';
    display: inline-block;
    height: 0.55em;
    left: 0.12em;
    position: relative;
    top: 0.15em;
    transform: rotate(-45deg);
    vertical-align: top;
    width: 0.55em;
    transition: all 150ms ease-in-out;
    color: #fff;
}

.chevron.right:before {
    left: 0;
    transform: rotate(45deg);
}

.chevron.bottom:before {
    top: 0;
    transform: rotate(135deg);
}

.chevron.left:before {
    left: 0.25em;
    transform: rotate(-135deg);
}

#refundDetail .list-wrapper .chevron-wrapper {
    transition: all 100ms ease-in-out;
}

#refundDetail .list-wrapper.active .chevron-wrapper {
    transform: rotate(180deg);
}

.gg-calendar-dates {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs, 1));
    width: 18px;
    height: 18px;
    border: 2px solid;
    border-radius: 3px;
    color: rgba(162, 162, 162, 0.75);
}

.gg-calendar-dates::after,
.gg-calendar-dates::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    border-radius: 3px;
    height: 2px;
    left: 2px
}

.gg-calendar-dates::before {
    background: currentColor;
    width: 2px;
    box-shadow:
        4px 0 0, 8px 0 0, 0 4px 0,
        4px 4px 0, 8px 4px 0;
    top: 6px
}

.gg-calendar-dates::after {
    width: 10px;
    top: -4px;
    box-shadow: 0 6px 0 0
}

#refundDetail .gg-calendar-dates {
    position: relative;
    top: 4px;
}

.refund-detail-course-list p {
    margin: 0;
    padding: 0;
}

.refund-detail-course-list-item {
    font-size: 0.85rem;
    border: 1px solid #eaeaea;
    margin-top: 20px;

}

.refund-detail-course-list-item:first-child {}

.refund-detail-course-list-item header {}

.refund-detail-course-list-item header.primary {
    background-color: #eaeaea;
    padding: 15px;
    display: flex;
    justify-content: space-between;

}

.refund-detail-course-list-item-info-header {
    font-size: 0.75rem;
}

.refund-detail-course-list-item header.primary .refund-detail-course-list-item-prices {
    text-align: right;
}

#refundDetail .participants-list-wrapper header,
#refundDetail .events-list-wrapper header,
#refundDetail .refund-list-wrapper header {
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #eaeaea;

}

#refundDetail .list-wrapper header .icon {
    margin-right: 5px;
}

#refundDetail .list-wrapper header .chevron-wrapper {
    margin-left: 15px;
    cursor: pointer;
    height: 26px;
}

#refundDetail .list-wrapper .list {
    max-height: 0;
    overflow: hidden;
    transition: max-height 150ms ease-in-out;
}

#refundDetail .list-wrapper.active .list {
    max-height: 500px;
    overflow: auto;
}

.addressExportPage hr {
    margin: 30px 0;
}

.addressExportPage .filters-container {
    margin: 0 0 30px;
}

.addressExportPage .addressExportFilter {
    padding: 15px 0;
    border-bottom: 1px solid #dddddd;
}

.addressExportPage .datePickBtn {
    cursor: pointer;
    line-height: normal;
}

.addressExportPage .removeFilterBtn {
    margin-top: 75px;
}

.addressExportPage #exportBtn {
    font-size: 22px;
    padding: 12px !important;
}

/* No thanks list */

#nothanksSearchTable tbody td:hover {
    cursor: pointer;
}

#nothanksAddressDetail #nothanksAddressDetailDelete {
    background-color: #c11e1e;
    color: #fff;
    width: 100%;
    margin: 30px 0;
    font-weight: 500;
    border-color: #8e1414;
    transition: background-color .25s ease;
}

/* Refund */

#refundDetail .list-wrapper table {
    margin-bottom: 0;
}

#refundDetail .list-wrapper table td {
    padding: 5px 10px;
    vertical-align: middle;
}

#refundDetail .list-wrapper table input[type="checkbox"] {
    margin: 2px 0 0;
}

#refundDetail .changePercentageBtn, #refundDetail .resetPercentageBtn {
    font-weight: 400;
    margin: 15px 0;
}

#refundDetail button[disabled] {
    cursor: not-allowed;
    opacity: 0.5;
}

#refundDetail .events-table tr.cancelled td {
    background-color: #ffe0e0;
}

#refundDetail .events-table td.events-table-status {
    font-weight: bold;
    color: #b50000;
}

#refundDetail .events-list-wrapper__right {
    display: flex;
    align-items: center;
}

#refundDetail .events-list-wrapper__right .events-list-wrapper__right--course-attendance {
    text-align: right;
}

#refundDetail .events-list-wrapper__right .events-list-wrapper__right--course-attendance span:nth-child(2) {
    display: block;
    margin-top: 5px;
}

#refundDetail .courseRefundOptionsWrapper {
    margin-top: 25px;
    display: flex;
    justify-content: flex-end;
}

#refundDetail .refundDetailHeader {
    margin-bottom: 15px;
}

#refundDetail .refundDetailHeader p {
    font-size: 15px;
}

#refundDetail .refundDetailHeader .refundDetailHeaderStatus {
    /* margin: 5px 0; */
}

#refundDetail .refund-list-wrapper header {
    border: 1px solid #eaeaea;
}

#refundDetail .refund-list__count {
    font-size: 14px;
}

#refundDetail .refund-list table {
    border: 1px solid #dddddd; 
    border-top: none;
}

#refundDetail .refund-list__title {
    font-size: 15px;
}

#refundDetail hr {
    margin-top: 0;
}

#refundDetail .refundDetailModified,
#refundDetail .refundDetailApproved,
#refundDetail .refundDetailProcessed {
    margin-top: -15px;
}

#refundDetail .refund-list .refund-table tr.error td {
    background-color: #ffe0e0;
}

#refundDetail .refund-list .refund-table tr.error td.status:hover .status-popup__text {
    opacity: 1;
}

#refundDetail .refund-list .refund-table tr.error td.status:hover .status-popup__icon:before {
    color: #5a1212;
}

#refundDetail .refund-list .refund-table tr.error td.status .status-container {
    position: relative;
}

#refundDetail .refund-list .refund-table tr td.status .status-popup__icon {
    position: absolute;
    right: -5px;
    top: -20px;
}

#refundDetail .refund-list .refund-table tr td.status .status-popup__icon:before {
    color: #841e1e;
    content: "\F028";
    font-family: Material Design Icons;
    font-size: 22px;
    line-height: 22px;
    transition: color .25s ease;
}

#refundDetail .refund-list .refund-table tr.error td.status .status-popup__text {
    position: absolute;
    font-size: 14px;
    opacity: 0;
    background: white;
    padding: 5px 10px;
    z-index: 10;
    margin-left: -50px;
    margin-right: 40px;
    box-shadow: 0px 2px 15px 1px rgba(0, 0, 0, 0.5);
    transition: all .25s ease;
}

#refundDetail .refund-list .refund-table tr td.status .status-popup:hover ~ .status-popup__text {
    opacity: 1;
}

#refundDetail .refund-list__type span:before {
    font-family: 'Material Design Icons';
    font-size: 18px;
}

#refundDetail .refund-list__type--card span:before {
    content: "\F19B";
}

#refundDetail .refund-list__type--invoice span:before {
    content: "\F219";
}

#refundDetail .refund-list .refund-table tr.error:nth-of-type(even) td,
#refundDetail .events-list .events-table tr.cancelled:nth-of-type(even) td  {
    background-color: #fdd1d1;
}

#refundDetail .refund-list__item--email {
    cursor: pointer;
}

#refundDetail .refund-list__item--email:before {
    content: "\F1F0";
    font-family: 'Material Design Icons';
    font-size: 20px;
}

#refundDetail .refund-detail-course-list-extras-text {
    font-size: 14px;
    padding-top: 5px;
}

#refundDetail .tip {
    font-size: 14px;
    background: #fbfbfb;
    border-radius: 3px;
    padding: 10px;
    position: relative;
    width: 100%;
    border: 1px solid #ececec;
}

#refundDetail .tip p {
    font-size: 14px;
    margin: 0;
}

#refundDetail .tip:before {
    content: "\F2D7";
    font-family: 'Material Design Icons';
    font-size: 22px;
    position: absolute;
    top: 10px;
    right: 10px;
    color: #12779a;
}

.disabled {
    pointer-events: none;
}

.remove-from-refund-draft {
    cursor: pointer;
    display: inline-block;
    margin-top: 6px;
    opacity: 1;
    transition: 250ms ease;
}

    .remove-from-refund-draft:hover {
        opacity: 0.6;
    }


/* EDITOR PROPERTIES - PLEASE DON'T DELETE THIS LINE TO AVOID DUPLICATE PROPERTIES */
/*# sourceMappingURL=data:application/json;base64,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QztBQUNEO0lBQ0MsMkJBQUE7SUFDRCw4QkFBQTtJQUNDLG1CQUFBO0lBQ0EsaUJBQUE7Q0FDQTtBQUNEO0lBQ0EsZ0JBQUE7Q0FDQzs7QUFFRDtJQUNJLGNBQWM7O0NBRWxCOztBQUVBO0lBQ0ksZUFBZTtJQUNuQixhQUFBO0lBQ0ksd0JBQXdCO0lBQ3hCLGlCQUFpQjtDQUNwQjs7O0FBR0QscUZBQXFGIiwiZmlsZSI6ImludHJhbmV0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAndGl0aWxsaXVtJztcclxuICAgIHNyYzogdXJsKCcvZm9udHMvdGl0aWxsaXVtd2ViLXJlZ3VsYXItd2ViZm9udC5lb3QnKTtcclxuICAgIHNyYzogdXJsKCcvZm9udHMvdGl0aWxsaXVtd2ViLXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJy9mb250cy90aXRpbGxpdW13ZWItcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcvZm9udHMvdGl0aWxsaXVtd2ViLXJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnL2ZvbnRzL3RpdGlsbGl1bXdlYi1yZWd1bGFyLXdlYmZvbnQuc3ZnI3RpdGlsbGl1bV93ZWJyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICd0aXRpbGxpdW0nO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy90aXRpbGxpdW13ZWItYm9sZC13ZWJmb250LmVvdCcpO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy90aXRpbGxpdW13ZWItYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnL2ZvbnRzL3RpdGlsbGl1bXdlYi1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJy9mb250cy90aXRpbGxpdW13ZWItYm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCcvZm9udHMvdGl0aWxsaXVtd2ViLWJvbGQtd2ViZm9udC5zdmcjdGl0aWxsaXVtX3dlYmJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICd0aXRpbGxpdW0nO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy90aXRpbGxpdW13ZWItaXRhbGljLXdlYmZvbnQuZW90Jyk7XHJcbiAgICBzcmM6IHVybCgnL2ZvbnRzL3RpdGlsbGl1bXdlYi1pdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJy9mb250cy90aXRpbGxpdW13ZWItaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJy9mb250cy90aXRpbGxpdW13ZWItaXRhbGljLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy9mb250cy90aXRpbGxpdW13ZWItaXRhbGljLXdlYmZvbnQuc3ZnI3RpdGlsbGl1bV93ZWJib2xkJykgZm9ybWF0KCdzdmcnKTtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLypJa29uZXIqL1xyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnaWNvbnMnO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy9mdWF1SW50cmFuZXQuZW90Jyk7XHJcbiAgICBzcmM6IHVybCgnL2ZvbnRzL2Z1YXVJbnRyYW5ldC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJy9mb250cy9mdWF1SW50cmFuZXQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy9mb250cy9mdWF1SW50cmFuZXQud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJy9mb250cy9mdWF1SW50cmFuZXQuc3ZnI2Z1YXVJbnRyYW5ldCcpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgZm9udC1mYW1pbHk6ICdpY29ucyc7XHJcbiAgICBzcGVhazogbm9uZTtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgIGNvbG9yOiByZ2JhKDE2MiwgMTYyLCAxNjIsIDAuNzUpO1xyXG59XHJcblxyXG4uaWNvbi1pY29uXzkwOTQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjE0XCI7XHJcbn1cclxuXHJcbi5pY29uLWRlY2xpbmUtaWNvbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MTJcIjtcclxufVxyXG5cclxuLmljb24tYWNjZXB0LWljb246YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjEzXCI7XHJcbn1cclxuXHJcbi5pY29uLWNvbnRyYWN0OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYxMVwiO1xyXG59XHJcblxyXG4uaWNvbi1GYXZvcml0ZS1pY29uOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYxMFwiO1xyXG59XHJcblxyXG4uaWNvbi1DcmVhdGUtbXVsdGktaWNvbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MGZcIjtcclxufVxyXG5cclxuLmljb24tRm9sZGVyLWNsb3NlZC1pY29uOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYwYlwiO1xyXG59XHJcblxyXG4uaWNvbi1JbWctaWNvbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MGNcIjtcclxufVxyXG5cclxuLmljb24tRm9sZGVyLW9wZW4taWNvbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MGRcIjtcclxufVxyXG5cclxuLmljb24tRG9jLWljb246YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjBlXCI7XHJcbn1cclxuXHJcbi5pY29uLUNhbC1pY29uOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYwYVwiO1xyXG59XHJcblxyXG4uaWNvbi1NYWlsLWljb246YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjA5XCI7XHJcbn1cclxuXHJcbi5pY29uLUVkaXQtaWNvbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MDZcIjtcclxufVxyXG5cclxuLmljb24tRGVsZXRlLWljb246YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjA3XCI7XHJcbn1cclxuXHJcbi5pY29uLUNsb3NlLWljb246YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjA4XCI7XHJcbn1cclxuXHJcbi5pY29uLVVzZXItaWNvbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MDBcIjtcclxufVxyXG5cclxuLmljb24tU2VhcmNoLWljb246YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjAxXCI7XHJcbn1cclxuXHJcbi5pY29uLUxpc3QtbGluay1pY29uOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYwM1wiO1xyXG59XHJcblxyXG4uaWNvbi1MaXN0LWVjb25vbXktaWNvbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MDJcIjtcclxufVxyXG5cclxuLmljb24tTGlzdC1jb250ZW50LWljb246YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjA0XCI7XHJcbn1cclxuXHJcbi5pY29uLUNyZWF0ZS1pY29uOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYwNVwiO1xyXG59XHJcblxyXG4uaWNvbi1jb21tZW50OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYxNVwiO1xyXG59XHJcblxyXG4uaWNvbi13YXJuaW5nOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYxNlwiO1xyXG59XHJcblxyXG4uaWNvbi1wYXBlcmNsaXA6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjE3XCI7XHJcbn1cclxuXHJcbi5pY29uLWFycm93VXA6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjFhXCI7XHJcbn1cclxuXHJcblxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ3RpdGlsbGl1bSc7XHJcbiAgICAgICAgc3JjOiB1cmwoJy9mb250cy90aXRpbGxpdW13ZWItcmVndWxhci13ZWJmb250LnN2ZycpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICB9XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICd0aXRpbGxpdW0nO1xyXG4gICAgICAgIHNyYzogdXJsKCcvZm9udHMvdGl0aWxsaXVtd2ViLWJvbGQtd2ViZm9udC5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIH1cclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ3RpdGlsbGl1bSc7XHJcbiAgICAgICAgc3JjOiB1cmwoJy9mb250cy90aXRpbGxpdW13ZWItaXRhbGljLXdlYmZvbnQuc3ZnJykgZm9ybWF0KCdzdmcnKTtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdpY29ucyc7XHJcbiAgICAgICAgc3JjOiB1cmwoJy9mb250cy9mdWF1SW50cmFuZXQuc3ZnI2Z1YXVJbnRyYW5ldCcpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5maWx0ZXJIZWFkZXIge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuXHJcbmJ1dHRvbi5maWx0ZXJIZWFkZXIuc21hbGwge1xyXG4gICAgY29sb3I6ICMxMjc3OWE7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmc6IDEwcHggNjBweDtcclxufVxyXG5cclxuYnV0dG9uLmRpc2FibGVkIHtcclxuICAgIG9wYWNpdHk6IDAuNDtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLnNlY3Rpb25XcmFwcGVyIHtcclxufVxyXG5cclxuICAgIC5zZWN0aW9uV3JhcHBlciAuc2VjdGlvbiB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICAgICAuc2VjdGlvbldyYXBwZXIgLnNlY3Rpb24uaGlkZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuLnNlY3Rpb25CdXR0b24ge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgcGFkZGluZzogMTZweCAzMHB4IDE2cHg7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLnNlY3Rpb25UaXRsZSB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgbWluLXdpZHRoOiAxMDAwcHg7XHJcbiAgICBmb250LWZhbWlseTogJ3RpdGlsbGl1bSc7XHJcbn1cclxuXHJcbi5yb3cuc3BhY2VyVG9wIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5yb3cuc3BhY2VyRG93biwgLm1vZGFsUm93LnNwYWNlckRvd24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLm5vTWFyZ2luIHtcclxuICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcbiAgICBmb250LWZhbWlseTogQXJpYWwhaW1wb3J0YW50O1xyXG59XHJcblxyXG5pbnB1dC5lcnJvciB7XHJcbiAgICBib3JkZXI6ICNjMTFlMWUgMnB4IHNvbGlkO1xyXG59XHJcblxyXG5pbnB1dC5yZWFkb25seSwgc2VsZWN0LnJlYWRvbmx5LCBpbnB1dC5yZWFkb25seTpmb2N1cywgc2VsZWN0LnJlYWRvbmx5OmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbiAgICBjb2xvcjogIzg4ODtcclxuICAgIGJvcmRlci1jb2xvcjogI2NjYztcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDBweCAjOTk5OTk5O1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDAgMHB4ICM5OTk5OTk7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMHB4ICM5OTk5OTk7XHJcbn1cclxuXHJcbi5pbnB1dFdyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4gICAgLmlucHV0V3JhcHBlci53aXRoUGFyYWdyYXBoIHAge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuM3JlbSAwO1xyXG4gICAgfVxyXG5cclxuICAgICAgICAuaW5wdXRXcmFwcGVyLndpdGhQYXJhZ3JhcGggcC5zdWNjZXNzIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcblxyXG4uY2hlY2tib3hXcmFwcGVyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbiAgICAuY2hlY2tib3hXcmFwcGVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAuY2hlY2tib3hXcmFwcGVyIGxhYmVsIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtNHB4O1xyXG4gICAgfVxyXG5sYWJlbC5zbGltIHtcclxuICAgIGZvbnQtd2VpZ2h0OjEwMDtcclxuICAgIH1cclxuICAgIC5jaGVja2JveFdyYXBwZXIgcC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAtNXB4IDAgMCAyMHB4O1xyXG4gICAgfVxyXG5cclxuLmludHJhTGlzdFdyYXBwZXIge1xyXG4gICAgbWFyZ2luOiAyMHB4O1xyXG59XHJcblxyXG4uY3VycmVudEl0ZW1EYXRhSG9sZGVyLmxpc3Qge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLmludHJhTGlzdFdyYXBwZXIgdHI6aG92ZXIgdGQge1xyXG4gICAgYmFja2dyb3VuZDogI0Q2RjJGQTtcclxufVxyXG5cclxuLnByb2R1Y3RsaXN0S2V5QWNjb3VudFNhbGVzIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuI3Byb2R1Y3RsaXN0Q29sdW1uUGlja2VyIC5jaGVja2JveFdyYXBwZXIgbGFiZWwge1xyXG4gICAgdG9wOiAtNnB4O1xyXG59XHJcblxyXG4ucHJvZHVjdGxpc3RXYWl0aW5nbGlzdCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5wcm9kdWN0bGlzdFZpc2libGVJZCB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4ucHJvZHVjdGxpc3RQcmljZSwgLnByb2R1Y3RsaXN0U3R1ZGVudFByaWNlLCAucHJvZHVjdGxpc3RQcm9maXQsIC5wcm9kdWN0bGlzdFNhbGVze1xyXG4gICAgdGV4dC1hbGlnbjpyaWdodDtcclxufVxyXG5cclxuLnByb2R1Y3RsaXN0U2VsZWN0IGlucHV0LCAuY2hlY2tib3hPbkxpc3Qge1xyXG4gICAgbWFyZ2luOiAzcHggMCAwIWltcG9ydGFudDtcclxufVxyXG5cclxuI3Byb2R1Y3RTZWFyY2hUYWJsZSB0ZDpmaXJzdC1jaGlsZCwgI3Byb2R1Y3RTZWFyY2hUYWJsZSB0aDpmaXJzdC1jaGlsZCB7XHJcbiAgICBwYWRkaW5nOiAycHggNXB4O1xyXG59XHJcblxyXG50aC5wcm9kdWN0bGlzdFN0YXR1c1NlbGVjdCBpbnB1dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDhweDtcclxufVxyXG5cclxudGFibGUubm9Cb3JkZXJzLCB0YWJsZS5ub0JvcmRlcnMgdGQge1xyXG4gICAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4jdG9nZ2xlQWR2YW5jZWRTZWFyY2gge1xyXG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbn1cclxuXHJcbi5saXN0RmlsdGVyV3JhcHBlciB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5kYXRlUGlja0J0biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMTBweDtcclxuICAgIGJvdHRvbTogN3B4O1xyXG59XHJcblxyXG4uZGF0ZVdyYXBwZXIgLmRhdGVQaWNrQnRuIHtcclxuICAgIGJvdHRvbTogMjJweDtcclxufVxyXG5cclxuLmRhdGVXcmFwcGVyIC5kZXNjcmlwdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5zZWFyY2hCdG4ge1xyXG4gICAgLypwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMTVweDtcclxuICAgIGJvdHRvbTogM3B4OyovXHJcbiAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICBwYWRkaW5nOiAxMnB4IWltcG9ydGFudDtcclxufVxyXG5cclxuICAgIC5zZWFyY2hCdG4gLmljb24tU2VhcmNoLWljb24ge1xyXG4gICAgICAgIC8qcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDowIWltcG9ydGFudDsqL1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWFyY2hCdG4ubGFyZ2Uge1xyXG4gICAgICAgIGJvdHRvbTogMTFweDtcclxuICAgIH1cclxuXHJcbi5saVJvdyB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ubGlDb2x1bW4ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG5cclxuLmZsIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uY2VudGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnJpZ2h0LCAudGV4dFJpZ2h0IHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4udGV4dGxlZnQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLm5vbGlzdCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zbWFsbGxpc3Qge1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG59XHJcblxyXG4gICAgLnNtYWxsbGlzdCBsaSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjZGRkO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICB9XHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiAjMTI3NzlhO1xyXG59XHJcblxyXG4gICAgYTpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICMyMjQxNzU7XHJcbiAgICB9XHJcblxyXG4jbWFpbkhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZWE5OyAvKiBPbGQgYnJvd3NlcnMgKi9cclxuICAgIC8qIElFOSBTVkcsIG5lZWRzIGNvbmRpdGlvbmFsIG92ZXJyaWRlIG9mICdmaWx0ZXInIHRvICdub25lJyAqL1xyXG4gICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BnbzhjM1puSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZDJsa2RHZzlJakV3TUNVaUlHaGxhV2RvZEQwaU1UQXdKU0lnZG1sbGQwSnZlRDBpTUNBd0lERWdNU0lnY0hKbGMyVnlkbVZCYzNCbFkzUlNZWFJwYnowaWJtOXVaU0krQ2lBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ2VERTlJakFsSWlCNU1UMGlNQ1VpSUhneVBTSXdKU0lnZVRJOUlqRXdNQ1VpUGdvZ0lDQWdQSE4wYjNBZ2IyWm1jMlYwUFNJeUpTSWdjM1J2Y0MxamIyeHZjajBpSXpJNU9HVmhPU0lnYzNSdmNDMXZjR0ZqYVhSNVBTSXhJaTgrQ2lBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWprNUpTSWdjM1J2Y0MxamIyeHZjajBpSXpFeE56WTVPU0lnYzNSdmNDMXZjR0ZqYVhSNVBTSXhJaTgrQ2lBZ1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0S0lDQThjbVZqZENCNFBTSXdJaUI1UFNJd0lpQjNhV1IwYUQwaU1TSWdhR1ZwWjJoMFBTSXhJaUJtYVd4c1BTSjFjbXdvSTJkeVlXUXRkV05uWnkxblpXNWxjbUYwWldRcElpQXZQZ284TDNOMlp6ND0pO1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMjk4ZWE5IDIlLCAjMTE3Njk5IDk5JSk7IC8qIEZGMy42KyAqL1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgyJSwjMjk4ZWE5KSwgY29sb3Itc3RvcCg5OSUsIzExNzY5OSkpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzI5OGVhOSAyJSwjMTE3Njk5IDk5JSk7IC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMjk4ZWE5IDIlLCMxMTc2OTkgOTklKTsgLyogT3BlcmEgMTEuMTArICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIzI5OGVhOSAyJSwjMTE3Njk5IDk5JSk7IC8qIElFMTArICovXHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMjk4ZWE5IDIlLCMxMTc2OTkgOTklKTsgLyogVzNDICovXHJcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzI5OGVhOScsIGVuZENvbG9yc3RyPScjMTE3Njk5JyxHcmFkaWVudFR5cGU9MCApOyAvKiBJRTYtOCAqL1xyXG59XHJcblxyXG4jcHJpbWFyeUxvZ28ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbn1cclxuXHJcbiNtYWluQ29udGVudFdyYXBwZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDQwcHggMDtcclxufVxyXG5cclxuXHJcbiNwcmltYXJ5TmF2aWdhdGlvbldyYXBwZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBmNjQ4MTtcclxufVxyXG5cclxuI3ByaW1hcnlOYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uSXRlbSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5uYXZpZ2F0aW9uSXRlbUxpbmsge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHggN3B4O1xyXG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTI3NzlhO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiA1cHg7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDVweDtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5maXJzdCAubmF2aWdhdGlvbkl0ZW1MaW5rIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG4ubmF2aWdhdGlvbkl0ZW1MaW5rLnNlbGVjdGVkLCAubmF2aWdhdGlvbkl0ZW1MaW5rLnNlbGVjdGVkOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XHJcbiAgICBjb2xvcjogIzBhMjM0YztcclxufVxyXG5cclxuLm5hdmlnYXRpb25JdGVtTGluazpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZWE5O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbiNzZWNvbmRhcnlOYXZpZ2F0aW9uV3JhcHBlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xyXG4gICAgbWluLWhlaWdodDogMTBweDtcclxufVxyXG5cclxuICAgICNzZWNvbmRhcnlOYXZpZ2F0aW9uV3JhcHBlciAubmF2aWdhdGlvbkl0ZW1MaW5rIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBjb2xvcjogIzEyNzc5YTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuaW5wdXQucHJpbWFyeVNlYXJjaCB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDAuNXJlbTtcclxufVxyXG5cclxuLnByaW1hcnlTZWFyY2hTdW1Sb3dQcmljZSB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5wcmltYXJ5U2VhcmNoU3VtUm93UHJpY2VMYWJlbCB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XHJcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2RkZGRkZDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG50aGVhZC53aGl0ZUJhY2tncm91bmQge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xyXG59XHJcblxyXG50YWJsZSB0aGVhZCxcclxudGFibGUgdGZvb3Qge1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGVzbW9rZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4gICAgdGFibGUgdGhlYWQgdHIgdGgsXHJcbiAgICB0YWJsZSB0aGVhZCB0ciB0ZCxcclxuICAgIHRhYmxlIHRmb290IHRyIHRoLFxyXG4gICAgdGFibGUgdGZvb3QgdHIgdGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuMmVtIDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgICAgICBjb2xvcjogIzIyMjIyMjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlIHRoZWFkIHRyIHRoIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICB9XHJcblxyXG50YWJsZSB0ciB0aCxcclxudGFibGUgdHIgdGQge1xyXG4gICAgcGFkZGluZzogMC4yZW0gMTBweDtcclxuICAgIGNvbG9yOiAjMjIyMjIyO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNkZGRkZGQ7XHJcbn1cclxuXHJcbnRhYmxlIHRyLmFsdCB0ZCwgdGFibGUgdHI6bnRoLW9mLXR5cGUoZXZlbikgdGQge1xyXG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcclxufVxyXG5cclxudGFibGUgW2NsYXNzXj1cImljb24tXCJdLCAucHJvZHVjdE9wdGlvbnNIZWFkZXIgW2NsYXNzXj1cImljb24tXCJdIHtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxufVxyXG5cclxudGFibGUgdGhlYWQgdHIgdGgsXHJcbnRhYmxlIHRmb290IHRyIHRoLFxyXG50YWJsZSB0Ym9keSB0ciB0ZCxcclxudGFibGUgdHIgdGQsXHJcbnRhYmxlIHRmb290IHRyIHRkIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XHJcbn1cclxuXHJcblxyXG4uYnV0dG9uIC5uZXh0VG9TZWFyY2gge1xyXG4gICAgcGFkZGluZzogMTVweCA0MHB4O1xyXG59XHJcblxyXG4uYnV0dG9uLmRpc2FibGVkIHtcclxuICAgIG9wYWNpdHk6IDAuNDtcclxufVxyXG5cclxuLmJ1dHRvbi5zZWNvbmRhcnkgW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdLCBidXR0b24uc2Vjb25kYXJ5IFtjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAycHg7XHJcbn1cclxuXHJcbi5idXR0b24uc2Vjb25kYXJ5LnNtYWxsIFtjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSwgYnV0dG9uLnNlY29uZGFyeS5zbWFsbCBbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgcGFkZGluZy1yaWdodDogM3B4O1xyXG59XHJcblxyXG4uYnV0dG9uLnByaW1hcnkgW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdLCBidXR0b24ucHJpbWFyeSBbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAycHg7XHJcbn1cclxuXHJcbi8qIFBMID0gUHJvZHVjdExpc3QgKi9cclxuLnByb2R1Y3RsaXN0UHVibGlzaGVkLCAucHJvZHVjdGxpc3RDb250ZW50U3RhdHVzeyAgICBcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcbiAgICAucHJvZHVjdGxpc3RQdWJsaXNoZWQgc3BhbiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDowO1xyXG4gICAgICAgIHRvcDotMXB4O1xyXG4gICAgfVxyXG5cclxuLnByb2R1Y3RsaXN0Rmlyc3REYXRlLCAucHJvZHVjdGxpc3RQdWJsaXNoZWRGcm9tLCAucHJvZHVjdGxpc3RQdWJsaXNoZWRUbywgLnByb2R1Y3RsaXN0UmVnaXN0cmF0aW9uU3RhcnQsIC5wcm9kdWN0bGlzdFJlZ2lzdHJhdGlvbkVuZCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5wcm9kdWN0bGlzdEF0dGVuZGFuY2UsIC5wcm9kdWN0bGlzdFJlZ2lzdHJhdGlvbk9wZW4sIC5wcm9kdWN0bGlzdEhhc0ltYWdlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnByb2R1Y3RsaXN0QXZhaWxhYmxlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnByb2R1Y3RsaXN0TmFtZSB7XHJcbiAgICBtaW4td2lkdGg6IDMwNXB4O1xyXG59XHJcblxyXG4jcHJvZHVjdFNlYXJjaFRhYmxlQXBwcm92ZWQgLnByb2R1Y3RsaXN0TmFtZSwgI3Byb2R1Y3RTZWFyY2hUYWJsZUFwcHJvdmVkIC5wcm9kdWN0bGlzdE5hbWUge1xyXG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xyXG59XHJcblxyXG4ucHJvZHVjdGxpc3RTdGF0dXMge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG50ZC5QTF9jMi5wcm9kdWN0bGlzdEVjb25vbXlTdGF0dXMge1xyXG4gICAgcGFkZGluZzogMC4yZW0gMDtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcblxyXG4ucHJvZHVjdGxpc3RFdmVudHMge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKiBPTCA9IE9yZGVyTGlzdCAqL1xyXG4ub3JkZXJzbGlzdFByb2Nlc3NlZCBbY2xhc3NePVwiaWNvbi1cIl0sIC5vcmRlcnNsaXN0UHJvY2Vzc2VkIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4jb3JkZXJzU2VhcmNoVGFibGUgLmNhbmNsZWQgdGQge1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbiAgICAjb3JkZXJzU2VhcmNoVGFibGUgLmNhbmNsZWQgdGQuT0xfYzIge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuLm9yZGVyc2xpc3RUcmFuc2l0aW9uTnVtYmVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm9yZGVyc2xpc3REYXRlIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLm9yZGVyc2xpc3RBbW91bnQge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4ub3JkZXJzbGlzdFByb2R1Y3RzIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4vKiBPcmRlcnNEZXRhaWwgKi9cclxuXHJcbiNvcmRlclRpY2tldENvbnRlbnQge1xyXG4gICAgaGVpZ2h0OiAzMDBweDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLyogT0RMID0gT3JkZXJEZXRhaWxMaXN0ICovXHJcbi5PRExfYzEge1xyXG59XHJcblxyXG4uT0RMX2MyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLk9ETF9jMyB7XHJcbn1cclxuXHJcbi5PRExfYzUge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5PRExfYzYge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5PRExfYzcge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG50YWJsZSB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG4jb3JkZXJEZXRhaWxPcmRlcmxpbmVzVGFibGUgLm9yZGVybGluZS5kaXNhYmxlZCBhLCAub3JkZXJsaW5lLmRpc2FibGVkIHRkLCAub3B0aW9ubGluZS5kaXNhYmxlZCB0ZCB7XHJcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbiNvcmRlckRldGFpbE9yZGVybGluZXNUYWJsZSAuZGlzY291bnRsaW5lIHRkIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbiNvcmRlckRldGFpbE9yZGVybGluZXNUYWJsZS5kaXNjb3VudGxpbmUgLmRlc2NyaXB0aW9uIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuICAgICNvcmRlckRldGFpbE9yZGVybGluZXNUYWJsZSAuZGlzY291bnRsaW5lIC5kZXNjcmlwdGlvbi5ibGFjayB7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgNXB4O1xyXG4gICAgfVxyXG5cclxuLm9wdGlvbmxpbmVUYWcge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgY29sb3I6ICNiYmI7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbiNvcmRlckRldGFpbE9yZGVybGluZXNUYWJsZSB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG4jb3JkZXJEZXRhaWxPcmRlcmxpbmVzVGFibGUgLnN1YnRvdGFsTGluZSB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG59XHJcblxyXG4jb3JkZXJEZXRhaWxPcmRlcmxpbmVzVGFibGUgLnN1YnRvdGFsTGluZSAuT0RMX2MzLCAuc3VidG90YWxMaW5lIC5PRExfYzYge1xyXG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgIGNvbG9yOiAjNDQ0O1xyXG59XHJcblxyXG4jb3JkZXJEZXRhaWxPcmRlcmxpbmVzVGFibGUgdHIudG90YWxMaW5lIHRkIHtcclxuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjYmJiO1xyXG59XHJcbi8qIENMID0gQ291cnNlTGlzdCAqL1xyXG4jY291cnNlbGlzdCBbY2xhc3NePVwiaWNvbi1cIl0sICNjb3Vyc2VsaXN0IFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgY29sb3I6ICMxMjc3OWE7XHJcbn1cclxuXHJcbi5jb3Vyc2VsaXN0SGVhZGVyV3JhcHBlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG4uQ0xfcm93SW5uZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxufVxyXG5cclxuICAgIC5DTF9yb3dJbm5lciAuQ0xfVG9vbENvbHVtbiB7XHJcbiAgICAgICAgd2lkdGg6IDIxJTtcclxuICAgIH1cclxuXHJcbi5DTF9yb3cuY2FuY2VsbGVkIC5DTF9yb3dJbm5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVjN2M3O1xyXG59XHJcblxyXG4uQ0xfcm93IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4gICAgLkNMX3JvdyAubGlDb2x1bW4ge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xyXG4gICAgfVxyXG5cclxuLkNMX3Jvd0lubmVyLmhlYWRlckJhciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWFlYWVhO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcblxyXG4ucHJvZHVjdERldGFpbENvdXJzZUxhYmVsIHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLkNMX2MxIHtcclxuICAgIHdpZHRoOiAxMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5DTF9jMiB7XHJcbiAgICB3aWR0aDogMTAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uQ0xfYzMge1xyXG4gICAgd2lkdGg6IDIyJTtcclxufVxyXG5cclxuLkNMX2M0IHtcclxuICAgIHdpZHRoOiAyMiU7XHJcbn1cclxuXHJcbi5DTF9jNSB7XHJcbiAgICB3aWR0aDogMTUlO1xyXG59XHJcblxyXG4uQ0xfYzYge1xyXG4gICAgd2lkdGg6IDE2JTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLnNvbGRPdXQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGNvbG9yOiAjYzExZTFlO1xyXG59XHJcblxyXG4uY291cnNlQnV0dG9uV3JhcHBlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uY291cnNlU3RhdHVzV3JhcHBlciB7XHJcbiAgICBjb2xvcjogIzY2NjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi8qIENFTCA9IENvdXJzZUV2ZW50TGlzdCAqL1xyXG5cclxuXHJcbi5DRUxfcm93IHtcclxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2RkZGRkZDtcclxufVxyXG5cclxuICAgIC5DRUxfcm93IC5sb2NhdGlvbiAubG9jYXRpb25OYW1lIHtcclxuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAuQ0VMX3JvdyAudGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLkNFTF9yb3cgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogIzg4ODtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5DRUxfcm93IHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIH1cclxuXHJcbi5DRUxfYzEge1xyXG4gICAgd2lkdGg6IDIwJTtcclxufVxyXG5cclxuICAgIC5DRUxfYzEgLnRpdGxlIHtcclxuICAgICAgICBjb2xvcjogIzc3NztcclxuICAgIH1cclxuXHJcbi5DRUxfYzIge1xyXG4gICAgd2lkdGg6IDIyJTtcclxufVxyXG5cclxuLkNFTF9jMyB7XHJcbiAgICB3aWR0aDogMjIlO1xyXG59XHJcblxyXG4uQ0VMX2M0IHtcclxuICAgIHdpZHRoOiAyNiU7XHJcbn1cclxuXHJcbi5DRUxfYzUge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiAxMCU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuICAgIC5DRUxfYzUgW2NsYXNzXj1cImljb24tXCJdLCAuQ0VMX2M1IFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuNzUpO1xyXG4gICAgfVxyXG5cclxuXHJcbi5DRUxfZW1wbG95ZWVJdGVtW2RhdGEtc3RhdHVzPVwiMVwiXSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBjb2xvcjogIzMzMztcclxufVxyXG5cclxuICAgIC5DRUxfZW1wbG95ZWVJdGVtW2RhdGEtc3RhdHVzPVwiMVwiXTpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICB9XHJcblxyXG4uQ0VMX2VtcGxveWVlSXRlbSwgLkNFTF9lbXBsb3llZUl0ZW1Db250cmFjdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDJweDtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbiAgICAuQ0VMX2VtcGxveWVlSXRlbUNvbnRyYWN0IFtjbGFzc149XCJpY29uLVwiXSwgLkNFTF9lbXBsb3llZUl0ZW1Db250cmFjdCBbY2xhc3MqPVwiIGljb24tXCJdIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHghaW1wb3J0YW50O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDFweDtcclxuICAgIH1cclxuXHJcbi8qLkNFTF9lbXBsb3llZUl0ZW1Db250cmFjdFtkYXRhLXN0YXR1cz1cIjEuNVwiXTpob3ZlciB7XHJcbiAgICAgICAgY3Vyc29yOmRlZmF1bHQhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiMxMjc3OWE7XHJcbiAgICB9Ki9cclxuLkNFTF9lbXBsb3llZUl0ZW1OYW1lIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uQ0VMX2VtcGxveWVlSXRlbVN0YXR1cyB7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICBtYXJnaW4tdG9wOiAtN3B4O1xyXG4gICAgY29sb3I6ICM4ODg7XHJcbn1cclxuXHJcbiAgICAuQ0VMX2VtcGxveWVlSXRlbVN0YXR1cy5hdHRlbnRpb24ge1xyXG4gICAgICAgIGNvbG9yOiAjNzM3MzJFO1xyXG4gICAgfVxyXG5cclxuICAgIC5DRUxfZW1wbG95ZWVJdGVtU3RhdHVzLmVycm9yIHtcclxuICAgICAgICBjb2xvcjogI2M2MGYxMztcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xyXG4gICAgfVxyXG5cclxuLkNFTF9yb3cuY2FuY2VsbGVkIHtcclxuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2MxMWUxZSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiAgICAuQ0VMX3Jvdy5jYW5jZWxsZWQgLnN0YXJ0RGF0ZSwgLkNFTF9yb3cuY2FuY2VsbGVkIC5lbmREYXRlIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuICAgIH1cclxuXHJcbiNlbXBsb3llZVJlbGF0aW9uTW9kYWwge1xyXG4gICAgbWluLWhlaWdodDogMzkwcHg7XHJcbn1cclxuXHJcbiNtb2RhbEV2ZW50Q2FuY2VsUmVhc29uLCAjbW9kYWxDb3Vyc2VDYW5jZWxSZWFzb24ge1xyXG4gICAgbWluLWhlaWdodDogMTUwcHg7XHJcbn1cclxuXHJcbiNlbXBsb3llZVJlbGF0aW9uV3JhcHBlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4gICAgI2VtcGxveWVlUmVsYXRpb25XcmFwcGVyIGxhYmVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgI2VtcGxveWVlUmVsYXRpb25XcmFwcGVyIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcblxyXG4jZW1wbG95ZWVSZWxhdGlvblVzZXJSZXN1bHQgLm5vU2VhcmNoUmVzdWx0IHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjJweDtcclxufVxyXG4vKiBMTCA9IExvY2F0aW9ubGlzdCAqL1xyXG4uTExfYzEge1xyXG59XHJcblxyXG4uTExfYzIge1xyXG59XHJcblxyXG4ubG9jYXRpb25saXN0WmlwY29kZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4vKiBDQUwgPSBDb3Vyc2UgQXR0ZW5kYW5jZSBMaXN0ICovXHJcblxyXG4uQ0FMX2MxIHtcclxufVxyXG5cclxuLkNBTF9jMiB7XHJcbn1cclxuXHJcbi5DQUxfYzMge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uQ0FMX2M0IHtcclxufVxyXG5cclxuLkNBTF9jNSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5DQUxfYzYge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubW9kYWxQYWRkaW5nQm94IHtcclxuICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubW9kYWxSb3cge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuI2F0dGVuZGFuY2VTZWFyY2hUYWJsZVdyYXBwZXIsIC5tb2RhbENvbnRlbnQge1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4jYXR0ZW5kYW5jZVNlYXJjaFRhYmxlV3JhcHBlciB7XHJcbiAgICBoZWlnaHQ6IDQ1MHB4O1xyXG59XHJcblxyXG4jYXR0ZW5kYW5jZVNlYXJjaFRhYmxlIHtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbn1cclxuXHJcbiAgICAjYXR0ZW5kYW5jZVNlYXJjaFRhYmxlIHRib2R5IHtcclxuICAgIH1cclxuXHJcbi5wcm9kdWN0Um93LmNhbmNlbGxlZCB0ZCB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxufVxyXG5cclxuLnByb2R1Y3RSb3cgW2NsYXNzXj1cImljb24tXCJdIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuLmRhdGVMYWJlbCB7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5wYWdlaW5nSXRlbSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgYmFja2dyb3VuZDogI2VhZWFlYTtcclxuICAgIHBhZGRpbmc6IDdweDtcclxuICAgIG1pbi13aWR0aDogMzBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgY29sb3I6ICM0NDQ7XHJcbn1cclxuXHJcbiAgICAucGFnZWluZ0l0ZW0uc2VsZWN0ZWQsIC5wYWdlaW5nSXRlbS5zZWxlY3RlZDpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcclxuICAgIH1cclxuXHJcbiAgICAucGFnZWluZ0l0ZW06aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XHJcbiAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICB9XHJcblxyXG5idXR0b24sIC5idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbiAgICBidXR0b24ucHJpbWFyeSwgLmJ1dHRvbi5wcmltYXJ5LFxyXG4gICAgYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnkge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b24ucHJpbWFyeSwgLmJ1dHRvbi5wcmltYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI3NzlhO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZDYyN2Y7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLnNlY29uZGFyeSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xyXG4gICAgICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbi5zbWFsbCwgLmJ1dHRvbi5zbWFsbCB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgfVxyXG5cclxuI3Byb2R1Y3RTZWFyY2hSZXN1bHQsICNvcmRlclNlYXJjaFJlc3VsdCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbiNzaG9ydERlc2Mge1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxufVxyXG5cclxuI2xvbmdEZXNjIHtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbn1cclxuXHJcbi5wcmltYXJ5U2VhcmNoUmVzdWx0cyB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4ucGFnaW5nV3JhcHBlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5wYWdlclRvb2xzV3JhcHBlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ucGFnZVNpemVTZWxlY3RvcldyYXBwZXIge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbn1cclxuXHJcbi5wYWdlU2l6ZVNlbGVjdG9yIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgd2lkdGg6IDc1cHg7XHJcbn1cclxuXHJcbi8qIExvYWRlciAqL1xyXG4jbG9hZGVyT3ZlcmxheSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuXHJcbiNsb2FkZXJXcmFwcGVyIHtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG5cclxuI2xvYWRpbmcge1xyXG4gICAgY3Vyc29yOiB3YWl0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcclxuICAgIG9wYWNpdHk6IC44O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgIG1hcmdpbjogNSUgYXV0bztcclxuICAgIGFuaW1hdGlvbjogbG9hZGluZyAuNXMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgLW1vei1hbmltYXRpb246IGxvYWRpbmcgLjVzIGluZmluaXRlIGxpbmVhcjtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkaW5nIC41cyBpbmZpbml0ZSBsaW5lYXI7XHJcbn1cclxuXHJcbi5sb2FkaW5nVGV4dCB7XHJcbiAgICBjb2xvcjogIzIyMjMyMztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnNwaW4tMSB7XHJcbiAgICBib3JkZXI6IDEwcHggc29saWQgIzExNzY5OTtcclxuICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgcmdiYSgwLDAsMCwwKTtcclxuICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHJnYmEoMCwwLDAsMCk7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIGhlaWdodDogNTBweDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBsb2FkaW5nIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA7XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBsb2FkaW5nIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBsb2FkaW5nIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA7XHJcbn1cclxuXHJcbi5ib3gtc3VjY2VzcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWVjMTdhO1xyXG4gICAgY29sb3I6ICNmZmYhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGV4dC1zdWNjZXNzIHtcclxuICAgIGNvbG9yOiAjMWVjMTdhIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRleHQtYXR0ZW50aW9uIHtcclxuICAgIGNvbG9yOiAjRTY4QTAwIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJveC1hdHRlbnRpb24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U2OEEwMDtcclxuICAgIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRleHQtcGFzc2l2ZSB7XHJcbiAgICBjb2xvcjogcmdiYSgxNjIsIDE2MiwgMTYyLCAwLjc1KSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ib3gtcGFzc2l2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2MiwgMTYyLCAxNjIsIDAuNzUpIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLnRleHQtZXJyb3Ige1xyXG4gICAgY29sb3I6ICNjMTFlMWUhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYm94LWVycm9yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMTFlMWUhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5zdWNjZXNzIHtcclxuICAgIGNvbG9yOiAjMWVjMTdhO1xyXG59XHJcblxyXG4uZXJyb3Ige1xyXG4gICAgY29sb3I6ICNjMTFlMWU7XHJcbn1cclxuXHJcblxyXG4vKiBFZGl0IFByb2R1Y3QgKi9cclxuXHJcbi5zbWFsbFRleHQgcCwgLnNtYWxsVGV4dCBzcGFuIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcblxyXG4uZGVzY3JpcHRpb24uYWxvbmUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLmRlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbjogLTE1cHggMCAxNXB4IDA7XHJcbiAgICBmb250LXNpemU6IDAuNzVlbTtcclxuICAgIGNvbG9yOiAjNzc3O1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4gICAgLmRlc2NyaXB0aW9uLmV4dHJhU3BhY2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC0xMnB4O1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG5cclxuLnN1bW1hcnlSb3cge1xyXG4gICAgLyogYmFja2dyb3VuZDogI2Y5ZjlmOTsgKi9cclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxufVxyXG5cclxuICAgIC5zdW1tYXJ5Um93LmZpcnN0IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAuc3VtbWFyeVJvdyAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDkwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnN1bW1hcnlSb3cgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5sYWJlbCB7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxufVxyXG5cclxuLmN1cnJlbnRJdGVtRGF0YUhvbGRlciBoMiB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnJlc3BvbnNpYmxlbGlzdEl0ZW0gcCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMC44NXJlbTtcclxufVxyXG5cclxuLnJlc3BvbnNpYmxlbGlzdEl0ZW1DaGFuZ2Uge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICBjb2xvcjogIzEyNzc5YTtcclxuICAgIHBhZGRpbmc6IDdweDtcclxufVxyXG5cclxuLnRleHRhcmVhV3JhcHBlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4IWltcG9ydGFudDtcclxufVxyXG5cclxudGFibGUuc21hbGxQYWRkaW5nIHRoLCB0YWJsZS5zbWFsbFBhZGRpbmcgdGQge1xyXG4gICAgcGFkZGluZzogNXB4IDE1cHg7XHJcbn1cclxuXHJcbnRhYmxlLnNtYWxsUGFkZGluZyAuY291cnNlbGlzdEJ1dHRvbiB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4jcHJvZHVjdENhdGVnb3J5UGlja2VyLmRpc2FibGVkIHtcclxuICAgIG9wYWNpdHk6IDAuMzU7XHJcbn1cclxuXHJcbi5wcm9kdWN0Q2F0ZWdvcnlQcmltYXJ5QnRuLnNlbGVjdGVkIGksIC5wcm9kdWN0QXJlYVByaW1hcnlCdG4uc2VsZWN0ZWQgaSB7XHJcbiAgICBjb2xvcjogI2Q3ZDMyNTtcclxufVxyXG5cclxuXHJcbi5QQ0xfYzMge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcblxyXG4jY29udHJhY3RSZWNpcGllbnRzIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5hdHRhY2htZW50TW9kYWxsaXN0IC5jaGVja2JveFdyYXBwZXIge1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbn1cclxuXHJcbi5zdGF0dXNUaXRsZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiA3NXB4O1xyXG59XHJcblxyXG4gICAgLnN0YXR1c1RpdGxlIHAge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcblxyXG4uc3RhdHVzU3RhdHVzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5zdGF0dXNJY29uIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDNweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5zdGF0dXNXcmFwcGVyIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnN0YXR1c2xpc3Qge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XHJcbn1cclxuXHJcbi5zdGF0dXNBdXRob3IsIC5zdGF0dXNMaW5rVGV4dCB7XHJcbiAgICBmb250LXNpemU6IDAuN3JlbSFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMC43cmVtO1xyXG59XHJcblxyXG4uc3RhdHVzRGVzY3JpcHRpb25XcmFwcGVyIHtcclxuICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4vKiBFZGl0IFByb2R1Y3QgLSBFTkQgKi9cclxuXHJcblxyXG4vKiBBTEVSVCBCT1hFUyAqL1xyXG4jc3RhdHVzTXNnSG9sZGVyIHtcclxuICAgIGJvdHRvbTogMjBweDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNDg1cHg7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogOTcwcHg7XHJcbiAgICB6LWluZGV4OiAzMDAzMDtcclxufVxyXG5cclxuLnN0YXR1c01zZyB7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XHJcbiAgICBwYWRkaW5nOiAwLjg3NXJlbSAyLjVyZW0gMC44NzVyZW0gMC44NzVyZW07XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogOTcwcHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4gICAgLnN0YXR1c01zZy5zaG93IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAuc3RhdHVzTXNnLnN1Y2Nlc3Mge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZWMxN2E7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTRBNjY2O1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXR1c01zZy5zdWNjZXNzIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAuc3RhdHVzTXNnLmVycm9yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzExZTFlO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2E2MTQxNDtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXR1c01zZy5hdHRlbnRpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY3YTA7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDhjNjAwO1xyXG4gICAgICAgIGNvbG9yOiAjNjI2MjUyO1xyXG4gICAgfVxyXG5cclxuICAgICAgICAuc3RhdHVzTXNnLmF0dGVudGlvbiAuc3RhdHVzTXNnQ2xvc2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogIzYyNjI1MjtcclxuICAgICAgICB9XHJcblxyXG4uc3RhdHVzTXNnQ2xvc2Uge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpO1xyXG4gICAgbWFyZ2luLXRvcDogLTNweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTZweDtcclxuICAgIHJpZ2h0OiAxNnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbn1cclxuXHJcbiAgICAuc3RhdHVzTXNnQ2xvc2U6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xyXG4gICAgfVxyXG5cclxuLmVjb25vbXlTdGF0dXNXcmFwcGVyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLmxhcmdlU3RhdHVzSWNvbiB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBwYWRkaW5nOiAxNHB4IDhweDtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4gICAgLmxhcmdlU3RhdHVzSWNvbiBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmxhcmdlU3RhdHVzSWNvbi5wcm9vZiwgLmxhcmdlU3RhdHVzSWNvbi5wdWJsaXNoZWQge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAgICAgLmxhcmdlU3RhdHVzSWNvbi5wcm9vZiBzcGFuLCAubGFyZ2VTdGF0dXNJY29uLnB1Ymxpc2hlZCBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG5cclxuI3B1Ymxpc2hlZEJ1dE5vQ2F0ZWdvcnkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbn1cclxuXHJcbiAgICAjcHVibGlzaGVkQnV0Tm9DYXRlZ29yeS5oaWRlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuLmVjb25vbXlTdGF0dXNCdXR0b25MYXJnZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIHBhZGRpbmc6IDE0cHggOHB4O1xyXG59XHJcblxyXG4gICAgLmVjb25vbXlTdGF0dXNCdXR0b25MYXJnZSAuaWNvbi1MaXN0LWVjb25vbXktaWNvbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICNmZmYhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuLmVjb25vbXlTdGF0dXNCdXR0b24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcblxyXG4gICAgLmVjb25vbXlTdGF0dXNCdXR0b25bZGF0YS1zdGF0dXM9XCJhcHByb3ZlZFwiXSB7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG5cclxuLmVjb25vbXlTdGF0dXNUZXh0IHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5lY29ub215U3RhdHVzV3JhcHBlciAuaWNvbi1MaXN0LWVjb25vbXktaWNvbiB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogM3B4O1xyXG59XHJcblxyXG4uZWNvbm9teVN0YXR1c1dyYXBwZXIgLnN0YXR1c0F1dGhvciB7XHJcbiAgICBtYXJnaW46IC0zcHggMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbiAgICAuZWNvbm9teVN0YXR1c1dyYXBwZXIgLnN0YXR1c0F1dGhvci5jYW5jZWxsZWRBdXRob3Ige1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIH1cclxuXHJcbi5jb3Vyc2VsaXN0QnV0dG9uIHtcclxuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4jY3JlYXRlQ291cnNlIHtcclxufVxyXG5cclxuI2NvdXJzZVVwZGF0ZUZvcm0ge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5lZGl0Q291cnNlTW9kYWwge1xyXG4gICAgbWluLWhlaWdodDogNTAwcHg7XHJcbn1cclxuXHJcbiNjb3Vyc2VNZXNzYWdlQ29udGVudCB7XHJcbiAgICBoZWlnaHQ6IDIyMHB4O1xyXG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuLmRhdGVXcmFwcGVyLCAudGltZVdyYXBwZXIge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5kYXRlV3JhcHBlciB7XHJcbiAgICB3aWR0aDogODAlO1xyXG59XHJcblxyXG4udGltZVdyYXBwZXIge1xyXG4gICAgd2lkdGg6IDIwJTtcclxufVxyXG5cclxuLmxvY2F0aW9uQWRyZXNzV3JhcHBlciwgLmVtcGxveWVlQWRkcmVzc1dyYXBwZXIge1xyXG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNhYWE7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgY29sb3I6ICNhYWE7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4ubG9jYXRpb25EZXNjcmlwdGlvbiB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmb250LXNpemU6IDAuOHJlbTtcclxufVxyXG5cclxuI2NvdXJzZUV2ZW50QWRkTG9jYXRpb24sICNjb3Vyc2VFdmVudEFkZEVtcGxveWVlIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbiNhZGRFcXVpcG1lbnRUb0xvY2F0aW9uIHtcclxuICAgIHdpZHRoOiA0NSU7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4jZXF1aXBtZW50bGlzdCBhIHtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbiAgICAjZXF1aXBtZW50bGlzdCBhIC5pY29uLWRlY2xpbmUtaWNvbiB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCA1cHg7XHJcbiAgICB9XHJcblxyXG4jY291cnNlRXZlbnRMb2NhdGlvblNlbGVjdG9yLCAjY291cnNlRXZlbnRFbXBsb3llZVNlbGVjdG9yIHtcclxuICAgIGZvbnQtZmFtaWx5OiBBcmlhbDtcclxuICAgIGhlaWdodDogMjU1cHg7XHJcbn1cclxuXHJcbiNjb3Vyc2VFdmVudERlc2NyaXB0aW9uIHtcclxuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG59XHJcblxyXG4uY291cnNlRXZlbnRBZGRlZEVtcGxveWVlSW5wdXRXcmFwcGVyIHtcclxuXHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uY291cnNlRXZlbnRDb250cmFjdENvbW1lbnR7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNiYmI7XHJcbiAgICBwYWRkaW5nOiA1cHggMCAxMHB4O1xyXG59XHJcblxyXG4uYWRkZWRFbXBsb3llZVdyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ucHJvZHVjdENvdXJzZVJlbW92ZUVtcGxveWVlQnRuIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogOHB4O1xyXG4gICAgcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmNvdXJzZUV2ZW50QWRkZWRFbXBsb3llZUFkZHJlc3NUb2dnbGVCdXR0b24sIC5jb3Vyc2VFdmVudEdlb0xpbmsge1xyXG4gICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxufVxyXG5cclxuXHJcbi8qIFByb2R1Y3QgT3B0aW9ucyAqL1xyXG4ucHJvZHVjdE9wdGlvbkVkaXQge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4ucHJvZHVjdE9wdGlvbnNIZWFkZXIge1xyXG4gICAgcGFkZGluZzogMC41ZW0gMTBweDtcclxuICAgIGJhY2tncm91bmQ6ICNlYWVhZWE7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5wcm9kdWN0c09wdGlvbkhlYWRlclRpdGxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLnByb2R1Y3RzT3B0aW9uSGVhZGVyRGVzY3JpcHRpb24ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBsaW5lLWhlaWdodDogMTJweDtcclxufVxyXG5cclxuLnByb2R1Y3RPcHRpb25zVGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbiAgICAucHJvZHVjdE9wdGlvbnNUYWJsZSB0ZCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG5cclxuLnByb2R1Y3RPcHRpb25UaXRsZSB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnByb2R1Y3RPcHRpb25QcmljZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbn1cclxuXHJcbi5vcHRpb25zQnV0dG9uIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuICAgIC5vcHRpb25zQnV0dG9uIGlbY2xhc3NePVwiaWNvbi1cIl0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuXHJcbi5wcm9kdWN0T3B0aW9uRGVzY3JpcHRpb24ge1xyXG4gICAgY29sb3I6ICM4YThhOGE7XHJcbn1cclxuXHJcbi5vcHRpb25zQnV0dG9uIGkge1xyXG4gICAgY29sb3I6ICMxMjc3OWE7XHJcbn1cclxuXHJcbi5wcm9kdWN0T3B0aW9uc0hlYWRlciAub3B0aW9uc0J1dHRvbiB7XHJcbiAgICBwYWRkaW5nOiA1cHggOHB4IDA7XHJcbn1cclxuXHJcbi8qIFByb2R1Y3QgT3B0aW9ucyBFbmQgKi9cclxuXHJcbi8qIFByb2R1Y3QgQ291cnNlIEV2ZW50IGxpc3QgaXRlbSAqL1xyXG4jcHJvZHVjdENvdXJzZUV2ZW50TG9jYXRpb25saXN0V3JhcHBlciwgI3Byb2R1Y3RDb3Vyc2VFdmVudEVtcGxveWVlbGlzdFdyYXBwZXIsICNwcm9kdWN0Q291cnNlRXZlbnRFbXBsb3llZWxpc3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5cclxuLnByb2R1Y3RDb3Vyc2VFdmVudGxpc3RJdGVtIHtcclxuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4ICNlZWUgc29saWQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uY291cnNlRXZlbnRTZWxlY3RlZEl0ZW1UaXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4jcHJvZHVjdFdhaXRsaXN0TWVzc2FnZSB7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuLnByb2R1Y3RDb3Vyc2VXYWl0bGlzdFdyYXBwZXIge1xyXG4gICAgbWF4LWhlaWdodDogMzIwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ud2FpdGluZ0NvdW50ZXIge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcclxuICAgIHBhZGRpbmc6IDJweCA1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XHJcbn1cclxuXHJcbi5wcm9kdWN0RGV0YWlsQ291cnNlRXZlbnRNb2RhbGxpc3Qge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIGhlaWdodDogMzIwcHg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLnByb2R1Y3REZXRhaWxDb3Vyc2VFY29ub215U3RhdHVzSWNvbiB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMCAwLjRyZW0gMCAtMC45NWVtO1xyXG59XHJcblxyXG5cclxuLnByb2R1Y3RDb3Vyc2VFdmVudExvY2F0aW9ubGlzdEl0ZW0uYm9va2VkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkQ0RDQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxufVxyXG5cclxuLnByb2R1Y3RDb3Vyc2VFdmVudExvY2F0aW9ubGlzdEl0ZW0udG9TbWFsbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmN2EwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcbiAgICAucHJvZHVjdENvdXJzZUV2ZW50TG9jYXRpb25saXN0SXRlbS50b1NtYWxsLmJvb2tlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjdhMDtcclxuICAgIH1cclxuXHJcbiAgICAgICAgLnByb2R1Y3RDb3Vyc2VFdmVudExvY2F0aW9ubGlzdEl0ZW0udG9TbWFsbC5ib29rZWQgLnByb2R1Y3RDb3Vyc2VFdmVudExvY2F0aW9ubGlzdEl0ZW1Db250ZW50IHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA3NXB4IHNvbGlkICNGRkQ0RDQ7XHJcbiAgICAgICAgfVxyXG5cclxuLnByb2R1Y3RDb3Vyc2VFdmVudExvY2F0aW9ubGlzdEl0ZW0gYnV0dG9uLCAucHJvZHVjdENvdXJzZUV2ZW50RW1wbG95ZWVsaXN0SXRlbUNvbnRlbnQgYnV0dG9uIHtcclxuICAgIGNvbG9yOiAjYTBhMGEwO1xyXG4gICAgcGFkZGluZzogOHB4IDE1cHggN3B4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhYWE7XHJcbn1cclxuXHJcbi5wcm9kdWN0Q291cnNlRXZlbnRMb2NhdGlvbmxpc3RJdGVtQ29udGVudCB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbn1cclxuXHJcbi5wcm9kdWN0Q291cnNlRXZlbnRMb2NhdGlvbmxpc3RJdGVtQ2FwYWNpdHkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5wcm9kdWN0Q291cnNlRXZlbnRMb2NhdGlvbmxpc3RJdGVtQnV0dG9uLCAucHJvZHVjdENvdXJzZUV2ZW50RW1wbG95ZWVsaXN0SXRlbUJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGJkYmRiO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbn1cclxuXHJcbi5jb3Vyc2VFdmVudExvY2F0aW9uc0NyZWF0ZVNob3J0Y3V0IHtcclxuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5jb3Vyc2VFdmVudFNlbGVjdGVkSXRlbVdyYXBwZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5wcm9kdWN0Q291cnNlRXZlbnRMb2NhdGlvbmxpc3RJdGVtRW1wdHkge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgIGNvbG9yOiAjNDQ0O1xyXG59XHJcblxyXG4jY291cnNlRXZlbnRBZGRlZEVtcGxveWVlTGlzdCB7XHJcbiAgICBoZWlnaHQ6IDM3NHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAvKiBib3JkZXI6IDFweCBzb2xpZDsgKi9cclxuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmNvdXJzZUV2ZW50QWRkZWRFbXBsb3llZVRpdGxlV3JhcHBlciB7XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5jb3Vyc2VFdmVudEFkZGVkRW1wbG95ZWVRdWFudGl0eVdyYXBwZXIge1xyXG4gICAgd2lkdGg6IDQwJTtcclxuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuaW5wdXQuY291cnNlRXZlbnRBZGRlZEVtcGxveWVlUXVhbnRpdHkge1xyXG4gICAgd2lkdGg6IDMwJTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5jb3Vyc2VFdmVudFF1YW50aXR5RGVzY3JpcHRpb24ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgY29sb3I6ICNhYWE7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4vKiBQcm9kdWN0IENvdXJzZSBFdmVudCBsaXN0IGl0ZW0gLSBFbmQgKi9cclxuXHJcblxyXG4udGVhY2hlcldyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMC41cmVtO1xyXG4gICAgbWFyZ2luLXRvcDogLTZweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi51aS1kYXRlcGlja2VyLW5leHQ6aG92ZXIsIC51aS1kYXRlcGlja2VyLW5leHQge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcvaW1hZ2UvanF1ZXJ5VUkvbmV4dC1hcnJvdy5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyLCAudWktZGF0ZXBpY2tlci1wcmV2IHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnL2ltYWdlL2pxdWVyeVVJL3ByZXYtYXJyb3cucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgIGJvcmRlcjogMDtcclxufVxyXG4vKiBDT0xPUkJPWCBDVVNUT00gKi9cclxuXHJcbiNjYm94T3ZlcmxheSB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNzUpO1xyXG59XHJcblxyXG4uY29sb3Jib3hXcmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbiNjYm94TG9hZGVkQ29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuI2Nib3hMb2FkaW5nT3ZlcmxheSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG4jY2JveENvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbn1cclxuXHJcbi5jb2xvcmJveENsb3NlV3JhcHBlciB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAxMDBweDtcclxufVxyXG5cclxuLmNvbG9yYm94QnV0dG9uV3JhcHBlciB7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuLyogV2Vic2l0ZXMgLyBDYXRlZ29yaWVzICovXHJcbiN3ZWJzaXRlc2xpc3Qge1xyXG59XHJcblxyXG4ud2Vic2l0ZUl0ZW0ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuICAgIC53ZWJzaXRlSXRlbSAud2Vic2l0ZUl0ZW1EZXNjcmlwdGlvbldyYXBwZXIge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgICAgICAud2Vic2l0ZUl0ZW0gLndlYnNpdGVJdGVtRGVzY3JpcHRpb25XcmFwcGVyIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLTVweCAwIDA7XHJcbiAgICAgICAgfVxyXG5cclxuLmxpc3RXaXRoU3VibGlzdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcbiAgICAubGlzdFdpdGhTdWJsaXN0IGxpLmV2ZW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XHJcbiAgICB9XHJcblxyXG4gICAgLmxpc3RXaXRoU3VibGlzdCAuaGVhZGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgfVxyXG5cclxuICAgICAgICAubGlzdFdpdGhTdWJsaXN0IC5oZWFkZXIuaGF2ZUNoaWxkcmVuIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjY2NjO1xyXG4gICAgICAgIH1cclxuXHJcbi5zdWJsaXN0IHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbiAgICAuc3VibGlzdCBsaS5ldmVuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdWJsaXN0IGxpIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAzMHB4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xyXG4gICAgfVxyXG5cclxuLndlYnNpdGVIZWFkZXJXcmFwcGVyIC53ZWJzaXRlQ2F0ZWdvcnlCdXR0b25XcmFwcGVyIHtcclxuICAgIHBhZGRpbmc6IDE4cHggMTVweCAxM3B4O1xyXG59XHJcblxyXG4ud2Vic2l0ZUNhdGVnb3J5QnV0dG9uV3JhcHBlciB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi53ZWJzaXRlT3Blbkxpbmsge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG5cclxuLyogRklMRURCIC0gU1RBUlQgKi9cclxuLmZpbGVEQlNlYXJjaFdyYXBwZXIge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtaW4td2lkdGg6IDQwMHB4O1xyXG59XHJcblxyXG4uZmlsZURCQnV0dG9uV3JhcHBlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4jZmlsZURhdGFiYXNlV3JhcHBlciB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIG1pbi13aWR0aDogMTAwMHB4O1xyXG59XHJcblxyXG4uZmlsZURCTmF2aWdhdGlvbldyYXBwZXIge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTUlO1xyXG4gICAgbWluLXdpZHRoOiAxNTBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNhYWE7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuICAgIC5maWxlREJOYXZpZ2F0aW9uV3JhcHBlciAjbG9hZGVyV3JhcHBlciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTUwcHg7XHJcbiAgICB9XHJcblxyXG4uZmlsZURCTmF2aWdhdGlvbiB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMC44cmVtO1xyXG59XHJcblxyXG4gICAgLmZpbGVEQk5hdmlnYXRpb24gYTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcclxuICAgIH1cclxuXHJcbiAgICAuZmlsZURCTmF2aWdhdGlvbi5zdWIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICAgICAuZmlsZURCTmF2aWdhdGlvbi5zdWIgYSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgICAgICB9XHJcblxyXG4uc3ViIC5maWxlREJOYXZpZ2F0aW9uLnN1YiBhIHtcclxuICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxufVxyXG5cclxuI2ZpbGVEQkNvbnRlbnROYXZpZ2F0aW9uIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4uZmlsZURCTmF2aWdhdGlvbi5zdWIgLmN1cnJlbnQge1xyXG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcclxufVxyXG5cclxuLmZpbGVEQk5hdmlnYXRpb24gYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpO1xyXG59XHJcblxyXG4uZmlsZURCTmF2aWdhdGlvbiBbY2xhc3NePVwiaWNvbi1cIl0sIC5maWxlREJOYXZpZ2F0aW9uIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgY29sb3I6IHJnYmEoMCwwLDAsMC41NSk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmZpbGVEQkRhc2hib2FyZFV0aWxpdHlCZWx0IHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG4uZmlsZURCRGFzaGJvYXJkIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDg1JTtcclxufVxyXG5cclxuLmZpbGVEQkNvbnRlbnROYXZpZ2F0aW9uSXRlbUxpbmsge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICAgIGhlaWdodDogMTkwcHg7XHJcbiAgICB3aWR0aDogMjEycHg7XHJcbiAgICBtYXJnaW46IDIwcHggMCAwIDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xyXG59XHJcblxyXG5cclxuLmZpbGVEQkNvbnRlbnROYXZpZ2F0aW9uSXRlbSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcblxyXG4uZmlsZURCQ29udGVudE5hdmlnYXRpb25JdGVtTGluazpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG59XHJcblxyXG4uZmlsZURCQ29udGVudE5hdmlnYXRpb25JdGVtIC5pbWFnZVdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEzMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5maWxlREJDb250ZW50TmF2aWdhdGlvbkl0ZW06bnRoLWNoaWxkKDRuKzEpIC5maWxlREJDb250ZW50TmF2aWdhdGlvbkl0ZW1MaW5rLCAuZmlsZURCQ29udGVudE5hdmlnYXRpb25JdGVtOmZpcnN0LWNoaWxkIC5maWxlREJDb250ZW50TmF2aWdhdGlvbkl0ZW1MaW5rIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG4uZmlsZURCQ29udGVudE5hdmlnYXRpb25JdGVtIC5pbWFnZVdyYXBwZXIgLmltYWdlIHtcclxufVxyXG5cclxuLmZpbGVEQkNvbnRlbnROYXZpZ2F0aW9uSXRlbSAuaW1hZ2VXcmFwcGVyIFtjbGFzc149XCJpY29uLVwiXSwgLmZpbGVEQkNvbnRlbnROYXZpZ2F0aW9uSXRlbSAuaW1hZ2VXcmFwcGVyIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiA1cmVtO1xyXG59XHJcblxyXG4uZmlsZURCQ29udGVudE5hdmlnYXRpb25JdGVtIC5maWxlTmFtZSB7XHJcbiAgICBsaW5lLWhlaWdodDogMjdweDtcclxuICAgIG1hcmdpbjogMCAwIC01cHg7XHJcbn1cclxuXHJcbi5maWxlREJDb250ZW50TmF2aWdhdGlvbkl0ZW0gcCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBjb2xvcjogIzIyMjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxufVxyXG5cclxuXHJcbiNmaWxlREJDb250ZW50TmF2aWdhdGlvbiAuZmlsZU5hbWUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5maWxlREJDb250ZW50TmF2aWdhdGlvbkl0ZW0gLmxhc3RFZGl0RGF0ZSB7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICBjb2xvcjogIzg4ODtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uZmlsZURCTmF2aWdhdGlvbiAuc2VsZWN0ZWQge1xyXG4gICAgYmFja2dyb3VuZDogI2VkZWRlZDtcclxufVxyXG5cclxuLmZpbGVEQkRhc2hib2FyZFV0aWxpdHlCZWx0IC5idXR0b25XcmFwcGVyIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uZmlsZURCRGFzaGJvYXJkVXRpbGl0eUJlbHQgYnV0dG9uLnNlY29uZGFyeSwgLmZpbGVEQkRhc2hib2FyZFV0aWxpdHlCZWx0IGJ1dHRvbi5wcmltYXJ5IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5maWxlREJEYXNoYm9hcmRVdGlsaXR5QmVsdCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZmlsZURCTmF2aWdhdGlvbi5zdWIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnVwbG9hZEltYWdldGh1bWIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG59XHJcblxyXG4jZmlsZURCRGFzaGJvYXJkRGV0YWlsIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbiNjcm9wcGVyV3JhcHBlciB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgaGVpZ2h0OiA0MzhweDtcclxuICAgIHdpZHRoOiA3NSU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuI2Nyb3BwZXJUaHVtYldyYXBwZXIge1xyXG4gICAgd2lkdGg6IDI1JTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG59XHJcblxyXG4uY3JvcHBlci10aHVtYlByZXZpZXdXcmFwcGVyIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG4uY3JvcHBlci10aHVtYlByZXZpZXcge1xyXG4gICAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbn1cclxuXHJcbiNjcm9wcGVyVGh1bWJXcmFwcGVyIC5kZXNjcmlwdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4jY3JvcHBpbmdTZWN0aW9uIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbiNmaWxlTWV0YVdyYXBwZXIge1xyXG4gICAgd2lkdGg6IDk2MHB4O1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5maWxlREJMaW5rVG9GaWxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMi41cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxufVxyXG5cclxuLmZpbGVEQkNvbnRlbnROYXZpZ2F0aW9uSXRlbUxpbmsuc2VsZWN0ZWQge1xyXG4gICAgYmFja2dyb3VuZDogI2M0ZjJjOSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNpbWFnZURpc3BsYXkge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2RkZDtcclxufVxyXG5cclxuICAgICNpbWFnZURpc3BsYXkgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4uaW1hZ2VEZXRhaWxzV3JhcHBlciB7XHJcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2RkZDtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbiAgICAuaW1hZ2VEZXRhaWxzV3JhcHBlciB0YWJsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICAgICAuaW1hZ2VEZXRhaWxzV3JhcHBlciB0ZCwgLmltYWdlRGV0YWlsc1dyYXBwZXIgdGFibGUsIC5pbWFnZURldGFpbHNXcmFwcGVyIHRhYmxlIHRyOm50aC1vZi10eXBlKGV2ZW4pIHRkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICB9XHJcblxyXG4uaW1hZ2VJbmZvSGVhZGVyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbn1cclxuXHJcbiNtZWRpYVF1ZXJ5U2VhcmNoIHtcclxuICAgIG1hcmdpbi10b3A6IDIycHg7XHJcbn1cclxuXHJcbi8qIEZJTEVEQiAtIEVORCAqL1xyXG5cclxuXHJcbi8qICBNT0RBTCAtIFNUQVJUICAqL1xyXG4ubW9kYWxIZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogIzBmNjQ4MTtcclxuICAgIHBhZGRpbmc6IDAuOTM3NWVtIDAuOTM3NWVtIDA7XHJcbn1cclxuXHJcbnAubW9kYWxIZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbnAubW9kYWxTdWJIZWFkZXIge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhYWE7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4ubW9kYWxEZXNjcmlwdGlvbiB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICBsaW5lLWhlaWdodDogMTBweDtcclxufVxyXG5cclxudWwudGFiTmF2aWdhdGlvbiB7XHJcbn1cclxuXHJcbi50YWJzTmF2aWdhdGlvbkl0ZW0ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi50YWJzTmF2aWdhdGlvbkl0ZW1MaW5rIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC1mYW1pbHk6IEFyaWFsO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIGJhY2tncm91bmQ6ICMxMjc3OWE7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDVweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogNXB4O1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuICAgIC50YWJzTmF2aWdhdGlvbkl0ZW1MaW5rOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMjk4ZWE5O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG5cclxuLnRhYnNOYXZpZ2F0aW9uSXRlbS5maXJzdCBhIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG4udGFic05hdmlnYXRpb25JdGVtTGluay5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGNvbG9yOiAjMGEyMzRjO1xyXG59XHJcblxyXG4ubW9kYWxGb290ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2FhYTtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkOGUxO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBwYWRkaW5nOiAwLjkzNzVlbTtcclxufVxyXG5cclxuICAgIC5tb2RhbEZvb3RlciBidXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4ubW9kYWxCb2R5IHtcclxuICAgIG1hcmdpbjogMjVweCAwIDgwcHg7XHJcbn1cclxuXHJcbiNjb3Vyc2VFZGl0TW9kYWwge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm1vZGFsQ29udHJhY3RTdGF0dXMge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLm1vZGFsQ29udHJhY3RFcXVpcG1lbnQge1xyXG4gICAgbWluLWhlaWdodDogMTUwcHg7XHJcbn1cclxuXHJcbi5hdHRhY2htZW50RGF0ZSB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG4vKiAgTU9EQUwgLSBFTkQgICovXHJcblxyXG4vKiBDb21tZW50cyAtIFNUQVJUICovXHJcbiNjb21tZW50c2xpc3Qge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcbi5jb21tZW50SXRlbSB7XHJcbiAgICAvKmJvcmRlci1yYWRpdXM6IDVweDsqL1xyXG4gICAgLypiYWNrZ3JvdW5kOiAjZWVlOyovXHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgbWluLWhlaWdodDogNjBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG4gICAgLmNvbW1lbnRJdGVtLmV2ZW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbW1lbnRJdGVtLnN0YXR1cy5hdHRlbnRpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlY2E7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbW1lbnRJdGVtLnN0YXR1cy5lcnJvciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlY2FjYTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLmNvbW1lbnRJdGVtIHAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbW1lbnRJdGVtIHAsIC5jb21tZW50SXRlbSBhIHtcclxuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgfVxyXG5cclxuLmRhc2hib2FyZFZpZXdBbGxCdXR0b24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuI2xhdGVzdENvbW1lbnRzIHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG4gICAgI2xhdGVzdENvbW1lbnRzIC5jb21tZW50SXRlbSB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAjbGF0ZXN0Q29tbWVudHMgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuLnByaW1hcnlDb21tZW50IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5hdXRob3JDb250ZW50IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAxNzVweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcblxyXG5cclxuLmNvbW1lbnRBZGRDb21tZW50TGluayB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmNvbW1lbnRDb250ZW50IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhYWE7XHJcbn1cclxuXHJcbiAgICAuY29tbWVudENvbnRlbnQud2l0aFJlZmVyZW5jZSB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICB9XHJcblxyXG4uY29tbWVudEl0ZW1EYXRlIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWluLXdpZHRoOiA5MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5jb21tZW50SXRlbSBhIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5jb21tZW50QXV0aG9yIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICB3aWR0aDogMTQwcHg7XHJcbn1cclxuXHJcbi5jb21tZW50Q29udGVudCB7XHJcbiAgICBjb2xvcjogIzMzMztcclxufVxyXG5cclxuICAgIC5jb21tZW50Q29udGVudCAuY29tbWVudENvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiAyNDBweDtcclxuICAgIH1cclxuXHJcbiNuZXdDb21tZW50IHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5yZXBseVdyYXBwZXIge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjY2NjO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxuICAgIC5yZXBseVdyYXBwZXIgYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZXBseVdyYXBwZXIgdGV4dGFyZWEge1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICByZXNpemU6IHZlcnRpY2FsO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4ubmVzdGVkQ29tbWVudHMge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjY2NjO1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMDtcclxufVxyXG5cclxuLm5lc3RlZENvbW1lbnRzSXRlbSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XHJcbn1cclxuXHJcbi5uZXN0ZWRDb21tZW50cy5oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmxhc3Rlc3RDb21tZW50c0l0ZW0ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uY29tbWVudExvY2F0aW9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5cclxuLyogTG9jYXRpb24gRGV0YWlsIC0gU1RBUlQgKi9cclxuI3Rlcm1MYWJlbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uYWR2YW5jZWRTZWFyY2hXcmFwcGVyIHtcclxuICAgIG1hcmdpbjogMjBweCAwIDMwcHg7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG4jbG9jYXRpb25BY3Rpdml0eWxpc3Qge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcbi5sb2NhdGlvbkFjdGl2aXR5bGlzdEl0ZW0ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcbiAgICAubG9jYXRpb25BY3Rpdml0eWxpc3RJdGVtIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgIH1cclxuXHJcbi5sb2NhdGlvbkFjdGl2aXR5bGlzdFN0YXJ0RGF0ZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLmxvY2F0aW9uQWN0aXZpdHlsaXN0TmFtZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG4vKiBDb21tZW50cyAtIEVORCAqL1xyXG5cclxuLmN1cnJlbnRJdGVtRGF0YUhvbGRlciBoMi5yaWdodENvbHVtbkhlYWRlciwgaDIucmlnaHRDb2x1bW5IZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcbi5sb2NhdGlvblJlbGF0ZWRMaW5rIHtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgcGFkZGluZzogOHB4O1xyXG59XHJcblxyXG4ubGlzdENvbHVtblBpY2tlckl0ZW0ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4uZmlsdGVyQ29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgei1pbmRleDogMTAwO1xyXG4gICAgd2lkdGg6IDIwNXB4O1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhYWE7XHJcbn1cclxuXHJcbiNnYWxsZXJpSG9sZGVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XHJcbn1cclxuXHJcbi5wcm9kdWN0RGV0YWlsRXhwZW5zZXNsaXN0IHtcclxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2RkZDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5wcm9kdWN0RGV0YWlsRXhwZW5zZXNJdGVtIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2RkZDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiA1cHggMDtcclxufVxyXG5cclxuLnByb2R1Y3REZXRhaWxFeHBlbnNlc0l0ZW1QcmljZSB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5wcm9kdWN0RGV0YWlsRXhwZW5zZXNJdGVtIHAge1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG59XHJcblxyXG5cclxuXHJcbiNhZGRFeHBlbnNlIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWluLXdpZHRoOiAxMDBweDtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbn1cclxuXHJcbiNleHBlbnNlc1RvdGFsIHtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcblxyXG4ucmVtdW5lcmF0aW9uRGF0ZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnJlbXVuZXJhdGlvbkFtb3VudCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLnJlbXVuZXJhdGlvbkl0ZW0ge1xyXG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogNXB4IDA7XHJcbn1cclxuXHJcbiAgICAucmVtdW5lcmF0aW9uSXRlbS5ldmVuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG4gICAgfVxyXG5cclxuYnV0dG9uLmFkZFJlbXVuZXJhdGlvbiB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLmxpc3RIZWFkZXIge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuICAgIC5saXN0SGVhZGVyLnByaWNlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuXHJcbi8qIEVxdWlwbWVudCAtIFNUQVJUICovXHJcbiNlcXVpcG1lbnRDcmVhdGUge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuI2VxdWlwbWVudGxpc3QgLmVxdWlwbWVudGxpc3RJdGVtLmluYWN0aXZlIGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xyXG59XHJcbi8qIEVxdWlwbWVudCAtIEVORCAqL1xyXG5cclxuLyogVVNFUiBEZXRhaWwgKi9cclxuLnVzZXJPcmRlcnNsaXN0TGFiZWxIb2xkZXIge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi51c2VyT3JkZXJzbGlzdCBsaSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxufVxyXG5cclxuICAgIC51c2VyT3JkZXJzbGlzdCBsaSBhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuLnVzZXJPcmRlcnNsaXN0Q29sdW1uIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG59XHJcblxyXG4gICAgLnVzZXJPcmRlcnNsaXN0Q29sdW1uLm9yZGVySWQge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgfVxyXG5cclxuICAgIC51c2VyT3JkZXJzbGlzdENvbHVtbi5saW5lcyB7XHJcbiAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnVzZXJPcmRlcnNsaXN0Q29sdW1uLm9yZGVyRGF0ZSB7XHJcbiAgICAgICAgd2lkdGg6IDM1JTtcclxuICAgIH1cclxuXHJcbi8qIFByb2R1Y3RsaXN0IC0gTUFTUyBFRElUICovXHJcbiNtYXNzUHVibGlzaFRhYmxlV3JhcHBlciB7XHJcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4uc2VsZWN0ZWRQcm9kdWN0c0RhdGUge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4udmlzaWJsZUlkIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIFByb2R1Y3RsaXN0IC0gTUFTUyBFRElUIC0gRU5EICovXHJcbi8qIE9yZGVyRGV0YWlsIC0gUkVJTUJVUlNFICovXHJcbi5wcmljZSB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuXHJcbi5vcHRpb25UaXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5vcHRpb25EZXNjcmlwdGlvbiB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBjb2xvcjogI2FhYTtcclxufVxyXG5cclxuLyogT3JkZXJEZXRhaWwgLSBSRUlNQlVSU0UgLSBFTkQgKi9cclxuXHJcbi8qIFVTRVIgRGV0YWlsIGVuZCAqL1xyXG5cclxuXHJcbi8qIEtleWFjY291bnQgLSBDb250cmFjdCAqL1xyXG4ua2V5QWNjb3VudHNDb250cmFjdFZhbGlkYXRlbGlzdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcbiAgICAua2V5QWNjb3VudHNDb250cmFjdFZhbGlkYXRlbGlzdCBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2RkZDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgICAgICAua2V5QWNjb3VudHNDb250cmFjdFZhbGlkYXRlbGlzdCBsaSBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbi5rZXlBY2NvdW50Q29udHJhY3RQcm9kdWN0c0JlZm9yZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuICAgIGNvbG9yOiAjYWFhO1xyXG59XHJcblxyXG4ua2V5QWNjb3VudENvbnRyYWN0UHJvZHVjdHNEZWxldGUge1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbn1cclxuXHJcbi5rZXlBY2NvdW50c0NvbnRyYWN0VmFsaWRhdGVsaXN0RmllbGQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogOTAlO1xyXG59XHJcblxyXG4ua2V5QWNjb3VudHNDb250cmFjdFZhbGlkYXRlbGlzdERlY2xpbmUge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMTAlO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbn1cclxuLyogS2V5YWNjb3VudCAtIENvbnRyYWN0IEVORCAqL1xyXG4vKiBLZXlhY2NvdW50IC0gQ29udHJhY3QgY3JlYXRlIG1vZGFsICovXHJcbiNjb250cmFjdERlc2NyaXB0aW9uIHtcclxuICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG59XHJcbi8qIEtleWFjY291bnQgLSBDb250cmFjdCBjcmVhdGUgbW9kYWwgLSBFTkQgKi9cclxuLyogS2V5YWNjb3VudCAtIEFkZCBwcm9kdWN0IHRpbCBjb250cmFjdCBtb2RhbCAqL1xyXG4ja2V5YWNjb3VudENvbnRyYWN0UHJvZHVjdFNlYXJjaCB7XHJcbiAgICBtYXJnaW4tdG9wOiAyN3B4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTowO1xyXG59XHJcblxyXG4ja2V5YWNjb3VudENvbnRyYWN0UHJvZHVjdFNlYXJjaFJlc3VsdFdyYXBwZXIge1xyXG4gICAgaGVpZ2h0OiA0NTBweDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4ua2V5QWNjb3VudENvbnRyYWN0VGFibGVTdW1VcCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGNvbG9yOiAjYWFhO1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbn1cclxuLyogS2V5YWNjb3VudCAtIEFkZCBwcm9kdWN0IHRpbCBjb250cmFjdCBtb2RhbCAtIEVORCAqL1xyXG5cclxuLyogS2V5QWNjb3VudCBDb250cmFjdCBPcmRlcnMgKi9cclxuLmtleUFjY291bnRDb250cmFjdExpc3RJdGVtIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMCAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuXHJcbi8qIERBU0hCT0FSRCAqL1xyXG4ubm9XcmFwIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbiNkYXNoYm9hcmRDb250cmFjdHMge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG59XHJcblxyXG4uY29udHJhY3RsaXN0UHJvZHVjdE5hbWUge1xyXG4gICAgd2lkdGg6IDI3NXB4O1xyXG59XHJcblxyXG4uY29udHJhY3RsaXN0UHJvZHVjdFZpc2libGVJZCB7XHJcbiAgICB3aWR0aDogOTBweDtcclxufVxyXG5cclxuLmFwcHJvdmVsaXN0UHJvZHVjdE5hbWUge1xyXG4gICAgd2lkdGg6IDM1MHB4O1xyXG59XHJcblxyXG4udGFibGVOb01hdGNoIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi5jb250cmFjdGxpc3RmaWxlVXBsb2FkRGF0ZSB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxudGFibGUgdHIub3B0aW9uSXRlbTpudGgtb2YtdHlwZShldmVuKSB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG5cclxudGFibGUgdHIub3B0aW9uSXRlbTpudGgtb2YtdHlwZShldmVuKTpob3ZlciB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDZGMkZBO1xyXG59XHJcblxyXG50YWJsZSB0ci5hdHRlbmFuY2VJdGVtIHRkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XHJcbn1cclxuXHJcbi5vcHRpb25MaXN0U2VxdWVuY2VObyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hdHRlbmRhbmNlTGlzdFNlcXVlbmNlTm8sIC5vcHRpb25MaXN0UXVhbnRpdHkge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ub3B0aW9uRGVzY3JpcHRpb24ge1xyXG4gICAgY29sb3I6ICNBOUE5QTk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmF0dGVuZGFuY2VMaXN0T3JkZXJOciB7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hdHRlbmRhbmNlTGlzdFBob25lTnVtYmVyIHtcclxuICAgIHdpZHRoOiAxMjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmF0dGVuZGFuY2VMaXN0TGluayB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbn1cclxuXHJcbiAgICAuYXR0ZW5kYW5jZUxpc3RMaW5rLnNlbGVjdGVkIHtcclxuICAgICAgICBjb2xvcjogIzMzMztcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbi5wYXJ0aWNpcGFudGxpc3RJdGVtTmFtZSB7XHJcbiAgICB3aWR0aDogMjAlO1xyXG4gICAgbWluLXdpZHRoOiAyNTBweDtcclxufVxyXG5cclxuLnBhcnRpY2lwYW50bGlzdEl0ZW1RdWFudGl0eSB7XHJcbiAgICB3aWR0aDogNSU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLnBhcnRpY2lwYW50bGlzdEl0ZW1QcmljZSB7XHJcbiAgICB3aWR0aDogMTAlO1xyXG59XHJcblxyXG4uYXR0ZW5hbmNlSXRlbS5kaXNhYmxlZCB0ZCwgLm9wdGlvbkl0ZW0uZGlzYWJsZWQgdGQgLCNhdHRlbmRhbmNlbGlzdCAuaXRlbVJvdy5kaXNhYmxlZHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG4gICAgY29sb3I6ICNhMGEwYTA7XHJcbn1cclxuXHJcbiNhdHRlbmRhbmNlbGlzdCAuaXRlbVJvdy5kaXNhYmxlZCB0ZHtcclxuICAgIGNvbG9yOiNhMGEwYTBcclxufVxyXG4jYXR0ZW5kYW5jZWxpc3QgLml0ZW1Sb3cuZGlzYWJsZWQgYXtcclxuICAgIGNvbG9yOiM5MUI1QzFcclxufVxyXG5cclxuXHJcblxyXG5cclxuI3Byb2R1Y3RUeXBlVGFibGUgdGQge1xyXG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XHJcbn1cclxuXHJcbiNwcm9kdWN0VHlwZVRhYmxlIC5kZWFjdGl2YXRlZCB0ZCwgI3Byb2R1Y3RUeXBlVGFibGUgLmRlYWN0aXZhdGVkIGEge1xyXG4gICAgY29sb3I6ICNhYWE7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxufVxyXG5cclxuI3Byb2R1Y3RUeXBlVGFibGUgLmNyZWF0ZVByb2R1Y3RUeXBlQ2hpbGQge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgcGFkZGluZzogMnB4O1xyXG59XHJcblxyXG4gICAgI3Byb2R1Y3RUeXBlVGFibGUgLmNyZWF0ZVByb2R1Y3RUeXBlQ2hpbGQgLmljb24tQ3JlYXRlLWljb24ge1xyXG4gICAgICAgIGNvbG9yOiAjMTI3NzlhO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIH1cclxuXHJcbi5ldmVudENvbnRyYWN0Um93IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5jb3Vyc2VFdmVudEFkZGVkRW1wbG95ZWVQYXlSb2xsVHlwZVdyYXBwZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uY291cnNlRXZlbnRDb250cmFjdFBheXJvbGxTZWxlY3RvciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmNvdXJzZUV2ZW50Q29udHJhY3RBdHRhY2htZW50SXRlbSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uY291cnNlRXZlbnRDb250cmFjdEF0dGFjaG1lbnRIZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2VhZWFlYTtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcblxyXG4gICAgLmNvdXJzZUV2ZW50Q29udHJhY3RBdHRhY2htZW50SGVhZGVyIC50aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG5cclxuI2NvbnRyYWN0c1N0YXR1cyB7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuICAgICNjb250cmFjdHNTdGF0dXMuc2hvcnRsaXN0IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAzNTBweDtcclxuICAgIH1cclxuXHJcbi5jb3Vyc2VFdmVudENvbnRyYWN0QXR0YWNobWVudEhlYWRlciAudHlwZSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbi5jb3Vyc2VFdmVudENvbnRyYWN0QXR0YWNobWVudEhlYWRlciBwIHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLmNvdXJzZUV2ZW50Q29udHJhY3RBdHRhY2htZW50SGVhZGVyIHNwYW4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcblxyXG4uY291cnNlRXZlbnRDb250cmFjdEF0dGFjaG1lbnRBcHByb3ZlQnRuLCAuY291cnNlRXZlbnRDb250cmFjdEF0dGFjaG1lbnRBcHByb3ZlIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4gICAgLmNvdXJzZUV2ZW50Q29udHJhY3RBdHRhY2htZW50QXBwcm92ZSAqIHtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcblxyXG4uY291cnNlRXZlbnRDb250cmFjdEF0dGFjaG1lbnRIZWFkZXIgLnVwbG9hZERhdGUge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMTRweDtcclxufVxyXG5cclxuLmNvdXJzZUV2ZW50Q29udHJhY3RBdHRhY2htZW50SGVhZGVyIC5jdXJyZW50U3RhdHVzQ2hhbmdlVGV4dCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxufVxyXG5cclxuXHJcblxyXG4uY291cnNlRXZlbnRDb250cmFjdEF0dGFjaG1lbnRIZWFkZXIgLnN0YXR1cy10ZXh0IHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5jb3Vyc2VFdmVudENvbnRyYWN0QXR0YWNobWVudENvbnRlbnQgLmF0dGFjaG1lbnRMaW5lIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbiAgICAuY291cnNlRXZlbnRDb250cmFjdEF0dGFjaG1lbnRDb250ZW50IC5hdHRhY2htZW50TGluZSBsYWJlbCB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb3Vyc2VFdmVudENvbnRyYWN0QXR0YWNobWVudENvbnRlbnQgLmF0dGFjaG1lbnRMaW5lIGEsIC5jb3Vyc2VFdmVudENvbnRyYWN0QXR0YWNobWVudENvbnRlbnQgLmF0dGFjaG1lbnRMaW5lIHAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICAgICAuY291cnNlRXZlbnRDb250cmFjdEF0dGFjaG1lbnRDb250ZW50IC5hdHRhY2htZW50TGluZSBwLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICB9XHJcblxyXG50aC5zb3J0YWJsZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xyXG59XHJcblxyXG50aC5zb3J0YWJsZSB7XHJcbiAgICBjb2xvcjogIzEyNzc5YTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuICAgIHRoLnNvcnRhYmxlLnNlbGVjdGVkIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggI2RkZDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjZGRkO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcblxyXG4jcHJvb2ZTdGF0dXMge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5wLmF0dGFjaG1lbnRTdGF0dXNUaXRsZSB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuI2F0dGFjaG1lbnREZXRhaWwgI2Rlc2NyaXB0aW9uIHtcclxuICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xyXG59XHJcblxyXG4uZGF0ZVBpY2tCdG5Ob1dyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICBib3R0b206IDQwcHg7XHJcbn1cclxuXHJcbiNjb250cmFjdE1vZGFsQXR0YWNobWVudEdlbmVyYWwge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbiAgICAjY29udHJhY3RNb2RhbEF0dGFjaG1lbnRHZW5lcmFsIC5jaGVja2JveExhYmVsLCAjY29udHJhY3RNb2RhbEF0dGFjaG1lbnRHZW5lcmFsIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgI2NvbnRyYWN0TW9kYWxBdHRhY2htZW50R2VuZXJhbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgIH1cclxuXHJcbi5DRUxfZW1wbG95ZWVJdGVtQ29udHJhY3QgW2NsYXNzXj0naWNvbi0nXSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcblxyXG4uc3RhdHVzVG9wQm94IHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcbiNrZXlBY2NvdW50QWN0aXZlQ29udHJhY3RzIHRke1xyXG4gICAgYmFja2dyb3VuZDojZmZmO1xyXG59XHJcbiNrZXlBY2NvdW50QWN0aXZlQ29udHJhY3RzIHRkLnNwYWNlcntcclxuICAgIGhlaWdodDoxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmO1xyXG59XHJcblxyXG4uc3VtdXBMaW5lIHRke1xyXG4gICAgYm9yZGVyLXRvcDoycHggc29saWQgI2RkZDtcclxufVxyXG5cclxuI2tleUFjY291bnRBY3RpdmVDb250cmFjdHMgLmtleUFjY291bnRDb21wYW55VGl0bGVXcmFwcGVye1xyXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7XHJcbiAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNhYWE7XHJcbn1cclxuXHJcbiN3YWl0bGlzdERlbGV0ZVNlbGVjdGVke2Zsb2F0OmxlZnQ7d2lkdGg6YXV0bzt9XHJcbiNwcm9kdWN0RGV0YWlsUmVsYXRlZFByb2R1Y3RTZWFyY2h7XHJcbiAgbWFyZ2luLXRvcDogMjhweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiNwcm9kdWN0UmVsYXRlZFByb2R1Y3RzVGFibGUgdHI6Zmlyc3QtY2hpbGQgLnJlbGF0ZWRQcm9kdWN0c01vdmVJdGVtVXAsICNwcm9kdWN0UmVsYXRlZExpbmtzVGFibGUgdHI6Zmlyc3QtY2hpbGQgLnJlbGF0ZWRMaW5rTW92ZUl0ZW1VcHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxufVxyXG5cclxuI3Byb2R1Y3RSZWxhdGVkUHJvZHVjdHNUYWJsZSB0ciB0ZDpsYXN0LWNoaWxke1xyXG4gICAgcGFkZGluZy1sZWZ0OjA7XHJcbiAgICAgd2lkdGg6NTVweDtcclxufVxyXG5cclxuLnJlbGF0ZWRQcm9kdWN0c01vdmVJdGVtVXAsIC5yZWxhdGVkTGlua01vdmVJdGVtVXB7XHJcbiAgICBwYWRkaW5nOjEycHg7XHJcbiAgICBmbG9hdDpyaWdodDtcclxufVxyXG5cclxuXHJcbi5yZWxhdGVkTGlua0VkaXR7XHJcbiAgICBmbG9hdDpyaWdodDtcclxuICAgIHBhZGRpbmc6MTBweDtcclxufVxyXG4ucHJvZHVjdERldGFpbFJlbGF0ZWRUaXRsZXtcclxuICAgIC8qd2lkdGg6NjAlOyovXHJcbn1cclxuXHJcbiNlbXBsb3llZURldGFpbFN0YXR1c01zZ3tcclxuICAgIHdpZHRoOjc1cHg7XHJcbn1cclxuXHJcbi5hdHRlbmRhbmNlbGlzdE9wdGlvbntcclxuICAgIG1hcmdpbi10b3A6MTBweDtcclxuICAgIHdpZHRoOjMwMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTowO1xyXG4gICAgYm9yZGVyLXRvcDoxcHggZGFzaGVkIHJnYmEoMCwwLDAsMC4yKTtcclxuXHJcbn1cclxuXHJcbiAgICAuYXR0ZW5kYW5jZWxpc3RPcHRpb246Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgIG1hcmdpbi10b3A6MDtcclxuICAgICAgICAgYm9yZGVyLXRvcDowO1xyXG4gICAgfVxyXG4gICAgLmF0dGVuZGFuY2VsaXN0T3B0aW9uIHRke1xyXG4gICAgICAgICBib3JkZXItYm90dG9tOjA7XHJcbiAgICAgICAgIGJvcmRlci10b3A6MDtcclxuICAgIH1cclxuXHJcbi5hbW91bnRDb2x1bW4ge1xyXG4gICAgICAgIHdpZHRoOjUwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICB9XHJcblxyXG4jYXR0ZW5kYW5jZWxpc3RXaXRoT3B0aW9ucyB0ZHt2ZXJ0aWNhbC1hbGlnbjp0b3A7fVxyXG5cclxuI2VtcGxveWVlT3V0T2ZEcmFmdEJ0biB7XHJcbiAgICBtYXgtd2lkdGg6MTYwcHg7XHJcbiAgICBtYXJnaW46MjBweCBhdXRvIDA7XHJcbn1cclxuXHJcbi5kb3VibGVSZWxhdGlvbldyYXBwZXJ7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcbi5kb3VibGVSZWxhdGlvbldyYXBwZXIgLmRlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OjI1cHg7XHJcbn1cclxuXHJcbi5kb3VibGVSZWxhdGlvbkluZm8ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBjb2xvcjogIzQ0NDtcclxufVxyXG5cclxudGQuY29udHJhY3RsaXN0UmVtdW5lcmF0aW9uLCB0aC5jb250cmFjdGxpc3RSZW11bmVyYXRpb257XHJcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG59XHJcblxyXG50ZXh0YXJlYS5sYXJnZXttaW4taGVpZ2h0OjE1MHB4fVxyXG50ZXh0YXJlYS5sYXJnZXJ7bWluLWhlaWdodDo0MDBweH1cclxuLyojZWR1Y2F0b3JzTWFpbHMsI3BhcnRpY2lwYW50c01haWxze3doaXRlLXNwYWNlOiBub3dyYXA7fSovXHJcblxyXG5cclxuLmtleUFjY291bnRBbW91bnQsIC5rZXlBY2NvdW50U2FsZXMge1xyXG4gICAgdGV4dC1hbGlnbjpyaWdodDtcclxufVxyXG4ua2V5QWNjb3VudFJlZ2lzdHJhdGlvblN0YXJ0ICwgLmtleUFjY291bnRQdWJsaXNoZWRGcm9tLCAua2V5QWNjb3VudFB1Ymxpc2hlZFRvIHtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcblxyXG4ua2V5QWNjb3VudEFtb3VudCwua2V5QWNjb3VudFJlZ2lzdHJhdGlvblN0YXJ0ICwgLmtleUFjY291bnRQdWJsaXNoZWRGcm9tICwgLmtleUFjY291bnRTYWxlcywgLmtleUFjY291bnRQdWJsaXNoZWRUbyAge1xyXG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xyXG59XHJcblxyXG5cclxuLmtleUFjY291bnRNYXhQcm9kdWN0cywgLmtleUFjY291bnRNYXhRdWFudGl0eSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuI3Byb2R1Y3RTZWFyY2hUYWJsZSAucHJpbWFyeVNlYXJjaFN1bVJvdyB0ZCB7XHJcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgYmxhY2s7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG59XHJcbi5pbnZvaWNlU2VhcmNoe1xyXG4gICAgYm9yZGVyLXRvcDoxcHggZGFzaGVkICNkZGQ7IFxyXG4gICAgYm9yZGVyLWJvdHRvbToxcHggZGFzaGVkICNkZGQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDoxNXB4O1xyXG59XHJcbiNpbnZvaWNlU2VhcmNoQnRuLCAjaW52b2ljZVNlYXJjaFVzZXtcclxuICAgIG1hcmdpbi10b3A6MjdweDtcclxufVxyXG5cclxuI2VtcGxveWVlQ29udHJhY3RzIHRoe1xyXG4gICAgY29sb3I6IzEyNzc5YTtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuLyogRURJVE9SIFBST1BFUlRJRVMgLSBQTEVBU0UgRE9OJ1QgREVMRVRFIFRISVMgTElORSBUTyBBVk9JRCBEVVBMSUNBVEUgUFJPUEVSVElFUyAqL1xyXG4iXX0= */