/********************************************************************************/
/**************************General global settings*******************************/
/********************************************************************************/
/*--- Fix for inputs and selects might consider making this a part of reset ---*/
input, select {
    box-sizing: border-box;
    -ms-box-sizing: content-box;
    /*might not be needed*/
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

body {
    background: transparent;
}

html, body {
    width: 100%;
    margin: 0;
    padding: 0;
}

.overflowyOn {
    overflow-y: scroll;
}

.overflowyOff {
    overflow-y: hidden;
}

.ctrl_doclibrarymulti .headline_bg {
    padding: 0.3em 0.2em;
}
.ctrl_doclibrarymulti .content_bg {
    display: table;
    width: 100%;
}
.ctrl_doclibrarymulti .content_bg .data-row {
    display: table-row;
}
.ctrl_doclibrarymulti .content_bg .data-row .col {
    display: table-cell;
    width: 50%;
    padding: 0.3em 0.2em;
}
.ctrl_doclibrarymulti .ico {
    width: 24px;
    height: 16px;
    display: block;
}

.ui-icon-circle-plus {
    background-position: 0 -192px;
    height: 15px;
    width: 15px;
}

.ui-j-icons {
    background-image: url(../../images/default/ui-icons_222222_256x240.png);
}

.hidden {
    display: none !important;
}

/*--- Font settings ---*/
body, input, select, option, ul, li, .ui-widget-content, .ui-menu-item, .ui-dialog .ui-dialog-titlebar span, h2.company_link, .ui-tooltip {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: normal;
    color: #575859;
}

small, sub, sup {
    font-size: 8px;
}

sub {
    vertical-align: sub;
}

sup {
    vertical-align: super;
}

input, select, option, .ui-autocomplete-input {
    background: #ffffff;
}

input, select {
    border: solid 1px #dddddd;
}

input[type=radio] {
    border: 0;
    border-style: none;
    background: transparent;
}

/*--- Clearfix ---*/
.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

.clearfix {
    display: inline-block;
}

html[xmlns] .clearfix {
    display: block;
}

* html .clearfix {
    height: 1%;
}

/*--- Ellipsis ---*/
.ellipsis * {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    -ms-text-overflow: ellipsis;
    -moz-binding: url(ellipsis-xbl.xml#ellipsis);
    display: block;
    width: 100%;
}

.ellipsis img {
    display: inline;
    width: auto;
}

/*.ellipsis a, .ellipsis span {-moz-binding:url(ellipsis-xbl.xml#ellipsis);}*/
/* general fix for selects */
.select2-container {
    width: 100%;
}

.select2-container .select2-choice .select2-arrow {
    width: 28px;
    background: #eeeeee;
}

.select2-container .select2-choice .select2-arrow b {
    position: relative;
}

.select2-container .select2-choice .select2-arrow b:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    top: 50%;
    right: 50%;
    margin-right: -4px;
    margin-top: -2px;
    border-style: solid;
    border-color: transparent;
    border-width: 5px;
    border-top-color: #006fb0;
}

/*--- highlighting class ---*/
.ctrl_fundlist_additionalfeatures .content_bg .fundlist ul li:hover,
.applyHighlight tr.highlight td {
    background-image: url(../../images/default/texture_stripes_thin_light.png);
    background-repeat: repeat-x;
    background-position: 50% 50%;
    background-color: transparent;
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#33006FB0, endColorstr=#33006FB0)";
    /* IE8 and below*/
    background-color: rgba(0, 111, 176, 0.2);
    /*specific hack for IE in browsersupport.css*/
}

/*--- Print only content(this class is reversed on the print.css) ---*/
.printonly_content {
    display: none;
}

/*--- General control margins ---*/
.message,
.selected_filters,
.ctrl_mylist,
.ctrl_modifiers,
.ctrl_listfunds,
.ctrl_freetext,
.ctrl_fund2datatable,
.ctrl_riskindicator,
.ctrl_basicdata,
.ctrl_additionalfeatures,
.ctrl_dataexport,
.ctrl_fundlist_additionalfeatures,
.ctrl_perfchart,
.ctrl_plotchart,
.ctrl_holdingschart,
.ctrl_glinechart,
.ctrl_top_x_holdings,
.ctrl_feestable,
.ctrl_keyfigurestable,
.ctrl_risktable,
.ctrl_documentlibrary,
h2.company_link,
.ctrl_quartilebox,
.ctrl_gpiechart,
.ctrl_glinechart,
.ctrl_hlinechart,
.ctrl_responsive_holdingschart,
.ctrl_hfundlistplotchart,
.ctrl_keyfiguresmonthlytable {
    margin-top: 10px;
}

.headline_bg.clickable,
.ctrl_listfunds .applyRowLink tr td,
.ctrl_listfunds .headline_bg th.sortable,
.paging_row li span.first,
.paging_row li span.previous,
.paging_row li span.next,
.paging_row li span.last,
.table_headline,
.fold_o,
.fold_c,
.close,
.open,
.ctrl_fundlist_additionalfeatures .content_bg .fundlist ul li span.delete,
.ctrl_fundlist_additionalfeatures .content_bg .buttons ul li a,
.ctrl_popupdiv .headline_bg .closepopup .btn_close,
.ui-dialog a.ui-dialog-titlebar-close,
.ctrl_listfunds .content_bg .sortable .headline_wrap th span,
.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li,
.ctrl_glinechart .content_bg .chart_functionality .chart_type ul li,
.ctrl_perfchart .chart_navigation ul li,
.ctrl_listfunds .content_bg .paging_section .btn,
.ui-icons.ui-icon-minusthick,
.ui-icons.ui-icon-plusthick,
.ui-icon-circle-plus,
.ctrl_mylist .content_bg .close,
.ctrl_mylist .headline_bg {
    cursor: pointer;
}

/********************************************************************************/
/******************************** Line heights **********************************/
/********************************************************************************/
body, input, select, option, ul, li, .ui-widget-content, .ui-menu-item, th, td {
    line-height: 18px;
}

.ctrl_additionalfeatures .content_bg,
.ctrl_dataexport .content_bg,
.ctrl_listfunds .content_bg .paging_section,
.ctrl_perfchart .content_bg .chart_functionality,
.ctrl_top_x_holdings .content_bg .functionality {
    line-height: 30px;
}

/********************************************************************************/
/*********************************Headlines**************************************/
/********************************************************************************/
/*--- headlines - general classes ---*/
h1 {
    font-size: 14px;
    font-weight: bold;
    line-height: normal;
}

.ui-dialog .ui-dialog-titlebar span,
h2,
table .headline_bg span {
    font-size: 11px;
    font-weight: bold;
    color: #006fb0;
}

h3 {
    font-size: 11px;
    font-weight: bold;
    color: #006fb0;
}

h4 {
    font-size: 11px;
    font-weight: bold;
    color: #006fb0;
}

/********************************************************************************/
/****************************Padding Settings************************************/
/********************************************************************************/
th, td,
div.headline_bg {
    padding: 3px 5px;
}

.content_padding {
    padding: 0px 5px;
}

/*--- General padding settings ---*/
.ui-dialog .ui-dialog-content,
.ui-dialog .ui-dialog-buttonpane,
.content_bg p {
    padding: 5px;
}

/*--- Functionality settings ---*/
.ctrl_additionalfeatures .content_bg,
.ctrl_dataexport .content_bg,
.ctrl_listfunds .content_bg .paging_section,
.ctrl_perfchart .content_bg .chart_functionality,
.ctrl_top_x_holdings .content_bg .functionality {
    padding: 5px 0px;
}

/*.ctrl_holdingschart .content_bg .chart_functionality,
.ctrl_glinechart .content_bg .chart_functionality{padding:5px;}*/
/********************************************************************************/
/***************************Alignment Settings***********************************/
/********************************************************************************/
/*--- Align Default ---*/
.aligndefault {
    text-align: inherit;
}

/*--- Align Right ---*/
.alignright {
    text-align: right;
}

/*--- Align Left ---*/
.alignleft {
    text-align: left;
}

/*--- Align Middle ---*/
.alignmiddle {
    text-align: center;
    vertical-align: middle;
}

/********************************************************************************/
/****************************Message Settings************************************/
/********************************************************************************/
/*--- General Message Style---*/
.error_message,
.message,
.selected_filters {
    padding: 10px 5px 10px 5px;
    text-align: left;
}

/*--- error message Style---*/
.error_message {
    background: #f4ebed;
    color: #884c54;
}

/*--- message Style---*/
.message {
    background: #f3f8f4;
    color: #508155;
}

/*--- selected filters Style---*/
.selected_filters {
    background: #f7f6e7;
    color: #928e55;
}

.selected_filters ul li {
    border-right: solid 1px #efedd3;
}

/********************************************************************************/
/*****************************Tables Settings************************************/
/********************************************************************************/
/*--- General table widths ---*/
.table_width {
    width: 100%;
}

table {
    table-layout: auto;
}

.ctrl_fund2datatable table, .ctrl_listfunds table {
    table-layout: fixed;
}

th, td {
    vertical-align: middle;
}

.table_headline {
    height: 100%;
    vertical-align: middle;
}

/********************************************************************************/
/*************************      Wrap +  Settings*********************************/
/********************************************************************************/
.page_wrap {
    width: auto;
    height: auto;
    margin: 0 auto;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    position: relative;
}

.tab_wrap {
    padding: 0px;
    text-align: left;
}

/*--- multicolumns display ---*/
/*.col_wrap .column1{width:49%;float:left;}
.col_wrap .column2{width:49%;float:right;}*/
/********************************************************************************/
/**********************Layout grid for responsive solutions ********************/
/********************************************************************************/
.grid {
    width: 100%;
    zoom: 1;
    /*margin-top:1em;*/
}

.grid:before,
.grid:after {
    content: " ";
    display: block;
    height: 0;
    overflow: hidden;
}

.grid:after {
    clear: both;
}

.grid .item {
    float: left;
    margin-left: 1%;
    margin-bottom: 1%;
}

/* Large screens initial settings for grids */
@media screen and (min-width: 960px) {
    .grid.items-6 .item {
        width: 15.8333%;
    }

    .grid.items-4 .item {
        width: 24.25%;
    }

    .grid.items-3 .item {
        width: 32.666%;
    }

    .grid.items-2 .item {
        width: 49.5%;
    }

    .grid.items-1 .item {
        width: 100%;
    }

    .grid.items-6 .item:nth-of-type(6n+1),
.grid.items-4 .item:nth-of-type(4n+1),
.grid.items-3 .item:nth-of-type(3n+1),
.grid.items-2 .item:nth-of-type(2n+1),
.grid.items-1 .item:nth-of-type(1n+1) {
        margin-left: 0;
        clear: left;
    }
}
/* Change 6 item grids to 3 item grids */
@media screen and (max-width: 960px) {
    .grid.items-6 .item,
.grid.items-3 .item {
        width: 32.666%;
    }

    .grid.items-6 .item:nth-of-type(6n+1) {
        margin-left: 1%;
        clear: none;
    }

    .grid.items-6 .item:nth-of-type(3n+1),
.grid.items-3 .item:nth-of-type(3n+1) {
        margin-left: 0;
        clear: left;
    }

    .grid.items-4 .item {
        width: 24.25%;
    }

    .grid.items-4 .item:nth-of-type(4n+1) {
        margin-left: 0;
        clear: left;
    }

    .grid.items-2 .item {
        width: 49.5%;
    }

    .grid.items-2 .item:nth-of-type(2n+1) {
        margin-left: 0;
        clear: left;
    }
}
/* Change 4 item grids to 2 item grids */
@media screen and (max-width: 768px) {
    .grid.items-4 .item,
.grid.items-2 .item {
        width: 49.5%;
    }

    .grid.items-4 .item:nth-of-type(4n+1) {
        margin-left: 1%;
        clear: none;
    }

    .grid.items-4 .item:nth-of-type(2n+1),
.grid.items-2 .item:nth-of-type(2n+1) {
        margin-left: 0;
        clear: left;
    }
}
/* Change 6, 4 & 3 item grids to 2 item grids */
@media screen and (max-width: 640px) {
    .grid.items-6 .item,
.grid.items-4 .item,
.grid.items-3 .item,
.grid.items-2 .item {
        width: 49.5%;
    }

    .grid.items-6 .item:nth-of-type(6n+1),
.grid.items-6 .item:nth-of-type(4n+1),
.grid.items-3 .item:nth-of-type(3n+1) {
        margin-left: 1%;
        clear: none;
    }

    .grid.items-6 .item:nth-of-type(2n+1),
.grid.items-4 .item:nth-of-type(2n+1),
.grid.items-3 .item:nth-of-type(2n+1),
.grid.items-2 .item:nth-of-type(2n+1) {
        margin-left: 0;
        clear: left;
    }
}
/* Change 6 & 3 & 2 item grids to 1 item grids */
@media screen and (max-width: 480px) {
    .grid.items-6 .item,
.grid.items-4 .item,
.grid.items-3 .item,
.grid.items-2 .item,
.grid.items-1 .item {
        width: 100%;
        margin-left: 0 !important;
        clear: none !important;
    }
}
/********************************************************************************/
/***************************General icon Settings********************************/
/********************************************************************************/
/*--- Performance Icons settings ---*/
.perf_up span.value,
.perf_down span.value {
    padding-right: 8px;
    position: relative;
}

.perf_up span.value:after,
.perf_down span.value:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: 50%;
    border-style: solid;
    margin-top: -4px;
}

@-moz-document url-prefix() {
    .perf_up span:after, .perf_down span:after {
        margin-top: -3px;
    }
}
.perf_up span:after {
    border-color: transparent transparent #72b431 transparent;
    border-width: 0px 4px 4px 4px;
}

.perf_down span:after {
    border-color: #ef432c transparent transparent transparent;
    border-width: 4px 4px 0px 4px;
}

/*--- Folding/Collapsing Icons ---*/
.fold_o, .fold_c {
    padding-left: 20px;
    background: none;
    position: relative;
}

.fold_o:before,
.fold_c:before {
    top: 50%;
    margin-top: -5px;
    left: 0px;
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-width: 6px;
    border-style: solid;
}

.fold_o:before {
    border-color: #006fb0 transparent transparent transparent;
}

.fold_c:before {
    border-color: transparent transparent transparent #006fb0;
}

/*--- Sorting settings ---*/
.sorting_icon {
    position: relative;
    padding-right: 12px;
    padding-top: 0px;
    padding-bottom: 6px;
    font-size: 0px !important;
}

.sort_none:before,
.sort_none:after,
.sort_down:after,
.sort_up:after {
    position: absolute;
    left: 5px;
    top: 0%;
    margin: 0;
    padding: 0;
    margin-top: -6px;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
}

@-moz-document url-prefix() {
    .sort_none:before, .sort_none:after, .sort_down:after, .sort_up:after {
        top: 50%;
    }
}
th .sort_none:before,
th .sort_none:after,
th .sort_down:after,
th .sort_up:after {
    transition: all 300ms 0s ease-in-out;
}

th:hover .sort_none:before,
th:hover .sort_none:after,
th:hover .sort_down:after,
th:hover .sort_up:after {
    transform: rotateY(180deg);
}

.sort_none:before {
    border-width: 5px 5px 0px 5px;
    border-color: #006fb0 transparent transparent transparent;
    margin-top: 0px;
}

.sort_none:after {
    border-width: 0px 5px 5px 5px;
    border-color: transparent transparent #006fb0 transparent;
    margin-top: -8px;
}

.sort_down:after {
    border-width: 5px 5px 0px 5px;
    border-color: #006fb0 transparent transparent transparent;
}

.sort_up:after {
    border-width: 0px 5px 5px 5px;
    border-color: transparent transparent #006fb0 transparent;
}

.sort_none {
    display: none;
}

/*--- fundlist first column icon ---*/
.ctrl_listfunds tr td.col1 {
    position: relative;
}

.ctrl_listfunds tr td.col1:after {
    left: 5px;
    top: 50%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: transparent;
    border-left-color: transparent;
    border-width: 5px;
    border-left-width: 0px;
    margin-top: -5px;
}

.ctrl_listfunds tr td.col1,
.ctrl_listfunds tr td.col1:after {
    transition: all 0.3s ease-in-out;
}

.ctrl_listfunds tr:hover td.col1 {
    padding-left: 15px;
}

.ctrl_listfunds tr:hover td.col1:after {
    border-left-color: #006fb0;
    border-left-width: 6px;
}

/*--- Category Icons---*/
.ico_efc_cat {
    border-radius: 50%;
    background-clip: padding-box;
    behavior: url(../../js/PIE.htc);
    margin-right: 5px;
    font-size: 20px;
    padding-left: 27px;
    position: relative;
    top: 3px;
}

.efc_cat1 {
    background: #006fb0 url(../../images/default/ico_efc_cat1.png) no-repeat 50% 50%;
}

.efc_cat2 {
    background: #006fb0 url(../../images/default/ico_efc_cat2.png) no-repeat 50% 50%;
}

.efc_cat3 {
    background: #cc2a7e url(../../images/default/ico_efc_cat3.png) no-repeat 50% 50%;
}

.efc_cat4 {
    background: #cc2a7e url(../../images/default/ico_efc_cat4.png) no-repeat 50% 50%;
}

.efc_cat5 {
    background: #ef432c url(../../images/default/ico_efc_cat5.png) no-repeat 50% 50%;
}

.efc_cat6 {
    background: #ef432c url(../../images/default/ico_efc_cat6.png) no-repeat 50% 50%;
}

/*--- Flag Icons ---*/
.ico_flag {
    display: block;
    width: 20px;
    height: 20px;
    /*Should never be used*/
    /*Should never be used*/
}
.ico_flag .da-DK {
    background: url(../../images/default/ico_flag_da-DK.png) no-repeat 100% 100%;
}
.ico_flag .de-DE {
    background: url(../../images/default/ico_flag_de-DE.png) no-repeat 100% 100%;
}
.ico_flag .de-CH {
    background: url(../../images/default/ico_flag_de-CH.png) no-repeat 100% 100%;
}
.ico_flag .fr-CH {
    background: url(../../images/default/ico_flag_fr-CH.png) no-repeat 100% 100%;
}
.ico_flag .it-CH {
    background: url(../../images/default/ico_flag_it-CH.png) no-repeat 100% 100%;
}
.ico_flag .el-GR {
    background: url(../../images/default/ico_flag_el-GR.png) no-repeat 100% 100%;
}
.ico_flag .en-CH {
    background: url(../../images/default/ico_flag_en-CH.png) no-repeat 100% 100%;
}
.ico_flag .en-GB {
    background: url(../../images/default/ico_flag_en-GB.png) no-repeat 100% 100%;
}
.ico_flag .es-ES {
    background: url(../../images/default/ico_flag_es-ES.png) no-repeat 100% 100%;
}
.ico_flag .et-EE {
    background: url(../../images/default/ico_flag_et-EE.png) no-repeat 100% 100%;
}
.ico_flag .fi-FI {
    background: url(../../images/default/ico_flag_fi-FI.png) no-repeat 100% 100%;
}
.ico_flag .fr-FR {
    background: url(../../images/default/ico_flag_fr-FR.png) no-repeat 100% 100%;
}
.ico_flag .he-IL {
    background: url(../../images/default/ico_flag_he-IL.png) no-repeat 100% 100%;
}
.ico_flag .is-IS {
    background: url(../../images/default/ico_flag_is-IS.png) no-repeat 100% 100%;
}
.ico_flag .it-IT {
    background: url(../../images/default/ico_flag_it-IT.png) no-repeat 100% 100%;
}
.ico_flag .lt-LT {
    background: url(../../images/default/ico_flag_lt-LT.png) no-repeat 100% 100%;
}
.ico_flag .lv-LV {
    background: url(../../images/default/ico_flag_lv-LV.png) no-repeat 100% 100%;
}
.ico_flag .nb-NO {
    background: url(../../images/default/ico_flag_nb-NO.png) no-repeat 100% 100%;
}
.ico_flag .nl-NL {
    background: url(../../images/default/ico_flag_nl-NL.png) no-repeat 100% 100%;
}
.ico_flag .pl-PL {
    background: url(../../images/default/ico_flag_pl-PL.png) no-repeat 100% 100%;
}
.ico_flag .pt-PT {
    background: url(../../images/default/ico_flag_pt-PT.png) no-repeat 100% 100%;
}
.ico_flag .ro-RO {
    background: url(../../images/default/ico_flag_ro-RO.png) no-repeat 100% 100%;
}
.ico_flag .se-FI {
    background: url(../../images/default/ico_flag_se-FI.png) no-repeat 100% 100%;
}
.ico_flag .se-SE {
    background: url(../../images/default/ico_flag_se-SE.png) no-repeat 100% 100%;
}
.ico_flag .sv-SE {
    background: url(../../images/default/ico_flag_sv-SE.png) no-repeat 100% 100%;
}
.ico_flag .sv-FI {
    background: url(../../images/default/ico_flag_sv-FI.png) no-repeat 100% 100%;
}

.alignright .ico_flag {
    float: right;
    text-align: right;
}

.alignmiddle .ico_flag {
    float: none;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
}

.alignleft .ico_flag {
    float: left;
    text-align: left;
}

/*--- Status Icons ---*/
.ico_status {
    display: block;
    width: 20px;
    height: 20px;
}

.ico_status {
    background-image: url(../../images/default/ico_status.png);
    background-repeat: no-repeat;
}

.status-valid {
    background-position: 0px 0px;
}

.status-invalid {
    background-position: -20px 0px;
}

.status-unvalidated {
    background-position: -40px 0px;
}

.alignright .ico_status {
    float: right;
    text-align: right;
}

.alignmiddle .ico_status {
    float: none;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
}

.alignleft .ico_status {
    float: left;
    text-align: left;
}

/*--- efc estimated VS approved Icons ---*/
.efc_estimated, .efc_approved {
    display: block;
    width: 32px;
    height: 16px;
}

.efc_estimated p, .efc_approved p {
    display: none;
}

.alignright .efc_estimated,
.alignright .efc_approved {
    float: right;
    text-align: right;
}

.alignmiddle .efc_estimated,
.alignmiddle .efc_approved {
    float: none;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
}

.alignleft .efc_estimated,
.alignleft .efc_approved {
    float: left;
    text-align: left;
}

.efc_estimated {
    background: url(../../images/default/ico_efc_estimated.png) no-repeat 50% 50%;
}

.efc_approved {
    background: url(../../images/default/ico_efc_approved.png) no-repeat 50% 50%;
}

/*--- PDF + PDFLink Icons ---*/
.pdf_img,
.pdf_img_inactive,
.pdf_link_img,
.pdf_link_img_inactive {
    display: inline-block;
    height: 23px;
    width: 26px;
}

.alignright .pdf_img, .alignright .pdf_img_inactive,
.alignright .pdf_link_img, .alignright .pdf_link_img_inactive {
    float: right;
    text-align: right;
}

.alignmiddle .pdf_img, .alignmiddle .pdf_img_inactive,
.alignmiddle .pdf_link_img, .alignmiddle .pdf_link_img_inactive {
    float: none;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
}

.alignleft .pdf_img, .alignleft .pdf_img_inactive,
.alignleft .pdf_link_img, .alignleft .pdf_link_img_inactive {
    float: left;
    text-align: left;
}

.pdf_img_inactive {
    background: url(../../images/default/ico_pdf_inactive.png) no-repeat 50% 50%;
}

.pdf_img {
    background: url(../../images/default/ico_pdf.png) no-repeat 50% 50%;
}

.pdf_img:hover {
    background: url(../../images/default/ico_pdf_hover.png) no-repeat 50% 50%;
}

.pdf_link_img_inactive {
    background: url(../../images/default/ico_pdfexternal_inactive.png) no-repeat 50% 50%;
}

.pdf_link_img {
    background: url(../../images/default/ico_pdfexternal_link.png) no-repeat 50% 50%;
}

.pdf_link_img:hover {
    background: url(../../images/default/ico_pdfexternal_hover.png) no-repeat 50% 50%;
}

/*--- Fundlist PDF Icons ---*/
.pdf_fundlist,
.pdf_fundlist_inactive,
.pdf_fundlist:hover {
    display: inline-block;
    height: 16px;
    width: 24px;
}

.alignright .pdf_fundlist, .alignright .pdf_fundlist_inactive {
    float: right;
    text-align: right;
}

.alignmiddle .pdf_fundlist, .alignmiddle .pdf_fundlist_inactive {
    float: none;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
}

.alignleft .pdf_fundlist, .alignleft .pdf_fundlist_inactive {
    float: left;
    text-align: left;
}

.pdf_fundlist_inactive {
    background: url(../../images/default/ico_pdf_fundlist_inactive.png) no-repeat 50% 50%;
}

.pdf_fundlist {
    background: url(../../images/default/ico_pdf_fundlist.png) no-repeat 50% 50%;
}

.pdf_fundlist:hover {
    background: url(../../images/default/ico_pdf_fundlist_hover.png) no-repeat 50% 50%;
}

/*--- Morningstar Rating Icons ---*/
.ctrl_listfunds span span.ms_rank,
.ctrl_listfunds span span.ms_rank1,
.ctrl_listfunds span span.ms_rank2,
.ctrl_listfunds span span.ms_rank3,
.ctrl_listfunds span span.ms_rank4,
.ctrl_listfunds span span.ms_rank5 {
    display: block;
    width: 71px;
    height: 16px;
    margin: auto;
}

.ms_rank {
    background: url(../../images/default/ico_ms_.png) no-repeat 50% 50%;
}

.ms_rank1 {
    background: url(../../images/default/ico_ms_.png) no-repeat 50% 50%;
}

.ms_rank2 {
    background: url(../../images/default/ico_ms_.png) no-repeat 50% 50%;
}

.ms_rank3 {
    background: url(../../images/default/ico_ms_.png) no-repeat 50% 50%;
}

.ms_rank4 {
    background: url(../../images/default/ico_ms_.png) no-repeat 50% 50%;
}

.ms_rank5 {
    background: url(../../images/default/ico_ms_.png) no-repeat 50% 50%;
}

/*--- FundConnect Ranking Icons ---*/
.ctrl_listfunds span span.fc_rank,
.ctrl_listfunds span span.fc_rank1,
.ctrl_listfunds span span.fc_rank2,
.ctrl_listfunds span span.fc_rank3,
.ctrl_listfunds span span.fc_rank4,
.ctrl_listfunds span span.fc_rank5 {
    display: block;
    width: 48px;
    height: 16px;
    margin: auto;
}

.alignright .fc_rank, .alignright .fc_rank1, .alignright .fc_rank2, .alignright .fc_rank3,
.alignright .fc_rank4, .alignright .fc_rank5 {
    float: right;
    text-align: right;
}

.alignmiddle .fc_rank, .alignmiddle .fc_rank1, .alignmiddle .fc_rank2, .alignmiddle .fc_rank3,
.alignmiddle .fc_rank4, .alignmiddle .fc_rank5 {
    float: none;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
}

.alignleft .fc_rank, .alignleft .fc_rank1, .alignleft .fc_rank2, .alignleft .fc_rank3,
.alignleft .fc_rank4, .alignleft .fc_rank5 {
    float: left;
    text-align: left;
}

.fc_rank {
    background: url(../../images/default/ico_fc_rating.png) no-repeat 50% 50%;
}

.fc_rank1 {
    background: url(../../images/default/ico_fc_rating1.png) no-repeat 50% 50%;
}

.fc_rank2 {
    background: url(../../images/default/ico_fc_rating2.png) no-repeat 50% 50%;
}

.fc_rank3 {
    background: url(../../images/default/ico_fc_rating3.png) no-repeat 50% 50%;
}

.fc_rank4 {
    background: url(../../images/default/ico_fc_rating4.png) no-repeat 50% 50%;
}

.fc_rank5 {
    background: url(../../images/default/ico_fc_rating5.png) no-repeat 50% 50%;
}

/*--- fundlist risk indicator ---*/
/* IMPORTANT NOTE THE CELL WRAPPING THE RISK INDICATOR MUST HAVE A POSITION RELATIVE*/
/* fundlist risk indicator positioning */
.ctrl_listfunds .alignleft .default_fundlist_riskindicator {
    left: 0%;
    text-align: center;
    margin-left: 0 !important;
}

.ctrl_listfunds .alignright .default_fundlist_riskindicator {
    right: 0%;
    text-align: center;
    margin-left: auto !important;
}

.ctrl_listfunds .alignmiddle .default_fundlist_riskindicator {
    left: 50%;
    margin-left: -15px;
    text-align: center;
}

.ctrl_listfunds .alignleft .default_fundlist_riskindicator .fundlist_riskindicator {
    margin-left: 0 !important;
}

.ctrl_listfunds .alignright .default_fundlist_riskindicator .fundlist_riskindicator {
    margin-left: auto !important;
}

/* risk indicator container */
.ctrl_listfunds td .default_fundlist_riskindicator {
    position: absolute;
    top: 11px;
    z-index: 999999;
}

/* risk indicator*/
.ctrl_listfunds td .default_fundlist_riskindicator .fundlist_riskindicator {
    height: 18px;
    width: 30px;
    line-height: 18px;
    margin-left: 0px;
    padding: 3px;
    border-radius: 50%;
    background-clip: padding-box;
    background: #eeeeee;
    padding-left: 0px;
    padding-right: 0px;
    behavior: url(../../js/PIE.htc);
}

.ctrl_listfunds td:hover .default_fundlist_riskindicator .fundlist_riskindicator {
    width: 155px;
    margin-left: -63px;
    padding: 3px;
    border-radius: 10px;
    box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.3);
    behavior: url(../../js/PIE.htc);
}

.ctrl_listfunds td:hover .default_fundlist_riskindicator .fundlist_riskindicator.norisk {
    width: 30px;
    margin-left: 0px;
    padding-left: 0px;
    padding-right: 0px;
    border-radius: 50%;
    box-shadow: none;
    behavior: url(../../js/PIE.htc);
}

/* risk levels*/
.ctrl_listfunds td .default_fundlist_riskindicator .fundlist_riskindicator .risk_level {
    display: block;
    float: left;
    position: relative;
    overflow: hidden;
    width: 0px;
    height: 20px;
    line-height: 20px;
}

.ctrl_listfunds td:hover .default_fundlist_riskindicator .fundlist_riskindicator .risk_level {
    width: 20px;
}

.ctrl_listfunds td:hover .default_fundlist_riskindicator .fundlist_riskindicator.norisk .risk_level {
    width: 0px;
}

/* risk indicator active*/
.ctrl_listfunds td .default_fundlist_riskindicator .fundlist_riskindicator .risk_level.active {
    top: -5px;
    color: #ffffff !important;
    width: 30px !important;
    height: 30px !important;
    line-height: 30px !important;
    font-size: 120%;
    font-weight: bold;
    border-radius: 50%;
    background-clip: padding-box;
    behavior: url(../../js/PIE.htc);
}

.ctrl_listfunds td:hover .default_fundlist_riskindicator .fundlist_riskindicator .risk_level.active {
    box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.3);
    behavior: url(../../js/PIE.htc);
}

.ctrl_listfunds td:hover .default_fundlist_riskindicator .fundlist_riskindicator.norisk .risk_level.active {
    box-shadow: none;
}

.ctrl_listfunds .risk_level.active {
    background: #006fb0;
}

/*--- adding animation (when supported) ---*/
.ctrl_listfunds .fundlist_riskindicator,
.ctrl_listfunds .fundlist_riskindicator .risk_level {
    transition: all 0.3s ease-in-out;
}

/*---- additional features ---*/
/*- go back to fundlist icon -*/
.icon.go_fundlist {
    position: relative;
    margin-left: 10px;
    padding-right: 5px;
}

.icon.go_fundlist:after, .icon.go_fundlist:before {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.icon.go_fundlist:after {
    border-color: transparent;
    border-right-color: #006fb0;
    border-width: 8px;
    margin-top: -8px;
    left: -20px;
}

.icon.go_fundlist:before {
    border-color: #006fb0;
    margin-top: -4px;
    left: -6px;
    border-width: 4px 3px;
}

.go_fundlist .icon.go_fundlist:after {
    left: -16px;
}

.go_fundlist:hover .icon.go_fundlist:after {
    left: -20px;
    transform: rotateX(180deg);
}

.go_fundlist .icon.go_fundlist:before {
    left: -3px;
}

.go_fundlist:hover .icon.go_fundlist:before {
    left: -6px;
    transform: rotateX(180deg);
}

.go_fundlist .icon.go_fundlist,
.go_fundlist .icon.go_fundlist:after,
.go_fundlist .icon.go_fundlist:before {
    transition: all 0.3s 0s ease-in-out;
}

/*- go to page top -*/
.icon.go_pagetop {
    position: relative;
    margin-left: 10px;
}

.icon.go_pagetop:after, .icon.go_pagetop:before {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.icon.go_pagetop:after {
    border-color: transparent;
    border-bottom-color: #006fb0;
    border-width: 8px;
    left: -14px;
}

.icon.go_pagetop:before {
    border-color: #006fb0;
    margin-top: 4px;
    left: -10px;
    border-width: 3px 4px;
}

.go_pagetop .icon.go_pagetop:after {
    margin-top: -15px;
}

.go_pagetop:hover .icon.go_pagetop:after {
    margin-top: -16px;
    transform: rotateY(180deg);
}

.go_pagetop .icon.go_pagetop:before {
    margin-top: -1px;
}

.go_pagetop:hover .icon.go_pagetop:before {
    margin-top: 0px;
    transform: rotateY(180deg);
}

.go_pagetop .icon.go_pagetop,
.go_pagetop .icon.go_pagetop:after,
.go_pagetop .icon.go_pagetop:before {
    transition: all 0.3s 0s ease-in-out;
}

/*- export_pdf icon -*/
.icon.export_pdf {
    position: relative;
    margin-left: 25px;
    padding-right: 5px;
}

.icon.export_pdf:before,
.icon.export_pdf:after {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.icon.export_pdf:before {
    border-color: transparent;
    border-top-color: #006fb0;
    border-width: 6px;
    margin-right: 7px;
}

.icon.export_pdf:after {
    content: "PDF";
    background: #006fb0;
    font-size: 8px;
    height: 8px;
    width: 18px;
    line-height: 8px;
    margin-top: -8px;
    margin-right: 2px;
    color: #ffffff;
    border-radius: 2px;
}

.export_pdf .icon.export_pdf:before {
    margin-top: -6px;
}

.export_pdf:hover .icon.export_pdf:before {
    margin-top: -11px;
    transform: rotateY(180deg);
}

.export_pdf .icon.export_pdf:after {
    margin-top: -8px;
}

.export_pdf:hover .icon.export_pdf:after {
    margin-top: -4px;
}

.export_pdf .icon.export_pdf,
.export_pdf .icon.export_pdf:before,
.export_pdf .icon.export_pdf:after {
    transition: all 0.3s 0s ease-in-out;
}

/*- btn_print icon -*/
.icon.btn_print {
    position: relative;
    width: 12px;
    border-color: #006fb0;
    border-radius: 2px;
    height: 2px;
    display: inline-block;
    margin-top: 2px;
    border-style: solid;
    border-width: 2px 3px 4px 3px;
}

.icon.btn_print:before {
    right: 0%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.icon.btn_print:before {
    margin-right: 0px;
    background-color: #006fb0;
}

.btn_print .icon.btn_print:before {
    display: inline-block;
    width: 6px;
    height: 1px;
    margin-top: -10px;
}

.non_mobile .btn_print:hover .icon.btn_print:before {
    height: 2px;
    margin-top: 0px;
}

.btn_print .icon.btn_print,
.btn_print .icon.btn_print:before {
    transition: all 0.3s 0s ease-in-out;
}

/*- btn_export icon -*/
.icon.btn_export {
    position: relative;
    margin-left: 10px;
}

.icon.btn_export:before,
.icon.btn_export:after {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.icon.btn_export:before {
    border-color: #006fb0;
    border-width: 1px 6px;
    margin-right: 2px;
}

.icon.btn_export:after {
    border-color: transparent;
    border-top-color: #006fb0;
    border-width: 6px;
    margin-right: 2px;
}

.btn_export .icon.btn_export:before {
    margin-top: -4px;
}

.btn_export:hover .icon.btn_export:before {
    margin-top: -6px;
    transform: rotateY(180deg);
}

.btn_export .icon.btn_export:after {
    margin-top: -2px;
}

.btn_export:hover .icon.btn_export:after {
    margin-top: -1px;
    transform: rotateY(180deg);
}

.btn_export .icon.btn_export,
.btn_export .icon.btn_export:before,
.btn_export .icon.btn_export:after {
    transition: all 0.3s 0s ease-in-out;
}

/********************************************************************************/
/*************************Links + Button Settings********************************/
/********************************************************************************/
/*--- General link settings ---*/
.ui-dialog .ui-dialog-buttonpane .ui-button span, a {
    text-decoration: none;
}

.ui-dialog .ui-dialog-buttonpane .ui-button span, a, a:link, a:visited {
    color: #006fb0;
}

.ui-dialog .ui-dialog-buttonpane .ui-button span:hover, a:hover {
    color: #575859;
}

/*--- General button settings ---*/
/* normal state */
.ui-dialog .ui-dialog-buttonpane .ui-button,
.btn, input[type=button], button {
    margin-left: 5px;
    padding: 8px 10px;
    cursor: pointer;
    text-align: center;
    text-decoration: none !important;
    border: none;
    display: inline-block;
}

.btn:first-of-type,
input[type=button]:first-of-type,
button:first-of-type {
    margin-left: 0px;
}

/*hover state */
.ui-dialog .ui-dialog-buttonpane .ui-button:hover,
.btn:hover, input[type=button]:hover, button:hover {
    text-decoration: none;
}

/* inactive state*/
.btn.inactive {
    cursor: default !important;
    box-shadow: none !important;
}

/*--- animations(if supported) ---*/
.ui-dialog .ui-dialog-buttonpane .ui-button span, a, .btn, input[type=button], button {
    transition: all 0.3s ease-in-out;
}

/*--- Fundlist "Buy" button Settings ---*/
.listfunds .buttons a,
#FundListCopy .buttons a {
    padding: 1px 10px 1px 10px;
}

/********************************************************************************/
/*************************Navigation bar Settings********************************/
/********************************************************************************/
/*--- general navigation container (both tabs and charts) ---*/
.navigation {
    padding-bottom: 5px;
}

/*--- general navigation list ---*/
.navigation ul li {
    transition: all 0.3s ease-in-out;
}

/*Navigation link heights and general settings*/
.navigation ul li {
    display: inline-block;
    float: left;
    margin-left: 5px;
}

.navigation ul li:first-child {
    margin-left: 0;
}

/*Navigation "A" + "LI" settings */
.navigation ul li a {
    display: block;
    padding: 3px 7px;
    cursor: pointer;
    text-decoration: none !important;
}

.navigation ul li.active a {
    cursor: default;
}

.navigation.rs-none .navigation-toggle {
    display: none;
}

/********************************************************************************/
/*******************Headline control specific settings***************************/
/********************************************************************************/
.ctrl_headline {
    padding: 10px 5px;
}

/********************************************************************************/
/*******************Fundlist modifier control specific settings******************/
/********************************************************************************/
.ctrl_mylist .content_bg li {
    position: relative;
    margin-bottom: 5px;
}

.ctrl_modifiers .content_bg li {
    position: relative;
    margin-bottom: 5px;
}

/*Regular labels*/
.ctrl_mylist .content_bg li label {
    width: 30%;
}

.ctrl_mylist .content_bg li input,
.ctrl_mylist .content_bg li select {
    width: 70%;
}

.ctrl_mylist .content_bg li input,
.ctrl_mylist .content_bg li select,
.ctrl_mylist .content_bg li label {
    float: left;
}

.ctrl_modifiers .content_bg li span.label {
    width: 30%;
}

.ctrl_modifiers .content_bg li input,
.ctrl_modifiers .content_bg li select {
    width: 70%;
}

/*select2 support*/
.ctrl_modifiers .select2-container,
.ctrl_modifiers .select2-drop,
.ctrl_modifiers .select2-search,
.ctrl_modifiers .select2-search input {
    width: 70%;
}

.ctrl_modifiers .content_bg li input,
.ctrl_modifiers .content_bg li select,
.ctrl_modifiers .content_bg li span.label {
    float: left;
}

/*Fancy labels*/
.ctrl_mylist.useLabelsText .content_bg li input,
.ctrl_mylist.useLabelsText .content_bg li select,
.ctrl_modifiers.useLabelsText .content_bg li input,
.ctrl_modifiers.useLabelsText .content_bg li select {
    width: 100%;
    float: none;
}

/*select2 support*/
.ctrl_modifiers.useLabelsText .select2-container,
.ctrl_modifiers.useLabelsText .select2-drop,
.ctrl_modifiers.useLabelsText .select2-search,
.ctrl_modifiers.useLabelsText .select2-search input {
    width: 100%;
    float: none;
}

/*--- Fundlist modifier control - paddings ---*/
.ctrl_mylist .content_bg .static_filters_section,
.ctrl_mylist .content_bg .dynamic_filters_section,
.ctrl_mylist .content_bg .grouping_section {
    padding: 3px 5px 3px 5px;
}

.ctrl_modifiers .content_bg .stability_measures_section,
.ctrl_modifiers .content_bg .static_filters_section,
.ctrl_modifiers .content_bg .dynamic_filters_section,
.ctrl_modifiers .content_bg .grouping_section {
    padding: 3px 5px 3px 5px;
}

/*--- Fundlist modifier control - Stability measures section ---*/
.ctrl_mylist .content_bg .stability_measures table td.MeasurementPeriod,
.ctrl_mylist .content_bg .stability_measures table td.HoldingPeriod {
    width: 22%;
}

.ctrl_mylist .content_bg .stability_measures table td.MeasurementPeriod {
    padding-right: 5px;
}

.ctrl_mylist .content_bg .stability_measures table td.HoldingPeriod {
    padding-left: 5px;
}

.ctrl_mylist .content_bg .stability_measures table td.stability_measures_searchinput select {
    width: 99%;
}

.ctrl_modifiers .content_bg .stability_measures table td.MeasurementPeriod,
.ctrl_modifiers .content_bg .stability_measures table td.HoldingPeriod {
    width: 22%;
}

.ctrl_modifiers .content_bg .stability_measures table td.MeasurementPeriod {
    padding-right: 5px;
}

.ctrl_modifiers .content_bg .stability_measures table td.HoldingPeriod {
    padding-left: 5px;
}

.ctrl_modifiers .content_bg .stability_measures table td.stability_measures_searchinput select {
    width: 99%;
}

/*--- Fundlist modifier control - Filters section ---*/
.ctrl_mylist .content_bg .dynamic_filters_section td {
    margin: 0;
    padding: 0;
}

.ctrl_mylist .content_bg .dynamic_filters_section td input,
.ctrl_mylist .content_bg .dynamic_filters_section td select {
    margin: 5px 10px 5px 0px;
}

.ctrl_mylist .content_bg .dynamic_filters_section td span select,
.ctrl_mylist .content_bg .dynamic_filters_section span select {
    margin: 5px 10px 5px 20px;
}

.ctrl_mylist .content_bg .dynamic_filters_section td span input {
    margin: 5px 10px 5px 20px;
    position: relative;
    top: 0px;
}

.ctrl_mylist .content_bg .dynamic_filters_section span input {
    margin: 5px 10px 5px 20px;
    position: relative;
    top: 3px;
}

.ctrl_modifiers .content_bg .dynamic_filters_section td {
    margin: 0;
    padding: 0;
}

.ctrl_modifiers .content_bg .dynamic_filters_section td input,
.ctrl_modifiers .content_bg .dynamic_filters_section td select {
    margin: 5px 10px 5px 0px;
}

.ctrl_modifiers .content_bg .dynamic_filters_section td span select,
.ctrl_modifiers .content_bg .dynamic_filters_section span select {
    margin: 5px 10px 5px 20px;
}

.ctrl_modifiers .content_bg .dynamic_filters_section td span input {
    margin: 5px 10px 5px 20px;
    position: relative;
    top: 0px;
}

.ctrl_modifiers .content_bg .dynamic_filters_section span input {
    margin: 5px 10px 5px 20px;
    position: relative;
    top: 3px;
}

/*--- Fundlist modifier control - Grouping section ---*/
.ctrl_mylist .content_bg .grouping_section .group {
    padding: 0 20px 3px 0;
    float: left;
}

.ctrl_modifiers .content_bg .grouping_section .group {
    padding: 0 20px 3px 0;
    float: left;
}

/*--- Fundlist modifier control - Search buttons ---*/
.ctrl_modifiers .content_bg .line1 {
    position: relative;
}

.search-buttons {
    position: absolute;
    right: 0px;
    top: 0px;
}

.search-buttons li {
    float: left;
    text-align: right;
}

.search-buttons .ico-search-button,
.search-buttons .reset_search_button,
.search-buttons .search_button {
    display: block;
    height: 18px;
    padding: 10px;
}

.search-buttons .ico-search-button {
    width: 18px;
}

.search-buttons .ico-search-button a {
    display: block;
    background-image: url(../../images/default/ico-search-buttons.png);
    background-repeat: no-repeat;
    width: 18px;
    height: 18px;
}

/*normal*/
.search-buttons .ico-search-button.ico-search {
    background-color: #006fb0;
}

.search-buttons .ico-search-button.ico-search a {
    background-position: 0px -36px;
}

.search-buttons .ico-search-button.ico-reset a {
    background-position: -18px 0px;
}

/*hover*/
.search-buttons .ico-search-button.ico-search:hover {
    background-color: #1a7eb8;
}

.search-buttons .ico-search-button.ico-search a:hover {
    background-position: 0px -36px;
}

.search-buttons .ico-search-button.ico-reset a:hover {
    background-position: -18px -18px;
}

/*--- Fundlist modifier control - Selected filters section ---*/
.selected_filters ul li {
    float: left;
    padding-right: 10px;
    margin-right: 10px;
}

/*--- Grouping toggle ---*/
.ctrl_modifiers .toggle {
    height: 18px;
    width: 50px;
    margin-left: 5px;
}

.ctrl_modifiers .toggle,
.ctrl_modifiers .toggle_text {
    display: inline-block;
    vertical-align: middle;
}

.ctrl_modifiers .toggle-slide {
    overflow: hidden;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    direction: ltr;
}

.ctrl_modifiers .toggle-slide .toggle-on,
.ctrl_modifiers .toggle-slide .toggle-off,
.ctrl_modifiers .toggle-slide .toggle-blob {
    float: left;
    text-align: center;
}

.ctrl_modifiers .toggle-slide .toggle-blob {
    position: relative;
    z-index: 99;
    cursor: pointer;
}

.ctrl_modifiers .toggle-slide {
    border-radius: 9999px;
}

.ctrl_modifiers .toggletrue .toggle-slide {
    box-shadow: 0 0 0 2px #45a31f;
}

.ctrl_modifiers .togglefalse .toggle-slide {
    box-shadow: 0 0 0 2px #666666;
}

.ctrl_modifiers .toggle-light .toggle-on,
.ctrl_modifiers .toggle-light .toggle-off {
    font-size: 11px;
    font-weight: 500;
}

.ctrl_modifiers .toggle-light .toggle-on,
.ctrl_modifiers .toggle-light .toggle-select .toggle-inner .active {
    background: #45a31f;
    color: rgba(255, 255, 255, 0.8);
}

.ctrl_modifiers .toggle-light .toggle-off,
.ctrl_modifiers .toggle-light .toggle-select .toggle-on {
    color: #ffffff;
    background: #666666;
}

.ctrl_modifiers .toggle-light .toggle-blob {
    border-radius: 50px;
    background: #f5f5f5;
}

/********************************************************************************/
/************************Fundlist control specific settings**********************/
/********************************************************************************/
.ctrl_listfunds .headline_bg th span {
    vertical-align: middle;
}

.ctrl_listfunds .floatHeadlines .floatingHeaderRow {
    background: #ffffff;
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.3);
    behavior: url(../../js/PIE.htc);
}

.ctrl_listfunds .floatHeadlines .floatingHeaderRow .sort_down:after,
.ctrl_listfunds .floatHeadlines .floatingHeaderRow .sort_up:after {
    border-width: 0px !important;
}

.ctrl_listfunds .floatHeadlines .floatingHeaderRow .sorting_icon {
    display: none;
}

.ctrl_listfunds .floatHeadlines .floatingHeaderRow .headline_bg th.sortable {
    cursor: auto;
}

/*--- Medians ---*/
.ctrl_listfunds .line_median {
    background: #f4f4f4;
}

/*--- Benchmarks ---*/
.ctrl_listfunds .line_benchmark {
    background: #f4f4f4;
}

/*--- Groups ---*/
.ctrl_listfunds .grouptitle {
    position: relative;
    padding-top: 10px;
    padding-bottom: 10px;
}

.ctrl_listfunds .grouptitle {
    border-bottom: 5px solid #f4f4f4;
}

.ctrl_listfunds .grouptitle:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #ffffff transparent transparent transparent;
    left: 5px;
    bottom: 0%;
    border-width: 5px 10px 0px 10px;
    margin-bottom: -5px;
}

@-moz-document url-prefix() {
    .ctrl_listfunds .grouptitle:after {
        margin-bottom: -6px;
    }
}
/*--- Paging section ---*/
.paging_row {
    background: #f5f5f5;
    border-top: solid 3px #f0f0f0;
    padding-top: 5px;
    padding-bottom: 2px;
}

.paging_row li {
    float: left;
}

.paging_row li span {
    width: 20px;
    height: 20px;
    display: block;
}

.paging_row li span.current {
    text-align: center;
    width: auto;
    padding: 0 5px;
}

.paging_row .active li span.current {
    color: #006fb0;
}

.paging_row .inactive li span.current {
    color: #999999;
}

/*--- Active ---*/
.paging_row .active li span.first {
    background: url("../../images/default/paging_first_normal.png") no-repeat 50% 35%;
}

.paging_row .active li span.previous {
    background: url("../../images/default/paging_previous_normal.png") no-repeat 50% 35%;
}

.paging_row .active li span.next {
    background: url("../../images/default/paging_next_normal.png") no-repeat 50% 35%;
}

.paging_row .active li span.last {
    background: url("../../images/default/paging_last_normal.png") no-repeat 50% 35%;
}

/*--- Hover ---*/
.paging_row .active .first:hover {
    background: url("../../images/default/paging_first_hover.png") no-repeat 50% 35%;
}

.paging_row .active .previous:hover {
    background: url("../../images/default/paging_previous_hover.png") no-repeat 50% 35%;
}

.paging_row .active .next:hover {
    background: url("../../images/default/paging_next_hover.png") no-repeat 50% 35%;
}

.paging_row .active .last:hover {
    background: url("../../images/default/paging_last_hover.png") no-repeat 50% 35%;
}

/*--- Inactive ---*/
.paging_row .inactive .first {
    background: url("../../images/default/paging_first_inactive.png") no-repeat 50% 35%;
}

.paging_row .inactive .previous {
    background: url("../../images/default/paging_previous_inactive.png") no-repeat 50% 35%;
}

.paging_row .inactive .next {
    background: url("../../images/default/paging_next_inactive.png") no-repeat 50% 35%;
}

.paging_row .inactive .last {
    background: url("../../images/default/paging_last_inactive.png") no-repeat 50% 35%;
}

/*--- Fundlist Quartiles ---*/
.ctrl_listfunds .content_bg .q0 span {
    background: #ffffff;
}

.ctrl_listfunds .content_bg .q1 span {
    background: #ef432c;
}

/*worst*/
.ctrl_listfunds .content_bg .q2 span {
    background: #ffdb32;
}

.ctrl_listfunds .content_bg .q3 span {
    background: #9dcb6f;
}

.ctrl_listfunds .content_bg .q4 span {
    background: #72b431;
}

/*best*/
/* Normal */
.ctrl_listfunds .content_bg .q0 span span,
.ctrl_listfunds .content_bg .q1 span span,
.ctrl_listfunds .content_bg .q2 span span,
.ctrl_listfunds .content_bg .q3 span span,
.ctrl_listfunds .content_bg .q4 span span {
    display: block;
    color: transparent;
    height: 16px;
    width: 16px;
    margin: 0 auto;
}

/* Hover */
.ctrl_listfunds .content_bg .q0:hover span span,
.ctrl_listfunds .content_bg .q1:hover span span,
.ctrl_listfunds .content_bg .q2:hover span span,
.ctrl_listfunds .content_bg .q3:hover span span,
.ctrl_listfunds .content_bg .q4:hover span span {
    display: inline;
    color: #454545;
    padding: 5px 3px 5px 3px;
}

/*--- checkboxes ---*/
.ctrl_listfunds .content_bg .colcheckbox {
    width: 20px;
}

/*--- force no-line-break in fundlist content ---*/
.ctrl_listfunds .content_bg td span {
    white-space: nowrap;
}

.ctrl_listfunds .col1 {
    width: 35%;
}

/********************************************************************************/
/***********************Fundlist as list specific settings **********************/
/********************************************************************************/
.topfunds_list li {
    position: relative;
    padding: 3px 5px;
}

.topfunds_list li span.col1 {
    display: block;
    font-size: 11px;
    line-height: 11px;
    width: 78%;
}

.topfunds_list li span.col1 .title,
.topfunds_list li span.col2 .title {
    display: none;
}

.topfunds_list li span.col3, .topfunds_list li span.col4,
.topfunds_list li span.col5, .topfunds_list li span.col6,
.topfunds_list li span.col7 {
    margin-right: 2px;
    font-size: 8.5px;
    line-height: normal;
}

.topfunds_list li span.col2.perf_up,
.topfunds_list li span.col2.perf_down {
    font-size: 18px;
    padding-right: 15px;
    position: absolute;
    top: 28%;
    right: 5px;
}

.topfunds_list li span .title {
    font-weight: bold;
}

/********************************************************************************/
/********************** Fundlist as grid specific settings **********************/
/********************************************************************************/
.ctrl_responsive_fundsgrid .grid {
    width: 100%;
    zoom: 1;
    margin-top: 1em;
}

.grid .item {
    margin-bottom: 15px;
}

.ctrl_responsive_fundsgrid .grid .item > ul {
    margin-left: 10px;
    margin-right: 10px;
    padding-bottom: 10px;
}

.ctrl_responsive_fundsgrid .grid .item > ul:nth-last-of-type(n+1) {
    margin-left: 0px;
}

.ctrl_responsive_fundsgrid .grid .item > ul:nth-last-of-type(n+2) {
    margin-right: 0px;
}

.ctrl_responsive_fundsgrid li span.title {
    padding: 0;
}

.ctrl_responsive_fundsgrid .grid .item > ul span.title,
.ctrl_responsive_fundsgrid .grid .item > ul span.value {
    vertical-align: baseline;
}

.ctrl_responsive_fundsgrid .grid .item > ul .data-point {
    text-align: center;
    overflow: hidden;
}

.ctrl_responsive_fundsgrid .grid .item > ul .data-point.data-point-1 span.title {
    display: none;
}

.ctrl_responsive_fundsgrid .grid .item > ul .data-point.data-point-1 {
    display: block;
    padding: 10px 5px;
    font-size: larger;
}

.ctrl_responsive_fundsgrid li span,
.ctrl_responsive_fundsgrid li span.title,
.ctrl_responsive_fundsgrid li span.value {
    padding-left: 0;
    padding-right: 0;
}

/********************************************************************************/
/***********************Free-Text control specific settings**********************/
/********************************************************************************/
.ctrl_freetext .content_bg .readmore_link,
.ctrl_freetext .content_bg .readless_link {
    text-align: right;
    font-weight: bold;
}

/********************************************************************************/
/********************Fund2Data table control specific settings*******************/
/*******************************************************************************/
.ctrl_fund2datatable .content_bg .headline_wrap th {
    padding: 0;
}

/*--- force no-line-break in fund2data content ---*/
.ctrl_fund2datatable .content_bg td span {
    white-space: nowrap;
}

/********************************************************************************/
/*********************Risk indicator control specific settings*******************/
/********************************************************************************/
/*--- Normal Style settings ---*/
.ctrl_riskindicator {
    margin-top: 10px;
}

.ctrl_riskindicator .content_bg {
    padding: 5px;
}

.ctrl_riskindicator .content_bg ul {
    background: #eeeeee;
    border-radius: 8px;
}

.ctrl_riskindicator .content_bg li {
    float: left;
    display: block;
    width: 14%;
    text-align: center;
    border-radius: 5px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.ctrl_riskindicator .content_bg li.active {
    width: 16%;
    color: #ffffff;
}

.ctrl_riskindicator .content_bg li.active span {
    padding: 10px 14px;
    text-align: center;
    box-shadow: 0px 1px 2px #999999;
    border-radius: 50%;
}

.ctrl_riskindicator .content_bg li.active span {
    background: #007ac0;
}

.ctrl_riskindicator .content_bg .additional_info {
    padding-top: 1em;
    padding-bottom: 1em;
}

.ctrl_riskindicator .content_bg .additional_info .info1 {
    float: left;
    text-align: left;
}

.ctrl_riskindicator .content_bg .additional_info .info2 {
    float: right;
    text-align: right;
}

.ctrl_riskindicator .content_bg .additional_info .divider {
    border-top: solid 1px #ff00ff;
    position: relative;
}

.ctrl_riskindicator .content_bg .additional_info .divider:before,
.ctrl_riskindicator .content_bg .additional_info .divider:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
}

.ctrl_riskindicator .content_bg .additional_info .divider:before {
    border-width: 5px 5px 5px 0;
    border-color: transparent #ff00ff transparent transparent;
    left: 0px;
    margin-top: -5px;
}

.ctrl_riskindicator .content_bg .additional_info .divider:after {
    border-width: 5px 0 5px 5px;
    border-color: transparent transparent transparent #ff00ff;
    right: 0px;
    margin-top: -5px;
}

.ctrl_riskindicator .error_message,
.ctrl_riskindicator .message {
    margin-top: 5px;
}

/********************************************************************************/
/********************BasicData table control specific settings*******************/
/********************************************************************************/
/*--- Basic data as table ---*/
.ctrl_basicdata .content_bg td.col1,
.ctrl_basicdata .content_bg td.col2 {
    text-align: left;
    vertical-align: middle;
}

.ctrl_basicdata .content_bg .col1 {
    width: 29%;
}

.ctrl_basicdata .content_bg .col2 {
    width: 69%;
}

/*--- Basic data as list ---*/
.ctrl_basicdata .content_bg .list li {
    float: left;
    margin-right: 10px;
    padding-right: 10px;
    border-right: solid 1px #dddddd;
}

.ctrl_basicdata .content_bg .list li:last-child {
    border-right: 0;
}

.ctrl_basicdata .content_bg .list li span.line_col1 {
    float: left;
    padding-right: 10px;
}

.ctrl_basicdata .content_bg .list li span.line_col2 {
    float: right;
}

/********************************************************************************/
/*****************Additional features control specific settings******************/
/********************************************************************************/
.ctrl_additionalfeatures {
    margin-top: 10px;
}

.ctrl_additionalfeatures li {
    float: left;
    margin-left: 5px;
}

.ctrl_additionalfeatures li:first-child {
    margin-left: 0;
}

/********************************************************************************/
/***************Export historical NAV's control specific settings****************/
/********************************************************************************/
.ctrl_dataexport ul {
    float: right;
    text-align: right;
}

.ctrl_dataexport li {
    padding: 10px 0px;
}

/********************************************************************************/
/*************Fundlist additional features control specific settings*************/
/********************************************************************************/
.ctrl_fundlist_additionalfeatures .content_bg .fundlist {
    width: 70%;
    height: 124px;
    float: left;
}

.ctrl_fundlist_additionalfeatures .content_bg .fundlist ul {
    display: block;
    height: 100px;
    overflow-x: hidden;
    margin: 5px;
    border-radius: 3px;
    background-clip: padding-box;
    behavior: url(../../js/PIE.htc);
}

.ctrl_fundlist_additionalfeatures .content_bg .fundlist ul li {
    display: block;
    min-height: 20px;
    padding: 0px 5px;
    position: relative;
}

.ctrl_fundlist_additionalfeatures .content_bg .fundlist ul li span.delete {
    display: block;
    height: 10px;
    width: 20px;
    background: url(../../images/default/ico_remove.png) no-repeat 50% 50%;
    position: absolute;
    top: 50%;
    margin-top: -5px;
    right: 0px;
}

.ctrl_fundlist_additionalfeatures .content_bg .buttons {
    width: 29.8%;
    float: right;
}

.ctrl_fundlist_additionalfeatures .content_bg .buttons ul {
    padding-top: 5px;
    padding-right: 5px;
}

.ctrl_fundlist_additionalfeatures .content_bg .buttons ul li {
    width: 100%;
    margin-bottom: 5px;
}

.ctrl_fundlist_additionalfeatures .content_bg .buttons ul li a {
    display: block;
}

/*--- Xray popup ---*/
.selected_funds li {
    display: block;
    height: auto;
}

.selected_funds li span.totalSum,
.selected_funds li span.fundPercent {
    width: 20%;
    text-align: right;
    display: inline-block;
    float: right;
}

.selected_funds li span.fundPercent input {
    width: 100%;
    text-align: right;
    margin-bottom: 3px;
}

.selected_funds li#total {
    height: 25px;
    line-height: 25px;
}

.selected_funds li#total span.totalSum {
    padding-right: 3px;
}

.selected_funds li#sumText {
    height: auto;
}

/********************************************************************************/
/************************** Charts and legends general **************************/
/********************************************************************************/
/*--- Chart legend---*/
/*.chart_legends {padding:12px 0 5px 0;}

.chart_legends span.group1 {margin:3px 5px 0px 5px;width:10px;height:10px;display:block;float:left;}
.chart_legends span.group1 img {width:100%;height:100%;border-radius:50%;}*/
/* holdings chart legend fix*/
/*.ctrl_gpiechart .chart_legend span.group2,
.ctrl_holdingschart .chart_legend span.group2 {display:inline-block;overflow:hidden;white-space: nowrap;overflow: hidden; text-overflow: ellipsis;
-o-text-overflow:ellipsis;-ms-text-overflow:ellipsis;-moz-binding:url(ellipsis-xbl.xml#ellipsis);}

.ctrl_holdingschart .chart_legend span.group3,
.ctrl_glinechart .chart_legend span.group3 {top:0;}

.ctrl_perfchart .chart_area,
.ctrl_holdingschart .chartarea .chart,
.ctrl_glinechart .chartarea .chart{overflow:hidden;}

.ctrl_holdingschart .chartarea,
.ctrl_glinechart .chartarea,
.ctrl_perfchart .chart_area {background:#ffffff;}*/
.chart_legends li.chart_legend {
    float: none;
    width: 100%;
    clear: both;
    background: none;
    position: relative;
}

.chart_legends span.group1,
.chart_legends span.group3 {
    position: absolute;
}

.chart_legends span.group1 {
    left: 0;
    top: 4px;
}

.chart_legends span.group1 img {
    border-radius: 50%;
    background-clip: padding-box;
}

.chart_legends span.group3 {
    right: 0;
    top: 0;
}

.chart_legends span.group2 {
    padding-left: 15px;
    padding-right: 50px;
    display: block;
}

.chart_legends span.group2 span {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -moz-binding: url("ellipsis-xbl.xml#ellipsis");
}

/********************************************************************************/
/********************Holdings chart control specific settings********************/
/********************************************************************************/
.ctrl_holdingschart .chart_legend,
.ctrl_gpiechart .chart_legend {
    position: relative;
}

.ctrl_holdingschart .chart_legend .group3,
.ctrl_gpiechart .chart_legend .group3 {
    position: absolute;
    right: 0;
}

.ctrl_holdingschart .content_bg .chartarea,
.ctrl_gpiechart .content_bg .chartarea {
    position: relative;
}

.ctrl_holdingschart .content_bg .chartarea .chart_legends,
.ctrl_gpiechart .content_bg .chartarea .chart_legends {
    width: 30%;
    float: right;
}

.ctrl_holdingschart .content_bg .chartarea .chart,
.ctrl_gpiechart .content_bg .chartarea .chart {
    width: 70%;
    float: left;
}

.ctrl_holdingschart .content_bg .chartarea .chart.pie img,
.ctrl_gpiechart .content_bg .chartarea .chart.pie img {
    position: relative;
    left: 29%;
}

.ctrl_holdingschart .content_bg .chartarea .chart.bar img,
.ctrl_gpiechart .content_bg .chartarea .chart.bar img {
    position: relative;
    left: 0px;
}

.ctrl_holdingschart .content_bg .chart_functionality,
.ctrl_gpiechart .content_bg .chart_functionality {
    padding: 0;
}

.ctrl_holdingschart .content_bg .chart_functionality .data_type,
.ctrl_gpiechart .content_bg .chart_functionality .data_type {
    width: 50%;
    float: right;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type {
    width: 50%;
    float: left;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li {
    display: block;
    width: auto !important;
    height: auto !important;
    float: left;
    margin-right: 2px;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li div,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li div {
    width: 30px;
    height: 19px;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li div,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li div {
    border-top: solid 3px #ffffff;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li div:hover,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li div:hover {
    border-top: solid 3px #ffffff;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li.active div,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li.active div {
    border-top: solid 3px #006fb0;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li.pie div,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li.pie div {
    background: transparent url(../../images/default/ico_chart_pie_link.png) no-repeat 50% 50%;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li.pie div:hover,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li.pie div:hover {
    background: transparent url(../../images/default/ico_chart_pie_hover.png) no-repeat 50% 50%;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li.pie.active div,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li.pie.active div {
    background: transparent url(../../images/default/ico_chart_pie_active.png) no-repeat 50% 50%;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li.bar div,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li.bar div {
    background: transparent url(../../images/default/ico_chart_bar_link.png) no-repeat 50% 50%;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li.bar div:hover,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li.bar div:hover {
    background: transparent url(../../images/default/ico_chart_bar_hover.png) no-repeat 50% 50%;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li.bar.active div,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li.bar.active div {
    background: transparent url(../../images/default/ico_chart_bar_active.png) no-repeat 50% 50%;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li.table div,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li.table div {
    background: transparent url(../../images/default/ico_chart_table_link.png) no-repeat 50% 50%;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li.table div:hover,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li.table div:hover {
    background: transparent url(../../images/default/ico_chart_table_hover.png) no-repeat 50% 50%;
}

.ctrl_holdingschart .content_bg .chart_functionality .chart_type ul li.table.active div,
.ctrl_gpiechart .content_bg .chart_functionality .chart_type ul li.table.active div {
    background: transparent url(../../images/default/ico_chart_table_active.png) no-repeat 50% 50%;
}

.ctrl_holdingschart .content_bg .chart_functionality .select2-container {
    width: 70%;
    float: right;
}

/*--- HPie chart implementation ---*/
.ctrl_responsive_holdingschart .headline_bg {
    position: relative;
}

.ctrl_responsive_holdingschart .headline_bg .headline_icon {
    padding: 0 !important;
    float: right;
    position: absolute;
    top: 10px;
    right: 10px;
}

.ctrl_responsive_holdingschart .headline_bg .headline_icon:after {
    content: "?";
    display: block;
    color: #ffffff;
    background: #80A9C2;
    font-size: 11px;
    line-height: 15px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    text-align: center;
    font-family: verdana;
}

.ctrl_responsive_holdingschart .content_bg {
    position: relative;
}

.ctrl_responsive_holdingschart .content_bg .chartarea {
    float: left;
    width: 49%;
}

.ctrl_responsive_holdingschart .content_bg .data_type {
    width: 50%;
    float: right;
    padding-top: 5px;
}

.ctrl_responsive_holdingschart .content_bg .chart_legends_container {
    width: 50%;
    float: right;
}

.ctrl_responsive_holdingschart .chart_legends li {
    position: relative;
    /*padding-top: 3px;*/
}

.ctrl_responsive_holdingschart .chart_legends .group2 {
    width: 65%;
}

.ctrl_responsive_holdingschart .chart_legends .group1,
.ctrl_responsive_holdingschart .chart_legends .group2 {
    float: left;
}

.ctrl_responsive_holdingschart .chart_legends .group3 {
    float: right;
    padding-right: 5px;
}

.ctrl_responsive_holdingschart .chart_legends .line_odd,
.ctrl_responsive_holdingschart .chart_legends .line_even {
    background: transparent;
}

.ctrl_responsive_holdingschart ul.charttypes li {
    float: left;
    border-radius: 50%;
    padding: 2px;
    margin-right: 2px;
}

.ctrl_responsive_holdingschart ul.charttypes li .charttype-icon {
    float: left;
    border-radius: 50%;
    display: block;
    width: 32px;
    height: 32px;
    background-image: url(../../images/default/ico_charttype.png);
    background-repeat: no-repeat;
    cursor: pointer;
}

/*--- normal ---*/
.ctrl_responsive_holdingschart ul.charttypes li .pie {
    background-position: 1px 0px;
}

.ctrl_responsive_holdingschart ul.charttypes li .bar {
    background-position: -32px 0px;
}

.ctrl_responsive_holdingschart ul.charttypes li .column {
    background-position: -64px 0px;
}

.ctrl_responsive_holdingschart ul.charttypes li .table {
    background-position: -96px 0px;
}

/*--- hover ---*/
.ctrl_responsive_holdingschart ul.charttypes li:hover {
    background: #eeeeee;
}

/*--- active ---*/
.ctrl_responsive_holdingschart ul.charttypes li.active {
    background: #006fb0;
}

.ctrl_responsive_holdingschart ul.charttypes li.active .pie {
    background-position: 1px -32px;
}

.ctrl_responsive_holdingschart ul.charttypes li.active .bar {
    background-position: -32px -32px;
}

.ctrl_responsive_holdingschart ul.charttypes li.active .column {
    background-position: -64px -32px;
}

.ctrl_responsive_holdingschart ul.charttypes li.active .table {
    background-position: -96px -32px;
}

/********************************************************************************/
/******************Performance chart control specific settings*******************/
/********************************************************************************/
/*--- Compare to fund/benchmark area ---*/
.ctrl_perfchart .chart_functionality .chartfund_modifiers {
    width: 40%;
    float: left;
}

/*--- Date picker area ---*/
.ctrl_perfchart .chart_functionality .chart_datepicker {
    width: 40%;
    float: right;
    text-align: right;
}

.ctrl_perfchart .chart_functionality .chart_datepicker li {
    text-align: right;
    padding-right: 20px;
}

.ctrl_perfchart .chart_functionality .chart_datepicker li img {
    margin-left: 10px;
    position: relative;
    top: 4px;
    padding-right: 10px;
    padding: 7px 10px 9px 10px;
}

.ctrl_perfchart .chart_functionality .chart_datepicker li img {
    background: url(../../images/default/ico_caladner.png) no-repeat 0% 0%;
}

.ctrl_perfchart .chart_functionality .chart_datepicker li img:hover {
    background: url(../../images/default/ico_caladner_hover.png) no-repeat 0% 0%;
}

.ctrl_perfchart .chart_functionality input.datepicker_start,
.ctrl_perfchart .chart_functionality input.datepicker_end {
    border: solid 1px #dddddd;
    width: 70px;
    position: relative;
    padding: 2px;
    margin-left: 10px;
    color: #999999;
    border-radius: 3px;
    background-clip: padding-box;
    behavior: url(../../js/PIE.htc);
    text-align: center;
}

/*--- HLINE CHART IMPLEMENTATION ---*/
.ctrl_hlinechart .chart_legends .line_odd,
.ctrl_hlinechart .chart_legends .line_even {
    background: transparent;
}

/********************************************************************************/
/*********************Plot chart control specific settings***********************/
/********************************************************************************/
/*--- Overwrite Google Tooltip CSS (http://ajax.googleapis.com/ajax/static/modules/gviz/1.0/core/tooltip.css) ---*/
.ctrl_plotchart .chart_area .google-visualization-tooltip {
    position: absolute;
    font-size: inherit;
    padding: 0px;
    box-shadow: none;
    border-radius: 0px;
    background-clip: padding-box;
    behavior: url(../../js/PIE.htc);
}

.ctrl_plotchart .chart_area .google-visualization-tooltip {
    border: solid 1px #f0f0f0;
    background-color: #ffffff;
    width: 420px;
    height: 360px;
}

.ctrl_plotchart .chart_area .googleToolTipDiv,
.ctrl_plotchart .chart_area .googleToolTipIframe {
    height: 100%;
    width: 100%;
}

.ctrl_plotchart .chart_area .googleToolTipDiv {
    position: relative;
}

.ctrl_plotchart .chart_area .googleToolTipDiv a.close {
    position: absolute;
    top: 2px;
    right: 1px;
    display: block;
    width: 18px;
    height: 18px;
    text-align: center;
    text-decoration: none !important;
    border: solid 1px #f0f0f0;
}

.ctrl_plotchart .chart_area .googleToolTipDiv a.close {
    background: #f5f5f5;
    color: #006fb0;
}

.ctrl_plotchart .chart_area .googleToolTipDiv a.close:hover {
    background: #006fb0;
    color: #ffffff;
}

/********************************************************************************/
/******************Top X holdings table control specific settings****************/
/********************************************************************************/
.ctrl_top_x_holdings table {
    table-layout: fixed;
}

.ctrl_top_x_holdings.columns_2 .content_bg .col1 {
    width: 90%;
}

.ctrl_top_x_holdings.columns_2 .content_bg .col2 {
    width: 10%;
    text-align: right;
}

.ctrl_top_x_holdings.columns_4 .content_bg .col1 {
    width: 50%;
}

.ctrl_top_x_holdings.columns_4 .content_bg .col2 {
    width: 20%;
}

.ctrl_top_x_holdings.columns_4 .content_bg .col3 {
    width: 20%;
}

.ctrl_top_x_holdings.columns_4 .content_bg .col4 {
    width: 10%;
    text-align: right;
}

.ctrl_top_x_holdings .content_bg .ColorImage {
    width: 15px;
}

.ctrl_top_x_holdings .content_bg span {
    display: inline-block;
}

.ctrl_top_x_holdings .content_bg span.sort_none {
    display: none;
}

.ctrl_top_x_holdings .content_bg td.functionalitycell {
    padding-top: 5px;
    padding-bottom: 5px;
}

.ctrl_top_x_holdings .content_bg td.functionalitycell ul {
    float: right;
}

.ctrl_top_x_holdings .content_bg td.functionalitycell li {
    float: left;
}

.ctrl_top_x_holdings .content_bg td.functionalitycell li {
    margin-left: 5px;
}

.ctrl_top_x_holdings .content_bg td.functionalitycell li:first-child {
    margin-left: 0px;
}

/*- expand/collapse icon -*/
.icon.show_initial,
.icon.show_expanded {
    position: relative;
    margin-right: 3px;
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #006FB0;
    padding: 3px;
}

.icon.show_expanded:before,
.icon.show_expanded:after,
.icon.show_initial:after {
    position: absolute;
    right: 50%;
    top: 50%;
    border-style: solid;
    border-color: #ffffff;
}

.icon.show_expanded:before {
    content: "";
    border-width: 1px 4px;
    margin-top: -1px;
    margin-right: -4px;
}

.icon.show_expanded:after {
    content: "";
    border-width: 4px 1px;
    margin-top: -4px;
    margin-right: -1px;
}

.icon.show_initial:after {
    content: "";
    border-width: 1px 4px;
    margin-top: -1px;
    margin-right: -4px;
}

.show_expanded:hover .icon.show_expanded:before {
    transform: rotate(-90deg);
}

.show_expanded:hover .icon.show_expanded:after {
    transform: rotate(90deg);
}

.show_initial:hover .icon.show_initial:after {
    transform: rotate(180deg);
}

.show_expanded .icon.show_expanded:before,
.show_expanded .icon.show_expanded:after,
.show_initial .icon.show_initial:after {
    transition: all 0.3s 0s ease-in-out;
}

/*- export_csv icon -*/
.icon.export_csv {
    position: relative;
    margin-left: 25px;
    padding-right: 5px;
}

.icon.export_csv:before,
.icon.export_csv:after {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.icon.export_csv:before {
    border-color: transparent;
    border-top-color: #006fb0;
    border-width: 6px;
    margin-right: 7px;
}

.icon.export_csv:after {
    content: "CSV";
    background: #006fb0;
    font-size: 8px;
    height: 8px;
    width: 18px;
    line-height: 8px;
    margin-top: -8px;
    margin-right: 2px;
    color: #ffffff;
    border-radius: 2px;
}

.export_csv .icon.export_csv:before {
    margin-top: -6px;
}

.export_csv:hover .icon.export_csv:before {
    margin-top: -11px;
    transform: rotateY(180deg);
}

.export_csv .icon.export_csv:after {
    margin-top: -8px;
}

.export_csv:hover .icon.export_csv:after {
    margin-top: -4px;
}

.export_csv .icon.export_csv,
.export_csv .icon.export_csv:before,
.export_csv .icon.export_csv:after {
    transition: all 0.3s 0s ease-in-out;
}

/********************************************************************************/
/**********************Fees table control specific settings**********************/
/********************************************************************************/
.ctrl_feestable .content_bg .col2,
.ctrl_feestable .content_bg .col3 {
    text-align: right;
}

/********************************************************************************/
/*******************Key figures table control specific settings******************/
/********************************************************************************/
/********************************************************************************/
/**************Key figures table (monthly) control specific settings*************/
/********************************************************************************/
.ctrl_keyfiguresmonthlytable th,
.ctrl_keyfiguresmonthlytable td {
    text-align: center;
}

.ctrl_keyfiguresmonthlytable th.col1,
.ctrl_keyfiguresmonthlytable td:first-of-type {
    font-weight: bold;
}

/********************************************************************************/
/****************Document library table control specific settings****************/
/********************************************************************************/
.ctrl_documentlibrary .content_bg span {
    display: block;
}

.ctrl_documentlibrary .content_bg .col1 {
    width: 95%;
}

.ctrl_documentlibrary .content_bg .col2 {
    width: 5%;
    text-align: right;
}

.ctrl_documentlibrary .content_bg .col2 select {
    float: right;
    display: none;
}

.ctrl_documentlibrary .content_bg .col2 .languageselect_wrap {
    width: 100px;
    float: right;
}

.ctrl_documentlibrary .content_bg .col2 .languageselect_wrap {
    display: none;
}

.ctrl_documentlibrary .content_bg .col2 .languageselect_wrap .Language_select {
    width: 70px;
    float: left;
}

.ctrl_documentlibrary .content_bg .col2 .languageselect_wrap .active_language {
    width: 20px;
    height: 16px;
    float: right;
}

/********************************************************************************/
/***************Stability measures fundlist control specific settings************/
/********************************************************************************/
.barContainerOuter {
    width: 100%;
    margin: 0;
    padding: 0;
}

.barContainerOuter .barContainer {
    position: relative;
    margin: 0;
    height: 16px;
    font-size: 1px;
    border: solid 1px #D1DDE9;
    background: #ffffff;
    border-radius: 3px;
    background-clip: padding-box;
    box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, 0.3);
    behavior: url(../../js/PIE.htc);
}

.barPad, .barLow, .barHigh {
    margin: 0px;
    padding: 0px;
    display: inline-block;
    float: left;
    height: 100%;
}

.barLow {
    background: #a83838;
    border-radius: 3px;
    background-clip: padding-box;
    behavior: url(../../js/PIE.htc);
}

.barHigh {
    background: #0c7c66;
    border-radius: 0px 3px 3px 0px;
    background-clip: padding-box;
    behavior: url(../../js/PIE.htc);
}

div.axisNumber {
    margin: 0;
    padding: 0;
    line-height: 1;
    bottom: 0;
    text-align: center;
}

tr.line_stab_meas_axis_above td {
    position: relative;
}

tr.line_stab_meas_axis_above div.barContainerOuter {
    position: relative;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
}

.barContainerOuter DIV.verticalLine {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    border-left: solid 1px #D1DDE9;
}

.barContainerOuter {
    position: relative;
}

/********************************************************************************/
/************************Loading screen specific settings************************/
/********************************************************************************/
#loading_screen {
    position: absolute;
    left: 0;
    top: 0;
    width: 200px;
    height: 80px;
}

/********************************************************************************/
/*************************Company link specific settings*************************/
/********************************************************************************/
h2.company_link {
    margin-bottom: 10px;
    padding: 3px 5px 3px 5px;
    line-height: inherit;
    height: inherit;
    background: transparent;
}

/********************************************************************************/
/******************************Quartile box settings*****************************/
/********************************************************************************/
.ctrl_quartilebox .content_bg {
    padding: 5px;
}

table.quartilebox {
    height: 100px;
}

table.quartilebox td {
    border: solid 1px #ffffff;
    text-align: center;
}

table.quartilebox td span,
table.quartilebox td h3 {
    color: #ffffff;
}

.quartilebox .col1 {
    width: 33.33%;
}

.quartilebox .col2 {
    width: 33.33%;
}

.quartilebox .col3 {
    width: 33.33%;
}

.quartilebox .line {
    line-height: 100%;
}

.quartilebox .line_number1 {
    height: 33.33%;
}

.quartilebox .line_number2 {
    height: 33.33%;
}

.quartilebox .line_number3 {
    height: 33.33%;
}

.quartilebox_legends .q0,
.quartilebox .q0 {
    background: #ffffff;
}

.quartilebox_legends .q1,
.quartilebox .q1 {
    background: #e44139;
}

/*worst*/
.quartilebox_legends .q2,
.quartilebox .q2 {
    background: #f2d42c;
}

.quartilebox_legends .q3,
.quartilebox .q3 {
    background: #92c737;
}

.quartilebox_legends .q4,
.quartilebox .q4 {
    background: #359725;
}

/*best*/
table.quartilebox,
table.quartilebox tr,
table.quartilebox td {
    table-layout: fixed !important;
}

table.quartilebox span, table.quartilebox h3 {
    color: #ffffff;
    text-shadow: 1px 1px 1px #333333;
}

table.quartilebox .q0 span, table.quartilebox .q0 h3 {
    color: #999999;
    text-shadow: 0px 0px 0px #ffffff;
}

.quartilebox_legends {
    padding: 5px;
}

.quartilebox_note, .quartilebox_legends {
    border: solid 1px #f0f0f0;
    margin-top: 10px;
    background: #f5f5f5;
}

.quartilebox_legends li {
    margin-bottom: 3px;
    float: left;
    width: 50%;
}

.quartilebox_legends .legend_img {
    display: block;
    width: 10px;
    height: 10px;
    float: left;
    margin-top: 4px;
}

.quartilebox_legends .legend_text {
    float: left;
    margin-left: 5px;
}

.quartilebox_note h3 {
    padding-left: 5px;
    padding-right: 5px;
}

.quartilebox_note h3 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.quartilebox_legends {
    width: 180px;
    float: left;
}

/*--- Quartile bling bling ---*/
.ctrl_quartilebox table.quartilebox {
    height: 190px;
    width: 190px;
    float: left;
}

.ctrl_quartilebox .quartilebox_note {
    width: 160px;
    float: right;
    margin-top: 0;
}

.quartile_hider {
    height: 62px;
    overflow: hidden;
}

.visible_content,
.hidden_content {
    height: 100%;
}

.quartile_hider:hover .visible_content h3 {
    display: none;
}

.visible_content h3 {
    line-height: 60px;
}

.hidden_content h3 {
    padding-top: 12px;
}

.hidden_content span {
    background-color: #ffffff;
    padding: 3px;
    color: #333333 !important;
    border-radius: 5px;
    background-clip: padding-box;
    behavior: url(../../js/PIE.htc);
}

/*--- Small quartilebox ---*/
.ctrl_quartilebox.SmallDisplay {
    position: relative;
}

.ctrl_quartilebox.SmallDisplay .quartilebox {
    height: 80px;
    width: 96px;
    float: left;
}

.ctrl_quartilebox.SmallDisplay .quartilebox td:hover {
    outline: solid 1px #dddddd;
}

.ctrl_quartilebox.SmallDisplay .quartilebox .quartile_information {
    width: 94px;
    height: 92px;
    background: #f5f5f5;
    border: solid 1px #f0f0f0;
    z-index: -10;
    position: absolute;
    top: 1px;
    left: 0px;
}

.ctrl_quartilebox.SmallDisplay .quartilebox .quartile_information ul {
    padding: 10px;
}

.ctrl_quartilebox.SmallDisplay .quartilebox .quartile_information ul li {
    padding-top: 3px;
}

.ctrl_quartilebox.SmallDisplay .quartilebox .quartile_information span {
    color: #454545;
    text-shadow: none;
    display: block;
    width: 100%;
    text-align: left;
}

.ctrl_quartilebox.SmallDisplay .quartilebox .quartile_information span.title {
    color: #000000;
}

.ctrl_quartilebox.SmallDisplay .quartilebox_note {
    width: 92px;
    position: absolute;
    right: 0px;
    top: 1px;
    z-index: -11;
    height: 92px;
    background: #f5f5f5;
    color: #454545;
    display: block;
}

.ctrl_quartilebox.SmallDisplay .quartilebox_note h3 {
    display: none;
}

/********************************************************************************/
/************************* Calculated Weight Control ****************************/
/********************************************************************************/
.ctrl_calculatedweightchart {
    width: 50%;
    float: left;
}

.ctrl_calculatedweightchart .content_bg {
    padding: 5px;
}

.ctrl_calculatedweightchart .content_bg .chart_legends {
    height: 60px;
}

.ctrl_calculatedweightchart .chart {
    background: #dddddd;
    height: 325px;
    overflow: hidden;
    border: solid 1px #ffffff;
}

/*Must change by client width*/
.ctrl_calculatedweightchart .chart div {
    border-bottom: solid 1px #ffffff;
}

.ctrl_calculatedweightchart .chart div h3 {
    position: relative;
    top: 50%;
    color: #ffffff;
    text-align: center;
    padding-top: 2px;
}

.ctrl_calculatedweightchart .chart div h3 span {
    position: relative;
    top: -7px;
}

.ctrl_calculatedweightchart h3 {
    color: #000000;
    text-align: center;
}

/********************************************************************************/
/*******************Jquery UI tooltip (replacing the current)********************/
/********************************************************************************/
.ui-tooltip, .arrow:after {
    background: #ffffff;
    border: solid 1px #dddddd !important;
}

.ui-tooltip {
    padding: 10px 20px;
    border-radius: 20px;
    background-clip: padding-box;
    box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.3);
    behavior: url(../../js/PIE.htc);
}

.arrow {
    width: 70px;
    height: 16px;
    overflow: hidden;
    position: absolute;
    left: 50%;
    margin-left: -35px;
    bottom: -16px;
}

.arrow.top {
    top: -16px;
    bottom: auto;
}

.arrow.left {
    left: 20%;
}

.arrow.right {
    right: 20%;
}

.arrow:after {
    content: "";
    position: absolute;
    left: 20px;
    top: -20px;
    width: 25px;
    height: 25px;
    box-shadow: 6px 5px 9px -9px rgba(0, 0, 0, 0.8);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    tranform: rotate(45deg);
}

.arrow.top:after {
    bottom: -20px;
    top: auto;
}

/********************************************************************************/
/*****************************tipTip SETTINGS************************************/
/********************************************************************************/
#tiptip_holder {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99999;
}

#tiptip_holder.tip_top {
    padding-bottom: 5px;
}

#tiptip_holder.tip_bottom {
    padding-top: 5px;
}

#tiptip_holder.tip_right {
    padding-left: 5px;
}

#tiptip_holder.tip_left {
    padding-right: 5px;
}

#tiptip_content {
    font-size: 11px;
    color: #575859;
    padding: 4px 8px;
    border: 1px solid #dddddd;
    background-color: #f5f5f5;
    border-radius: 3px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    behavior: url(../../js/PIE.htc);
}

#tiptip_arrow, #tiptip_arrow_inner {
    position: absolute;
    border-color: transparent;
    border-style: solid;
    border-width: 6px;
    height: 0;
    width: 0;
}

#tiptip_holder.tip_top #tiptip_arrow {
    border-top-color: #dddddd;
}

#tiptip_holder.tip_bottom #tiptip_arrow {
    border-bottom-color: #dddddd;
}

#tiptip_holder.tip_right #tiptip_arrow {
    border-right-color: #dddddd;
}

#tiptip_holder.tip_left #tiptip_arrow {
    border-left-color: #dddddd;
}

#tiptip_holder.tip_top #tiptip_arrow_inner {
    margin-top: -7px;
    margin-left: -6px;
    border-top-color: #f5f5f5;
}

#tiptip_holder.tip_bottom #tiptip_arrow_inner {
    margin-top: -5px;
    margin-left: -6px;
    border-bottom-color: #f5f5f5;
}

#tiptip_holder.tip_right #tiptip_arrow_inner {
    margin-top: -6px;
    margin-left: -5px;
    border-right-color: #f5f5f5;
}

#tiptip_holder.tip_left #tiptip_arrow_inner {
    margin-top: -6px;
    margin-left: -7px;
    border-left-color: #f5f5f5;
}

/* Webkit Hacks  */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    #tiptip_content {
        padding: 4px 8px 5px 8px;
        background-color: #f5f5f5;
    }

    #tiptip_holder.tip_bottom #tiptip_arrow_inner {
        border-bottom-color: #f5f5f5;
    }

    #tiptip_holder.tip_top #tiptip_arrow_inner {
        border-top-color: #f5f5f5;
    }
}
/********************************************************************************/
/***************************Jquery-UI settings***********************************/
/********************************************************************************/
.ui-corner-all {
    border-radius: 0;
}

.ui-widget-header {
    border: 0;
}

.ui-button-text-only .ui-button-text {
    padding: 0;
}

/*--- AutoComplete styling ---*/
/*Autocomplete Menu items - General Menu Items*/
/*Autocomplete Menu Link Hover - Link Hover State*/
.ui-autocomplete .ui-menu-item .ui-state-focus {
    font-weight: normal;
    background: #006fb0;
    color: #ffffff;
}

/*--- Calander settings ---*/
.ui-datepicker {
    padding: 0;
}

.ui-datepicker .ui-datepicker-header {
    padding: 0;
}

.ui-datepicker-title span {
    font-size: 11px;
    font-weight: normal;
    color: #006fb0;
}

/*--- Calander Header icons ---*/
.ui-datepicker .ui-datepicker-prev .ui-icon {
    background: none;
}

.ui-datepicker .ui-datepicker-header a span {
    padding: 0;
}

.ui-datepicker .ui-datepicker-prev .ui-icon-circle-triangle-w {
    background: url(../../images/default/calander_prev.png) no-repeat 50% 50%;
}

.ui-datepicker .ui-datepicker-next .ui-icon-circle-triangle-e {
    background: url(../../images/default/calander_next.png) no-repeat 50% 50%;
}

/*--- Calander buttons ---*/
.ui-datepicker .ui-datepicker-current-day {
    background: #ffffff;
}

.ui-datepicker .ui-datepicker-current-day .ui-state-active {
    background: none;
    color: #006fb0;
    border: 0;
}

/*--- Modalbox ---*/
/*--- modalbox title ---*/
.ui-dialog {
    padding: 0;
}

.ui-dialog .ui-dialog-titlebar {
    padding: 0 0 0 5px;
}

.ui-dialog .ui-dialog-titlebar span {
    padding: 0;
    margin: 0;
    margin-right: 25px;
}

.ui-dialog a.ui-dialog-titlebar-close,
.ui-dialog a.ui-dialog-titlebar-close:hover {
    display: block;
    width: 24px;
    height: 25px;
    position: relative;
    top: 0;
    right: 0;
    margin: 0;
    border: 0;
    float: right;
}

/*--- Modal close icon ---*/
.ui-state-default .ui-icon {
    background: none;
}

.ui-dialog .ui-dialog-titlebar-close {
    background-image: url("../../images/default/ui-modal-close.png");
    background-repeat: no-repeat;
    background-position: right 0px;
}

.ui-dialog .ui-dialog-titlebar-close.ui-state-hover {
    background-image: url("../../images/default/ui-modal-close.png");
    background-repeat: no-repeat;
    background-position: right -19px;
}

/*removing Jquery background image*/
.ui-dialog a.ui-dialog-titlebar-close span.ui-icon {
    background: none;
}

/*--- modalbox content ---*/
/*--- modalbox button panel ---*/
.ui-dialog .ui-dialog-buttonpane {
    border: 0;
}

.ui-dialog .ui-dialog-buttonpane .ui-button {
    display: inline;
    margin: 0;
}

/*--- Floating header (For fundlists) ---*/
.floatingHeader {
    z-index: 999999;
}

.ui-widget-overlay {
    background: none;
    opacity: 0;
}

/********************************************************************************/
/**************************** Column and item settings **************************/
/********************************************************************************/
/*
    REPLACED BY GRID ITEMS INSTEAD
    SEARCH FOR:
    Layout grid for responsive solutions
*/
/*--- Items and columns ---*/
/*.items-row {margin-top:0%;clear:both;padding:0.5%;}
.items-row .item {float:left;text-align:left;margin-left:1%;margin-right:1%;}

.items-row .item:first-child {margin-left:0%;}
.items-row .item:last-child {margin-right:0%;}*/
/*--- Columns -1Column ---*/
/*.cols-1 .column-1{width:100% !important;}*/
/*--- Columns -2Columns ---*/
/*.cols-2 .column-1,
.cols-2 .column-2{width:49% !important;}*/
/*--- Columns -2Columns wide-narrow---*/
/*.cols-2.wide-narrow .column-1{width:74% !important;}
.cols-2.wide-narrow .column-2{width:24% !important;}*/
/*--- Columns -2Columns narrow-wide---*/
/*.cols-2.narrow-wide .column-1{width:24% !important;}
.cols-2.narrow-wide .column-2{width:74% !important;}*/
/*--- Columns -3Columns ---*/
/*.cols-3 .column-1,
.cols-3 .column-2,
.cols-3 .column-3{width:30% !important;}*/
/*--- Columns -4Columns ---*/
/*.cols-4 .column-1,
.cols-4 .column-2,
.cols-4 .column-3,
.cols-4 .column-4 {width:21.5% !important;}*/
/********************************************************************************/
/***********************Dictionary control specific settings**********************/
/********************************************************************************/
/*--- Dictionary activator display ---*/
#page_wrap .d_word {
    cursor: help;
    text-decoration: underline;
}

.ctrl_dictionary.ctrl_dictionary_sticker .headline_bg {
    float: left;
    width: 29px;
    text-align: center;
}

.ctrl_dictionary.ctrl_dictionary_sticker .content_bg {
    float: right;
    text-align: left;
    padding: 10px;
    background: #FFFFFF;
}

.ctrl_dictionary.ctrl_dictionary_sticker .headline_bg {
    background: url(../../images/default/content_bg_90.png) repeat-y 0% 100%;
    border-radius: 5px;
    background-clip: padding-box;
    behavior: url(../../js/PIE.htc);
    display: inline-table;
}

.ctrl_dictionary .headline_bg {
    line-height: 1.8em;
}

.ctrl_dictionary .content_bg {
    line-height: 1.3em;
}

.ctrl_dictionary .headline_bg {
    padding-top: 0.3em;
    padding-bottom: 0.3em;
}

.ctrl_dictionary .content_bg {
    padding-bottom: 0.3em;
}

.ctrl_dictionary .headline_bg, .ctrl_dictionary .content_bg {
    padding: 0;
}

.ctrl_dictionary {
    border: solid 1px #e5e5e5;
    margin-top: 10px;
}

/********************************************************************************/
/***********************Fund 2 Data Tables graphical display*********************/
/********************************************************************************/
.graphical tr td {
    width: 25%;
    text-align: center;
    vertical-align: bottom;
    height: auto;
}

.graphical tr.line-even td {
    height: 50px !important;
    overflow: hidden;
}

.graphical tr.line-even td span {
    display: block;
    height: auto;
    width: 60%;
    margin-left: 20%;
    vertical-align: bottom;
    border-radius: 12px 12px 0px 0px;
    background-clip: padding-box;
    behavior: url(../../js/PIE.htc);
    margin-top: 10px;
}

.graphical tr.line-even td.perf_down span {
    background: #ba002c;
}

.graphical tr.line-even td.perf_up span {
    background: #00ba5c;
}

.graphical tr td.perf_down span {
    color: #ba002c;
}

.graphical tr td.perf_up span {
    color: #00ba5c;
}

/********************************************************************************/
/*********************** Select 2 ***********************************************/
/********************************************************************************/
/*--- full width ---*/
/*.select2-container, .select2-drop, .select2-search, .select2-search input {width:100%;}*/
/*--- Caret image ---*/
.select2-arrow b {
    background: none;
}

/*--- removing round corners ---*/
.select2-container .select2-choice {
    border-radius: 0px;
    background-clip: padding-box;
}

.select2-container .select2-choice .select2-arrow {
    border-radius: 0px;
    background-clip: padding-box;
}

.select2-drop {
    border-radius: 0px;
    background-clip: padding-box;
}

/*--- Select closed ---*/
.select2-container .select2-choice {
    background-image: none;
    border: 1px solid #AAAAAA;
    color: #575859;
    height: 22px;
    line-height: 22px;
    padding: 0 0 0 5px;
}

.select2-container .select2-choice {
    background: #ffffff;
}

/*--- Select open ---*/
.select2-dropdown-open .select2-choice,
.select2-drop-active {
    border-color: #cccccc;
}

.select2-dropdown-open .select2-choice {
    background: #ffffff;
}

.select2-results {
    margin: 0;
    padding: 0;
    background: #ffffff;
}

/*--- Select option(hover) ---*/
.select2-highlighted {
    background: #006fb0 !important;
}

/********************************************************************************/
/*********************** My List ************************************************/
/********************************************************************************/
.ctrl_mylist .content_bg li {
    position: relative;
    margin-bottom: 5px;
}

.ui-icons {
    background-image: url(../../images/default/ui-icons_222222_256x240.png);
}

.ui-icons.ui-icon-minusthick,
.ui-icons.ui-icon-plusthick {
    width: 15px;
    height: 15px;
    display: inline-block;
}

.ctrl_mylist #loadfile {
    display: none;
}

.ctrl_listfunds .headline_bg .select2-container:hover {
    z-index: 1000;
}

/*Regular labels*/
.ctrl_mylist .content_bg li label {
    width: 30%;
}

.ctrl_mylist .content_bg li input,
.ctrl_mylist .content_bg li select {
    width: 70%;
}

.ctrl_mylist .content_bg li input,
.ctrl_mylist .content_bg li select,
.ctrl_mylist .content_bg li label {
    float: left;
}

/*--- Fundlist modifier control - Grouping section ---*/
.ctrl_mylist .content_bg .grouping_section .group {
    padding: 0 20px 3px 0;
    float: left;
}

/*--- Fundlist modifier control - Selected filters section ---*/
.selected_filters ul li {
    float: left;
    padding-right: 10px;
    margin-right: 10px;
}

/*--- MyList header color settings ---*/
.ctrl_mylist {
    display: block;
    margin: 0;
    position: fixed;
    right: -20px;
    top: 200px;
    z-index: 999;
}

.ctrl_mylist .mylist img {
    border: 0;
}

.ctrl_mylist .content_bg {
    display: none;
    float: right;
}

.ctrl_mylist .content_bg {
    width: 200px;
}

.ctrl_mylist .content_bg .close {
    float: right;
    margin-right: 10px;
    width: 15px;
    height: 15px;
    z-index: 9999;
}

.ctrl_mylist .headline_bg {
    background: url("");
    float: left;
}

.ctrl_mylist .content_bg .listregion {
    width: 100%;
}

.ctrl_mylist .content_bg .listregion .list div {
    float: left;
}

.ctrl_mylist .content_bg .listregion .list a {
    float: right;
    margin-left: 2px;
}

.ui-icons {
    background-image: url(../../images/default/ui-icons_222222_256x240.png);
}

.ui-icons.ui-icon-minusthick,
.ui-icons.ui-icon-plusthick {
    width: 15px;
    height: 15px;
    display: inline-block;
}

.ctrl_mylist #loadfile {
    display: none;
}

.ctrl_listfunds .headline_bg .select2-container:hover {
    z-index: 1000;
}

/********************************************************************************/
/******************************VideoControl styling******************************/
/********************************************************************************/
.video-js .vjs-big-play-button {
    top: 50% !important;
    left: 50% !important;
    margin: -0.75em 0 0 -1.5em;
}

.embed {
    position: relative;
    display: block;
    height: 0;
    padding: 0;
    overflow: hidden;
}

.embed-16by10 {
    padding-bottom: 62.5%;
}

.embed-16by9 {
    padding-bottom: 56.25%;
}

.embed-4by3 {
    padding-bottom: 75%;
}

.embed-1by1 {
    padding-bottom: 100%;
}

.embed-item {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlZmF1bHQuc2NzcyIsImRlZmF1bHQuY3NzIiwiY29udHJvbHMvX2RvY2xpYnJhcnltdWx0aS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGlGQUFBO0FBQ0EsaUZBQUE7QUFDQSxpRkFBQTtBQUNBLGdGQUFBO0FBQ0E7SUFDQSxzQkFBQTtJQUNBLDJCQUFBO0lBQTJCLHNCQUFBO0lBQzNCLDJCQUFBO0lBQ0EsOEJBQUE7QUNBQTs7QURHQTtJQUFNLHVCQUFBO0FDQ047O0FEQ0E7SUFDQSxXQUFBO0lBQ0EsU0FBQTtJQUNBLFVBQUE7QUNFQTs7QURDQTtJQUNJLGtCQUFBO0FDRUo7O0FEQ0E7SUFDSSxrQkFBQTtBQ0VKOztBQ3pCSTtJQUNJLG9CQUhNO0FEK0JkO0FDekJJO0lBQ0ksY0FBQTtJQUNBLFdBQUE7QUQyQlI7QUN6QlE7SUFDSSxrQkFBQTtBRDJCWjtBQ3pCWTtJQUNJLG1CQUFBO0lBQ0EsVUFBQTtJQUNBLG9CQWhCRjtBRDJDZDtBQ3RCSTtJQUNJLFdBQUE7SUFDQSxZQUFBO0lBQ0EsY0FBQTtBRHdCUjs7QURsQkE7SUFBc0IsNkJBQUE7SUFBK0IsWUFBQTtJQUFZLFdBQUE7QUN3QmpFOztBRHZCQTtJQUFhLHVFQUFBO0FDMkJiOztBRHpCQTtJQUFTLHdCQUFBO0FDNkJUOztBRDVCQSx3QkFBQTtBQUNBO0lBQ0Esa0RBQUE7SUFDQSxlQUFBO0lBQ0EsbUJBQUE7SUFDQSxjQUFBO0FDK0JBOztBRDVCQTtJQUFpQixjQUFBO0FDZ0NqQjs7QUQvQkE7SUFBSyxtQkFBQTtBQ21DTDs7QURsQ0E7SUFBSyxxQkFBQTtBQ3NDTDs7QURwQ0E7SUFBNEMsbUJBQUE7QUN3QzVDOztBRHZDQTtJQUFjLHlCQUFBO0FDMkNkOztBRDFDQTtJQUFxQixTQUFBO0lBQVMsa0JBQUE7SUFBa0IsdUJBQUE7QUNnRGhEOztBRDlDQSxtQkFBQTtBQUNBO0lBQWlCLFlBQUE7SUFBYSxjQUFBO0lBQWUsV0FBQTtJQUFZLGtCQUFBO0lBQW1CLGNBQUE7SUFB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NkJBQUE7SUFDQSxpQkFBQTtJQUNBLG9CQUFBO0lBQ0Esa0JBQUE7SUFDQSxzQkFBQTtJQUNBLHVCQUFBO0lBQ0Esb0JBQUE7QUNtNUVKIiwiZmlsZSI6ImRlZmF1bHQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJ1dGYtOFwiOyAgXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKkdlbmVyYWwgZ2xvYmFsIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKi0tLSBGaXggZm9yIGlucHV0cyBhbmQgc2VsZWN0cyBtaWdodCBjb25zaWRlciBtYWtpbmcgdGhpcyBhIHBhcnQgb2YgcmVzZXQgLS0tKi9cclxuaW5wdXQsIHNlbGVjdCB7XHJcbmJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbi1tcy1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy8qbWlnaHQgbm90IGJlIG5lZWRlZCovXHJcbi1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5ib2R5IHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O31cclxuXHJcbmh0bWwsYm9keSB7IFxyXG53aWR0aDoxMDAlO1xyXG5tYXJnaW46MDtcclxucGFkZGluZzowO1xyXG59XHJcblxyXG4ub3ZlcmZsb3d5T257XHJcbiAgICBvdmVyZmxvdy15OnNjcm9sbDtcclxufVxyXG5cclxuLm92ZXJmbG93eU9mZiB7XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbn1cclxuXHJcbkBpbXBvcnQgJ2NvbnRyb2xzL19kb2NsaWJyYXJ5bXVsdGkuc2Nzcyc7XHJcblxyXG4udWktaWNvbi1jaXJjbGUtcGx1cyB7YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IGhlaWdodDoxNXB4O3dpZHRoOjE1cHg7fVxyXG4udWktai1pY29ucyB7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZykvKntpY29uc0NvbnRlbnR9Ki87fVxyXG5cclxuLmhpZGRlbiB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxyXG4vKi0tLSBGb250IHNldHRpbmdzIC0tLSovXHJcbmJvZHksaW5wdXQsc2VsZWN0LG9wdGlvbix1bCxsaSwgLnVpLXdpZGdldC1jb250ZW50LC51aS1tZW51LWl0ZW0sLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyIHNwYW4saDIuY29tcGFueV9saW5rLC51aS10b29sdGlwIHtcclxuZm9udC1mYW1pbHk6VmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxuZm9udC1zaXplOjExcHg7XHJcbmZvbnQtd2VpZ2h0Om5vcm1hbDtcclxuY29sb3I6IzU3NTg1OTtcclxufVxyXG5cclxuc21hbGwsIHN1Yiwgc3VwIHtmb250LXNpemU6OHB4O31cclxuc3ViIHt2ZXJ0aWNhbC1hbGlnbjpzdWI7fVxyXG5zdXAge3ZlcnRpY2FsLWFsaWduOnN1cGVyO31cclxuXHJcbmlucHV0LHNlbGVjdCxvcHRpb24sLnVpLWF1dG9jb21wbGV0ZS1pbnB1dCB7YmFja2dyb3VuZDojZmZmZmZmO31cclxuaW5wdXQsc2VsZWN0IHtib3JkZXI6c29saWQgMXB4ICNkZGRkZGQ7fVxyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge2JvcmRlcjowO2JvcmRlci1zdHlsZTpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7fSBcclxuXHJcbi8qLS0tIENsZWFyZml4IC0tLSovXHJcbi5jbGVhcmZpeDphZnRlciB7Y29udGVudDogXCIuXCI7ZGlzcGxheTogYmxvY2s7Y2xlYXI6IGJvdGg7dmlzaWJpbGl0eTogaGlkZGVuO2xpbmUtaGVpZ2h0OiAwO2hlaWdodDogMDt9XHJcbi5jbGVhcmZpeCB7ZGlzcGxheTogaW5saW5lLWJsb2NrO31cclxuaHRtbFt4bWxuc10gLmNsZWFyZml4IHtkaXNwbGF5OiBibG9jazt9XHJcbiogaHRtbCAuY2xlYXJmaXgge2hlaWdodDogMSU7fVxyXG5cclxuLyotLS0gRWxsaXBzaXMgLS0tKi9cclxuLmVsbGlwc2lzICp7d2hpdGUtc3BhY2U6IG5vd3JhcDtvdmVyZmxvdzogaGlkZGVuO3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOy1vLXRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LW1zLXRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LW1vei1iaW5kaW5nOnVybChlbGxpcHNpcy14YmwueG1sI2VsbGlwc2lzKTtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO31cclxuLmVsbGlwc2lzIGltZ3tkaXNwbGF5OmlubGluZTt3aWR0aDphdXRvO31cclxuXHJcbi8qLmVsbGlwc2lzIGEsIC5lbGxpcHNpcyBzcGFuIHstbW96LWJpbmRpbmc6dXJsKGVsbGlwc2lzLXhibC54bWwjZWxsaXBzaXMpO30qL1xyXG5cclxuLyogZ2VuZXJhbCBmaXggZm9yIHNlbGVjdHMgKi9cclxuLnNlbGVjdDItY29udGFpbmVyIHt3aWR0aDoxMDAlO31cclxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSAuc2VsZWN0Mi1hcnJvdyB7d2lkdGg6MjhweDtiYWNrZ3JvdW5kOiNlZWVlZWU7fVxyXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIC5zZWxlY3QyLWFycm93IGIge3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSAuc2VsZWN0Mi1hcnJvdyBiOmFmdGVyIHtcclxucG9zaXRpb246YWJzb2x1dGU7XHJcbmNvbnRlbnQ6Jyc7XHJcbndpZHRoOjA7XHJcbmhlaWdodDowO1xyXG50b3A6NTAlO1xyXG5yaWdodDo1MCU7XHJcbm1hcmdpbi1yaWdodDotNHB4O1xyXG5tYXJnaW4tdG9wOi0ycHg7XHJcbmJvcmRlci1zdHlsZTpzb2xpZDtcclxuYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O1xyXG5ib3JkZXItd2lkdGg6NXB4O1xyXG5ib3JkZXItdG9wLWNvbG9yOiMwMDZmYjA7XHJcbn1cclxuXHJcbi8qLS0tIGhpZ2hsaWdodGluZyBjbGFzcyAtLS0qL1xyXG4uY3RybF9mdW5kbGlzdF9hZGRpdGlvbmFsZmVhdHVyZXMgLmNvbnRlbnRfYmcgLmZ1bmRsaXN0IHVsIGxpOmhvdmVyLFxyXG4uYXBwbHlIaWdobGlnaHQgdHIuaGlnaGxpZ2h0IHRkIHtcclxuYmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvdGV4dHVyZV9zdHJpcGVzX3RoaW5fbGlnaHQucG5nKTtcclxuYmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7XHJcbmJhY2tncm91bmQtcG9zaXRpb246NTAlIDUwJTtcclxuYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbi1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IzMzMDA2RkIwLCBlbmRDb2xvcnN0cj0jMzMwMDZGQjApXCI7LyogSUU4IGFuZCBiZWxvdyovXHJcbmJhY2tncm91bmQtY29sb3I6IHJnYmEoMDAwLCAxMTEsIDE3NiwgMC4yKTsgLypzcGVjaWZpYyBoYWNrIGZvciBJRSBpbiBicm93c2Vyc3VwcG9ydC5jc3MqL1xyXG59XHJcblxyXG4vKi0tLSBQcmludCBvbmx5IGNvbnRlbnQodGhpcyBjbGFzcyBpcyByZXZlcnNlZCBvbiB0aGUgcHJpbnQuY3NzKSAtLS0qL1xyXG4ucHJpbnRvbmx5X2NvbnRlbnQge2Rpc3BsYXk6bm9uZTt9XHJcblxyXG4vKi0tLSBHZW5lcmFsIGNvbnRyb2wgbWFyZ2lucyAtLS0qL1xyXG4ubWVzc2FnZSxcclxuLnNlbGVjdGVkX2ZpbHRlcnMsXHJcbi5jdHJsX215bGlzdCxcclxuLmN0cmxfbW9kaWZpZXJzLFxyXG4uY3RybF9saXN0ZnVuZHMsXHJcbi5jdHJsX2ZyZWV0ZXh0LFxyXG4uY3RybF9mdW5kMmRhdGF0YWJsZSxcclxuLmN0cmxfcmlza2luZGljYXRvcixcclxuLmN0cmxfYmFzaWNkYXRhLFxyXG4uY3RybF9hZGRpdGlvbmFsZmVhdHVyZXMsXHJcbi5jdHJsX2RhdGFleHBvcnQsXHJcbi5jdHJsX2Z1bmRsaXN0X2FkZGl0aW9uYWxmZWF0dXJlcyxcclxuLmN0cmxfcGVyZmNoYXJ0LFxyXG4uY3RybF9wbG90Y2hhcnQsXHJcbi5jdHJsX2hvbGRpbmdzY2hhcnQsXHJcbi5jdHJsX2dsaW5lY2hhcnQsXHJcbi5jdHJsX3RvcF94X2hvbGRpbmdzLFxyXG4uY3RybF9mZWVzdGFibGUsXHJcbi5jdHJsX2tleWZpZ3VyZXN0YWJsZSxcclxuLmN0cmxfcmlza3RhYmxlLFxyXG4uY3RybF9kb2N1bWVudGxpYnJhcnksXHJcbmgyLmNvbXBhbnlfbGluayxcclxuLmN0cmxfcXVhcnRpbGVib3gsXHJcbi5jdHJsX2dwaWVjaGFydCxcclxuLmN0cmxfZ2xpbmVjaGFydCxcclxuLmN0cmxfaGxpbmVjaGFydCxcclxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0LFxyXG4uY3RybF9oZnVuZGxpc3RwbG90Y2hhcnQsXHJcbi5jdHJsX2tleWZpZ3VyZXNtb250aGx5dGFibGUge21hcmdpbi10b3A6MTBweDt9XHJcblxyXG4uaGVhZGxpbmVfYmcuY2xpY2thYmxlLFxyXG4uY3RybF9saXN0ZnVuZHMgLmFwcGx5Um93TGluayB0ciB0ZCwgLypjbGlja2FibGUgZnVuZGxpc3Qgcm93cyBoZWFkbGluZXMgKi9cclxuLmN0cmxfbGlzdGZ1bmRzIC5oZWFkbGluZV9iZyB0aC5zb3J0YWJsZSwgLypzb3J0YWJsZSBoZWFkbGluZXMgKi9cclxuLnBhZ2luZ19yb3cgbGkgc3Bhbi5maXJzdCwgLypwYWdpbmcgZmlyc3QgKi9cclxuLnBhZ2luZ19yb3cgbGkgc3Bhbi5wcmV2aW91cywgLypwYWdpbmcgcHJldmlvdXMgKi9cclxuLnBhZ2luZ19yb3cgbGkgc3Bhbi5uZXh0LCAvKnBhZ2luZyBuZXh0ICovXHJcbi5wYWdpbmdfcm93IGxpIHNwYW4ubGFzdCwgLypwYWdpbmcgbGFzdCAqL1xyXG4udGFibGVfaGVhZGxpbmUsIC8qdGFibGUgaGVhZGxpbmVzICovXHJcbi5mb2xkX28sLypGb2xkaW5nIGljb24gLW9wZW4gKi9cclxuLmZvbGRfYywgLypGb2xkaW5nIGljb24gLWZvbGRlZCAqL1xyXG4uY2xvc2UsIC8qZm9sZGluZyAtIFBMKi9cclxuLm9wZW4sIC8qZm9sZGluZyAtIFBMKi9cclxuLmN0cmxfZnVuZGxpc3RfYWRkaXRpb25hbGZlYXR1cmVzIC5jb250ZW50X2JnIC5mdW5kbGlzdCB1bCBsaSBzcGFuLmRlbGV0ZSwgLypGdW5kbGlzdCBhZGRpdGlvbmFsIC1yZW1vdmUgKi9cclxuLmN0cmxfZnVuZGxpc3RfYWRkaXRpb25hbGZlYXR1cmVzIC5jb250ZW50X2JnIC5idXR0b25zIHVsIGxpIGEsLypGdW5kbGlzdCBhZGRpdGlvbmFsIGZlYXR1cmVzIGxpbmtzKi9cclxuLmN0cmxfcG9wdXBkaXYgLmhlYWRsaW5lX2JnIC5jbG9zZXBvcHVwIC5idG5fY2xvc2UsIC8qcG9wdXAgY2xvc2UqL1xyXG4udWktZGlhbG9nIGEudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlLCAvKkpxdWVyeSBtb2RhbCBjbG9zZSovXHJcbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAuc29ydGFibGUgLmhlYWRsaW5lX3dyYXAgdGggc3BhbiwgLypGdW5kbGlzdCBzb3J0YWJsZSBoZWFkbGluZXMqL1xyXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLCAvKlBpZSBjaGFydCBuYXZpZ2F0aW9uKi9cclxuLmN0cmxfZ2xpbmVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaSxcclxuLmN0cmxfcGVyZmNoYXJ0IC5jaGFydF9uYXZpZ2F0aW9uIHVsIGxpLCAvKlBlcmZvcm1hbmNlIGNoYXJ0IG5hdmlnYXRpb24qL1xyXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnBhZ2luZ19zZWN0aW9uIC5idG4sIC8qUGFnaW5nIGJ1dHRvbnMqL1xyXG4udWktaWNvbnMudWktaWNvbi1taW51c3RoaWNrLC8qUEwqL1xyXG4udWktaWNvbnMudWktaWNvbi1wbHVzdGhpY2ssLypQTCovXHJcbi51aS1pY29uLWNpcmNsZS1wbHVzLCAvKlBMKi9cclxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIC5jbG9zZSwgLypteWxpc3QqL1xyXG4uY3RybF9teWxpc3QgLmhlYWRsaW5lX2JnIC8qbXlsaXN0Ki8ge2N1cnNvcjpwb2ludGVyO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIExpbmUgaGVpZ2h0cyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmJvZHksaW5wdXQsc2VsZWN0LG9wdGlvbix1bCxsaSwgLnVpLXdpZGdldC1jb250ZW50LC51aS1tZW51LWl0ZW0sdGgsdGQge2xpbmUtaGVpZ2h0OjE4cHg7fVxyXG5cclxuLmN0cmxfYWRkaXRpb25hbGZlYXR1cmVzIC5jb250ZW50X2JnLFxyXG4uY3RybF9kYXRhZXhwb3J0IC5jb250ZW50X2JnLFxyXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnBhZ2luZ19zZWN0aW9uLFxyXG4uY3RybF9wZXJmY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHksXHJcbi5jdHJsX3RvcF94X2hvbGRpbmdzIC5jb250ZW50X2JnIC5mdW5jdGlvbmFsaXR5IHtsaW5lLWhlaWdodDozMHB4O31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKkhlYWRsaW5lcyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qLS0tIGhlYWRsaW5lcyAtIGdlbmVyYWwgY2xhc3NlcyAtLS0qL1xyXG5oMSB7XHJcbmZvbnQtc2l6ZToxNHB4O1xyXG5mb250LXdlaWdodDpib2xkO1xyXG5saW5lLWhlaWdodDpub3JtYWw7XHJcbn1cclxuXHJcbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhciBzcGFuLFxyXG5oMixcclxudGFibGUgLmhlYWRsaW5lX2JnIHNwYW4ge1xyXG5mb250LXNpemU6MTFweDtcclxuZm9udC13ZWlnaHQ6Ym9sZDtcclxuY29sb3I6IzAwNmZiMDtcclxufVxyXG5cclxuaDMge1xyXG5mb250LXNpemU6MTFweDtcclxuZm9udC13ZWlnaHQ6Ym9sZDtcclxuY29sb3I6IzAwNmZiMDtcclxufVxyXG5cclxuaDQge1xyXG5mb250LXNpemU6MTFweDtcclxuZm9udC13ZWlnaHQ6Ym9sZDtcclxuY29sb3I6IzAwNmZiMDtcclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKlBhZGRpbmcgU2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxudGgsdGQsXHJcbmRpdi5oZWFkbGluZV9iZyB7cGFkZGluZzozcHggNXB4O31cclxuLmNvbnRlbnRfcGFkZGluZyB7cGFkZGluZzowcHggNXB4O31cclxuXHJcbi8qLS0tIEdlbmVyYWwgcGFkZGluZyBzZXR0aW5ncyAtLS0qL1xyXG4udWktZGlhbG9nIC51aS1kaWFsb2ctY29udGVudCxcclxuLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUsXHJcbi5jb250ZW50X2JnIHB7cGFkZGluZzo1cHg7fVxyXG5cclxuLyotLS0gRnVuY3Rpb25hbGl0eSBzZXR0aW5ncyAtLS0qL1xyXG4uY3RybF9hZGRpdGlvbmFsZmVhdHVyZXMgLmNvbnRlbnRfYmcsXHJcbi5jdHJsX2RhdGFleHBvcnQgLmNvbnRlbnRfYmcsXHJcbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucGFnaW5nX3NlY3Rpb24sXHJcbi5jdHJsX3BlcmZjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSxcclxuLmN0cmxfdG9wX3hfaG9sZGluZ3MgLmNvbnRlbnRfYmcgLmZ1bmN0aW9uYWxpdHkge3BhZGRpbmc6NXB4IDBweDt9XHJcblxyXG4vKi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHksXHJcbi5jdHJsX2dsaW5lY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHl7cGFkZGluZzo1cHg7fSovXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipBbGlnbm1lbnQgU2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKi0tLSBBbGlnbiBEZWZhdWx0IC0tLSovXHJcbi5hbGlnbmRlZmF1bHQge1xyXG50ZXh0LWFsaWduOmluaGVyaXQ7XHJcbn1cclxuXHJcbi8qLS0tIEFsaWduIFJpZ2h0IC0tLSovXHJcbi5hbGlnbnJpZ2h0IHtcclxudGV4dC1hbGlnbjpyaWdodDtcclxufVxyXG5cclxuLyotLS0gQWxpZ24gTGVmdCAtLS0qL1xyXG4uYWxpZ25sZWZ0IHtcclxudGV4dC1hbGlnbjpsZWZ0O1xyXG59XHJcblxyXG4vKi0tLSBBbGlnbiBNaWRkbGUgLS0tKi9cclxuLmFsaWdubWlkZGxle1xyXG50ZXh0LWFsaWduOmNlbnRlcjtcclxudmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqTWVzc2FnZSBTZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKi0tLSBHZW5lcmFsIE1lc3NhZ2UgU3R5bGUtLS0qL1xyXG4uZXJyb3JfbWVzc2FnZSxcclxuLm1lc3NhZ2UsXHJcbi5zZWxlY3RlZF9maWx0ZXJzIHtcclxuICAgIHBhZGRpbmc6MTBweCA1cHggMTBweCA1cHg7ICAgIFxyXG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xyXG59XHJcblxyXG4vKi0tLSBlcnJvciBtZXNzYWdlIFN0eWxlLS0tKi9cclxuLmVycm9yX21lc3NhZ2Uge1xyXG4gICAgYmFja2dyb3VuZDojZjRlYmVkO1xyXG4gICAgY29sb3I6Izg4NGM1NDtcclxufVxyXG5cclxuLyotLS0gbWVzc2FnZSBTdHlsZS0tLSovICAgIFxyXG4ubWVzc2FnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiNmM2Y4ZjQ7XHJcbiAgICBjb2xvcjojNTA4MTU1O1xyXG59XHJcblxyXG4vKi0tLSBzZWxlY3RlZCBmaWx0ZXJzIFN0eWxlLS0tKi8gXHJcbi5zZWxlY3RlZF9maWx0ZXJzIHtcclxuICAgIGJhY2tncm91bmQ6I2Y3ZjZlNztcclxuICAgIGNvbG9yOiM5MjhlNTU7ICAgIFxyXG59XHJcblxyXG4uc2VsZWN0ZWRfZmlsdGVycyB1bCBsaSB7XHJcbmJvcmRlci1yaWdodDpzb2xpZCAxcHggI2VmZWRkMztcclxufVxyXG4gICAgXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqVGFibGVzIFNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qLS0tIEdlbmVyYWwgdGFibGUgd2lkdGhzIC0tLSovXHJcbi50YWJsZV93aWR0aCB7d2lkdGg6MTAwJTt9XHJcbnRhYmxlIHt0YWJsZS1sYXlvdXQ6YXV0bzt9XHJcblxyXG4uY3RybF9mdW5kMmRhdGF0YWJsZSB0YWJsZSwgLmN0cmxfbGlzdGZ1bmRzIHRhYmxlIHt0YWJsZS1sYXlvdXQ6Zml4ZWQ7fVxyXG5cclxudGgsdGQge3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt9XHJcbi50YWJsZV9oZWFkbGluZSB7aGVpZ2h0OjEwMCU7dmVydGljYWwtYWxpZ246bWlkZGxlO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKiogICAgICBXcmFwICsgIFNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5wYWdlX3dyYXAge3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87bWFyZ2luOjAgYXV0bzttYXJnaW4tbGVmdDogYXV0bzttYXJnaW4tcmlnaHQ6IGF1dG87dGV4dC1hbGlnbjpsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuXHJcbi50YWJfd3JhcCB7cGFkZGluZzowcHg7dGV4dC1hbGlnbjpsZWZ0O31cclxuXHJcbi8qLS0tIG11bHRpY29sdW1ucyBkaXNwbGF5IC0tLSovXHJcbi8qLmNvbF93cmFwIC5jb2x1bW4xe3dpZHRoOjQ5JTtmbG9hdDpsZWZ0O31cclxuLmNvbF93cmFwIC5jb2x1bW4ye3dpZHRoOjQ5JTtmbG9hdDpyaWdodDt9Ki9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKipMYXlvdXQgZ3JpZCBmb3IgcmVzcG9uc2l2ZSBzb2x1dGlvbnMgKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmdyaWQge3dpZHRoOjEwMCU7em9vbTogMTsvKm1hcmdpbi10b3A6MWVtOyovfVxyXG5cclxuLmdyaWQ6YmVmb3JlLFxyXG4uZ3JpZDphZnRlciB7IGNvbnRlbnQ6IFwiXFwwMDIwXCI7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDA7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuLmdyaWQ6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxyXG5cclxuLmdyaWQgLml0ZW0ge2Zsb2F0OiBsZWZ0O21hcmdpbi1sZWZ0OjElO21hcmdpbi1ib3R0b206MSU7fVxyXG5cclxuLyogTGFyZ2Ugc2NyZWVucyBpbml0aWFsIHNldHRpbmdzIGZvciBncmlkcyAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xyXG5cdC5ncmlkLml0ZW1zLTYgLml0ZW0ge3dpZHRoOjE1LjgzMzMlO31cclxuXHQuZ3JpZC5pdGVtcy00IC5pdGVtIHt3aWR0aDoyNC4yNSU7fVxyXG5cdC5ncmlkLml0ZW1zLTMgLml0ZW0ge3dpZHRoOjMyLjY2NiU7fVxyXG5cdC5ncmlkLml0ZW1zLTIgLml0ZW0ge3dpZHRoOjQ5LjUlO31cdFxyXG4gICAgLmdyaWQuaXRlbXMtMSAuaXRlbSB7d2lkdGg6MTAwLjAlO31cdFxyXG5cclxuXHQuZ3JpZC5pdGVtcy02IC5pdGVtOm50aC1vZi10eXBlKDZuKzEpLFxyXG5cdC5ncmlkLml0ZW1zLTQgLml0ZW06bnRoLW9mLXR5cGUoNG4rMSksXHJcblx0LmdyaWQuaXRlbXMtMyAuaXRlbTpudGgtb2YtdHlwZSgzbisxKSxcclxuXHQuZ3JpZC5pdGVtcy0yIC5pdGVtOm50aC1vZi10eXBlKDJuKzEpLFxyXG4gICAgLmdyaWQuaXRlbXMtMSAuaXRlbTpudGgtb2YtdHlwZSgxbisxKSB7bWFyZ2luLWxlZnQ6IDA7Y2xlYXI6IGxlZnQ7fVx0XHJcbn1cclxuXHJcbi8qIENoYW5nZSA2IGl0ZW0gZ3JpZHMgdG8gMyBpdGVtIGdyaWRzICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XHJcblx0LmdyaWQuaXRlbXMtNiAuaXRlbSxcclxuXHQuZ3JpZC5pdGVtcy0zIC5pdGVtIHt3aWR0aDozMi42NjYlO31cclxuXHJcblx0LmdyaWQuaXRlbXMtNiAuaXRlbTpudGgtb2YtdHlwZSg2bisxKSB7bWFyZ2luLWxlZnQ6MSU7Y2xlYXI6bm9uZTt9XHJcblx0LmdyaWQuaXRlbXMtNiAuaXRlbTpudGgtb2YtdHlwZSgzbisxKSxcclxuXHQuZ3JpZC5pdGVtcy0zIC5pdGVtOm50aC1vZi10eXBlKDNuKzEpIHttYXJnaW4tbGVmdDogMDtjbGVhcjpsZWZ0O1x0fVxyXG5cclxuICBcdC5ncmlkLml0ZW1zLTQgLml0ZW0ge3dpZHRoOjI0LjI1JTt9XHJcblx0LmdyaWQuaXRlbXMtNCAuaXRlbTpudGgtb2YtdHlwZSg0bisxKSB7bWFyZ2luLWxlZnQ6IDA7Y2xlYXI6IGxlZnQ7fVx0XHJcblxyXG5cdC5ncmlkLml0ZW1zLTIgLml0ZW0ge3dpZHRoOjQ5LjUlO31cdFxyXG5cdC5ncmlkLml0ZW1zLTIgLml0ZW06bnRoLW9mLXR5cGUoMm4rMSkge21hcmdpbi1sZWZ0OiAwO2NsZWFyOiBsZWZ0O31cdFxyXG59XHJcblxyXG4vKiBDaGFuZ2UgNCBpdGVtIGdyaWRzIHRvIDIgaXRlbSBncmlkcyAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XHJcblx0LmdyaWQuaXRlbXMtNCAuaXRlbSxcclxuXHQuZ3JpZC5pdGVtcy0yIC5pdGVtIHt3aWR0aDo0OS41JTtcdH1cclxuXHJcblx0LmdyaWQuaXRlbXMtNCAuaXRlbTpudGgtb2YtdHlwZSg0bisxKSB7bWFyZ2luLWxlZnQ6MSU7Y2xlYXI6bm9uZTt9XHRcclxuXHJcblx0LmdyaWQuaXRlbXMtNCAuaXRlbTpudGgtb2YtdHlwZSgybisxKSxcclxuXHQuZ3JpZC5pdGVtcy0yIC5pdGVtOm50aC1vZi10eXBlKDJuKzEpIHttYXJnaW4tbGVmdDogMDtjbGVhcjogbGVmdDt9XHRcclxuXHJcbiAgICAgICAgICAgIC5ncmlkLml0ZW1zLTQgLml0ZW06bnRoLW9mLXR5cGUoM24rMSkge1xyXG4gICAgICAgIH1cclxufVxyXG5cclxuLyogQ2hhbmdlIDYsIDQgJiAzIGl0ZW0gZ3JpZHMgdG8gMiBpdGVtIGdyaWRzICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjQwcHgpIHtcclxuXHQuZ3JpZC5pdGVtcy02IC5pdGVtLFxyXG5cdC5ncmlkLml0ZW1zLTQgLml0ZW0sXHJcblx0LmdyaWQuaXRlbXMtMyAuaXRlbSxcclxuXHQuZ3JpZC5pdGVtcy0yIC5pdGVtIHt3aWR0aDo0OS41JTtcdH1cclxuXHJcbiAgICAuZ3JpZC5pdGVtcy02IC5pdGVtOm50aC1vZi10eXBlKDZuKzEpLFxyXG4gICAgLmdyaWQuaXRlbXMtNiAuaXRlbTpudGgtb2YtdHlwZSg0bisxKSxcclxuXHQuZ3JpZC5pdGVtcy0zIC5pdGVtOm50aC1vZi10eXBlKDNuKzEpIHttYXJnaW4tbGVmdDoxJTtjbGVhcjpub25lO31cdFxyXG5cclxuXHQuZ3JpZC5pdGVtcy02IC5pdGVtOm50aC1vZi10eXBlKDJuKzEpLFxyXG5cdC5ncmlkLml0ZW1zLTQgLml0ZW06bnRoLW9mLXR5cGUoMm4rMSksXHJcblx0LmdyaWQuaXRlbXMtMyAuaXRlbTpudGgtb2YtdHlwZSgybisxKSxcdFxyXG5cdC5ncmlkLml0ZW1zLTIgLml0ZW06bnRoLW9mLXR5cGUoMm4rMSkge21hcmdpbi1sZWZ0OiAwO2NsZWFyOiBsZWZ0O31cdFxyXG59XHJcblxyXG4vKiBDaGFuZ2UgNiAmIDMgJiAyIGl0ZW0gZ3JpZHMgdG8gMSBpdGVtIGdyaWRzICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDgwcHgpIHtcclxuXHQuZ3JpZC5pdGVtcy02IC5pdGVtLFxyXG5cdC5ncmlkLml0ZW1zLTQgLml0ZW0sXHJcblx0LmdyaWQuaXRlbXMtMyAuaXRlbSxcclxuXHQuZ3JpZC5pdGVtcy0yIC5pdGVtLFxyXG5cdC5ncmlkLml0ZW1zLTEgLml0ZW0ge3dpZHRoOjEwMCU7bWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtjbGVhcjpub25lICFpbXBvcnRhbnQ7fVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipHZW5lcmFsIGljb24gU2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKi0tLSBQZXJmb3JtYW5jZSBJY29ucyBzZXR0aW5ncyAtLS0qL1xyXG4ucGVyZl91cCBzcGFuLnZhbHVlLFxyXG4ucGVyZl9kb3duIHNwYW4udmFsdWUge3BhZGRpbmctcmlnaHQ6OHB4O3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuXHJcbi5wZXJmX3VwIHNwYW4udmFsdWU6YWZ0ZXIsXHJcbi5wZXJmX2Rvd24gc3Bhbi52YWx1ZTphZnRlciB7Y29udGVudDogXCJcIjtwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6NTAlO2JvcmRlci1zdHlsZTogc29saWQ7bWFyZ2luLXRvcDotNHB4O31cclxuXHJcbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7LnBlcmZfdXAgc3BhbjphZnRlciwucGVyZl9kb3duIHNwYW46YWZ0ZXIge21hcmdpbi10b3A6LTNweH19XHJcblxyXG4ucGVyZl91cCBzcGFuOmFmdGVyIHtib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM3MmI0MzEgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjBweCA0cHggNHB4IDRweDt9XHJcbi5wZXJmX2Rvd24gc3BhbjphZnRlciB7Ym9yZGVyLWNvbG9yOiNlZjQzMmMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjRweCA0cHggMHB4IDRweDt9XHJcblxyXG4vKi0tLSBGb2xkaW5nL0NvbGxhcHNpbmcgSWNvbnMgLS0tKi9cclxuLmZvbGRfbywuZm9sZF9jIHtwYWRkaW5nLWxlZnQ6MjBweDtiYWNrZ3JvdW5kOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7fVxyXG5cclxuLmZvbGRfbzpiZWZvcmUsXHJcbi5mb2xkX2M6YmVmb3JlIHt0b3A6NTAlOyBtYXJnaW4tdG9wOi01cHg7bGVmdDowcHg7Y29udGVudDogXCJcIjtwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6IDA7aGVpZ2h0OiAwO2JvcmRlci13aWR0aDo2cHg7Ym9yZGVyLXN0eWxlOnNvbGlkO31cclxuXHJcbi5mb2xkX286YmVmb3JlIHtib3JkZXItY29sb3I6ICMwMDZmYjAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7fVxyXG4uZm9sZF9jOmJlZm9yZSB7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDZmYjAgO31cclxuXHJcbi8qLS0tIFNvcnRpbmcgc2V0dGluZ3MgLS0tKi9cclxuLnNvcnRpbmdfaWNvbntwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjEycHg7cGFkZGluZy10b3A6MHB4O3BhZGRpbmctYm90dG9tOjZweDtmb250LXNpemU6MHB4ICFpbXBvcnRhbnQ7fVxyXG5cclxuLnNvcnRfbm9uZTpiZWZvcmUsXHJcbi5zb3J0X25vbmU6YWZ0ZXIsXHJcbi5zb3J0X2Rvd246YWZ0ZXIsXHJcbi5zb3J0X3VwOmFmdGVyIHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjVweDt0b3A6MCU7bWFyZ2luOjA7cGFkZGluZzowO21hcmdpbi10b3A6LTZweDtjb250ZW50OiBcIlwiO3dpZHRoOiAwO2hlaWdodDogMDtib3JkZXItc3R5bGU6c29saWQ7fVxyXG5cclxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHsuc29ydF9ub25lOmJlZm9yZSwuc29ydF9ub25lOmFmdGVyLC5zb3J0X2Rvd246YWZ0ZXIsLnNvcnRfdXA6YWZ0ZXIge3RvcDo1MCU7fX1cclxuXHJcbnRoIC5zb3J0X25vbmU6YmVmb3JlLFxyXG50aCAuc29ydF9ub25lOmFmdGVyLFxyXG50aCAuc29ydF9kb3duOmFmdGVyLFxyXG50aCAuc29ydF91cDphZnRlciB7LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgMHMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjogYWxsIDMwMG1zIDBzIGVhc2UtaW4tb3V0O31cclxuXHJcbnRoOmhvdmVyIC5zb3J0X25vbmU6YmVmb3JlLFxyXG50aDpob3ZlciAuc29ydF9ub25lOmFmdGVyLFxyXG50aDpob3ZlciAuc29ydF9kb3duOmFmdGVyLFxyXG50aDpob3ZlciAuc29ydF91cDphZnRlciB7LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTt0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTt9XHJcblxyXG4uc29ydF9ub25lOmJlZm9yZSB7Ym9yZGVyLXdpZHRoOjVweCA1cHggMHB4IDVweDtib3JkZXItY29sb3I6ICMwMDZmYjAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7bWFyZ2luLXRvcDowcHg7fVxyXG4uc29ydF9ub25lOmFmdGVyIHtib3JkZXItd2lkdGg6MHB4IDVweCA1cHggNXB4O2JvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwNmZiMCB0cmFuc3BhcmVudDttYXJnaW4tdG9wOi04cHg7fVxyXG5cclxuLnNvcnRfZG93bjphZnRlciB7Ym9yZGVyLXdpZHRoOjVweCA1cHggMHB4IDVweDtib3JkZXItY29sb3I6ICMwMDZmYjAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7fVxyXG4uc29ydF91cDphZnRlciB7Ym9yZGVyLXdpZHRoOjBweCA1cHggNXB4IDVweDtib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDZmYjAgdHJhbnNwYXJlbnQ7fVxyXG5cclxuLnNvcnRfbm9uZSB7ZGlzcGxheTpub25lO31cclxuXHJcbi8qLS0tIGZ1bmRsaXN0IGZpcnN0IGNvbHVtbiBpY29uIC0tLSovXHJcbi5jdHJsX2xpc3RmdW5kcyB0ciB0ZC5jb2wxIHtwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcbi5jdHJsX2xpc3RmdW5kcyB0ciB0ZC5jb2wxOmFmdGVyIHtsZWZ0OjVweDt0b3A6IDUwJTtib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O2NvbnRlbnQ6XCJcIjtoZWlnaHQ6IDA7d2lkdGg6IDA7cG9zaXRpb246IGFic29sdXRlO3BvaW50ZXItZXZlbnRzOiBub25lO1x0Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O1x0Ym9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O2JvcmRlci13aWR0aDo1cHg7Ym9yZGVyLWxlZnQtd2lkdGg6IDBweDttYXJnaW4tdG9wOiAtNXB4O31cclxuXHJcbi5jdHJsX2xpc3RmdW5kcyB0ciB0ZC5jb2wxLFxyXG4uY3RybF9saXN0ZnVuZHMgdHIgdGQuY29sMTphZnRlciB7LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDt9XHJcbiAgXHJcbi5jdHJsX2xpc3RmdW5kcyB0cjpob3ZlciB0ZC5jb2wxIHtwYWRkaW5nLWxlZnQ6IDE1cHg7fVxyXG4uY3RybF9saXN0ZnVuZHMgdHI6aG92ZXIgdGQuY29sMTphZnRlcntib3JkZXItbGVmdC1jb2xvcjogIzAwNmZiMDtib3JkZXItbGVmdC13aWR0aDogNnB4O31cclxuXHJcbi8qLS0tIENhdGVnb3J5IEljb25zLS0tKi9cclxuLmljb19lZmNfY2F0IHtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7YmVoYXZpb3I6IHVybCguLi8uLi9qcy9QSUUuaHRjKTttYXJnaW4tcmlnaHQ6NXB4O2ZvbnQtc2l6ZToyMHB4OyBwYWRkaW5nLWxlZnQ6MjdweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6M3B4O31cclxuXHJcbi5lZmNfY2F0MSB7YmFja2dyb3VuZDojMDA2ZmIwIHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZWZjX2NhdDEucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5lZmNfY2F0MiB7YmFja2dyb3VuZDojMDA2ZmIwIHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZWZjX2NhdDIucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5lZmNfY2F0MyB7YmFja2dyb3VuZDojY2MyYTdlIHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZWZjX2NhdDMucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5lZmNfY2F0NCB7YmFja2dyb3VuZDojY2MyYTdlIHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZWZjX2NhdDQucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5lZmNfY2F0NSB7YmFja2dyb3VuZDojZWY0MzJjIHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZWZjX2NhdDUucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5lZmNfY2F0NiB7YmFja2dyb3VuZDojZWY0MzJjIHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZWZjX2NhdDYucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcblxyXG4vKi0tLSBGbGFnIEljb25zIC0tLSovXHJcbi5pY29fZmxhZyB7XHJcbiAgICBcclxuICAgIGRpc3BsYXk6YmxvY2s7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtcclxuXHJcbi5kYS1ESyB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfZGEtREsucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO31cclxuLmRlLURFIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19kZS1ERS5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7fVxyXG4uZGUtQ0gge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX2RlLUNILnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTt9XHJcbi5mci1DSCB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfZnItQ0gucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO31cclxuLml0LUNIIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19pdC1DSC5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7fVxyXG4uZWwtR1Ige2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX2VsLUdSLnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTt9XHJcbi5lbi1DSCB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfZW4tQ0gucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO31cclxuLmVuLUdCIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19lbi1HQi5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7fVxyXG4uZXMtRVMge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX2VzLUVTLnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTt9XHJcbi5ldC1FRSB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfZXQtRUUucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO31cclxuLmZpLUZJIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19maS1GSS5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7fVxyXG4uZnItRlIge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX2ZyLUZSLnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTt9XHJcbi5oZS1JTCB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfaGUtSUwucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO31cclxuLmlzLUlTIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19pcy1JUy5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7fVxyXG4uaXQtSVQge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX2l0LUlULnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTt9XHJcbi5sdC1MVCB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfbHQtTFQucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO31cclxuLmx2LUxWIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19sdi1MVi5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7fVxyXG4ubmItTk8ge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX25iLU5PLnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTt9XHJcbi5ubC1OTCB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfbmwtTkwucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO31cclxuLnBsLVBMIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19wbC1QTC5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7fVxyXG4ucHQtUFQge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX3B0LVBULnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTt9XHJcbi5yby1STyB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfcm8tUk8ucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO31cclxuLnNlLUZJIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19zZS1GSS5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7fSAvKlNob3VsZCBuZXZlciBiZSB1c2VkKi9cclxuLnNlLVNFIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19zZS1TRS5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7fSAvKlNob3VsZCBuZXZlciBiZSB1c2VkKi9cclxuLnN2LVNFIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19zdi1TRS5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7fVxyXG4uc3YtRkkge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX3N2LUZJLnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTt9XHJcblxyXG59XHJcblxyXG4uYWxpZ25yaWdodCAuaWNvX2ZsYWcge2Zsb2F0OnJpZ2h0O3RleHQtYWxpZ246cmlnaHQ7fVxyXG4uYWxpZ25taWRkbGUgLmljb19mbGFnIHtmbG9hdDpub25lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG87fVxyXG4uYWxpZ25sZWZ0IC5pY29fZmxhZyB7ZmxvYXQ6bGVmdDt0ZXh0LWFsaWduOmxlZnQ7fVxyXG5cclxuXHJcblxyXG4vKi0tLSBTdGF0dXMgSWNvbnMgLS0tKi9cclxuLmljb19zdGF0dXMge2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDt9XHJcbi5pY29fc3RhdHVzIHtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fc3RhdHVzLnBuZyk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O31cclxuLnN0YXR1cy12YWxpZCB7YmFja2dyb3VuZC1wb3NpdGlvbjowcHggMHB4O31cclxuLnN0YXR1cy1pbnZhbGlkIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMHB4IDBweDt9XHJcbi5zdGF0dXMtdW52YWxpZGF0ZWQge2JhY2tncm91bmQtcG9zaXRpb246LTQwcHggMHB4O31cclxuXHJcbi5hbGlnbnJpZ2h0IC5pY29fc3RhdHVzIHtmbG9hdDpyaWdodDt0ZXh0LWFsaWduOnJpZ2h0O31cclxuLmFsaWdubWlkZGxlIC5pY29fc3RhdHVzIHtmbG9hdDpub25lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG87fVxyXG4uYWxpZ25sZWZ0IC5pY29fc3RhdHVzIHtmbG9hdDpsZWZ0O3RleHQtYWxpZ246bGVmdDt9XHJcblxyXG4vKi0tLSBlZmMgZXN0aW1hdGVkIFZTIGFwcHJvdmVkIEljb25zIC0tLSovXHJcbi5lZmNfZXN0aW1hdGVkLCAuZWZjX2FwcHJvdmVkIHtkaXNwbGF5OmJsb2NrO3dpZHRoOjMycHg7aGVpZ2h0OjE2cHg7fVxyXG4uZWZjX2VzdGltYXRlZCBwLCAuZWZjX2FwcHJvdmVkIHAge2Rpc3BsYXk6bm9uZTt9XHJcblxyXG4uYWxpZ25yaWdodCAuZWZjX2VzdGltYXRlZCxcclxuLmFsaWducmlnaHQgLmVmY19hcHByb3ZlZCB7ZmxvYXQ6cmlnaHQ7dGV4dC1hbGlnbjpyaWdodDt9XHJcblxyXG4uYWxpZ25taWRkbGUgLmVmY19lc3RpbWF0ZWQsXHJcbi5hbGlnbm1pZGRsZSAuZWZjX2FwcHJvdmVkIHtmbG9hdDpub25lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG87fVxyXG5cclxuLmFsaWdubGVmdCAuZWZjX2VzdGltYXRlZCxcclxuLmFsaWdubGVmdCAuZWZjX2FwcHJvdmVkIHtmbG9hdDpsZWZ0O3RleHQtYWxpZ246bGVmdDt9XHJcblxyXG4uZWZjX2VzdGltYXRlZCB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2VmY19lc3RpbWF0ZWQucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5lZmNfYXBwcm92ZWQgIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZWZjX2FwcHJvdmVkLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7fVxyXG5cclxuLyotLS0gUERGICsgUERGTGluayBJY29ucyAtLS0qL1xyXG4ucGRmX2ltZyxcclxuLnBkZl9pbWdfaW5hY3RpdmUsXHJcbi5wZGZfbGlua19pbWcsXHJcbi5wZGZfbGlua19pbWdfaW5hY3RpdmUge2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyM3B4O3dpZHRoOjI2cHg7fVxyXG5cclxuLmFsaWducmlnaHQgLnBkZl9pbWcsLmFsaWducmlnaHQgLnBkZl9pbWdfaW5hY3RpdmUsXHJcbi5hbGlnbnJpZ2h0IC5wZGZfbGlua19pbWcsLmFsaWducmlnaHQgLnBkZl9saW5rX2ltZ19pbmFjdGl2ZSB7ZmxvYXQ6cmlnaHQ7dGV4dC1hbGlnbjpyaWdodDt9XHJcblxyXG4uYWxpZ25taWRkbGUgLnBkZl9pbWcsLmFsaWdubWlkZGxlIC5wZGZfaW1nX2luYWN0aXZlLFxyXG4uYWxpZ25taWRkbGUgLnBkZl9saW5rX2ltZywuYWxpZ25taWRkbGUgLnBkZl9saW5rX2ltZ19pbmFjdGl2ZSB7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvO31cclxuXHJcbi5hbGlnbmxlZnQgLnBkZl9pbWcsLmFsaWdubGVmdCAucGRmX2ltZ19pbmFjdGl2ZSxcclxuLmFsaWdubGVmdCAucGRmX2xpbmtfaW1nLC5hbGlnbmxlZnQgLnBkZl9saW5rX2ltZ19pbmFjdGl2ZSB7ZmxvYXQ6bGVmdDt0ZXh0LWFsaWduOmxlZnQ7fVxyXG5cclxuLnBkZl9pbWdfaW5hY3RpdmUge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19wZGZfaW5hY3RpdmUucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5wZGZfaW1nIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fcGRmLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7fVxyXG4ucGRmX2ltZzpob3ZlciB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX3BkZl9ob3Zlci5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuXHJcbi5wZGZfbGlua19pbWdfaW5hY3RpdmUge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19wZGZleHRlcm5hbF9pbmFjdGl2ZS5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLnBkZl9saW5rX2ltZyB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX3BkZmV4dGVybmFsX2xpbmsucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5wZGZfbGlua19pbWc6aG92ZXIge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19wZGZleHRlcm5hbF9ob3Zlci5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuXHJcbi8qLS0tIEZ1bmRsaXN0IFBERiBJY29ucyAtLS0qL1xyXG4ucGRmX2Z1bmRsaXN0LFxyXG4ucGRmX2Z1bmRsaXN0X2luYWN0aXZlLFxyXG4ucGRmX2Z1bmRsaXN0OmhvdmVyIHtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTZweDt3aWR0aDoyNHB4O31cclxuXHJcbi5hbGlnbnJpZ2h0IC5wZGZfZnVuZGxpc3QsLmFsaWducmlnaHQgLnBkZl9mdW5kbGlzdF9pbmFjdGl2ZSB7ZmxvYXQ6cmlnaHQ7dGV4dC1hbGlnbjpyaWdodDt9XHJcblxyXG4uYWxpZ25taWRkbGUgLnBkZl9mdW5kbGlzdCwuYWxpZ25taWRkbGUgLnBkZl9mdW5kbGlzdF9pbmFjdGl2ZSB7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvO31cclxuXHJcbi5hbGlnbmxlZnQgLnBkZl9mdW5kbGlzdCwuYWxpZ25sZWZ0IC5wZGZfZnVuZGxpc3RfaW5hY3RpdmUge2Zsb2F0OmxlZnQ7dGV4dC1hbGlnbjpsZWZ0O31cclxuXHJcbi5wZGZfZnVuZGxpc3RfaW5hY3RpdmUge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19wZGZfZnVuZGxpc3RfaW5hY3RpdmUucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5wZGZfZnVuZGxpc3Qge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19wZGZfZnVuZGxpc3QucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5wZGZfZnVuZGxpc3Q6aG92ZXIge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19wZGZfZnVuZGxpc3RfaG92ZXIucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcblxyXG4vKi0tLSBNb3JuaW5nc3RhciBSYXRpbmcgSWNvbnMgLS0tKi9cclxuLmN0cmxfbGlzdGZ1bmRzIHNwYW4gc3Bhbi5tc19yYW5rLFxyXG4uY3RybF9saXN0ZnVuZHMgc3BhbiBzcGFuLm1zX3JhbmsxLFxyXG4uY3RybF9saXN0ZnVuZHMgc3BhbiBzcGFuLm1zX3JhbmsyLFxyXG4uY3RybF9saXN0ZnVuZHMgc3BhbiBzcGFuLm1zX3JhbmszLFxyXG4uY3RybF9saXN0ZnVuZHMgc3BhbiBzcGFuLm1zX3Jhbms0LFxyXG4uY3RybF9saXN0ZnVuZHMgc3BhbiBzcGFuLm1zX3Jhbms1IHtkaXNwbGF5OmJsb2NrO3dpZHRoOjcxcHg7aGVpZ2h0OjE2cHg7bWFyZ2luOmF1dG87fVxyXG5cclxuLm1zX3Jhbmsge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19tc18ucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5tc19yYW5rMSB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX21zXy5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLm1zX3JhbmsyIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fbXNfLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7fVxyXG4ubXNfcmFuazMge2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19tc18ucG5nKSBuby1yZXBlYXQgNTAlIDUwJTt9XHJcbi5tc19yYW5rNCB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX21zXy5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLm1zX3Jhbms1IHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fbXNfLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7fVxyXG5cclxuLyotLS0gRnVuZENvbm5lY3QgUmFua2luZyBJY29ucyAtLS0qL1xyXG4uY3RybF9saXN0ZnVuZHMgc3BhbiBzcGFuLmZjX3JhbmssXHJcbi5jdHJsX2xpc3RmdW5kcyBzcGFuIHNwYW4uZmNfcmFuazEsXHJcbi5jdHJsX2xpc3RmdW5kcyBzcGFuIHNwYW4uZmNfcmFuazIsXHJcbi5jdHJsX2xpc3RmdW5kcyBzcGFuIHNwYW4uZmNfcmFuazMsXHJcbi5jdHJsX2xpc3RmdW5kcyBzcGFuIHNwYW4uZmNfcmFuazQsXHJcbi5jdHJsX2xpc3RmdW5kcyBzcGFuIHNwYW4uZmNfcmFuazUge2Rpc3BsYXk6YmxvY2s7d2lkdGg6NDhweDtoZWlnaHQ6MTZweDttYXJnaW46YXV0bzt9XHJcblxyXG4uYWxpZ25yaWdodCAuZmNfcmFuaywuYWxpZ25yaWdodCAuZmNfcmFuazEsLmFsaWducmlnaHQgLmZjX3JhbmsyLC5hbGlnbnJpZ2h0IC5mY19yYW5rMyxcclxuLmFsaWducmlnaHQgLmZjX3Jhbms0LC5hbGlnbnJpZ2h0IC5mY19yYW5rNSB7ZmxvYXQ6cmlnaHQ7dGV4dC1hbGlnbjpyaWdodDt9XHJcblxyXG4uYWxpZ25taWRkbGUgLmZjX3JhbmssLmFsaWdubWlkZGxlIC5mY19yYW5rMSwuYWxpZ25taWRkbGUgLmZjX3JhbmsyLC5hbGlnbm1pZGRsZSAuZmNfcmFuazMsXHJcbi5hbGlnbm1pZGRsZSAuZmNfcmFuazQsLmFsaWdubWlkZGxlIC5mY19yYW5rNSB7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvO31cclxuXHJcbi5hbGlnbmxlZnQgLmZjX3JhbmssLmFsaWdubGVmdCAuZmNfcmFuazEsLmFsaWdubGVmdCAuZmNfcmFuazIsLmFsaWdubGVmdCAuZmNfcmFuazMsXHJcbi5hbGlnbmxlZnQgLmZjX3Jhbms0LC5hbGlnbmxlZnQgLmZjX3Jhbms1IHtmbG9hdDpsZWZ0O3RleHQtYWxpZ246bGVmdDt9XHJcblxyXG4uZmNfcmFuayB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZjX3JhdGluZy5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLmZjX3JhbmsxIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmNfcmF0aW5nMS5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLmZjX3JhbmsyIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmNfcmF0aW5nMi5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLmZjX3JhbmszIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmNfcmF0aW5nMy5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLmZjX3Jhbms0IHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmNfcmF0aW5nNC5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLmZjX3Jhbms1IHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmNfcmF0aW5nNS5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuXHJcbi8qLS0tIGZ1bmRsaXN0IHJpc2sgaW5kaWNhdG9yIC0tLSovXHJcbi8qIElNUE9SVEFOVCBOT1RFIFRIRSBDRUxMIFdSQVBQSU5HIFRIRSBSSVNLIElORElDQVRPUiBNVVNUIEhBVkUgQSBQT1NJVElPTiBSRUxBVElWRSovXHJcblxyXG4vKiBmdW5kbGlzdCByaXNrIGluZGljYXRvciBwb3NpdGlvbmluZyAqL1xyXG4uY3RybF9saXN0ZnVuZHMgLmFsaWdubGVmdCAuZGVmYXVsdF9mdW5kbGlzdF9yaXNraW5kaWNhdG9yIHtsZWZ0OjAlO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1sZWZ0OjAgIWltcG9ydGFudDt9XHJcbi5jdHJsX2xpc3RmdW5kcyAuYWxpZ25yaWdodCAuZGVmYXVsdF9mdW5kbGlzdF9yaXNraW5kaWNhdG9yIHtyaWdodDowJTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tbGVmdDphdXRvICFpbXBvcnRhbnQ7fVxyXG4uY3RybF9saXN0ZnVuZHMgLmFsaWdubWlkZGxlIC5kZWZhdWx0X2Z1bmRsaXN0X3Jpc2tpbmRpY2F0b3Ige2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0xNXB4O3RleHQtYWxpZ246Y2VudGVyO31cclxuXHJcbi5jdHJsX2xpc3RmdW5kcyAuYWxpZ25sZWZ0IC5kZWZhdWx0X2Z1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLmZ1bmRsaXN0X3Jpc2tpbmRpY2F0b3J7bWFyZ2luLWxlZnQ6MCAhaW1wb3J0YW50O31cclxuLmN0cmxfbGlzdGZ1bmRzIC5hbGlnbnJpZ2h0IC5kZWZhdWx0X2Z1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLmZ1bmRsaXN0X3Jpc2tpbmRpY2F0b3J7bWFyZ2luLWxlZnQ6YXV0byAhaW1wb3J0YW50O31cclxuXHJcbi8qIHJpc2sgaW5kaWNhdG9yIGNvbnRhaW5lciAqL1xyXG4uY3RybF9saXN0ZnVuZHMgdGQgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjExcHg7ei1pbmRleDo5OTk5OTk7fVxyXG5cclxuLyogcmlzayBpbmRpY2F0b3IqL1xyXG4uY3RybF9saXN0ZnVuZHMgdGQgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciAuZnVuZGxpc3Rfcmlza2luZGljYXRvciB7aGVpZ2h0OjE4cHg7d2lkdGg6MzBweDtsaW5lLWhlaWdodDoxOHB4O21hcmdpbi1sZWZ0OjBweDtwYWRkaW5nOjNweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O2JhY2tncm91bmQ6I2VlZWVlZTtwYWRkaW5nLWxlZnQ6MHB4O3BhZGRpbmctcmlnaHQ6MHB4O2JlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7fVxyXG4uY3RybF9saXN0ZnVuZHMgdGQ6aG92ZXIgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciAuZnVuZGxpc3Rfcmlza2luZGljYXRvciB7d2lkdGg6MTU1cHg7bWFyZ2luLWxlZnQ6LTYzcHg7cGFkZGluZzozcHg7Ym9yZGVyLXJhZGl1czoxMHB4Oy13ZWJraXQtYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwwLDAsMC4zKTtib3gtc2hhZG93OiAwcHggMXB4IDNweCAwcHggcmdiYSgwLDAsMCwwLjMpO2JlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7fVxyXG4uY3RybF9saXN0ZnVuZHMgdGQ6aG92ZXIgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciAuZnVuZGxpc3Rfcmlza2luZGljYXRvci5ub3Jpc2sge3dpZHRoOjMwcHg7bWFyZ2luLWxlZnQ6MHB4O3BhZGRpbmctbGVmdDowcHg7cGFkZGluZy1yaWdodDowcHg7Ym9yZGVyLXJhZGl1czo1MCU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2JlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7fVxyXG5cclxuLyogcmlzayBsZXZlbHMqL1xyXG4uY3RybF9saXN0ZnVuZHMgdGQgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciAuZnVuZGxpc3Rfcmlza2luZGljYXRvciAucmlza19sZXZlbHtkaXNwbGF5OmJsb2NrO2Zsb2F0OmxlZnQ7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjBweDtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O31cclxuLmN0cmxfbGlzdGZ1bmRzIHRkOmhvdmVyIC5kZWZhdWx0X2Z1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLmZ1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLnJpc2tfbGV2ZWwge3dpZHRoOjIwcHg7fVxyXG4uY3RybF9saXN0ZnVuZHMgdGQ6aG92ZXIgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciAuZnVuZGxpc3Rfcmlza2luZGljYXRvci5ub3Jpc2sgLnJpc2tfbGV2ZWwge3dpZHRoOjBweDt9XHJcblxyXG4vKiByaXNrIGluZGljYXRvciBhY3RpdmUqL1xyXG4uY3RybF9saXN0ZnVuZHMgdGQgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciAuZnVuZGxpc3Rfcmlza2luZGljYXRvciAucmlza19sZXZlbC5hY3RpdmUge3RvcDotNXB4O2NvbG9yOiNmZmZmZmYgIWltcG9ydGFudDt3aWR0aDozMHB4ICFpbXBvcnRhbnQ7aGVpZ2h0OjMwcHggIWltcG9ydGFudDtsaW5lLWhlaWdodDozMHB4ICFpbXBvcnRhbnQ7Zm9udC1zaXplOjEyMCU7Zm9udC13ZWlnaHQ6Ym9sZDtib3JkZXItcmFkaXVzOiA1MCU7YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtiZWhhdmlvcjogdXJsKC4uLy4uL2pzL1BJRS5odGMpO31cclxuLmN0cmxfbGlzdGZ1bmRzIHRkOmhvdmVyIC5kZWZhdWx0X2Z1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLmZ1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLnJpc2tfbGV2ZWwuYWN0aXZlIHstd2Via2l0LWJveC1zaGFkb3c6IDBweCAxcHggM3B4IDBweCByZ2JhKDAsMCwwLDAuMyk7Ym94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwwLDAsMC4zKTtiZWhhdmlvcjogdXJsKC4uLy4uL2pzL1BJRS5odGMpO31cclxuLmN0cmxfbGlzdGZ1bmRzIHRkOmhvdmVyIC5kZWZhdWx0X2Z1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLmZ1bmRsaXN0X3Jpc2tpbmRpY2F0b3Iubm9yaXNrIC5yaXNrX2xldmVsLmFjdGl2ZSB7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO31cclxuXHJcbi5jdHJsX2xpc3RmdW5kcyAucmlza19sZXZlbC5hY3RpdmUge2JhY2tncm91bmQ6IzAwNmZiMDt9XHJcblxyXG4vKi0tLSBhZGRpbmcgYW5pbWF0aW9uICh3aGVuIHN1cHBvcnRlZCkgLS0tKi9cclxuLmN0cmxfbGlzdGZ1bmRzIC5mdW5kbGlzdF9yaXNraW5kaWNhdG9yLFxyXG4uY3RybF9saXN0ZnVuZHMgLmZ1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLnJpc2tfbGV2ZWwgey13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7fVxyXG5cclxuLyotLS0tIGFkZGl0aW9uYWwgZmVhdHVyZXMgLS0tKi9cclxuLyotIGdvIGJhY2sgdG8gZnVuZGxpc3QgaWNvbiAtKi9cclxuLmljb24uZ29fZnVuZGxpc3R7cG9zaXRpb246IHJlbGF0aXZlO21hcmdpbi1sZWZ0OiAxMHB4O3BhZGRpbmctcmlnaHQ6NXB4O31cclxuLmljb24uZ29fZnVuZGxpc3Q6YWZ0ZXIsIC5pY29uLmdvX2Z1bmRsaXN0OmJlZm9yZSB7cmlnaHQ6IDEwMCU7dG9wOiA1MCU7Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OiBcIiBcIjtoZWlnaHQ6IDA7d2lkdGg6IDA7cG9zaXRpb246IGFic29sdXRlO3BvaW50ZXItZXZlbnRzOiBub25lO31cclxuLmljb24uZ29fZnVuZGxpc3Q6YWZ0ZXIge2JvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOiAjMDA2ZmIwO2JvcmRlci13aWR0aDogOHB4O21hcmdpbi10b3A6IC04cHg7bGVmdDotMjBweDt9XHJcbi5pY29uLmdvX2Z1bmRsaXN0OmJlZm9yZSB7Ym9yZGVyLWNvbG9yOiAjMDA2ZmIwO21hcmdpbi10b3A6IC00cHg7bGVmdDotNnB4O2JvcmRlci13aWR0aDogNHB4IDNweDt9XHJcblxyXG4uZ29fZnVuZGxpc3QgLmljb24uZ29fZnVuZGxpc3Q6YWZ0ZXIge2xlZnQ6LTE2cHg7fVxyXG4uZ29fZnVuZGxpc3Q6aG92ZXIgLmljb24uZ29fZnVuZGxpc3Q6YWZ0ZXIge2xlZnQ6LTIwcHg7dHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7fVxyXG5cclxuLmdvX2Z1bmRsaXN0IC5pY29uLmdvX2Z1bmRsaXN0OmJlZm9yZSB7bGVmdDotM3B4O31cclxuLmdvX2Z1bmRsaXN0OmhvdmVyIC5pY29uLmdvX2Z1bmRsaXN0OmJlZm9yZSB7bGVmdDotNnB4O3RyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO31cclxuXHJcbi5nb19mdW5kbGlzdCAuaWNvbi5nb19mdW5kbGlzdCxcclxuLmdvX2Z1bmRsaXN0IC5pY29uLmdvX2Z1bmRsaXN0OmFmdGVyLFxyXG4uZ29fZnVuZGxpc3QgLmljb24uZ29fZnVuZGxpc3Q6YmVmb3Jley13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgMHMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjogYWxsIDAuM3MgMHMgZWFzZS1pbi1vdXQ7fVxyXG5cclxuLyotIGdvIHRvIHBhZ2UgdG9wIC0qL1xyXG4uaWNvbi5nb19wYWdldG9we3Bvc2l0aW9uOiByZWxhdGl2ZTttYXJnaW4tbGVmdDogMTBweDt9XHJcbi5pY29uLmdvX3BhZ2V0b3A6YWZ0ZXIsIC5pY29uLmdvX3BhZ2V0b3A6YmVmb3JlIHtyaWdodDogMTAwJTt0b3A6IDUwJTtib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O2NvbnRlbnQ6IFwiIFwiO2hlaWdodDogMDt3aWR0aDogMDtwb3NpdGlvbjogYWJzb2x1dGU7cG9pbnRlci1ldmVudHM6IG5vbmU7fVxyXG4uaWNvbi5nb19wYWdldG9wOmFmdGVyIHtib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b20tY29sb3I6ICMwMDZmYjA7Ym9yZGVyLXdpZHRoOiA4cHg7bGVmdDotMTRweDt9XHJcbi5pY29uLmdvX3BhZ2V0b3A6YmVmb3JlIHtib3JkZXItY29sb3I6ICMwMDZmYjA7bWFyZ2luLXRvcDo0cHg7bGVmdDotMTBweDtib3JkZXItd2lkdGg6M3B4IDRweDt9XHJcblxyXG4uZ29fcGFnZXRvcCAuaWNvbi5nb19wYWdldG9wOmFmdGVyIHttYXJnaW4tdG9wOiAtMTVweDt9XHJcbi5nb19wYWdldG9wOmhvdmVyIC5pY29uLmdvX3BhZ2V0b3A6YWZ0ZXIge21hcmdpbi10b3A6IC0xNnB4O3RyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO31cclxuXHJcbi5nb19wYWdldG9wIC5pY29uLmdvX3BhZ2V0b3A6YmVmb3JlIHttYXJnaW4tdG9wOi0xcHg7fVxyXG4uZ29fcGFnZXRvcDpob3ZlciAuaWNvbi5nb19wYWdldG9wOmJlZm9yZSB7bWFyZ2luLXRvcDogLTBweDt0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTt9XHJcblxyXG4uZ29fcGFnZXRvcCAuaWNvbi5nb19wYWdldG9wLFxyXG4uZ29fcGFnZXRvcCAuaWNvbi5nb19wYWdldG9wOmFmdGVyLFxyXG4uZ29fcGFnZXRvcCAuaWNvbi5nb19wYWdldG9wOmJlZm9yZXstd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2UtaW4tb3V0O31cclxuXHJcbi8qLSBleHBvcnRfcGRmIGljb24gLSovXHJcbi5pY29uLmV4cG9ydF9wZGZ7cG9zaXRpb246IHJlbGF0aXZlO21hcmdpbi1sZWZ0OiAyNXB4O3BhZGRpbmctcmlnaHQ6NXB4O31cclxuLmljb24uZXhwb3J0X3BkZjpiZWZvcmUsXHJcbi5pY29uLmV4cG9ydF9wZGY6YWZ0ZXIge3JpZ2h0OiAxMDAlO3RvcDogNTAlO2JvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7Y29udGVudDogXCIgXCI7aGVpZ2h0OiAwO3dpZHRoOiAwO3Bvc2l0aW9uOiBhYnNvbHV0ZTtwb2ludGVyLWV2ZW50czogbm9uZTt9XHJcblxyXG4uaWNvbi5leHBvcnRfcGRmOmJlZm9yZSB7Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtib3JkZXItdG9wLWNvbG9yOiAjMDA2ZmIwO2JvcmRlci13aWR0aDogNnB4O21hcmdpbi1yaWdodDo3cHg7fVxyXG4uaWNvbi5leHBvcnRfcGRmOmFmdGVyIHtjb250ZW50OidQREYnO2JhY2tncm91bmQ6ICMwMDZmYjA7Zm9udC1zaXplOiA4cHg7aGVpZ2h0OiA4cHg7d2lkdGg6IDE4cHg7bGluZS1oZWlnaHQ6IDhweDttYXJnaW4tdG9wOiAtOHB4O21hcmdpbi1yaWdodDoycHg7Y29sb3I6I2ZmZmZmZjtib3JkZXItcmFkaXVzOjJweDt9XHJcblxyXG4uZXhwb3J0X3BkZiAuaWNvbi5leHBvcnRfcGRmOmJlZm9yZSB7bWFyZ2luLXRvcDogLTZweDt9XHJcbi5leHBvcnRfcGRmOmhvdmVyIC5pY29uLmV4cG9ydF9wZGY6YmVmb3JlIHttYXJnaW4tdG9wOi0xMXB4O3RyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpfVxyXG5cclxuLmV4cG9ydF9wZGYgLmljb24uZXhwb3J0X3BkZjphZnRlciB7bWFyZ2luLXRvcDogLThweDt9XHJcbi5leHBvcnRfcGRmOmhvdmVyIC5pY29uLmV4cG9ydF9wZGY6YWZ0ZXIge21hcmdpbi10b3A6IC00cHg7fVxyXG5cclxuLmV4cG9ydF9wZGYgLmljb24uZXhwb3J0X3BkZixcclxuLmV4cG9ydF9wZGYgLmljb24uZXhwb3J0X3BkZjpiZWZvcmUsXHJcbi5leHBvcnRfcGRmIC5pY29uLmV4cG9ydF9wZGY6YWZ0ZXIgey13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgMHMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjogYWxsIDAuM3MgMHMgZWFzZS1pbi1vdXQ7fVxyXG5cclxuLyotIGJ0bl9wcmludCBpY29uIC0qL1xyXG4uaWNvbi5idG5fcHJpbnR7cG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOjEycHg7Ym9yZGVyLWNvbG9yOiAjMDA2ZmIwO2JvcmRlci1yYWRpdXM6MnB4O2hlaWdodDogMnB4O2Rpc3BsYXk6IGlubGluZS1ibG9jazttYXJnaW4tdG9wOjJweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweCAzcHggNHB4IDNweDt9XHJcblxyXG4uaWNvbi5idG5fcHJpbnQ6YmVmb3JlIHtyaWdodDogMCU7dG9wOiA1MCU7Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OiBcIiBcIjtoZWlnaHQ6IDA7d2lkdGg6IDA7cG9zaXRpb246IGFic29sdXRlO3BvaW50ZXItZXZlbnRzOiBub25lO31cclxuLmljb24uYnRuX3ByaW50OmJlZm9yZSB7bWFyZ2luLXJpZ2h0OiAwcHg7YmFja2dyb3VuZC1jb2xvcjojMDA2ZmIwO31cclxuXHJcbi5idG5fcHJpbnQgLmljb24uYnRuX3ByaW50OmJlZm9yZSB7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6NnB4O2hlaWdodDoxcHg7bWFyZ2luLXRvcDotMTBweDt9XHJcbi5ub25fbW9iaWxlIC5idG5fcHJpbnQ6aG92ZXIgLmljb24uYnRuX3ByaW50OmJlZm9yZSB7aGVpZ2h0OjJweDttYXJnaW4tdG9wOiAtMHB4O31cclxuXHJcbi5idG5fcHJpbnQgLmljb24uYnRuX3ByaW50LFxyXG4uYnRuX3ByaW50IC5pY29uLmJ0bl9wcmludDpiZWZvcmUgey13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgMHMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjogYWxsIDAuM3MgMHMgZWFzZS1pbi1vdXQ7fVxyXG5cclxuLyotIGJ0bl9leHBvcnQgaWNvbiAtKi9cclxuLmljb24uYnRuX2V4cG9ydHtwb3NpdGlvbjogcmVsYXRpdmU7bWFyZ2luLWxlZnQ6IDEwcHg7fVxyXG4uaWNvbi5idG5fZXhwb3J0OmJlZm9yZSxcclxuLmljb24uYnRuX2V4cG9ydDphZnRlciB7cmlnaHQ6IDEwMCU7dG9wOiA1MCU7Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OiBcIiBcIjtoZWlnaHQ6IDA7d2lkdGg6IDA7cG9zaXRpb246IGFic29sdXRlO3BvaW50ZXItZXZlbnRzOiBub25lO31cclxuLmljb24uYnRuX2V4cG9ydDpiZWZvcmUge2JvcmRlci1jb2xvcjogIzAwNmZiMDtib3JkZXItd2lkdGg6MXB4IDZweDttYXJnaW4tcmlnaHQ6MnB4O31cclxuLmljb24uYnRuX2V4cG9ydDphZnRlciB7Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtib3JkZXItdG9wLWNvbG9yOiAjMDA2ZmIwO2JvcmRlci13aWR0aDogNnB4O21hcmdpbi1yaWdodDoycHg7fVxyXG5cclxuLmJ0bl9leHBvcnQgLmljb24uYnRuX2V4cG9ydDpiZWZvcmUge21hcmdpbi10b3A6IC00cHg7fVxyXG4uYnRuX2V4cG9ydDpob3ZlciAuaWNvbi5idG5fZXhwb3J0OmJlZm9yZSB7bWFyZ2luLXRvcDotNnB4O3RyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpfVxyXG5cclxuLmJ0bl9leHBvcnQgLmljb24uYnRuX2V4cG9ydDphZnRlciB7bWFyZ2luLXRvcDogLTJweDt9XHJcbi5idG5fZXhwb3J0OmhvdmVyIC5pY29uLmJ0bl9leHBvcnQ6YWZ0ZXIge21hcmdpbi10b3A6IC0xcHg7dHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyl9XHJcblxyXG4uYnRuX2V4cG9ydCAuaWNvbi5idG5fZXhwb3J0LFxyXG4uYnRuX2V4cG9ydCAuaWNvbi5idG5fZXhwb3J0OmJlZm9yZSxcclxuLmJ0bl9leHBvcnQgLmljb24uYnRuX2V4cG9ydDphZnRlciB7LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqTGlua3MgKyBCdXR0b24gU2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKi0tLSBHZW5lcmFsIGxpbmsgc2V0dGluZ3MgLS0tKi9cclxuLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWJ1dHRvbiBzcGFuLGF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fVxyXG4udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSAudWktYnV0dG9uIHNwYW4sYSxhOmxpbmssYTp2aXNpdGVke2NvbG9yOiMwMDZmYjA7fVxyXG4udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSAudWktYnV0dG9uIHNwYW46aG92ZXIsYTpob3ZlciB7Y29sb3I6IzU3NTg1OTt9XHJcblxyXG4vKi0tLSBHZW5lcmFsIGJ1dHRvbiBzZXR0aW5ncyAtLS0qL1xyXG4vKiBub3JtYWwgc3RhdGUgKi9cclxuLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWJ1dHRvbixcclxuLmJ0bixpbnB1dFt0eXBlPWJ1dHRvbl0sYnV0dG9uIHttYXJnaW4tbGVmdDo1cHg7cGFkZGluZzo4cHggMTBweDtjdXJzb3I6cG9pbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlcjpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrO31cclxuXHJcbi5idG46Zmlyc3Qtb2YtdHlwZSxcclxuaW5wdXRbdHlwZT1idXR0b25dOmZpcnN0LW9mLXR5cGUsXHJcbmJ1dHRvbjpmaXJzdC1vZi10eXBlIHttYXJnaW4tbGVmdDowcHg7fVxyXG5cclxuLypob3ZlciBzdGF0ZSAqL1xyXG4udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSAudWktYnV0dG9uOmhvdmVyLFxyXG4uYnRuOmhvdmVyLGlucHV0W3R5cGU9YnV0dG9uXTpob3ZlcixidXR0b246aG92ZXIge3RleHQtZGVjb3JhdGlvbjpub25lO31cclxuXHJcbi8qIGluYWN0aXZlIHN0YXRlKi9cclxuLmJ0bi5pbmFjdGl2ZSB7Y3Vyc29yOmRlZmF1bHQgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDt9XHJcblxyXG4vKi0tLSBhbmltYXRpb25zKGlmIHN1cHBvcnRlZCkgLS0tKi9cclxuLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWJ1dHRvbiBzcGFuLCBhLCAuYnRuLCBpbnB1dFt0eXBlPWJ1dHRvbl0sIGJ1dHRvbiB7LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDt9XHJcblxyXG4vKi0tLSBGdW5kbGlzdCBcIkJ1eVwiIGJ1dHRvbiBTZXR0aW5ncyAtLS0qL1xyXG4ubGlzdGZ1bmRzIC5idXR0b25zIGEsXHJcbiNGdW5kTGlzdENvcHkgLmJ1dHRvbnMgYXtwYWRkaW5nOjFweCAxMHB4IDFweCAxMHB4O31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKipOYXZpZ2F0aW9uIGJhciBTZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qLS0tIGdlbmVyYWwgbmF2aWdhdGlvbiBjb250YWluZXIgKGJvdGggdGFicyBhbmQgY2hhcnRzKSAtLS0qL1xyXG4ubmF2aWdhdGlvbiB7cGFkZGluZy1ib3R0b206NXB4O31cclxuXHJcbi8qLS0tIGdlbmVyYWwgbmF2aWdhdGlvbiBsaXN0IC0tLSovXHJcbi5uYXZpZ2F0aW9uIHVsIHt9XHJcbi5uYXZpZ2F0aW9uIHVsIGxpIHstd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O31cclxuXHJcbi8qTmF2aWdhdGlvbiBsaW5rIGhlaWdodHMgYW5kIGdlbmVyYWwgc2V0dGluZ3MqL1xyXG4ubmF2aWdhdGlvbiB1bCBsaSB7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bGVmdDttYXJnaW4tbGVmdDo1cHg7fVxyXG4ubmF2aWdhdGlvbiB1bCBsaTpmaXJzdC1jaGlsZCB7bWFyZ2luLWxlZnQ6MDt9XHJcblxyXG4vKk5hdmlnYXRpb24gXCJBXCIgKyBcIkxJXCIgc2V0dGluZ3MgKi9cclxuLm5hdmlnYXRpb24gdWwgbGkgYXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6M3B4IDdweDtjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O31cclxuXHJcbi5uYXZpZ2F0aW9uIHVsIGxpLmFjdGl2ZSBhe2N1cnNvcjpkZWZhdWx0O31cclxuXHJcbi5uYXZpZ2F0aW9uLnJzLW5vbmUgLm5hdmlnYXRpb24tdG9nZ2xlIHtkaXNwbGF5Om5vbmU7fVxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqSGVhZGxpbmUgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uY3RybF9oZWFkbGluZSB7cGFkZGluZzoxMHB4IDVweDt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqRnVuZGxpc3QgbW9kaWZpZXIgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgbGkge3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1ib3R0b206NXB4O31cclxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIGxpIHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tYm90dG9tOjVweDt9XHJcblxyXG4vKlJlZ3VsYXIgbGFiZWxzKi9cclxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIGxhYmVsIHt3aWR0aDozMCU7fVxyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgbGkgaW5wdXQsXHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyBsaSBzZWxlY3R7d2lkdGg6NzAlO31cclxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIGlucHV0LFxyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgbGkgc2VsZWN0LFxyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgbGkgbGFiZWx7ZmxvYXQ6bGVmdH1cclxuXHJcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyBsaSBzcGFuLmxhYmVsIHt3aWR0aDozMCU7fVxyXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgbGkgaW5wdXQsXHJcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyBsaSBzZWxlY3Qge3dpZHRoOjcwJTt9XHJcblxyXG4vKnNlbGVjdDIgc3VwcG9ydCovXHJcbi5jdHJsX21vZGlmaWVycyAuc2VsZWN0Mi1jb250YWluZXIsXHJcbi5jdHJsX21vZGlmaWVycyAuc2VsZWN0Mi1kcm9wLFxyXG4uY3RybF9tb2RpZmllcnMgLnNlbGVjdDItc2VhcmNoLFxyXG4uY3RybF9tb2RpZmllcnMgLnNlbGVjdDItc2VhcmNoIGlucHV0IHt3aWR0aDo3MCU7fVxyXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgbGkgaW5wdXQsXHJcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyBsaSBzZWxlY3QsXHJcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyBsaSBzcGFuLmxhYmVse2Zsb2F0OmxlZnR9XHJcblxyXG4vKkZhbmN5IGxhYmVscyovXHJcbi5jdHJsX215bGlzdC51c2VMYWJlbHNUZXh0IC5jb250ZW50X2JnIGxpIGlucHV0LFxyXG4uY3RybF9teWxpc3QudXNlTGFiZWxzVGV4dCAuY29udGVudF9iZyBsaSBzZWxlY3QsXHJcbi5jdHJsX21vZGlmaWVycy51c2VMYWJlbHNUZXh0IC5jb250ZW50X2JnIGxpIGlucHV0LFxyXG4uY3RybF9tb2RpZmllcnMudXNlTGFiZWxzVGV4dCAuY29udGVudF9iZyBsaSBzZWxlY3R7d2lkdGg6MTAwJTtmbG9hdDpub25lO31cclxuXHJcbi8qc2VsZWN0MiBzdXBwb3J0Ki9cclxuLmN0cmxfbW9kaWZpZXJzLnVzZUxhYmVsc1RleHQgLnNlbGVjdDItY29udGFpbmVyLFxyXG4uY3RybF9tb2RpZmllcnMudXNlTGFiZWxzVGV4dCAuc2VsZWN0Mi1kcm9wLFxyXG4uY3RybF9tb2RpZmllcnMudXNlTGFiZWxzVGV4dCAuc2VsZWN0Mi1zZWFyY2gsXHJcbi5jdHJsX21vZGlmaWVycy51c2VMYWJlbHNUZXh0IC5zZWxlY3QyLXNlYXJjaCBpbnB1dCB7d2lkdGg6MTAwJTtmbG9hdDpub25lO31cclxuXHJcbi8qLS0tIEZ1bmRsaXN0IG1vZGlmaWVyIGNvbnRyb2wgLSBwYWRkaW5ncyAtLS0qL1xyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLnN0YXRpY19maWx0ZXJzX3NlY3Rpb24sXHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24sXHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZ3JvdXBpbmdfc2VjdGlvbiB7cGFkZGluZzozcHggNXB4IDNweCA1cHg7fVxyXG5cclxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5zdGFiaWxpdHlfbWVhc3VyZXNfc2VjdGlvbixcclxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5zdGF0aWNfZmlsdGVyc19zZWN0aW9uLFxyXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgLmR5bmFtaWNfZmlsdGVyc19zZWN0aW9uLFxyXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgLmdyb3VwaW5nX3NlY3Rpb24ge3BhZGRpbmc6M3B4IDVweCAzcHggNXB4O31cclxuXHJcbi8qLS0tIEZ1bmRsaXN0IG1vZGlmaWVyIGNvbnRyb2wgLSBTdGFiaWxpdHkgbWVhc3VyZXMgc2VjdGlvbiAtLS0qL1xyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLnN0YWJpbGl0eV9tZWFzdXJlcyB0YWJsZSB0ZC5NZWFzdXJlbWVudFBlcmlvZCxcclxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIC5zdGFiaWxpdHlfbWVhc3VyZXMgdGFibGUgdGQuSG9sZGluZ1BlcmlvZHt3aWR0aDoyMiU7fVxyXG5cclxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIC5zdGFiaWxpdHlfbWVhc3VyZXMgdGFibGUgdGQuTWVhc3VyZW1lbnRQZXJpb2R7cGFkZGluZy1yaWdodDo1cHg7fVxyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLnN0YWJpbGl0eV9tZWFzdXJlcyB0YWJsZSB0ZC5Ib2xkaW5nUGVyaW9ke3BhZGRpbmctbGVmdDo1cHg7fVxyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLnN0YWJpbGl0eV9tZWFzdXJlcyB0YWJsZSB0ZC5zdGFiaWxpdHlfbWVhc3VyZXNfc2VhcmNoaW5wdXQgc2VsZWN0e3dpZHRoOjk5JTt9XHJcblxyXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgLnN0YWJpbGl0eV9tZWFzdXJlcyB0YWJsZSB0ZC5NZWFzdXJlbWVudFBlcmlvZCxcclxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5zdGFiaWxpdHlfbWVhc3VyZXMgdGFibGUgdGQuSG9sZGluZ1BlcmlvZHt3aWR0aDoyMiU7fVxyXG5cclxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5zdGFiaWxpdHlfbWVhc3VyZXMgdGFibGUgdGQuTWVhc3VyZW1lbnRQZXJpb2R7cGFkZGluZy1yaWdodDo1cHg7fVxyXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgLnN0YWJpbGl0eV9tZWFzdXJlcyB0YWJsZSB0ZC5Ib2xkaW5nUGVyaW9ke3BhZGRpbmctbGVmdDo1cHg7fVxyXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgLnN0YWJpbGl0eV9tZWFzdXJlcyB0YWJsZSB0ZC5zdGFiaWxpdHlfbWVhc3VyZXNfc2VhcmNoaW5wdXQgc2VsZWN0e3dpZHRoOjk5JTt9XHJcblxyXG4vKi0tLSBGdW5kbGlzdCBtb2RpZmllciBjb250cm9sIC0gRmlsdGVycyBzZWN0aW9uIC0tLSovXHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQge21hcmdpbjowO3BhZGRpbmc6MDt9XHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQgaW5wdXQsXHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQgc2VsZWN0IHttYXJnaW46NXB4IDEwcHggNXB4IDBweDt9XHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQgc3BhbiBzZWxlY3QsXHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gc3BhbiBzZWxlY3Qge21hcmdpbjo1cHggMTBweCA1cHggMjBweDt9XHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQgc3BhbiBpbnB1dCB7bWFyZ2luOjVweCAxMHB4IDVweCAyMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowcHg7fVxyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLmR5bmFtaWNfZmlsdGVyc19zZWN0aW9uIHNwYW4gaW5wdXQge21hcmdpbjo1cHggMTBweCA1cHggMjBweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6M3B4O31cclxuXHJcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQge21hcmdpbjowO3BhZGRpbmc6MDt9XHJcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQgaW5wdXQsXHJcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQgc2VsZWN0IHttYXJnaW46NXB4IDEwcHggNXB4IDBweDt9XHJcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQgc3BhbiBzZWxlY3QsXHJcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gc3BhbiBzZWxlY3Qge21hcmdpbjo1cHggMTBweCA1cHggMjBweDt9XHJcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQgc3BhbiBpbnB1dCB7bWFyZ2luOjVweCAxMHB4IDVweCAyMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowcHg7fVxyXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgLmR5bmFtaWNfZmlsdGVyc19zZWN0aW9uIHNwYW4gaW5wdXQge21hcmdpbjo1cHggMTBweCA1cHggMjBweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6M3B4O31cclxuXHJcbi8qLS0tIEZ1bmRsaXN0IG1vZGlmaWVyIGNvbnRyb2wgLSBHcm91cGluZyBzZWN0aW9uIC0tLSovXHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZ3JvdXBpbmdfc2VjdGlvbiAuZ3JvdXAge3BhZGRpbmc6IDAgMjBweCAzcHggMDtmbG9hdDpsZWZ0O31cclxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5ncm91cGluZ19zZWN0aW9uIC5ncm91cCB7cGFkZGluZzogMCAyMHB4IDNweCAwO2Zsb2F0OmxlZnQ7fVxyXG5cclxuLyotLS0gRnVuZGxpc3QgbW9kaWZpZXIgY29udHJvbCAtIFNlYXJjaCBidXR0b25zIC0tLSovXHJcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAubGluZTEge3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuXHJcbi5zZWFyY2gtYnV0dG9ucyB7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MHB4O3RvcDowcHg7fVxyXG4uc2VhcmNoLWJ1dHRvbnMgbGl7ZmxvYXQ6bGVmdDt0ZXh0LWFsaWduOnJpZ2h0O31cclxuLnNlYXJjaC1idXR0b25zIC5pY28tc2VhcmNoLWJ1dHRvbixcclxuLnNlYXJjaC1idXR0b25zIC5yZXNldF9zZWFyY2hfYnV0dG9uLFxyXG4uc2VhcmNoLWJ1dHRvbnMgLnNlYXJjaF9idXR0b24ge2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7cGFkZGluZzoxMHB4O31cclxuLnNlYXJjaC1idXR0b25zIC5pY28tc2VhcmNoLWJ1dHRvbiB7d2lkdGg6MThweDt9XHJcbi5zZWFyY2gtYnV0dG9ucyAuaWNvLXNlYXJjaC1idXR0b24gYXtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljby1zZWFyY2gtYnV0dG9ucy5wbmcpO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O31cclxuXHJcbi8qbm9ybWFsKi9cclxuLnNlYXJjaC1idXR0b25zIC5pY28tc2VhcmNoLWJ1dHRvbi5pY28tc2VhcmNoIHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDZmYjA7fVxyXG4uc2VhcmNoLWJ1dHRvbnMgLmljby1zZWFyY2gtYnV0dG9uLmljby1zZWFyY2ggYXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjBweCAtMzZweDt9XHJcbi5zZWFyY2gtYnV0dG9ucyAuaWNvLXNlYXJjaC1idXR0b24uaWNvLXJlc2V0IGF7YmFja2dyb3VuZC1wb3NpdGlvbjotMThweCAwcHg7fVxyXG5cclxuLypob3ZlciovXHJcbi5zZWFyY2gtYnV0dG9ucyAuaWNvLXNlYXJjaC1idXR0b24uaWNvLXNlYXJjaDpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjojMWE3ZWI4O31cclxuLnNlYXJjaC1idXR0b25zIC5pY28tc2VhcmNoLWJ1dHRvbi5pY28tc2VhcmNoIGE6aG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjowcHggLTM2cHg7fVxyXG4uc2VhcmNoLWJ1dHRvbnMgLmljby1zZWFyY2gtYnV0dG9uLmljby1yZXNldCBhOmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246LTE4cHggLTE4cHg7fVxyXG5cclxuLyotLS0gRnVuZGxpc3QgbW9kaWZpZXIgY29udHJvbCAtIFNlbGVjdGVkIGZpbHRlcnMgc2VjdGlvbiAtLS0qL1xyXG4uc2VsZWN0ZWRfZmlsdGVycyB1bCBsaSB7ZmxvYXQ6bGVmdDtwYWRkaW5nLXJpZ2h0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHg7fVxyXG5cclxuLyotLS0gR3JvdXBpbmcgdG9nZ2xlIC0tLSovXHJcbi5jdHJsX21vZGlmaWVycyAudG9nZ2xlIHtoZWlnaHQ6IDE4cHg7d2lkdGg6IDUwcHg7bWFyZ2luLWxlZnQ6NXB4O31cclxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGUsXHJcbi5jdHJsX21vZGlmaWVycyAudG9nZ2xlX3RleHQge2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX1cclxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGUtc2xpZGUge292ZXJmbG93OiBoaWRkZW47Y3Vyc29yOiBwb2ludGVyOy13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7LW1vei11c2VyLXNlbGVjdDogbm9uZTstbXMtdXNlci1zZWxlY3Q6IG5vbmU7dXNlci1zZWxlY3Q6IG5vbmU7ZGlyZWN0aW9uOiBsdHI7fVxyXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZS1zbGlkZSAudG9nZ2xlLW9uLFxyXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZS1zbGlkZSAudG9nZ2xlLW9mZixcclxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGUtc2xpZGUgLnRvZ2dsZS1ibG9iIHsgZmxvYXQ6IGxlZnQ7dGV4dC1hbGlnbjpjZW50ZXI7fVxyXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZS1zbGlkZSAudG9nZ2xlLWJsb2Ige3Bvc2l0aW9uOiByZWxhdGl2ZTt6LWluZGV4OiA5OTtjdXJzb3I6IHBvaW50ZXI7fVxyXG5cclxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGUtc2xpZGUgeyBib3JkZXItcmFkaXVzOiA5OTk5cHg7fVxyXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZXRydWUgLnRvZ2dsZS1zbGlkZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAycHggIzQ1YTMxZjtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNDVhMzFmO1xyXG59XHJcbi5jdHJsX21vZGlmaWVycyAudG9nZ2xlZmFsc2UgLnRvZ2dsZS1zbGlkZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAycHggIzY2NjY2NjtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNjY2NjY2O1xyXG59XHJcbi5jdHJsX21vZGlmaWVycyAudG9nZ2xlLWxpZ2h0IC50b2dnbGUtb24sXHJcbi5jdHJsX21vZGlmaWVycyAudG9nZ2xlLWxpZ2h0IC50b2dnbGUtb2ZmIHtmb250LXNpemU6IDExcHg7Zm9udC13ZWlnaHQ6IDUwMDt9XHJcbi5jdHJsX21vZGlmaWVycyAudG9nZ2xlLWxpZ2h0IC50b2dnbGUtb24sXHJcbi5jdHJsX21vZGlmaWVycyAudG9nZ2xlLWxpZ2h0IC50b2dnbGUtc2VsZWN0IC50b2dnbGUtaW5uZXIgLmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZDogIzQ1YTMxZjtcclxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xyXG59XHJcbi5jdHJsX21vZGlmaWVycyAudG9nZ2xlLWxpZ2h0IC50b2dnbGUtb2ZmLFxyXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZS1saWdodCAudG9nZ2xlLXNlbGVjdCAudG9nZ2xlLW9uIHtcclxuICBjb2xvcjojZmZmZmZmO1xyXG4gIGJhY2tncm91bmQ6ICM2NjY2NjY7XHJcbn1cclxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGUtbGlnaHQgLnRvZ2dsZS1ibG9iIHtcclxuICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gIGJhY2tncm91bmQ6I2Y1ZjVmNTtcclxufVxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKipGdW5kbGlzdCBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uY3RybF9saXN0ZnVuZHMgLmhlYWRsaW5lX2JnIHRoIHNwYW57dmVydGljYWwtYWxpZ246bWlkZGxlO31cclxuXHJcbi5jdHJsX2xpc3RmdW5kcyAuZmxvYXRIZWFkbGluZXMgLmZsb2F0aW5nSGVhZGVyUm93IHtcclxuYmFja2dyb3VuZDojZmZmZmZmO1xyXG5iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC44KTtcclxuLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDJweCAxcHggcmdiYSgwLDAsMCwwLjMpO1xyXG5ib3gtc2hhZG93OiAwcHggMHB4IDJweCAxcHggcmdiYSgwLDAsMCwwLjMpO1xyXG5iZWhhdmlvcjogdXJsKC4uLy4uL2pzL1BJRS5odGMpO1xyXG59XHJcblxyXG4uY3RybF9saXN0ZnVuZHMgLmZsb2F0SGVhZGxpbmVzIC5mbG9hdGluZ0hlYWRlclJvdyAuc29ydF9kb3duOmFmdGVyLFxyXG4uY3RybF9saXN0ZnVuZHMgLmZsb2F0SGVhZGxpbmVzIC5mbG9hdGluZ0hlYWRlclJvdyAuc29ydF91cDphZnRlciB7Ym9yZGVyLXdpZHRoOjBweCAhaW1wb3J0YW50O31cclxuLmN0cmxfbGlzdGZ1bmRzIC5mbG9hdEhlYWRsaW5lcyAuZmxvYXRpbmdIZWFkZXJSb3cgLnNvcnRpbmdfaWNvbiB7ZGlzcGxheTpub25lO31cclxuXHJcbi5jdHJsX2xpc3RmdW5kcyAuZmxvYXRIZWFkbGluZXMgLmZsb2F0aW5nSGVhZGVyUm93IC5oZWFkbGluZV9iZyB0aC5zb3J0YWJsZSB7Y3Vyc29yOmF1dG87fVxyXG5cclxuLyotLS0gTWVkaWFucyAtLS0qL1xyXG4uY3RybF9saXN0ZnVuZHMgLmxpbmVfbWVkaWFuIHtiYWNrZ3JvdW5kOiNmNGY0ZjQ7fVxyXG5cclxuLyotLS0gQmVuY2htYXJrcyAtLS0qL1xyXG4uY3RybF9saXN0ZnVuZHMgLmxpbmVfYmVuY2htYXJrIHtiYWNrZ3JvdW5kOiNmNGY0ZjQ7fVxyXG5cclxuLyotLS0gR3JvdXBzIC0tLSovXHJcbi5jdHJsX2xpc3RmdW5kcyAuZ3JvdXB0aXRsZSB7cG9zaXRpb246IHJlbGF0aXZlO3BhZGRpbmctdG9wOjEwcHg7cGFkZGluZy1ib3R0b206MTBweDt9XHJcbi5jdHJsX2xpc3RmdW5kcyAuZ3JvdXB0aXRsZSB7Ym9yZGVyLWJvdHRvbTo1cHggc29saWQgI2Y0ZjRmNDt9XHJcbi5jdHJsX2xpc3RmdW5kcyAuZ3JvdXB0aXRsZTphZnRlciB7Y29udGVudDogXCJcIjtwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6IDA7aGVpZ2h0OiAwO2JvcmRlci1zdHlsZTogc29saWQ7Ym9yZGVyLWNvbG9yOiNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7bGVmdDo1cHg7Ym90dG9tOjAlO2JvcmRlci13aWR0aDo1cHggMTBweCAwcHggMTBweDttYXJnaW4tYm90dG9tOi01cHg7fVxyXG5cclxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHsuY3RybF9saXN0ZnVuZHMgLmdyb3VwdGl0bGU6YWZ0ZXIge21hcmdpbi1ib3R0b206LTZweDt9fVxyXG5cclxuLyotLS0gUGFnaW5nIHNlY3Rpb24gLS0tKi9cclxuLnBhZ2luZ19yb3cge2JhY2tncm91bmQ6I2Y1ZjVmNTtib3JkZXItdG9wOnNvbGlkIDNweCAjZjBmMGYwO3BhZGRpbmctdG9wOjVweDtwYWRkaW5nLWJvdHRvbToycHg7fVxyXG4ucGFnaW5nX3JvdyBsaSB7ZmxvYXQ6bGVmdDt9XHJcbi5wYWdpbmdfcm93IGxpIHNwYW4ge3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7ZGlzcGxheTpibG9jazt9XHJcbi5wYWdpbmdfcm93IGxpIHNwYW4uY3VycmVudCB7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6YXV0bztwYWRkaW5nOjAgNXB4O31cclxuLnBhZ2luZ19yb3cgLmFjdGl2ZSBsaSBzcGFuLmN1cnJlbnQge2NvbG9yOiMwMDZmYjA7fVxyXG4ucGFnaW5nX3JvdyAuaW5hY3RpdmUgbGkgc3Bhbi5jdXJyZW50IHtjb2xvcjojOTk5OTk5O31cclxuXHJcbi8qLS0tIEFjdGl2ZSAtLS0qL1xyXG4ucGFnaW5nX3JvdyAuYWN0aXZlIGxpIHNwYW4uZmlyc3Qge2JhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19maXJzdF9ub3JtYWwucG5nXCIpIG5vLXJlcGVhdCA1MCUgMzUlIDt9XHJcbi5wYWdpbmdfcm93IC5hY3RpdmUgbGkgc3Bhbi5wcmV2aW91cyB7YmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2RlZmF1bHQvcGFnaW5nX3ByZXZpb3VzX25vcm1hbC5wbmdcIikgbm8tcmVwZWF0IDUwJSAzNSUgO31cclxuLnBhZ2luZ19yb3cgLmFjdGl2ZSBsaSBzcGFuLm5leHQge2JhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19uZXh0X25vcm1hbC5wbmdcIikgbm8tcmVwZWF0IDUwJSAzNSUgO31cclxuLnBhZ2luZ19yb3cgLmFjdGl2ZSBsaSBzcGFuLmxhc3Qge2JhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19sYXN0X25vcm1hbC5wbmdcIikgbm8tcmVwZWF0IDUwJSAzNSUgO31cclxuXHJcbi8qLS0tIEhvdmVyIC0tLSovXHJcbi5wYWdpbmdfcm93IC5hY3RpdmUgLmZpcnN0OmhvdmVyIHtiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvZGVmYXVsdC9wYWdpbmdfZmlyc3RfaG92ZXIucG5nXCIpIG5vLXJlcGVhdCA1MCUgMzUlIDt9XHJcbi5wYWdpbmdfcm93IC5hY3RpdmUgLnByZXZpb3VzOmhvdmVyIHtiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvZGVmYXVsdC9wYWdpbmdfcHJldmlvdXNfaG92ZXIucG5nXCIpIG5vLXJlcGVhdCA1MCUgMzUlIDt9XHJcbi5wYWdpbmdfcm93IC5hY3RpdmUgLm5leHQ6aG92ZXIge2JhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19uZXh0X2hvdmVyLnBuZ1wiKSBuby1yZXBlYXQgNTAlIDM1JSA7fVxyXG4ucGFnaW5nX3JvdyAuYWN0aXZlIC5sYXN0OmhvdmVyIHtiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvZGVmYXVsdC9wYWdpbmdfbGFzdF9ob3Zlci5wbmdcIikgbm8tcmVwZWF0IDUwJSAzNSUgO31cclxuXHJcbi8qLS0tIEluYWN0aXZlIC0tLSovXHJcbi5wYWdpbmdfcm93IC5pbmFjdGl2ZSAuZmlyc3Qge2JhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19maXJzdF9pbmFjdGl2ZS5wbmdcIikgbm8tcmVwZWF0IDUwJSAzNSUgO31cclxuLnBhZ2luZ19yb3cgLmluYWN0aXZlIC5wcmV2aW91cyB7YmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2RlZmF1bHQvcGFnaW5nX3ByZXZpb3VzX2luYWN0aXZlLnBuZ1wiKSBuby1yZXBlYXQgNTAlIDM1JSA7fVxyXG4ucGFnaW5nX3JvdyAuaW5hY3RpdmUgLm5leHQge2JhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19uZXh0X2luYWN0aXZlLnBuZ1wiKSBuby1yZXBlYXQgNTAlIDM1JSA7fVxyXG4ucGFnaW5nX3JvdyAuaW5hY3RpdmUgLmxhc3Qge2JhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19sYXN0X2luYWN0aXZlLnBuZ1wiKSBuby1yZXBlYXQgNTAlIDM1JSA7fVxyXG5cclxuLyotLS0gRnVuZGxpc3QgUXVhcnRpbGVzIC0tLSovXHJcbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucTAgc3BhbiB7YmFja2dyb3VuZDojZmZmZmZmO31cclxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5xMSBzcGFuIHtiYWNrZ3JvdW5kOiNlZjQzMmM7fS8qd29yc3QqL1xyXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnEyIHNwYW4ge2JhY2tncm91bmQ6I2ZmZGIzMjt9XHJcbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucTMgc3BhbiB7YmFja2dyb3VuZDojOWRjYjZmO31cclxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5xNCBzcGFuIHtiYWNrZ3JvdW5kOiM3MmI0MzE7fS8qYmVzdCovXHJcblxyXG4vKiBOb3JtYWwgKi9cclxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5xMCBzcGFuIHNwYW4sXHJcbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucTEgc3BhbiBzcGFuLFxyXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnEyIHNwYW4gc3BhbixcclxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5xMyBzcGFuIHNwYW4sXHJcbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucTQgc3BhbiBzcGFuIHtkaXNwbGF5OmJsb2NrO2NvbG9yOnRyYW5zcGFyZW50O2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7bWFyZ2luOjAgYXV0bzt9XHJcblxyXG4vKiBIb3ZlciAqL1xyXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnEwOmhvdmVyIHNwYW4gc3BhbixcclxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5xMTpob3ZlciBzcGFuIHNwYW4sXHJcbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucTI6aG92ZXIgc3BhbiBzcGFuLFxyXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnEzOmhvdmVyIHNwYW4gc3BhbixcclxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5xNDpob3ZlciBzcGFuIHNwYW4ge2Rpc3BsYXk6aW5saW5lO2NvbG9yOiM0NTQ1NDU7cGFkZGluZzo1cHggM3B4IDVweCAzcHg7fVxyXG5cclxuLyotLS0gY2hlY2tib3hlcyAtLS0qL1xyXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLmNvbGNoZWNrYm94IHt3aWR0aDoyMHB4O31cclxuXHJcbi8qLS0tIGZvcmNlIG5vLWxpbmUtYnJlYWsgaW4gZnVuZGxpc3QgY29udGVudCAtLS0qL1xyXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgdGQgc3BhbiB7d2hpdGUtc3BhY2U6IG5vd3JhcDt9XHJcblxyXG4uY3RybF9saXN0ZnVuZHMgLmNvbDEge3dpZHRoOjM1JTt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKkZ1bmRsaXN0IGFzIGxpc3Qgc3BlY2lmaWMgc2V0dGluZ3MgKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4udG9wZnVuZHNfbGlzdCBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjNweCA1cHg7fVxyXG5cclxuLnRvcGZ1bmRzX2xpc3QgbGkgc3Bhbi5jb2wxIHtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjExcHg7d2lkdGg6NzglO31cclxuXHJcbi50b3BmdW5kc19saXN0IGxpIHNwYW4uY29sMSAudGl0bGUsXHJcbi50b3BmdW5kc19saXN0IGxpIHNwYW4uY29sMiAudGl0bGV7ZGlzcGxheTpub25lO31cclxuXHJcbi50b3BmdW5kc19saXN0IGxpIHNwYW4uY29sMywudG9wZnVuZHNfbGlzdCBsaSBzcGFuLmNvbDQsXHJcbi50b3BmdW5kc19saXN0IGxpIHNwYW4uY29sNSwudG9wZnVuZHNfbGlzdCBsaSBzcGFuLmNvbDYsXHJcbi50b3BmdW5kc19saXN0IGxpIHNwYW4uY29sNyB7bWFyZ2luLXJpZ2h0OjJweDtmb250LXNpemU6OC41cHg7bGluZS1oZWlnaHQ6bm9ybWFsO31cclxuXHJcbi50b3BmdW5kc19saXN0IGxpIHNwYW4uY29sMi5wZXJmX3VwLFxyXG4udG9wZnVuZHNfbGlzdCBsaSBzcGFuLmNvbDIucGVyZl9kb3duIHtmb250LXNpemU6MThweDtwYWRkaW5nLXJpZ2h0OjE1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjI4JTtyaWdodDo1cHg7fVxyXG5cclxuLnRvcGZ1bmRzX2xpc3QgbGkgc3BhbiAudGl0bGUge2ZvbnQtd2VpZ2h0OmJvbGQ7fVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKiBGdW5kbGlzdCBhcyBncmlkIHNwZWNpZmljIHNldHRpbmdzICoqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmN0cmxfcmVzcG9uc2l2ZV9mdW5kc2dyaWQgLmdyaWQge3dpZHRoOjEwMCU7em9vbTogMTttYXJnaW4tdG9wOjFlbTt9XHJcbi5ncmlkIC5pdGVtIHttYXJnaW4tYm90dG9tOiAxNXB4O31cclxuLmN0cmxfcmVzcG9uc2l2ZV9mdW5kc2dyaWQgLmdyaWQgLml0ZW0gPiB1bCB7bWFyZ2luLWxlZnQ6IDEwcHg7bWFyZ2luLXJpZ2h0OiAxMHB4O3BhZGRpbmctYm90dG9tOjEwcHg7fVxyXG4uY3RybF9yZXNwb25zaXZlX2Z1bmRzZ3JpZCAuZ3JpZCAuaXRlbSA+IHVsOm50aC1sYXN0LW9mLXR5cGUobisxKSB7bWFyZ2luLWxlZnQ6IDBweDt9XHJcbi5jdHJsX3Jlc3BvbnNpdmVfZnVuZHNncmlkIC5ncmlkIC5pdGVtID4gdWw6bnRoLWxhc3Qtb2YtdHlwZShuKzIpIHttYXJnaW4tcmlnaHQ6IDBweDt9XHJcblxyXG4uY3RybF9yZXNwb25zaXZlX2Z1bmRzZ3JpZCBsaSBzcGFuLnRpdGxlIHtwYWRkaW5nOjA7fVxyXG5cclxuLmN0cmxfcmVzcG9uc2l2ZV9mdW5kc2dyaWQgLmdyaWQgLml0ZW0gPiB1bCBzcGFuLnRpdGxlLFxyXG4uY3RybF9yZXNwb25zaXZlX2Z1bmRzZ3JpZCAuZ3JpZCAuaXRlbSA+IHVsIHNwYW4udmFsdWUge3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO31cclxuXHJcbi5jdHJsX3Jlc3BvbnNpdmVfZnVuZHNncmlkIC5ncmlkIC5pdGVtID4gdWwgLmRhdGEtcG9pbnQge3RleHQtYWxpZ246Y2VudGVyO292ZXJmbG93OmhpZGRlbjt9XHJcblxyXG4uY3RybF9yZXNwb25zaXZlX2Z1bmRzZ3JpZCAuZ3JpZCAuaXRlbSA+IHVsIC5kYXRhLXBvaW50LmRhdGEtcG9pbnQtMSBzcGFuLnRpdGxlIHtkaXNwbGF5Om5vbmU7fVxyXG4uY3RybF9yZXNwb25zaXZlX2Z1bmRzZ3JpZCAuZ3JpZCAuaXRlbSA+IHVsIC5kYXRhLXBvaW50LmRhdGEtcG9pbnQtMSB7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEwcHggNXB4O2ZvbnQtc2l6ZTpsYXJnZXI7fVxyXG5cclxuLmN0cmxfcmVzcG9uc2l2ZV9mdW5kc2dyaWQgbGkgc3BhbixcclxuLmN0cmxfcmVzcG9uc2l2ZV9mdW5kc2dyaWQgbGkgc3Bhbi50aXRsZSxcclxuLmN0cmxfcmVzcG9uc2l2ZV9mdW5kc2dyaWQgbGkgc3Bhbi52YWx1ZSB7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqRnJlZS1UZXh0IGNvbnRyb2wgc3BlY2lmaWMgc2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5jdHJsX2ZyZWV0ZXh0IC5jb250ZW50X2JnIC5yZWFkbW9yZV9saW5rLFxyXG4uY3RybF9mcmVldGV4dCAuY29udGVudF9iZyAucmVhZGxlc3NfbGluayB7dGV4dC1hbGlnbjpyaWdodDtmb250LXdlaWdodDpib2xkO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqRnVuZDJEYXRhIHRhYmxlIGNvbnRyb2wgc3BlY2lmaWMgc2V0dGluZ3MqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmN0cmxfZnVuZDJkYXRhdGFibGUgLmNvbnRlbnRfYmcgLmhlYWRsaW5lX3dyYXAgdGgge3BhZGRpbmc6MDt9XHJcbi8qLS0tIGZvcmNlIG5vLWxpbmUtYnJlYWsgaW4gZnVuZDJkYXRhIGNvbnRlbnQgLS0tKi9cclxuLmN0cmxfZnVuZDJkYXRhdGFibGUgLmNvbnRlbnRfYmcgdGQgc3BhbiB7d2hpdGUtc3BhY2U6IG5vd3JhcDt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKipSaXNrIGluZGljYXRvciBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKi0tLSBOb3JtYWwgU3R5bGUgc2V0dGluZ3MgLS0tKi9cclxuLmN0cmxfcmlza2luZGljYXRvciB7bWFyZ2luLXRvcDoxMHB4O31cclxuLmN0cmxfcmlza2luZGljYXRvciAuY29udGVudF9iZ3twYWRkaW5nOjVweDt9XHJcbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgdWx7YmFja2dyb3VuZDojZWVlZWVlO2JvcmRlci1yYWRpdXM6IDhweDt9XHJcblxyXG4uY3RybF9yaXNraW5kaWNhdG9yIC5jb250ZW50X2JnIGxpe2Zsb2F0OmxlZnQ7ZGlzcGxheTpibG9jazt3aWR0aDoxNCU7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLXJhZGl1czogNXB4O3BhZGRpbmctdG9wOjVweDtwYWRkaW5nLWJvdHRvbTo1cHg7fVxyXG4uY3RybF9yaXNraW5kaWNhdG9yIC5jb250ZW50X2JnIGxpLmFjdGl2ZXt3aWR0aDoxNiU7Y29sb3I6I2ZmZmZmZjt9XHJcbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgbGkuYWN0aXZlIHNwYW57cGFkZGluZzoxMHB4IDE0cHg7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMXB4IDJweCAjOTk5OTk5Oy1tb3otYm94LXNoYWRvdzogMHB4IDFweCAycHggIzk5OTk5OTtib3gtc2hhZG93OiAwcHggMXB4IDJweCAjOTk5OTk5Oy13ZWJraXQtYm9yZGVyLXJhZGl1czoyMHB4O2JvcmRlci1yYWRpdXM6IDUwJTt9XHJcbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgbGkuYWN0aXZlIHNwYW57YmFja2dyb3VuZDojMDA3YWMwO31cclxuXHJcbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgLmFkZGl0aW9uYWxfaW5mbyB7cGFkZGluZy10b3A6MWVtO3BhZGRpbmctYm90dG9tOjFlbTt9XHJcbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgLmFkZGl0aW9uYWxfaW5mbyAuaW5mbzEge2Zsb2F0OmxlZnQ7IHRleHQtYWxpZ246bGVmdDt9XHJcbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgLmFkZGl0aW9uYWxfaW5mbyAuaW5mbzIge2Zsb2F0OnJpZ2h0OyB0ZXh0LWFsaWduOnJpZ2h0O31cclxuXHJcbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgLmFkZGl0aW9uYWxfaW5mbyAuZGl2aWRlciB7Ym9yZGVyLXRvcDpzb2xpZCAxcHggI2ZmMDBmZjtwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcblxyXG4uY3RybF9yaXNraW5kaWNhdG9yIC5jb250ZW50X2JnIC5hZGRpdGlvbmFsX2luZm8gLmRpdmlkZXI6YmVmb3JlLFxyXG4uY3RybF9yaXNraW5kaWNhdG9yIC5jb250ZW50X2JnIC5hZGRpdGlvbmFsX2luZm8gLmRpdmlkZXI6YWZ0ZXIge2NvbnRlbnQ6IFwiXCI7cG9zaXRpb246IGFic29sdXRlO3dpZHRoOiAwO2hlaWdodDogMDtib3JkZXItc3R5bGU6IHNvbGlkO31cclxuXHJcbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgLmFkZGl0aW9uYWxfaW5mbyAuZGl2aWRlcjpiZWZvcmUge2JvcmRlci13aWR0aDogNXB4IDVweCA1cHggMDtib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZjAwZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7bGVmdDogMHB4O21hcmdpbi10b3A6LTVweDt9XHJcbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgLmFkZGl0aW9uYWxfaW5mbyAuZGl2aWRlcjphZnRlciB7Ym9yZGVyLXdpZHRoOiA1cHggMCA1cHggNXB4O2JvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmMDBmZjtyaWdodDogMHB4O21hcmdpbi10b3A6LTVweDt9XHJcblxyXG4uY3RybF9yaXNraW5kaWNhdG9yIC5lcnJvcl9tZXNzYWdlLFxyXG4uY3RybF9yaXNraW5kaWNhdG9yIC5tZXNzYWdlIHttYXJnaW4tdG9wOjVweDt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKkJhc2ljRGF0YSB0YWJsZSBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKi0tLSBCYXNpYyBkYXRhIGFzIHRhYmxlIC0tLSovXHJcbi5jdHJsX2Jhc2ljZGF0YSAuY29udGVudF9iZyB0ZC5jb2wxLFxyXG4uY3RybF9iYXNpY2RhdGEgLmNvbnRlbnRfYmcgdGQuY29sMnt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246bWlkZGxlO31cclxuXHJcbi5jdHJsX2Jhc2ljZGF0YSAuY29udGVudF9iZyAuY29sMSB7d2lkdGg6MjklO31cclxuLmN0cmxfYmFzaWNkYXRhIC5jb250ZW50X2JnIC5jb2wyIHt3aWR0aDo2OSU7fVxyXG5cclxuLyotLS0gQmFzaWMgZGF0YSBhcyBsaXN0IC0tLSovXHJcbi5jdHJsX2Jhc2ljZGF0YSAuY29udGVudF9iZyAubGlzdCBsaSB7ZmxvYXQ6bGVmdDsgbWFyZ2luLXJpZ2h0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4O2JvcmRlci1yaWdodDpzb2xpZCAxcHggI2RkZGRkZDt9XHJcbi5jdHJsX2Jhc2ljZGF0YSAuY29udGVudF9iZyAubGlzdCBsaTpsYXN0LWNoaWxkIHtib3JkZXItcmlnaHQ6MDt9XHJcblxyXG4uY3RybF9iYXNpY2RhdGEgLmNvbnRlbnRfYmcgLmxpc3QgbGkgc3Bhbi5saW5lX2NvbDEge2Zsb2F0OmxlZnQ7IHBhZGRpbmctcmlnaHQ6MTBweDt9XHJcbi5jdHJsX2Jhc2ljZGF0YSAuY29udGVudF9iZyAubGlzdCBsaSBzcGFuLmxpbmVfY29sMiB7ZmxvYXQ6cmlnaHQ7fVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKipBZGRpdGlvbmFsIGZlYXR1cmVzIGNvbnRyb2wgc3BlY2lmaWMgc2V0dGluZ3MqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5jdHJsX2FkZGl0aW9uYWxmZWF0dXJlcyB7bWFyZ2luLXRvcDoxMHB4O31cclxuLmN0cmxfYWRkaXRpb25hbGZlYXR1cmVzIGxpe2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6NXB4O31cclxuLmN0cmxfYWRkaXRpb25hbGZlYXR1cmVzIGxpOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjA7fVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqRXhwb3J0IGhpc3RvcmljYWwgTkFWJ3MgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmN0cmxfZGF0YWV4cG9ydCB1bCB7ZmxvYXQ6cmlnaHQ7dGV4dC1hbGlnbjpyaWdodDt9XHJcbi5jdHJsX2RhdGFleHBvcnQgbGkge3BhZGRpbmc6MTBweCAwcHg7fVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKkZ1bmRsaXN0IGFkZGl0aW9uYWwgZmVhdHVyZXMgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmN0cmxfZnVuZGxpc3RfYWRkaXRpb25hbGZlYXR1cmVzIC5jb250ZW50X2JnIC5mdW5kbGlzdCB7d2lkdGg6NzAlO2hlaWdodDoxMjRweDtmbG9hdDpsZWZ0O31cclxuLmN0cmxfZnVuZGxpc3RfYWRkaXRpb25hbGZlYXR1cmVzIC5jb250ZW50X2JnIC5mdW5kbGlzdCB1bHtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDBweDtvdmVyZmxvdy14OmhpZGRlbjttYXJnaW46NXB4O2JvcmRlci1yYWRpdXM6IDNweDtiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O2JlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7fVxyXG4uY3RybF9mdW5kbGlzdF9hZGRpdGlvbmFsZmVhdHVyZXMgLmNvbnRlbnRfYmcgLmZ1bmRsaXN0IHVsIGxpe2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDoyMHB4O3BhZGRpbmc6MHB4IDVweDtwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcbi5jdHJsX2Z1bmRsaXN0X2FkZGl0aW9uYWxmZWF0dXJlcyAuY29udGVudF9iZyAuZnVuZGxpc3QgdWwgbGkgc3Bhbi5kZWxldGV7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTBweDt3aWR0aDoyMHB4O2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19yZW1vdmUucG5nKSBuby1yZXBlYXQgNTAlIDUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LTVweDtyaWdodDowcHg7fVxyXG5cclxuLmN0cmxfZnVuZGxpc3RfYWRkaXRpb25hbGZlYXR1cmVzIC5jb250ZW50X2JnIC5idXR0b25zIHt3aWR0aDoyOS44JTtmbG9hdDpyaWdodDt9XHJcbi5jdHJsX2Z1bmRsaXN0X2FkZGl0aW9uYWxmZWF0dXJlcyAuY29udGVudF9iZyAuYnV0dG9ucyB1bHtwYWRkaW5nLXRvcDo1cHg7cGFkZGluZy1yaWdodDo1cHg7fVxyXG4uY3RybF9mdW5kbGlzdF9hZGRpdGlvbmFsZmVhdHVyZXMgLmNvbnRlbnRfYmcgLmJ1dHRvbnMgdWwgbGl7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjVweDt9XHJcbi5jdHJsX2Z1bmRsaXN0X2FkZGl0aW9uYWxmZWF0dXJlcyAuY29udGVudF9iZyAuYnV0dG9ucyB1bCBsaSBhe2Rpc3BsYXk6YmxvY2s7fVxyXG5cclxuLyotLS0gWHJheSBwb3B1cCAtLS0qL1xyXG4uc2VsZWN0ZWRfZnVuZHMgbGl7ZGlzcGxheTpibG9jaztoZWlnaHQ6YXV0bzt9XHJcblxyXG4uc2VsZWN0ZWRfZnVuZHMgbGkgc3Bhbi50b3RhbFN1bSxcclxuLnNlbGVjdGVkX2Z1bmRzIGxpIHNwYW4uZnVuZFBlcmNlbnQge3dpZHRoOjIwJTt0ZXh0LWFsaWduOnJpZ2h0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OnJpZ2h0O31cclxuLnNlbGVjdGVkX2Z1bmRzIGxpIHNwYW4uZnVuZFBlcmNlbnQgaW5wdXQge3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpyaWdodDttYXJnaW4tYm90dG9tOjNweDt9XHJcblxyXG4uc2VsZWN0ZWRfZnVuZHMgbGkjdG90YWwge2hlaWdodDoyNXB4O2xpbmUtaGVpZ2h0OjI1cHg7fVxyXG4uc2VsZWN0ZWRfZnVuZHMgbGkjdG90YWwgc3Bhbi50b3RhbFN1bXtwYWRkaW5nLXJpZ2h0OjNweDt9XHJcblxyXG4uc2VsZWN0ZWRfZnVuZHMgbGkjc3VtVGV4dHtoZWlnaHQ6YXV0bzt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKiBDaGFydHMgYW5kIGxlZ2VuZHMgZ2VuZXJhbCAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKi0tLSBDaGFydCBsZWdlbmQtLS0qL1xyXG4vKi5jaGFydF9sZWdlbmRzIHtwYWRkaW5nOjEycHggMCA1cHggMDt9XHJcblxyXG4uY2hhcnRfbGVnZW5kcyBzcGFuLmdyb3VwMSB7bWFyZ2luOjNweCA1cHggMHB4IDVweDt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDt9XHJcbi5jaGFydF9sZWdlbmRzIHNwYW4uZ3JvdXAxIGltZyB7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjUwJTt9Ki9cclxuXHJcbi8qIGhvbGRpbmdzIGNoYXJ0IGxlZ2VuZCBmaXgqL1xyXG4vKi5jdHJsX2dwaWVjaGFydCAuY2hhcnRfbGVnZW5kIHNwYW4uZ3JvdXAyLFxyXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jaGFydF9sZWdlbmQgc3Bhbi5ncm91cDIge2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTogbm93cmFwO292ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4tby10ZXh0LW92ZXJmbG93OmVsbGlwc2lzOy1tcy10ZXh0LW92ZXJmbG93OmVsbGlwc2lzOy1tb3otYmluZGluZzp1cmwoZWxsaXBzaXMteGJsLnhtbCNlbGxpcHNpcyk7fVxyXG5cclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY2hhcnRfbGVnZW5kIHNwYW4uZ3JvdXAzLFxyXG4uY3RybF9nbGluZWNoYXJ0IC5jaGFydF9sZWdlbmQgc3Bhbi5ncm91cDMge3RvcDowO31cclxuXHJcbi5jdHJsX3BlcmZjaGFydCAuY2hhcnRfYXJlYSxcclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY2hhcnRhcmVhIC5jaGFydCxcclxuLmN0cmxfZ2xpbmVjaGFydCAuY2hhcnRhcmVhIC5jaGFydHtvdmVyZmxvdzpoaWRkZW47fVxyXG5cclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY2hhcnRhcmVhLFxyXG4uY3RybF9nbGluZWNoYXJ0IC5jaGFydGFyZWEsXHJcbi5jdHJsX3BlcmZjaGFydCAuY2hhcnRfYXJlYSB7YmFja2dyb3VuZDojZmZmZmZmO30qL1xyXG5cclxuLmNoYXJ0X2xlZ2VuZHMgbGkuY2hhcnRfbGVnZW5kIHtmbG9hdDpub25lOyB3aWR0aDoxMDAlO2NsZWFyOmJvdGg7YmFja2dyb3VuZDpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuLmNoYXJ0X2xlZ2VuZHMgc3Bhbi5ncm91cDEsXHJcbi5jaGFydF9sZWdlbmRzIHNwYW4uZ3JvdXAzIHtwb3NpdGlvbjphYnNvbHV0ZTt9XHJcbi5jaGFydF9sZWdlbmRzIHNwYW4uZ3JvdXAxIHtsZWZ0OjA7dG9wOjRweDt9XHJcbi5jaGFydF9sZWdlbmRzIHNwYW4uZ3JvdXAxIGltZyB7Ym9yZGVyLXJhZGl1czogNTAlO2JhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7fVxyXG4uY2hhcnRfbGVnZW5kcyBzcGFuLmdyb3VwMyB7cmlnaHQ6MDt0b3A6MDt9XHJcbi5jaGFydF9sZWdlbmRzIHNwYW4uZ3JvdXAyIHtwYWRkaW5nLWxlZnQ6MTVweDtwYWRkaW5nLXJpZ2h0OjUwcHg7ZGlzcGxheTpibG9jazt9XHJcbi5jaGFydF9sZWdlbmRzIHNwYW4uZ3JvdXAyIHNwYW4ge2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6IG5vd3JhcDtvdmVyZmxvdzogaGlkZGVuO3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOy1tb3otYmluZGluZzogdXJsKFwiZWxsaXBzaXMteGJsLnhtbCNlbGxpcHNpc1wiKTt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKkhvbGRpbmdzIGNoYXJ0IGNvbnRyb2wgc3BlY2lmaWMgc2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jaGFydF9sZWdlbmQsXHJcbi5jdHJsX2dwaWVjaGFydCAuY2hhcnRfbGVnZW5kIHtwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcblxyXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jaGFydF9sZWdlbmQgLmdyb3VwMyxcclxuLmN0cmxfZ3BpZWNoYXJ0IC5jaGFydF9sZWdlbmQgLmdyb3VwM3twb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO31cclxuXHJcbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0YXJlYSxcclxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydGFyZWEge3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuIFxyXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydGFyZWEgLmNoYXJ0X2xlZ2VuZHMsXHJcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRhcmVhIC5jaGFydF9sZWdlbmRzIHt3aWR0aDozMCU7ZmxvYXQ6cmlnaHR9XHJcblxyXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydGFyZWEgLmNoYXJ0LFxyXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0YXJlYSAuY2hhcnQge3dpZHRoOjcwJTtmbG9hdDpsZWZ0O31cclxuXHJcbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0YXJlYSAuY2hhcnQucGllIGltZyxcclxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydGFyZWEgLmNoYXJ0LnBpZSBpbWcge3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6MjklO31cclxuXHJcbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0YXJlYSAuY2hhcnQuYmFyIGltZyxcclxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydGFyZWEgLmNoYXJ0LmJhciBpbWcge3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6MHB4O31cclxuXHJcbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHksXHJcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSB7cGFkZGluZzowO31cclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuZGF0YV90eXBlLFxyXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmRhdGFfdHlwZSB7d2lkdGg6NTAlO2Zsb2F0OnJpZ2h0O31cclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSxcclxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHt3aWR0aDo1MCU7ZmxvYXQ6bGVmdDt9XHJcblxyXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLFxyXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkge2Rpc3BsYXk6YmxvY2s7d2lkdGg6YXV0byAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6MnB4O31cclxuXHJcbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkgZGl2LFxyXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkgZGl2IHt3aWR0aDozMHB4O2hlaWdodDoxOXB4O31cclxuXHJcbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkgZGl2LFxyXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkgZGl2IHtib3JkZXItdG9wOnNvbGlkIDNweCAjZmZmZmZmO31cclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaSBkaXY6aG92ZXIsXHJcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaSBkaXY6aG92ZXIge2JvcmRlci10b3A6c29saWQgM3B4ICNmZmZmZmY7fVxyXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLmFjdGl2ZSBkaXYsXHJcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS5hY3RpdmUgZGl2IHtib3JkZXItdG9wOnNvbGlkIDNweCAjMDA2ZmIwO31cclxuXHJcbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkucGllIGRpdixcclxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLnBpZSBkaXYge2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19jaGFydF9waWVfbGluay5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS5waWUgZGl2OmhvdmVyLFxyXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkucGllIGRpdjpob3ZlciB7YmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2NoYXJ0X3BpZV9ob3Zlci5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS5waWUuYWN0aXZlIGRpdixcclxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLnBpZS5hY3RpdmUgZGl2IHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fY2hhcnRfcGllX2FjdGl2ZS5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuXHJcbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkuYmFyIGRpdixcclxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLmJhciBkaXYge2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19jaGFydF9iYXJfbGluay5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS5iYXIgZGl2OmhvdmVyLFxyXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkuYmFyIGRpdjpob3ZlciB7YmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2NoYXJ0X2Jhcl9ob3Zlci5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS5iYXIuYWN0aXZlIGRpdixcclxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLmJhci5hY3RpdmUgZGl2e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19jaGFydF9iYXJfYWN0aXZlLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7fVxyXG5cclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS50YWJsZSBkaXYsXHJcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS50YWJsZSBkaXYge2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19jaGFydF90YWJsZV9saW5rLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7fVxyXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLnRhYmxlIGRpdjpob3ZlcixcclxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLnRhYmxlIGRpdjpob3ZlciB7YmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2NoYXJ0X3RhYmxlX2hvdmVyLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7fVxyXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLnRhYmxlLmFjdGl2ZSBkaXYsXHJcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS50YWJsZS5hY3RpdmUgZGl2IHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fY2hhcnRfdGFibGVfYWN0aXZlLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7fVxyXG5cclxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuc2VsZWN0Mi1jb250YWluZXIge3dpZHRoOjcwJTsgZmxvYXQ6cmlnaHQ7IH1cclxuXHJcbi8qLS0tIEhQaWUgY2hhcnQgaW1wbGVtZW50YXRpb24gLS0tKi9cclxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IC5oZWFkbGluZV9iZyB7IHBvc2l0aW9uOnJlbGF0aXZlOyB9XHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCAuaGVhZGxpbmVfYmcgLmhlYWRsaW5lX2ljb24geyBwYWRkaW5nOjAgIWltcG9ydGFudDsgZmxvYXQ6cmlnaHQ7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MTBweDsgcmlnaHQ6MTBweDt9XHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCAuaGVhZGxpbmVfYmcgLmhlYWRsaW5lX2ljb246YWZ0ZXIgeyBjb250ZW50Oic/JztkaXNwbGF5OmJsb2NrO2NvbG9yOiNmZmZmZmY7YmFja2dyb3VuZDojODBBOUMyOyBmb250LXNpemU6MTFweDsgbGluZS1oZWlnaHQ6MTVweDsgd2lkdGg6MTVweDsgaGVpZ2h0OjE1cHg7IGJvcmRlci1yYWRpdXM6NTAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtZmFtaWx5OiB2ZXJkYW5hO31cclxuXHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyB7cG9zaXRpb246cmVsYXRpdmU7fVxyXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0YXJlYSB7ZmxvYXQ6IGxlZnQ7d2lkdGg6NDklO31cclxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5kYXRhX3R5cGUge3dpZHRoOjUwJTtmbG9hdDpyaWdodDtwYWRkaW5nLXRvcDo1cHg7fVxyXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2xlZ2VuZHNfY29udGFpbmVyIHt3aWR0aDo1MCU7ZmxvYXQ6IHJpZ2h0OyB9XHJcblxyXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgLmNoYXJ0X2xlZ2VuZHMgbGkge3Bvc2l0aW9uOiByZWxhdGl2ZTsvKnBhZGRpbmctdG9wOiAzcHg7Ki99XHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCAuY2hhcnRfbGVnZW5kcyAuZ3JvdXAyIHt3aWR0aDo2NSU7fVxyXG5cclxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IC5jaGFydF9sZWdlbmRzIC5ncm91cDEsXHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCAuY2hhcnRfbGVnZW5kcyAuZ3JvdXAyIHtmbG9hdDpsZWZ0O31cclxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IC5jaGFydF9sZWdlbmRzIC5ncm91cDMge2Zsb2F0OnJpZ2h0O3BhZGRpbmctcmlnaHQ6NXB4O31cclxuXHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCAuY2hhcnRfbGVnZW5kcyAubGluZV9vZGQsXHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCAuY2hhcnRfbGVnZW5kcyAubGluZV9ldmVuIHtiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDt9XHJcblxyXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgdWwuY2hhcnR0eXBlcyBsaSB7ZmxvYXQ6IGxlZnQ7Ym9yZGVyLXJhZGl1czogNTAlO3BhZGRpbmc6IDJweDttYXJnaW4tcmlnaHQ6IDJweDt9XHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCB1bC5jaGFydHR5cGVzIGxpIC5jaGFydHR5cGUtaWNvbiB7ZmxvYXQ6IGxlZnQ7Ym9yZGVyLXJhZGl1czogNTAlO2Rpc3BsYXk6IGJsb2NrO3dpZHRoOiAzMnB4O2hlaWdodDogMzJweDtcclxuYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19jaGFydHR5cGUucG5nKTtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O2N1cnNvcjogcG9pbnRlcjt9XHJcblxyXG4vKi0tLSBub3JtYWwgLS0tKi9cclxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IHVsLmNoYXJ0dHlwZXMgbGkgLnBpZSB7YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDBweDt9XHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCB1bC5jaGFydHR5cGVzIGxpIC5iYXIge2JhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IDBweDt9XHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCB1bC5jaGFydHR5cGVzIGxpIC5jb2x1bW4ge2JhY2tncm91bmQtcG9zaXRpb246IC02NHB4IDBweDt9XHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCB1bC5jaGFydHR5cGVzIGxpIC50YWJsZSB7YmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMHB4O31cclxuXHJcbi8qLS0tIGhvdmVyIC0tLSovXHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCB1bC5jaGFydHR5cGVzIGxpOmhvdmVyIHtiYWNrZ3JvdW5kOiNlZWVlZWU7fVxyXG5cclxuLyotLS0gYWN0aXZlIC0tLSovXHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCB1bC5jaGFydHR5cGVzIGxpLmFjdGl2ZSB7YmFja2dyb3VuZDojMDA2ZmIwO31cclxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IHVsLmNoYXJ0dHlwZXMgbGkuYWN0aXZlIC5waWUge2JhY2tncm91bmQtcG9zaXRpb246IDFweCAtMzJweDt9XHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCB1bC5jaGFydHR5cGVzIGxpLmFjdGl2ZSAuYmFyIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMzJweDt9XHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCB1bC5jaGFydHR5cGVzIGxpLmFjdGl2ZSAuY29sdW1uIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMzJweDt9XHJcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCB1bC5jaGFydHR5cGVzIGxpLmFjdGl2ZSAudGFibGUge2JhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4O31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKlBlcmZvcm1hbmNlIGNoYXJ0IGNvbnRyb2wgc3BlY2lmaWMgc2V0dGluZ3MqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qLS0tIENvbXBhcmUgdG8gZnVuZC9iZW5jaG1hcmsgYXJlYSAtLS0qL1xyXG4uY3RybF9wZXJmY2hhcnQgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0ZnVuZF9tb2RpZmllcnMge3dpZHRoOjQwJTtmbG9hdDpsZWZ0O31cclxuXHJcbi8qLS0tIERhdGUgcGlja2VyIGFyZWEgLS0tKi9cclxuLmN0cmxfcGVyZmNoYXJ0IC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF9kYXRlcGlja2VyIHt3aWR0aDo0MCU7ZmxvYXQ6cmlnaHQ7dGV4dC1hbGlnbjpyaWdodDt9XHJcblxyXG4uY3RybF9wZXJmY2hhcnQgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X2RhdGVwaWNrZXIgbGl7XHJcbnRleHQtYWxpZ246cmlnaHQ7cGFkZGluZy1yaWdodDoyMHB4O31cclxuXHJcbi5jdHJsX3BlcmZjaGFydCAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfZGF0ZXBpY2tlciBsaSBpbWcge1xyXG5tYXJnaW4tbGVmdDoxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDo0cHg7cGFkZGluZy1yaWdodDoxMHB4O3BhZGRpbmc6N3B4IDEwcHggOXB4IDEwcHh9XHJcblxyXG4uY3RybF9wZXJmY2hhcnQgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X2RhdGVwaWNrZXIgbGkgaW1nIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fY2FsYWRuZXIucG5nKSBuby1yZXBlYXQgMCUgMCU7fVxyXG4uY3RybF9wZXJmY2hhcnQgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X2RhdGVwaWNrZXIgbGkgaW1nOmhvdmVyIHtiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fY2FsYWRuZXJfaG92ZXIucG5nKSBuby1yZXBlYXQgMCUgMCU7fVxyXG4gICBcclxuLmN0cmxfcGVyZmNoYXJ0IC5jaGFydF9mdW5jdGlvbmFsaXR5IGlucHV0LmRhdGVwaWNrZXJfc3RhcnQsXHJcbi5jdHJsX3BlcmZjaGFydCAuY2hhcnRfZnVuY3Rpb25hbGl0eSBpbnB1dC5kYXRlcGlja2VyX2VuZCB7XHJcbmJvcmRlcjpzb2xpZCAxcHggI2RkZGRkZDtcclxud2lkdGg6NzBweDtcclxucG9zaXRpb246cmVsYXRpdmU7XHJcbnBhZGRpbmc6MnB4O1xyXG5tYXJnaW4tbGVmdDoxMHB4O1xyXG5jb2xvcjojOTk5OTk5O1xyXG5ib3JkZXItcmFkaXVzOiAzcHg7XHJcbmJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbmJlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7XHJcbnRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcblxyXG4vKi0tLSBITElORSBDSEFSVCBJTVBMRU1FTlRBVElPTiAtLS0qL1xyXG4uY3RybF9obGluZWNoYXJ0IC5jaGFydF9sZWdlbmRzIC5saW5lX29kZCxcclxuLmN0cmxfaGxpbmVjaGFydCAuY2hhcnRfbGVnZW5kcyAubGluZV9ldmVuIHtiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKipQbG90IGNoYXJ0IGNvbnRyb2wgc3BlY2lmaWMgc2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKi0tLSBPdmVyd3JpdGUgR29vZ2xlIFRvb2x0aXAgQ1NTIChodHRwOi8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L3N0YXRpYy9tb2R1bGVzL2d2aXovMS4wL2NvcmUvdG9vbHRpcC5jc3MpIC0tLSovXHJcbi5jdHJsX3Bsb3RjaGFydCAuY2hhcnRfYXJlYSAuZ29vZ2xlLXZpc3VhbGl6YXRpb24tdG9vbHRpcCB7cG9zaXRpb246IGFic29sdXRlO2ZvbnQtc2l6ZTogaW5oZXJpdDtwYWRkaW5nOiAwcHg7LXdlYmtpdC1ib3gtc2hhZG93OjBweDtib3gtc2hhZG93Om5vbmU7Ym9yZGVyLXJhZGl1czogMHB4O2JhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7YmVoYXZpb3I6IHVybCguLi8uLi9qcy9QSUUuaHRjKTt9XHJcblxyXG4uY3RybF9wbG90Y2hhcnQgLmNoYXJ0X2FyZWEgLmdvb2dsZS12aXN1YWxpemF0aW9uLXRvb2x0aXAge1xyXG5ib3JkZXI6c29saWQgMXB4ICNmMGYwZjA7XHJcbmJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbndpZHRoOjQyMHB4O1xyXG5oZWlnaHQ6MzYwcHg7XHJcbn1cclxuXHJcbi5jdHJsX3Bsb3RjaGFydCAuY2hhcnRfYXJlYSAuZ29vZ2xlVG9vbFRpcERpdixcclxuLmN0cmxfcGxvdGNoYXJ0IC5jaGFydF9hcmVhIC5nb29nbGVUb29sVGlwSWZyYW1lIHtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO31cclxuLmN0cmxfcGxvdGNoYXJ0IC5jaGFydF9hcmVhIC5nb29nbGVUb29sVGlwRGl2IHtwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcblxyXG4uY3RybF9wbG90Y2hhcnQgLmNoYXJ0X2FyZWEgLmdvb2dsZVRvb2xUaXBEaXYgYS5jbG9zZSB7XHJcbnBvc2l0aW9uOmFic29sdXRlO1xyXG50b3A6MnB4O1xyXG5yaWdodDoxcHg7XHJcbmRpc3BsYXk6YmxvY2s7XHJcbndpZHRoOjE4cHg7XHJcbmhlaWdodDoxOHB4O1xyXG50ZXh0LWFsaWduOmNlbnRlcjtcclxudGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtcclxuYm9yZGVyOnNvbGlkIDFweCAjZjBmMGYwO1xyXG59XHJcblxyXG4uY3RybF9wbG90Y2hhcnQgLmNoYXJ0X2FyZWEgLmdvb2dsZVRvb2xUaXBEaXYgYS5jbG9zZSB7YmFja2dyb3VuZDojZjVmNWY1O2NvbG9yOiMwMDZmYjA7fVxyXG4uY3RybF9wbG90Y2hhcnQgLmNoYXJ0X2FyZWEgLmdvb2dsZVRvb2xUaXBEaXYgYS5jbG9zZTpob3ZlciB7YmFja2dyb3VuZDojMDA2ZmIwO2NvbG9yOiNmZmZmZmY7fVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqVG9wIFggaG9sZGluZ3MgdGFibGUgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmN0cmxfdG9wX3hfaG9sZGluZ3MgdGFibGUge3RhYmxlLWxheW91dDogZml4ZWQ7fVxyXG5cclxuLmN0cmxfdG9wX3hfaG9sZGluZ3MuY29sdW1uc18yIC5jb250ZW50X2JnIC5jb2wxIHt3aWR0aDo5MCU7fVxyXG4uY3RybF90b3BfeF9ob2xkaW5ncy5jb2x1bW5zXzIgLmNvbnRlbnRfYmcgLmNvbDIge3dpZHRoOjEwJTt0ZXh0LWFsaWduOnJpZ2h0O31cclxuXHJcbi5jdHJsX3RvcF94X2hvbGRpbmdzLmNvbHVtbnNfNCAuY29udGVudF9iZyAuY29sMSB7d2lkdGg6NTAlO31cclxuLmN0cmxfdG9wX3hfaG9sZGluZ3MuY29sdW1uc180IC5jb250ZW50X2JnIC5jb2wyIHt3aWR0aDoyMCU7fVxyXG4uY3RybF90b3BfeF9ob2xkaW5ncy5jb2x1bW5zXzQgLmNvbnRlbnRfYmcgLmNvbDMge3dpZHRoOjIwJTt9XHJcbi5jdHJsX3RvcF94X2hvbGRpbmdzLmNvbHVtbnNfNCAuY29udGVudF9iZyAuY29sNCB7d2lkdGg6MTAlO3RleHQtYWxpZ246cmlnaHQ7fVxyXG5cclxuLmN0cmxfdG9wX3hfaG9sZGluZ3MgLmNvbnRlbnRfYmcgLkNvbG9ySW1hZ2Uge3dpZHRoOjE1cHg7fVxyXG4uY3RybF90b3BfeF9ob2xkaW5ncyAuY29udGVudF9iZyBzcGFuIHtkaXNwbGF5OmlubGluZS1ibG9jazt9XHJcbi5jdHJsX3RvcF94X2hvbGRpbmdzIC5jb250ZW50X2JnIHNwYW4uc29ydF9ub25lIHsgZGlzcGxheTpub25lOyB9XHJcblxyXG4uY3RybF90b3BfeF9ob2xkaW5ncyAuY29udGVudF9iZyB0ZC5mdW5jdGlvbmFsaXR5Y2VsbCB7cGFkZGluZy10b3A6NXB4O3BhZGRpbmctYm90dG9tOjVweDt9XHJcbi5jdHJsX3RvcF94X2hvbGRpbmdzIC5jb250ZW50X2JnIHRkLmZ1bmN0aW9uYWxpdHljZWxsIHVse2Zsb2F0OnJpZ2h0O31cclxuLmN0cmxfdG9wX3hfaG9sZGluZ3MgLmNvbnRlbnRfYmcgdGQuZnVuY3Rpb25hbGl0eWNlbGwgbGl7ZmxvYXQ6bGVmdDt9XHJcbi5jdHJsX3RvcF94X2hvbGRpbmdzIC5jb250ZW50X2JnIHRkLmZ1bmN0aW9uYWxpdHljZWxsIGxpe21hcmdpbi1sZWZ0OjVweDt9XHJcbi5jdHJsX3RvcF94X2hvbGRpbmdzIC5jb250ZW50X2JnIHRkLmZ1bmN0aW9uYWxpdHljZWxsIGxpOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjBweDt9XHJcblxyXG4vKi0gZXhwYW5kL2NvbGxhcHNlIGljb24gLSovXHJcbi5pY29uLnNob3dfaW5pdGlhbCxcclxuLmljb24uc2hvd19leHBhbmRlZCB7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXJpZ2h0OjNweDtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOiA1MCU7YmFja2dyb3VuZC1jb2xvcjogIzAwNkZCMDtwYWRkaW5nOjNweDt9XHJcblxyXG4uaWNvbi5zaG93X2V4cGFuZGVkOmJlZm9yZSxcclxuLmljb24uc2hvd19leHBhbmRlZDphZnRlcixcclxuLmljb24uc2hvd19pbml0aWFsOmFmdGVyICB7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6NTAlO3RvcDo1MCU7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojZmZmZmZmO30gIFxyXG4uaWNvbi5zaG93X2V4cGFuZGVkOmJlZm9yZSB7Y29udGVudDpcIlwiO2JvcmRlci13aWR0aDoxcHggNHB4O21hcmdpbi10b3A6LTFweDttYXJnaW4tcmlnaHQ6LTRweDsgfVxyXG4uaWNvbi5zaG93X2V4cGFuZGVkOmFmdGVyIHtjb250ZW50OlwiXCI7Ym9yZGVyLXdpZHRoOjRweCAxcHg7bWFyZ2luLXRvcDotNHB4O21hcmdpbi1yaWdodDotMXB4O31cclxuXHJcbi5pY29uLnNob3dfaW5pdGlhbDphZnRlciB7Y29udGVudDpcIlwiO2JvcmRlci13aWR0aDoxcHggNHB4O21hcmdpbi10b3A6LTFweDttYXJnaW4tcmlnaHQ6LTRweDsgfVxyXG5cclxuLnNob3dfZXhwYW5kZWQ6aG92ZXIgLmljb24uc2hvd19leHBhbmRlZDpiZWZvcmUge3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt9XHJcbi5zaG93X2V4cGFuZGVkOmhvdmVyIC5pY29uLnNob3dfZXhwYW5kZWQ6YWZ0ZXIge3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO31cclxuLnNob3dfaW5pdGlhbDpob3ZlciAuaWNvbi5zaG93X2luaXRpYWw6YWZ0ZXIge3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt9XHJcblxyXG4uc2hvd19leHBhbmRlZCAuaWNvbi5zaG93X2V4cGFuZGVkOmJlZm9yZSxcclxuLnNob3dfZXhwYW5kZWQgLmljb24uc2hvd19leHBhbmRlZDphZnRlcixcclxuLnNob3dfaW5pdGlhbCAuaWNvbi5zaG93X2luaXRpYWw6YWZ0ZXIgey13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgMHMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjogYWxsIDAuM3MgMHMgZWFzZS1pbi1vdXQ7fVxyXG5cclxuLyotIGV4cG9ydF9jc3YgaWNvbiAtKi9cclxuLmljb24uZXhwb3J0X2Nzdntwb3NpdGlvbjogcmVsYXRpdmU7bWFyZ2luLWxlZnQ6IDI1cHg7cGFkZGluZy1yaWdodDo1cHg7fVxyXG4uaWNvbi5leHBvcnRfY3N2OmJlZm9yZSxcclxuLmljb24uZXhwb3J0X2NzdjphZnRlciB7cmlnaHQ6IDEwMCU7dG9wOiA1MCU7Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OiBcIiBcIjtoZWlnaHQ6IDA7d2lkdGg6IDA7cG9zaXRpb246IGFic29sdXRlO3BvaW50ZXItZXZlbnRzOiBub25lO31cclxuXHJcbi5pY29uLmV4cG9ydF9jc3Y6YmVmb3JlIHtib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O2JvcmRlci10b3AtY29sb3I6ICMwMDZmYjA7Ym9yZGVyLXdpZHRoOiA2cHg7bWFyZ2luLXJpZ2h0OjdweDt9XHJcbi5pY29uLmV4cG9ydF9jc3Y6YWZ0ZXIge2NvbnRlbnQ6J0NTVic7YmFja2dyb3VuZDogIzAwNmZiMDtmb250LXNpemU6IDhweDtoZWlnaHQ6IDhweDt3aWR0aDogMThweDtsaW5lLWhlaWdodDogOHB4O21hcmdpbi10b3A6IC04cHg7bWFyZ2luLXJpZ2h0OjJweDtjb2xvcjojZmZmZmZmO2JvcmRlci1yYWRpdXM6MnB4O31cclxuXHJcbi5leHBvcnRfY3N2IC5pY29uLmV4cG9ydF9jc3Y6YmVmb3JlIHttYXJnaW4tdG9wOiAtNnB4O31cclxuLmV4cG9ydF9jc3Y6aG92ZXIgLmljb24uZXhwb3J0X2NzdjpiZWZvcmUge21hcmdpbi10b3A6LTExcHg7dHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyl9XHJcblxyXG4uZXhwb3J0X2NzdiAuaWNvbi5leHBvcnRfY3N2OmFmdGVyIHttYXJnaW4tdG9wOiAtOHB4O31cclxuLmV4cG9ydF9jc3Y6aG92ZXIgLmljb24uZXhwb3J0X2NzdjphZnRlciB7bWFyZ2luLXRvcDogLTRweDt9XHJcblxyXG4uZXhwb3J0X2NzdiAuaWNvbi5leHBvcnRfY3N2LFxyXG4uZXhwb3J0X2NzdiAuaWNvbi5leHBvcnRfY3N2OmJlZm9yZSxcclxuLmV4cG9ydF9jc3YgLmljb24uZXhwb3J0X2NzdjphZnRlciB7LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqRmVlcyB0YWJsZSBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uY3RybF9mZWVzdGFibGUgLmNvbnRlbnRfYmcgLmNvbDIsXHJcbi5jdHJsX2ZlZXN0YWJsZSAuY29udGVudF9iZyAuY29sM3t0ZXh0LWFsaWduOnJpZ2h0O31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKipLZXkgZmlndXJlcyB0YWJsZSBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKktleSBmaWd1cmVzIHRhYmxlIChtb250aGx5KSBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uY3RybF9rZXlmaWd1cmVzbW9udGhseXRhYmxlIHRoLFxyXG4uY3RybF9rZXlmaWd1cmVzbW9udGhseXRhYmxlIHRke1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbn1cclxuXHJcbi5jdHJsX2tleWZpZ3VyZXNtb250aGx5dGFibGUgdGguY29sMSxcclxuLmN0cmxfa2V5ZmlndXJlc21vbnRobHl0YWJsZSB0ZDpmaXJzdC1vZi10eXBle1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxufVxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqRG9jdW1lbnQgbGlicmFyeSB0YWJsZSBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uY3RybF9kb2N1bWVudGxpYnJhcnkgLmNvbnRlbnRfYmcgc3BhbiB7ZGlzcGxheTpibG9jazt9XHJcbi5jdHJsX2RvY3VtZW50bGlicmFyeSAuY29udGVudF9iZyAuY29sMSB7d2lkdGg6OTUlO31cclxuLmN0cmxfZG9jdW1lbnRsaWJyYXJ5IC5jb250ZW50X2JnIC5jb2wyIHt3aWR0aDo1JTt0ZXh0LWFsaWduOnJpZ2h0O31cclxuLmN0cmxfZG9jdW1lbnRsaWJyYXJ5IC5jb250ZW50X2JnIC5jb2wyIHNlbGVjdHtmbG9hdDpyaWdodDtkaXNwbGF5Om5vbmU7fVxyXG5cclxuLmN0cmxfZG9jdW1lbnRsaWJyYXJ5IC5jb250ZW50X2JnIC5jb2wyIC5sYW5ndWFnZXNlbGVjdF93cmFwIHt3aWR0aDoxMDBweDtmbG9hdDpyaWdodDt9XHJcbi5jdHJsX2RvY3VtZW50bGlicmFyeSAuY29udGVudF9iZyAuY29sMiAubGFuZ3VhZ2VzZWxlY3Rfd3JhcCB7ZGlzcGxheTpub25lO31cclxuLmN0cmxfZG9jdW1lbnRsaWJyYXJ5IC5jb250ZW50X2JnIC5jb2wyIC5sYW5ndWFnZXNlbGVjdF93cmFwIC5MYW5ndWFnZV9zZWxlY3Qge3dpZHRoOjcwcHg7ZmxvYXQ6bGVmdDt9XHJcbi5jdHJsX2RvY3VtZW50bGlicmFyeSAuY29udGVudF9iZyAuY29sMiAubGFuZ3VhZ2VzZWxlY3Rfd3JhcCAuYWN0aXZlX2xhbmd1YWdlIHt3aWR0aDoyMHB4O2hlaWdodDoxNnB4O2Zsb2F0OnJpZ2h0O31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKlN0YWJpbGl0eSBtZWFzdXJlcyBmdW5kbGlzdCBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5iYXJDb250YWluZXJPdXRlciB7d2lkdGg6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7fVxyXG5cclxuLmJhckNvbnRhaW5lck91dGVyIC5iYXJDb250YWluZXIge3Bvc2l0aW9uOiByZWxhdGl2ZTttYXJnaW46MDsgaGVpZ2h0OiAxNnB4OyBmb250LXNpemU6IDFweDtib3JkZXI6c29saWQgMXB4ICNEMURERTk7YmFja2dyb3VuZDojZmZmZmZmO2JvcmRlci1yYWRpdXM6IDNweDtiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Oy13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAzcHggMHB4IHJnYmEoMCwwLDAsMC4zKTtib3gtc2hhZG93Omluc2V0IDBweCAxcHggM3B4IDBweCByZ2JhKDAsMCwwLDAuMyk7YmVoYXZpb3I6IHVybCguLi8uLi9qcy9QSUUuaHRjKTt9XHJcbi5iYXJQYWQsIC5iYXJMb3csIC5iYXJIaWdoIHttYXJnaW46IDBweDtwYWRkaW5nOiAwcHg7ZGlzcGxheTogaW5saW5lLWJsb2NrO2Zsb2F0OmxlZnQ7aGVpZ2h0OjEwMCU7fVxyXG5cclxuLmJhckxvdyB7YmFja2dyb3VuZDojYTgzODM4O2JvcmRlci1yYWRpdXM6IDNweDtiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O2JlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7fVxyXG4uYmFySGlnaCB7YmFja2dyb3VuZDojMGM3YzY2O2JvcmRlci1yYWRpdXM6MHB4IDNweCAzcHggMHB4O2JhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7YmVoYXZpb3I6IHVybCguLi8uLi9qcy9QSUUuaHRjKTt9XHJcblxyXG5kaXYuYXhpc051bWJlciB7bWFyZ2luOiAwO3BhZGRpbmc6IDA7bGluZS1oZWlnaHQ6IDE7Ym90dG9tOiAwO3RleHQtYWxpZ246IGNlbnRlcjt9XHJcbnRyLmxpbmVfc3RhYl9tZWFzX2F4aXNfYWJvdmUgdGQge3Bvc2l0aW9uOiByZWxhdGl2ZTt9XHJcbnRyLmxpbmVfc3RhYl9tZWFzX2F4aXNfYWJvdmUgZGl2LmJhckNvbnRhaW5lck91dGVyIHtwb3NpdGlvbjogcmVsYXRpdmU7bGVmdDogMDtyaWdodDogMDtoZWlnaHQ6IDEwMCU7d2lkdGg6IDEwMCU7fVxyXG5cclxuLmJhckNvbnRhaW5lck91dGVyIERJVi52ZXJ0aWNhbExpbmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6MDtib3R0b206MDt3aWR0aDogMXB4O2JvcmRlci1sZWZ0OnNvbGlkIDFweCAjRDFEREU5O31cclxuXHJcbi5iYXJDb250YWluZXJPdXRlciB7cG9zaXRpb246IHJlbGF0aXZlO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKkxvYWRpbmcgc2NyZWVuIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiNsb2FkaW5nX3NjcmVlbiB7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IDA7dG9wOiAwO3dpZHRoOiAyMDBweDtoZWlnaHQ6IDgwcHg7fVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKkNvbXBhbnkgbGluayBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaDIuY29tcGFueV9saW5rIHttYXJnaW4tYm90dG9tOjEwcHg7cGFkZGluZzozcHggNXB4IDNweCA1cHg7bGluZS1oZWlnaHQ6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlF1YXJ0aWxlIGJveCBzZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5jdHJsX3F1YXJ0aWxlYm94IC5jb250ZW50X2Jne3BhZGRpbmc6NXB4O31cclxuXHJcbnRhYmxlLnF1YXJ0aWxlYm94e2hlaWdodDoxMDBweDt9XHJcblxyXG50YWJsZS5xdWFydGlsZWJveCB0ZHtib3JkZXI6c29saWQgMXB4ICNmZmZmZmY7dGV4dC1hbGlnbjpjZW50ZXI7fVxyXG5cclxudGFibGUucXVhcnRpbGVib3ggdGQgc3BhbixcclxudGFibGUucXVhcnRpbGVib3ggdGQgaDMge2NvbG9yOiNmZmZmZmY7fVxyXG5cclxuLnF1YXJ0aWxlYm94IC5jb2wxe3dpZHRoOjMzLjMzJTt9XHJcbi5xdWFydGlsZWJveCAuY29sMnt3aWR0aDozMy4zMyU7fVxyXG4ucXVhcnRpbGVib3ggLmNvbDN7d2lkdGg6MzMuMzMlO31cclxuXHJcbi5xdWFydGlsZWJveCAubGluZSB7bGluZS1oZWlnaHQ6MTAwJTt9XHJcblxyXG4ucXVhcnRpbGVib3ggLmxpbmVfbnVtYmVyMXtoZWlnaHQ6MzMuMzMlO31cclxuLnF1YXJ0aWxlYm94IC5saW5lX251bWJlcjJ7aGVpZ2h0OjMzLjMzJTt9XHJcbi5xdWFydGlsZWJveCAubGluZV9udW1iZXIze2hlaWdodDozMy4zMyU7fVxyXG5cclxuLnF1YXJ0aWxlYm94X2xlZ2VuZHMgLnEwLFxyXG4ucXVhcnRpbGVib3ggLnEwIHtiYWNrZ3JvdW5kOiNmZmZmZmY7fVxyXG4ucXVhcnRpbGVib3hfbGVnZW5kcyAucTEsXHJcbi5xdWFydGlsZWJveCAucTEge2JhY2tncm91bmQ6I2U0NDEzOTt9Lyp3b3JzdCovXHJcbi5xdWFydGlsZWJveF9sZWdlbmRzIC5xMixcclxuLnF1YXJ0aWxlYm94IC5xMiB7YmFja2dyb3VuZDojZjJkNDJjO31cclxuLnF1YXJ0aWxlYm94X2xlZ2VuZHMgLnEzLFxyXG4ucXVhcnRpbGVib3ggLnEzIHtiYWNrZ3JvdW5kOiM5MmM3Mzc7fVxyXG4ucXVhcnRpbGVib3hfbGVnZW5kcyAucTQsXHJcbi5xdWFydGlsZWJveCAucTQge2JhY2tncm91bmQ6IzM1OTcyNTt9LypiZXN0Ki9cclxuXHJcbnRhYmxlLnF1YXJ0aWxlYm94LFxyXG50YWJsZS5xdWFydGlsZWJveCB0cixcclxudGFibGUucXVhcnRpbGVib3ggdGR7dGFibGUtbGF5b3V0OmZpeGVkICFpbXBvcnRhbnQ7fVxyXG5cclxudGFibGUucXVhcnRpbGVib3ggc3Bhbix0YWJsZS5xdWFydGlsZWJveCBoM3tjb2xvcjojZmZmZmZmO3RleHQtc2hhZG93OiAxcHggMXB4IDFweCAjMzMzMzMzO31cclxudGFibGUucXVhcnRpbGVib3ggLnEwIHNwYW4sdGFibGUucXVhcnRpbGVib3ggLnEwIGgze2NvbG9yOiM5OTk5OTk7dGV4dC1zaGFkb3c6IDBweCAwcHggMHB4ICNmZmZmZmY7fVxyXG5cclxuLnF1YXJ0aWxlYm94X2xlZ2VuZHMge3BhZGRpbmc6NXB4O31cclxuLnF1YXJ0aWxlYm94X25vdGUsLnF1YXJ0aWxlYm94X2xlZ2VuZHMge2JvcmRlcjpzb2xpZCAxcHggI2YwZjBmMDttYXJnaW4tdG9wOjEwcHg7YmFja2dyb3VuZDojZjVmNWY1fVxyXG5cclxuLnF1YXJ0aWxlYm94X2xlZ2VuZHMgbGkge21hcmdpbi1ib3R0b206M3B4O2Zsb2F0OmxlZnQ7d2lkdGg6NTAlO31cclxuLnF1YXJ0aWxlYm94X2xlZ2VuZHMgLmxlZ2VuZF9pbWd7ZGlzcGxheTpibG9jazt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2Zsb2F0OmxlZnQ7bWFyZ2luLXRvcDo0cHg7fVxyXG4ucXVhcnRpbGVib3hfbGVnZW5kcyAubGVnZW5kX3RleHR7ZmxvYXQ6bGVmdDttYXJnaW4tbGVmdDo1cHg7fVxyXG5cclxuLnF1YXJ0aWxlYm94X25vdGUgaDN7cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXJpZ2h0OjVweDt9XHJcblxyXG4ucXVhcnRpbGVib3hfbm90ZSBoM3ttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4O31cclxuLnF1YXJ0aWxlYm94X2xlZ2VuZHMge3dpZHRoOjE4MHB4O2Zsb2F0OmxlZnR9XHJcblxyXG4vKi0tLSBRdWFydGlsZSBibGluZyBibGluZyAtLS0qL1xyXG4uY3RybF9xdWFydGlsZWJveCB0YWJsZS5xdWFydGlsZWJveHtoZWlnaHQ6MTkwcHg7d2lkdGg6MTkwcHg7ZmxvYXQ6bGVmdH1cclxuLmN0cmxfcXVhcnRpbGVib3ggLnF1YXJ0aWxlYm94X25vdGUge3dpZHRoOjE2MHB4O2Zsb2F0OnJpZ2h0O21hcmdpbi10b3A6MDt9XHJcbi5xdWFydGlsZV9oaWRlciB7aGVpZ2h0OjYycHg7b3ZlcmZsb3c6aGlkZGVuO31cclxuXHJcbi52aXNpYmxlX2NvbnRlbnQsXHJcbi5oaWRkZW5fY29udGVudCB7aGVpZ2h0OjEwMCU7fVxyXG4ucXVhcnRpbGVfaGlkZXI6aG92ZXIgLnZpc2libGVfY29udGVudCBoMyB7ZGlzcGxheTpub25lfVxyXG4udmlzaWJsZV9jb250ZW50IGgzIHtsaW5lLWhlaWdodDo2MHB4O31cclxuXHJcbi5oaWRkZW5fY29udGVudCBoMyB7cGFkZGluZy10b3A6MTJweDt9XHJcbi5oaWRkZW5fY29udGVudCBzcGFuIHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7cGFkZGluZzozcHg7Y29sb3I6IzMzMzMzMyFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czo1cHg7YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtiZWhhdmlvcjogdXJsKC4uLy4uL2pzL1BJRS5odGMpO31cclxuXHJcbi8qLS0tIFNtYWxsIHF1YXJ0aWxlYm94IC0tLSovXHJcbi5jdHJsX3F1YXJ0aWxlYm94LlNtYWxsRGlzcGxheSB7cG9zaXRpb246cmVsYXRpdmU7fVxyXG4uY3RybF9xdWFydGlsZWJveC5TbWFsbERpc3BsYXkgLnF1YXJ0aWxlYm94IHtoZWlnaHQ6ODBweDt3aWR0aDo5NnB4O2Zsb2F0OmxlZnR9XHJcbi5jdHJsX3F1YXJ0aWxlYm94LlNtYWxsRGlzcGxheSAucXVhcnRpbGVib3ggdGQ6aG92ZXIge291dGxpbmU6c29saWQgMXB4ICNkZGRkZGQ7fVxyXG4uY3RybF9xdWFydGlsZWJveC5TbWFsbERpc3BsYXkgLnF1YXJ0aWxlYm94IC5xdWFydGlsZV9pbmZvcm1hdGlvbiB7d2lkdGg6OTRweDtoZWlnaHQ6OTJweDtiYWNrZ3JvdW5kOiNmNWY1ZjU7Ym9yZGVyOnNvbGlkIDFweCAjZjBmMGYwO3otaW5kZXg6LTEwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxcHg7bGVmdDowcHg7fVxyXG4uY3RybF9xdWFydGlsZWJveC5TbWFsbERpc3BsYXkgLnF1YXJ0aWxlYm94IC5xdWFydGlsZV9pbmZvcm1hdGlvbiB1bCB7cGFkZGluZzoxMHB4O31cclxuLmN0cmxfcXVhcnRpbGVib3guU21hbGxEaXNwbGF5IC5xdWFydGlsZWJveCAucXVhcnRpbGVfaW5mb3JtYXRpb24gdWwgbGl7cGFkZGluZy10b3A6M3B4O31cclxuLmN0cmxfcXVhcnRpbGVib3guU21hbGxEaXNwbGF5IC5xdWFydGlsZWJveCAucXVhcnRpbGVfaW5mb3JtYXRpb24gc3BhbiB7Y29sb3I6IzQ1NDU0NTt0ZXh0LXNoYWRvdzpub25lO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnQ7fVxyXG4uY3RybF9xdWFydGlsZWJveC5TbWFsbERpc3BsYXkgLnF1YXJ0aWxlYm94IC5xdWFydGlsZV9pbmZvcm1hdGlvbiBzcGFuLnRpdGxle2NvbG9yOiMwMDAwMDA7fVxyXG4uY3RybF9xdWFydGlsZWJveC5TbWFsbERpc3BsYXkgLnF1YXJ0aWxlYm94X25vdGUge3dpZHRoOjkycHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MHB4OyB0b3A6MXB4O3otaW5kZXg6LTExOyBoZWlnaHQ6OTJweDtiYWNrZ3JvdW5kOiNmNWY1ZjU7Y29sb3I6IzQ1NDU0NTsgZGlzcGxheTpibG9ja31cclxuLmN0cmxfcXVhcnRpbGVib3guU21hbGxEaXNwbGF5IC5xdWFydGlsZWJveF9ub3RlIGgzIHtkaXNwbGF5Om5vbmU7fVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKiBDYWxjdWxhdGVkIFdlaWdodCBDb250cm9sICoqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmN0cmxfY2FsY3VsYXRlZHdlaWdodGNoYXJ0IHt3aWR0aDo1MCU7ZmxvYXQ6bGVmdDt9XHJcblxyXG4uY3RybF9jYWxjdWxhdGVkd2VpZ2h0Y2hhcnQgLmNvbnRlbnRfYmcge3BhZGRpbmc6NXB4O31cclxuLmN0cmxfY2FsY3VsYXRlZHdlaWdodGNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9sZWdlbmRzIHtoZWlnaHQ6NjBweDt9XHJcblxyXG4uY3RybF9jYWxjdWxhdGVkd2VpZ2h0Y2hhcnQgLmNoYXJ0e2JhY2tncm91bmQ6I2RkZGRkZDtoZWlnaHQ6MzI1cHg7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjpzb2xpZCAxcHggI2ZmZmZmZjt9LypNdXN0IGNoYW5nZSBieSBjbGllbnQgd2lkdGgqL1xyXG4uY3RybF9jYWxjdWxhdGVkd2VpZ2h0Y2hhcnQgLmNoYXJ0IGRpdiB7Ym9yZGVyLWJvdHRvbTpzb2xpZCAxcHggI2ZmZmZmZjt9XHJcbi5jdHJsX2NhbGN1bGF0ZWR3ZWlnaHRjaGFydCAuY2hhcnQgZGl2IGgze3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDo1MCU7Y29sb3I6I2ZmZmZmZjt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nLXRvcDoycHg7fVxyXG4uY3RybF9jYWxjdWxhdGVkd2VpZ2h0Y2hhcnQgLmNoYXJ0IGRpdiBoMyBzcGFue3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotN3B4O31cclxuXHJcbi5jdHJsX2NhbGN1bGF0ZWR3ZWlnaHRjaGFydCBoM3tjb2xvcjojMDAwMDAwO3RleHQtYWxpZ246Y2VudGVyfVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKkpxdWVyeSBVSSB0b29sdGlwIChyZXBsYWNpbmcgdGhlIGN1cnJlbnQpKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnVpLXRvb2x0aXAsIC5hcnJvdzphZnRlciB7YmFja2dyb3VuZDojZmZmZmZmO2JvcmRlcjpzb2xpZCAxcHggI2RkZGRkZCAhaW1wb3J0YW50O31cclxuXHJcbi51aS10b29sdGlwIHtwYWRkaW5nOjEwcHggMjBweDtib3JkZXItcmFkaXVzOiAyMHB4O2JhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7LXdlYmtpdC1ib3gtc2hhZG93OjBweCAxcHggM3B4IDBweCByZ2JhKDAsMCwwLDAuMyk7Ym94LXNoYWRvdzowcHggMXB4IDNweCAwcHggcmdiYSgwLDAsMCwwLjMpO2JlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7fVxyXG5cclxuLmFycm93IHt3aWR0aDogNzBweDtoZWlnaHQ6IDE2cHg7b3ZlcmZsb3c6IGhpZGRlbjtwb3NpdGlvbjogYWJzb2x1dGU7bGVmdDogNTAlO21hcmdpbi1sZWZ0OiAtMzVweDtib3R0b206IC0xNnB4O31cclxuLmFycm93LnRvcCB7dG9wOiAtMTZweDtib3R0b206IGF1dG87fVxyXG4uYXJyb3cubGVmdCB7bGVmdDogMjAlO31cclxuLmFycm93LnJpZ2h0IHtyaWdodDogMjAlO31cclxuXHJcbi5hcnJvdzphZnRlciB7Y29udGVudDogXCJcIjtwb3NpdGlvbjogYWJzb2x1dGU7bGVmdDogMjBweDt0b3A6IC0yMHB4O3dpZHRoOiAyNXB4O2hlaWdodDogMjVweDstd2Via2l0LWJveC1zaGFkb3c6IDZweCA1cHggOXB4IC05cHggcmdiYSgwLDAsMCwwLjgpO2JveC1zaGFkb3c6IDZweCA1cHggOXB4IC05cHggcmdiYSgwLDAsMCwwLjgpOy13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOy1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOy1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7LW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO3RyYW5mb3JtOiByb3RhdGUoNDVkZWcpO31cclxuLmFycm93LnRvcDphZnRlciB7Ym90dG9tOiAtMjBweDt0b3A6IGF1dG87fVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKip0aXBUaXAgU0VUVElOR1MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuI3RpcHRpcF9ob2xkZXIge2Rpc3BsYXk6IG5vbmU7cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtsZWZ0OiAwO3otaW5kZXg6IDk5OTk5O31cclxuXHJcbiN0aXB0aXBfaG9sZGVyLnRpcF90b3Age1x0cGFkZGluZy1ib3R0b206IDVweDt9XHJcbiN0aXB0aXBfaG9sZGVyLnRpcF9ib3R0b20ge1x0cGFkZGluZy10b3A6IDVweDt9XHJcbiN0aXB0aXBfaG9sZGVyLnRpcF9yaWdodCB7XHRwYWRkaW5nLWxlZnQ6IDVweDt9XHJcbiN0aXB0aXBfaG9sZGVyLnRpcF9sZWZ0IHtcdHBhZGRpbmctcmlnaHQ6IDVweDt9XHJcblxyXG4jdGlwdGlwX2NvbnRlbnQge2ZvbnQtc2l6ZTogMTFweDtjb2xvcjogIzU3NTg1OTtwYWRkaW5nOiA0cHggOHB4O2JvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlci1yYWRpdXM6IDNweDstd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMTApO2JveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMTApO2JlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7fVxyXG4jdGlwdGlwX2Fycm93LCAjdGlwdGlwX2Fycm93X2lubmVyIHtwb3NpdGlvbjogYWJzb2x1dGU7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTogc29saWQ7Ym9yZGVyLXdpZHRoOiA2cHg7aGVpZ2h0OiAwO3dpZHRoOiAwO31cclxuXHJcbiN0aXB0aXBfaG9sZGVyLnRpcF90b3AgI3RpcHRpcF9hcnJvdyB7Ym9yZGVyLXRvcC1jb2xvcjogI2RkZGRkZDt9XHJcbiN0aXB0aXBfaG9sZGVyLnRpcF9ib3R0b20gI3RpcHRpcF9hcnJvdyB7Ym9yZGVyLWJvdHRvbS1jb2xvcjogI2RkZGRkZDt9XHJcbiN0aXB0aXBfaG9sZGVyLnRpcF9yaWdodCAjdGlwdGlwX2Fycm93IHtib3JkZXItcmlnaHQtY29sb3I6ICNkZGRkZGQ7fVxyXG4jdGlwdGlwX2hvbGRlci50aXBfbGVmdCAjdGlwdGlwX2Fycm93IHtib3JkZXItbGVmdC1jb2xvcjogI2RkZGRkZDt9XHJcblxyXG4jdGlwdGlwX2hvbGRlci50aXBfdG9wICN0aXB0aXBfYXJyb3dfaW5uZXIge21hcmdpbi10b3A6LTdweDttYXJnaW4tbGVmdDotNnB4O2JvcmRlci10b3AtY29sb3I6I2Y1ZjVmNTt9XHJcbiN0aXB0aXBfaG9sZGVyLnRpcF9ib3R0b20gI3RpcHRpcF9hcnJvd19pbm5lciB7bWFyZ2luLXRvcDotNXB4O21hcmdpbi1sZWZ0Oi02cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZjVmNWY1O31cclxuI3RpcHRpcF9ob2xkZXIudGlwX3JpZ2h0ICN0aXB0aXBfYXJyb3dfaW5uZXIge21hcmdpbi10b3A6LTZweDttYXJnaW4tbGVmdDotNXB4O2JvcmRlci1yaWdodC1jb2xvcjojZjVmNWY1O31cclxuI3RpcHRpcF9ob2xkZXIudGlwX2xlZnQgI3RpcHRpcF9hcnJvd19pbm5lciB7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1sZWZ0Oi03cHg7Ym9yZGVyLWxlZnQtY29sb3I6I2Y1ZjVmNTt9XHJcblxyXG4vKiBXZWJraXQgSGFja3MgICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1x0XHJcblx0I3RpcHRpcF9jb250ZW50IHtwYWRkaW5nOiA0cHggOHB4IDVweCA4cHg7YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTt9XHJcblx0I3RpcHRpcF9ob2xkZXIudGlwX2JvdHRvbSAjdGlwdGlwX2Fycm93X2lubmVyIHtib3JkZXItYm90dG9tLWNvbG9yOiAjZjVmNWY1O31cclxuXHQjdGlwdGlwX2hvbGRlci50aXBfdG9wICN0aXB0aXBfYXJyb3dfaW5uZXIge2JvcmRlci10b3AtY29sb3I6ICNmNWY1ZjU7fVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipKcXVlcnktVUkgc2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4udWktY29ybmVyLWFsbCB7Ym9yZGVyLXJhZGl1czowO31cclxuLnVpLXdpZGdldC1oZWFkZXIge2JvcmRlcjowO31cclxuXHJcbi51aS1idXR0b24tdGV4dC1vbmx5IC51aS1idXR0b24tdGV4dCB7cGFkZGluZzowO31cclxuXHJcbi8qLS0tIEF1dG9Db21wbGV0ZSBzdHlsaW5nIC0tLSovXHJcbi8qQXV0b2NvbXBsZXRlIE1lbnUgaXRlbXMgLSBHZW5lcmFsIE1lbnUgSXRlbXMqL1xyXG4udWktbWVudS1pdGVtIHt9XHJcblxyXG4vKkF1dG9jb21wbGV0ZSBNZW51IExpbmsgSG92ZXIgLSBMaW5rIEhvdmVyIFN0YXRlKi9cclxuLnVpLWF1dG9jb21wbGV0ZSAudWktbWVudS1pdGVtIC51aS1zdGF0ZS1mb2N1cyB7XHJcbmZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbmJhY2tncm91bmQ6IzAwNmZiMDtcclxuY29sb3I6I2ZmZmZmZjtcclxufVxyXG5cclxuLyotLS0gQ2FsYW5kZXIgc2V0dGluZ3MgLS0tKi9cclxuLnVpLWRhdGVwaWNrZXIge3BhZGRpbmc6MDt9XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7cGFkZGluZzowO31cclxuXHJcbi51aS1kYXRlcGlja2VyLXRpdGxlIHNwYW57XHJcbmZvbnQtc2l6ZToxMXB4O1xyXG5mb250LXdlaWdodDpub3JtYWw7XHJcbmNvbG9yOiMwMDZmYjA7XHJcbn1cclxuXHJcbi8qLS0tIENhbGFuZGVyIEhlYWRlciBpY29ucyAtLS0qL1xyXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IC51aS1pY29uIHtiYWNrZ3JvdW5kOm5vbmU7fVxyXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgYSBzcGFuIHtwYWRkaW5nOjA7fVxyXG5cclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiAudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvY2FsYW5kZXJfcHJldi5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCAudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7YmFja2dyb3VuZDp1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvY2FsYW5kZXJfbmV4dC5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO31cclxuXHJcbi8qLS0tIENhbGFuZGVyIGJ1dHRvbnMgLS0tKi9cclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkge2JhY2tncm91bmQ6I2ZmZmZmZjt9XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IC51aS1zdGF0ZS1hY3RpdmV7XHJcbmJhY2tncm91bmQ6bm9uZTtjb2xvcjojMDA2ZmIwO2JvcmRlcjowO31cclxuXHJcbi8qLS0tIE1vZGFsYm94IC0tLSovXHJcbi8qLS0tIG1vZGFsYm94IHRpdGxlIC0tLSovXHJcbi51aS1kaWFsb2cge3BhZGRpbmc6MDt9XHJcbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhciB7cGFkZGluZzowIDAgMCA1cHg7fVxyXG5cclxuLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyIHNwYW4ge3BhZGRpbmc6MDttYXJnaW46MDttYXJnaW4tcmlnaHQ6MjVweDt9XHJcblxyXG4udWktZGlhbG9nIGEudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlLFxyXG4udWktZGlhbG9nIGEudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlOmhvdmVyIHtcclxuZGlzcGxheTpibG9jazt3aWR0aDoyNHB4O2hlaWdodDoyNXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO1xyXG5yaWdodDowO21hcmdpbjowO2JvcmRlcjowO2Zsb2F0OnJpZ2h0O31cclxuXHJcbi8qLS0tIE1vZGFsIGNsb3NlIGljb24gLS0tKi9cclxuLnVpLXN0YXRlLWRlZmF1bHQgLnVpLWljb24ge2JhY2tncm91bmQ6bm9uZTt9XHJcblxyXG4udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xyXG5iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvZGVmYXVsdC91aS1tb2RhbC1jbG9zZS5wbmdcIik7XHJcbmJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcclxuYmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAwcHg7XHJcbn1cclxuXHJcbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZS51aS1zdGF0ZS1ob3ZlcntcclxuYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2RlZmF1bHQvdWktbW9kYWwtY2xvc2UucG5nXCIpO1xyXG5iYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcbmJhY2tncm91bmQtcG9zaXRpb246cmlnaHQgLTE5cHg7XHJcbn1cclxuXHJcbi8qcmVtb3ZpbmcgSnF1ZXJ5IGJhY2tncm91bmQgaW1hZ2UqL1xyXG4udWktZGlhbG9nIGEudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHNwYW4udWktaWNvbiB7YmFja2dyb3VuZDpub25lO31cclxuXHJcbi8qLS0tIG1vZGFsYm94IGNvbnRlbnQgLS0tKi9cclxuXHJcbi8qLS0tIG1vZGFsYm94IGJ1dHRvbiBwYW5lbCAtLS0qL1xyXG4udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7Ym9yZGVyOjA7fVxyXG4udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSAudWktYnV0dG9uIHtkaXNwbGF5OmlubGluZTttYXJnaW46MDt9XHJcblxyXG4vKi0tLSBGbG9hdGluZyBoZWFkZXIgKEZvciBmdW5kbGlzdHMpIC0tLSovXHJcbi5mbG9hdGluZ0hlYWRlciB7ei1pbmRleDo5OTk5OTk7fVxyXG5cclxuLnVpLXdpZGdldC1vdmVybGF5IHtiYWNrZ3JvdW5kOm5vbmU7b3BhY2l0eTowO31cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDb2x1bW4gYW5kIGl0ZW0gc2V0dGluZ3MgKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qXHJcbiAgICBSRVBMQUNFRCBCWSBHUklEIElURU1TIElOU1RFQURcclxuICAgIFNFQVJDSCBGT1I6XHJcbiAgICBMYXlvdXQgZ3JpZCBmb3IgcmVzcG9uc2l2ZSBzb2x1dGlvbnNcclxuKi9cclxuXHJcbi8qLS0tIEl0ZW1zIGFuZCBjb2x1bW5zIC0tLSovXHJcbi8qLml0ZW1zLXJvdyB7bWFyZ2luLXRvcDowJTtjbGVhcjpib3RoO3BhZGRpbmc6MC41JTt9XHJcbi5pdGVtcy1yb3cgLml0ZW0ge2Zsb2F0OmxlZnQ7dGV4dC1hbGlnbjpsZWZ0O21hcmdpbi1sZWZ0OjElO21hcmdpbi1yaWdodDoxJTt9XHJcblxyXG4uaXRlbXMtcm93IC5pdGVtOmZpcnN0LWNoaWxkIHttYXJnaW4tbGVmdDowJTt9XHJcbi5pdGVtcy1yb3cgLml0ZW06bGFzdC1jaGlsZCB7bWFyZ2luLXJpZ2h0OjAlO30qL1xyXG5cclxuLyotLS0gQ29sdW1ucyAtMUNvbHVtbiAtLS0qL1xyXG4vKi5jb2xzLTEgLmNvbHVtbi0xe3dpZHRoOjEwMCUgIWltcG9ydGFudDt9Ki9cclxuXHJcbi8qLS0tIENvbHVtbnMgLTJDb2x1bW5zIC0tLSovXHJcbi8qLmNvbHMtMiAuY29sdW1uLTEsXHJcbi5jb2xzLTIgLmNvbHVtbi0ye3dpZHRoOjQ5JSAhaW1wb3J0YW50O30qL1xyXG5cclxuLyotLS0gQ29sdW1ucyAtMkNvbHVtbnMgd2lkZS1uYXJyb3ctLS0qL1xyXG4vKi5jb2xzLTIud2lkZS1uYXJyb3cgLmNvbHVtbi0xe3dpZHRoOjc0JSAhaW1wb3J0YW50O31cclxuLmNvbHMtMi53aWRlLW5hcnJvdyAuY29sdW1uLTJ7d2lkdGg6MjQlICFpbXBvcnRhbnQ7fSovXHJcblxyXG4vKi0tLSBDb2x1bW5zIC0yQ29sdW1ucyBuYXJyb3ctd2lkZS0tLSovXHJcbi8qLmNvbHMtMi5uYXJyb3ctd2lkZSAuY29sdW1uLTF7d2lkdGg6MjQlICFpbXBvcnRhbnQ7fVxyXG4uY29scy0yLm5hcnJvdy13aWRlIC5jb2x1bW4tMnt3aWR0aDo3NCUgIWltcG9ydGFudDt9Ki9cclxuXHJcbi8qLS0tIENvbHVtbnMgLTNDb2x1bW5zIC0tLSovXHJcbi8qLmNvbHMtMyAuY29sdW1uLTEsXHJcbi5jb2xzLTMgLmNvbHVtbi0yLFxyXG4uY29scy0zIC5jb2x1bW4tM3t3aWR0aDozMCUgIWltcG9ydGFudDt9Ki9cclxuXHJcbi8qLS0tIENvbHVtbnMgLTRDb2x1bW5zIC0tLSovXHJcbi8qLmNvbHMtNCAuY29sdW1uLTEsXHJcbi5jb2xzLTQgLmNvbHVtbi0yLFxyXG4uY29scy00IC5jb2x1bW4tMyxcclxuLmNvbHMtNCAuY29sdW1uLTQge3dpZHRoOjIxLjUlICFpbXBvcnRhbnQ7fSovXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKkRpY3Rpb25hcnkgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyotLS0gRGljdGlvbmFyeSBhY3RpdmF0b3IgZGlzcGxheSAtLS0qL1xyXG4jcGFnZV93cmFwIC5kX3dvcmR7Y3Vyc29yOmhlbHA7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxyXG5cclxuLmN0cmxfZGljdGlvbmFyeS5jdHJsX2RpY3Rpb25hcnlfc3RpY2tlciAuaGVhZGxpbmVfYmd7ZmxvYXQ6bGVmdDt3aWR0aDoyOXB4O3RleHQtYWxpZ246Y2VudGVyO31cclxuLmN0cmxfZGljdGlvbmFyeS5jdHJsX2RpY3Rpb25hcnlfc3RpY2tlciAuY29udGVudF9iZ3tmbG9hdDpyaWdodDsgdGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmc6MTBweDsgYmFja2dyb3VuZDojRkZGRkZGOyB9XHJcbi5jdHJsX2RpY3Rpb25hcnkuY3RybF9kaWN0aW9uYXJ5X3N0aWNrZXIgLmhlYWRsaW5lX2Jne2JhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9jb250ZW50X2JnXzkwLnBuZykgcmVwZWF0LXkgMCUgMTAwJTtib3JkZXItcmFkaXVzOjVweDtiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O2JlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7ZGlzcGxheTppbmxpbmUtdGFibGU7fVxyXG4uY3RybF9kaWN0aW9uYXJ5IC5oZWFkbGluZV9iZ3tsaW5lLWhlaWdodDoxLjhlbTt9XHJcbi5jdHJsX2RpY3Rpb25hcnkgLmNvbnRlbnRfYmd7bGluZS1oZWlnaHQ6MS4zZW07fVxyXG4uY3RybF9kaWN0aW9uYXJ5IC5oZWFkbGluZV9iZ3twYWRkaW5nLXRvcDowLjNlbTtwYWRkaW5nLWJvdHRvbTowLjNlbTt9XHJcbi5jdHJsX2RpY3Rpb25hcnkgLmNvbnRlbnRfYmd7cGFkZGluZy1ib3R0b206MC4zZW07fVxyXG4uY3RybF9kaWN0aW9uYXJ5IC5oZWFkbGluZV9iZywuY3RybF9kaWN0aW9uYXJ5IC5jb250ZW50X2JnIHtwYWRkaW5nOjA7fVxyXG4uY3RybF9kaWN0aW9uYXJ5IHtib3JkZXI6c29saWQgMXB4ICNlNWU1ZTU7bWFyZ2luLXRvcDoxMHB4O31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqRnVuZCAyIERhdGEgVGFibGVzIGdyYXBoaWNhbCBkaXNwbGF5KioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5ncmFwaGljYWwgdHIgdGQge3dpZHRoOjI1JTt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjpib3R0b207aGVpZ2h0OmF1dG87fVxyXG4uZ3JhcGhpY2FsIHRyLmxpbmUtZXZlbiB0ZCB7aGVpZ2h0OjUwcHggIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW47fVxyXG5cclxuLmdyYXBoaWNhbCB0ci5saW5lLWV2ZW4gdGQgc3BhbiB7ZGlzcGxheTpibG9jaztoZWlnaHQ6YXV0bzt3aWR0aDo2MCU7bWFyZ2luLWxlZnQ6MjAlO3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtib3JkZXItcmFkaXVzOiAxMnB4IDEycHggMHB4IDBweDtiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O2JlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7bWFyZ2luLXRvcDoxMHB4O31cclxuXHJcbi5ncmFwaGljYWwgdHIubGluZS1ldmVuIHRkLnBlcmZfZG93biBzcGFuIHtiYWNrZ3JvdW5kOiNiYTAwMmM7fVxyXG4uZ3JhcGhpY2FsIHRyLmxpbmUtZXZlbiB0ZC5wZXJmX3VwIHNwYW4ge2JhY2tncm91bmQ6IzAwYmE1Yzt9XHJcbi5ncmFwaGljYWwgdHIgdGQucGVyZl9kb3duIHNwYW4ge2NvbG9yOiNiYTAwMmM7fVxyXG4uZ3JhcGhpY2FsIHRyIHRkLnBlcmZfdXAgc3BhbiB7Y29sb3I6IzAwYmE1Yzt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKiBTZWxlY3QgMiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKi0tLSBmdWxsIHdpZHRoIC0tLSovXHJcbi8qLnNlbGVjdDItY29udGFpbmVyLCAuc2VsZWN0Mi1kcm9wLCAuc2VsZWN0Mi1zZWFyY2gsIC5zZWxlY3QyLXNlYXJjaCBpbnB1dCB7d2lkdGg6MTAwJTt9Ki9cclxuXHJcbi8qLS0tIENhcmV0IGltYWdlIC0tLSovXHJcbi5zZWxlY3QyLWFycm93IGIge2JhY2tncm91bmQ6bm9uZTt9IFxyXG5cclxuLyotLS0gcmVtb3Zpbmcgcm91bmQgY29ybmVycyAtLS0qL1xyXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIHtib3JkZXItcmFkaXVzOiAwcHg7YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDt9XHJcbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1jaG9pY2UgLnNlbGVjdDItYXJyb3cge2JvcmRlci1yYWRpdXM6IDBweDtiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O31cclxuLnNlbGVjdDItZHJvcCB7Ym9yZGVyLXJhZGl1czogMHB4O2JhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7fVxyXG5cclxuLyotLS0gU2VsZWN0IGNsb3NlZCAtLS0qL1xyXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIHtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyOiAxcHggc29saWQgI0FBQUFBQTtjb2xvcjogIzU3NTg1OTtoZWlnaHQ6IDIycHg7bGluZS1oZWlnaHQ6IDIycHg7cGFkZGluZzogMCAwIDAgNXB4O31cclxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSB7YmFja2dyb3VuZDojZmZmZmZmO31cclxuXHJcbi8qLS0tIFNlbGVjdCBvcGVuIC0tLSovXHJcbi5zZWxlY3QyLWRyb3Bkb3duLW9wZW4gLnNlbGVjdDItY2hvaWNlLFxyXG4uc2VsZWN0Mi1kcm9wLWFjdGl2ZSB7Ym9yZGVyLWNvbG9yOiNjY2NjY2M7fVxyXG5cclxuLnNlbGVjdDItZHJvcGRvd24tb3BlbiAuc2VsZWN0Mi1jaG9pY2UgLnNlbGVjdDItYXJyb3cge31cclxuLnNlbGVjdDItZHJvcGRvd24tb3BlbiAuc2VsZWN0Mi1jaG9pY2V7YmFja2dyb3VuZDojZmZmZmZmO31cclxuLnNlbGVjdDItcmVzdWx0cyB7bWFyZ2luOjA7cGFkZGluZzowO2JhY2tncm91bmQ6I2ZmZmZmZjt9XHJcblxyXG4vKi0tLSBTZWxlY3Qgb3B0aW9uKGhvdmVyKSAtLS0qL1xyXG4uc2VsZWN0Mi1oaWdobGlnaHRlZCB7YmFja2dyb3VuZDojMDA2ZmIwICFpbXBvcnRhbnQ7fVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKiogTXkgTGlzdCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tYm90dG9tOjVweDt9XHJcbi51aS1pY29ucyB7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7fVxyXG5cclxuLnVpLWljb25zLnVpLWljb24tbWludXN0aGljayxcclxuLnVpLWljb25zLnVpLWljb24tcGx1c3RoaWNrIHt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O2Rpc3BsYXk6IGlubGluZS1ibG9jazt9XHJcblxyXG4uY3RybF9teWxpc3QgI2xvYWRmaWxlIHtkaXNwbGF5Om5vbmU7fVxyXG4uY3RybF9saXN0ZnVuZHMgLmhlYWRsaW5lX2JnIC5zZWxlY3QyLWNvbnRhaW5lcjpob3Zlcnsgei1pbmRleDoxMDAwO31cclxuXHJcbi8qUmVndWxhciBsYWJlbHMqL1xyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgbGkgbGFiZWwge3dpZHRoOjMwJTt9XHJcblxyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgbGkgaW5wdXQsXHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyBsaSBzZWxlY3R7d2lkdGg6NzAlO31cclxuXHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyBsaSBpbnB1dCxcclxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIHNlbGVjdCxcclxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIGxhYmVse2Zsb2F0OmxlZnR9XHJcblxyXG4vKi0tLSBGdW5kbGlzdCBtb2RpZmllciBjb250cm9sIC0gR3JvdXBpbmcgc2VjdGlvbiAtLS0qL1xyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLmdyb3VwaW5nX3NlY3Rpb24gLmdyb3VwIHtwYWRkaW5nOiAwIDIwcHggM3B4IDA7ZmxvYXQ6bGVmdDt9XHJcblxyXG4vKi0tLSBGdW5kbGlzdCBtb2RpZmllciBjb250cm9sIC0gU2VsZWN0ZWQgZmlsdGVycyBzZWN0aW9uIC0tLSovXHJcbi5zZWxlY3RlZF9maWx0ZXJzIHVsIGxpIHtmbG9hdDpsZWZ0O3BhZGRpbmctcmlnaHQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweDt9XHJcblxyXG4vKi0tLSBNeUxpc3QgaGVhZGVyIGNvbG9yIHNldHRpbmdzIC0tLSovXHJcbi5jdHJsX215bGlzdHtkaXNwbGF5OiBibG9jazttYXJnaW46IDA7cG9zaXRpb246IGZpeGVkO3JpZ2h0OiAtMjBweDt0b3A6IDIwMHB4O3otaW5kZXg6IDk5OTt9XHJcblxyXG4uY3RybF9teWxpc3QgLm15bGlzdCBpbWcge2JvcmRlcjowO31cclxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2Jne2Rpc3BsYXk6bm9uZTtmbG9hdDpyaWdodDt9XHJcblxyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcge3dpZHRoOjIwMHB4O31cclxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIC5jbG9zZXtmbG9hdDpyaWdodDttYXJnaW4tcmlnaHQ6MTBweDt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O3otaW5kZXg6OTk5OTt9XHJcblxyXG4uY3RybF9teWxpc3QgLmhlYWRsaW5lX2JnIHtiYWNrZ3JvdW5kOnVybCgnJyk7ZmxvYXQ6bGVmdDt9XHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAubGlzdHJlZ2lvbiB7d2lkdGg6MTAwJTt9XHJcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAubGlzdHJlZ2lvbiAubGlzdCBkaXZ7IGZsb2F0OmxlZnQ7fVxyXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLmxpc3RyZWdpb24gLmxpc3QgYSB7ZmxvYXQ6cmlnaHQ7IG1hcmdpbi1sZWZ0OjJweDt9XHJcblxyXG4udWktaWNvbnMge2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcpO31cclxuXHJcbi51aS1pY29ucy51aS1pY29uLW1pbnVzdGhpY2ssXHJcbi51aS1pY29ucy51aS1pY29uLXBsdXN0aGljayB7d2lkdGg6MTVweDtoZWlnaHQ6MTVweDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fVxyXG5cclxuLmN0cmxfbXlsaXN0ICNsb2FkZmlsZSB7IGRpc3BsYXk6bm9uZTsgfVxyXG4uY3RybF9saXN0ZnVuZHMgLmhlYWRsaW5lX2JnIC5zZWxlY3QyLWNvbnRhaW5lcjpob3Zlcnsgei1pbmRleDoxMDAwO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlZpZGVvQ29udHJvbCBzdHlsaW5nKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4udmlkZW8tanMgLnZqcy1iaWctcGxheS1idXR0b24ge1xyXG4gICAgdG9wOiA1MCUgIWltcG9ydGFudDtcclxuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAtMC43NWVtIDAgMCAtMS41ZW07XHJcbn1cclxuXHJcbi5lbWJlZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZW1iZWQtMTZieTEwIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA2Mi41JTtcclxufVxyXG5cclxuLmVtYmVkLTE2Ynk5IHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XHJcbn1cclxuXHJcbi5lbWJlZC00YnkzIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA3NSU7XHJcbn1cclxuXHJcbi5lbWJlZC0xYnkxIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xyXG59XHJcblxyXG4uZW1iZWQtaXRlbSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxufSIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKkdlbmVyYWwgZ2xvYmFsIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tIEZpeCBmb3IgaW5wdXRzIGFuZCBzZWxlY3RzIG1pZ2h0IGNvbnNpZGVyIG1ha2luZyB0aGlzIGEgcGFydCBvZiByZXNldCAtLS0qL1xuaW5wdXQsIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbXMtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLyptaWdodCBub3QgYmUgbmVlZGVkKi9cbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuaHRtbCwgYm9keSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5vdmVyZmxvd3lPbiB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4ub3ZlcmZsb3d5T2ZmIHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5jdHJsX2RvY2xpYnJhcnltdWx0aSAuaGVhZGxpbmVfYmcge1xuICAgIHBhZGRpbmc6IDAuM2VtIDAuMmVtO1xufVxuLmN0cmxfZG9jbGlicmFyeW11bHRpIC5jb250ZW50X2JnIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5jdHJsX2RvY2xpYnJhcnltdWx0aSAuY29udGVudF9iZyAuZGF0YS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbn1cbi5jdHJsX2RvY2xpYnJhcnltdWx0aSAuY29udGVudF9iZyAuZGF0YS1yb3cgLmNvbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDAuM2VtIDAuMmVtO1xufVxuLmN0cmxfZG9jbGlicmFyeW11bHRpIC5pY28ge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnVpLWljb24tY2lyY2xlLXBsdXMge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTVweDtcbn1cblxuLnVpLWotaWNvbnMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcpO1xufVxuXG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIEZvbnQgc2V0dGluZ3MgLS0tKi9cbmJvZHksIGlucHV0LCBzZWxlY3QsIG9wdGlvbiwgdWwsIGxpLCAudWktd2lkZ2V0LWNvbnRlbnQsIC51aS1tZW51LWl0ZW0sIC51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhciBzcGFuLCBoMi5jb21wYW55X2xpbmssIC51aS10b29sdGlwIHtcbiAgICBmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzU3NTg1OTtcbn1cblxuc21hbGwsIHN1Yiwgc3VwIHtcbiAgICBmb250LXNpemU6IDhweDtcbn1cblxuc3ViIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuXG5zdXAge1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbn1cblxuaW5wdXQsIHNlbGVjdCwgb3B0aW9uLCAudWktYXV0b2NvbXBsZXRlLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuXG5pbnB1dCwgc2VsZWN0IHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZGRkZGRkO1xufVxuXG5pbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyotLS0gQ2xlYXJmaXggLS0tKi9cbi5jbGVhcmZpeDphZnRlciB7XG4gICAgY29udGVudDogXCIuXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGhlaWdodDogMDtcbn1cblxuLmNsZWFyZml4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmh0bWxbeG1sbnNdIC5jbGVhcmZpeCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbiogaHRtbCAuY2xlYXJmaXgge1xuICAgIGhlaWdodDogMSU7XG59XG5cbi8qLS0tIEVsbGlwc2lzIC0tLSovXG4uZWxsaXBzaXMgKiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIC1vLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIC1tcy10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAtbW96LWJpbmRpbmc6IHVybChlbGxpcHNpcy14YmwueG1sI2VsbGlwc2lzKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmVsbGlwc2lzIGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vKi5lbGxpcHNpcyBhLCAuZWxsaXBzaXMgc3BhbiB7LW1vei1iaW5kaW5nOnVybChlbGxpcHNpcy14YmwueG1sI2VsbGlwc2lzKTt9Ki9cbi8qIGdlbmVyYWwgZml4IGZvciBzZWxlY3RzICovXG4uc2VsZWN0Mi1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIC5zZWxlY3QyLWFycm93IHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIC5zZWxlY3QyLWFycm93IGIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSAuc2VsZWN0Mi1hcnJvdyBiOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC00cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwNmZiMDtcbn1cblxuLyotLS0gaGlnaGxpZ2h0aW5nIGNsYXNzIC0tLSovXG4uY3RybF9mdW5kbGlzdF9hZGRpdGlvbmFsZmVhdHVyZXMgLmNvbnRlbnRfYmcgLmZ1bmRsaXN0IHVsIGxpOmhvdmVyLFxuLmFwcGx5SGlnaGxpZ2h0IHRyLmhpZ2hsaWdodCB0ZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L3RleHR1cmVfc3RyaXBlc190aGluX2xpZ2h0LnBuZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jMzMwMDZGQjAsIGVuZENvbG9yc3RyPSMzMzAwNkZCMClcIjtcbiAgICAvKiBJRTggYW5kIGJlbG93Ki9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDExMSwgMTc2LCAwLjIpO1xuICAgIC8qc3BlY2lmaWMgaGFjayBmb3IgSUUgaW4gYnJvd3NlcnN1cHBvcnQuY3NzKi9cbn1cblxuLyotLS0gUHJpbnQgb25seSBjb250ZW50KHRoaXMgY2xhc3MgaXMgcmV2ZXJzZWQgb24gdGhlIHByaW50LmNzcykgLS0tKi9cbi5wcmludG9ubHlfY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyotLS0gR2VuZXJhbCBjb250cm9sIG1hcmdpbnMgLS0tKi9cbi5tZXNzYWdlLFxuLnNlbGVjdGVkX2ZpbHRlcnMsXG4uY3RybF9teWxpc3QsXG4uY3RybF9tb2RpZmllcnMsXG4uY3RybF9saXN0ZnVuZHMsXG4uY3RybF9mcmVldGV4dCxcbi5jdHJsX2Z1bmQyZGF0YXRhYmxlLFxuLmN0cmxfcmlza2luZGljYXRvcixcbi5jdHJsX2Jhc2ljZGF0YSxcbi5jdHJsX2FkZGl0aW9uYWxmZWF0dXJlcyxcbi5jdHJsX2RhdGFleHBvcnQsXG4uY3RybF9mdW5kbGlzdF9hZGRpdGlvbmFsZmVhdHVyZXMsXG4uY3RybF9wZXJmY2hhcnQsXG4uY3RybF9wbG90Y2hhcnQsXG4uY3RybF9ob2xkaW5nc2NoYXJ0LFxuLmN0cmxfZ2xpbmVjaGFydCxcbi5jdHJsX3RvcF94X2hvbGRpbmdzLFxuLmN0cmxfZmVlc3RhYmxlLFxuLmN0cmxfa2V5ZmlndXJlc3RhYmxlLFxuLmN0cmxfcmlza3RhYmxlLFxuLmN0cmxfZG9jdW1lbnRsaWJyYXJ5LFxuaDIuY29tcGFueV9saW5rLFxuLmN0cmxfcXVhcnRpbGVib3gsXG4uY3RybF9ncGllY2hhcnQsXG4uY3RybF9nbGluZWNoYXJ0LFxuLmN0cmxfaGxpbmVjaGFydCxcbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCxcbi5jdHJsX2hmdW5kbGlzdHBsb3RjaGFydCxcbi5jdHJsX2tleWZpZ3VyZXNtb250aGx5dGFibGUge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5oZWFkbGluZV9iZy5jbGlja2FibGUsXG4uY3RybF9saXN0ZnVuZHMgLmFwcGx5Um93TGluayB0ciB0ZCxcbi5jdHJsX2xpc3RmdW5kcyAuaGVhZGxpbmVfYmcgdGguc29ydGFibGUsXG4ucGFnaW5nX3JvdyBsaSBzcGFuLmZpcnN0LFxuLnBhZ2luZ19yb3cgbGkgc3Bhbi5wcmV2aW91cyxcbi5wYWdpbmdfcm93IGxpIHNwYW4ubmV4dCxcbi5wYWdpbmdfcm93IGxpIHNwYW4ubGFzdCxcbi50YWJsZV9oZWFkbGluZSxcbi5mb2xkX28sXG4uZm9sZF9jLFxuLmNsb3NlLFxuLm9wZW4sXG4uY3RybF9mdW5kbGlzdF9hZGRpdGlvbmFsZmVhdHVyZXMgLmNvbnRlbnRfYmcgLmZ1bmRsaXN0IHVsIGxpIHNwYW4uZGVsZXRlLFxuLmN0cmxfZnVuZGxpc3RfYWRkaXRpb25hbGZlYXR1cmVzIC5jb250ZW50X2JnIC5idXR0b25zIHVsIGxpIGEsXG4uY3RybF9wb3B1cGRpdiAuaGVhZGxpbmVfYmcgLmNsb3NlcG9wdXAgLmJ0bl9jbG9zZSxcbi51aS1kaWFsb2cgYS51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UsXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnNvcnRhYmxlIC5oZWFkbGluZV93cmFwIHRoIHNwYW4sXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLFxuLmN0cmxfZ2xpbmVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaSxcbi5jdHJsX3BlcmZjaGFydCAuY2hhcnRfbmF2aWdhdGlvbiB1bCBsaSxcbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucGFnaW5nX3NlY3Rpb24gLmJ0bixcbi51aS1pY29ucy51aS1pY29uLW1pbnVzdGhpY2ssXG4udWktaWNvbnMudWktaWNvbi1wbHVzdGhpY2ssXG4udWktaWNvbi1jaXJjbGUtcGx1cyxcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuY2xvc2UsXG4uY3RybF9teWxpc3QgLmhlYWRsaW5lX2JnIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMaW5lIGhlaWdodHMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmJvZHksIGlucHV0LCBzZWxlY3QsIG9wdGlvbiwgdWwsIGxpLCAudWktd2lkZ2V0LWNvbnRlbnQsIC51aS1tZW51LWl0ZW0sIHRoLCB0ZCB7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG5cbi5jdHJsX2FkZGl0aW9uYWxmZWF0dXJlcyAuY29udGVudF9iZyxcbi5jdHJsX2RhdGFleHBvcnQgLmNvbnRlbnRfYmcsXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnBhZ2luZ19zZWN0aW9uLFxuLmN0cmxfcGVyZmNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5LFxuLmN0cmxfdG9wX3hfaG9sZGluZ3MgLmNvbnRlbnRfYmcgLmZ1bmN0aW9uYWxpdHkge1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqSGVhZGxpbmVzKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLSBoZWFkbGluZXMgLSBnZW5lcmFsIGNsYXNzZXMgLS0tKi9cbmgxIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyIHNwYW4sXG5oMixcbnRhYmxlIC5oZWFkbGluZV9iZyBzcGFuIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMwMDZmYjA7XG59XG5cbmgzIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMwMDZmYjA7XG59XG5cbmg0IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMwMDZmYjA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqUGFkZGluZyBTZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbnRoLCB0ZCxcbmRpdi5oZWFkbGluZV9iZyB7XG4gICAgcGFkZGluZzogM3B4IDVweDtcbn1cblxuLmNvbnRlbnRfcGFkZGluZyB7XG4gICAgcGFkZGluZzogMHB4IDVweDtcbn1cblxuLyotLS0gR2VuZXJhbCBwYWRkaW5nIHNldHRpbmdzIC0tLSovXG4udWktZGlhbG9nIC51aS1kaWFsb2ctY29udGVudCxcbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lLFxuLmNvbnRlbnRfYmcgcCB7XG4gICAgcGFkZGluZzogNXB4O1xufVxuXG4vKi0tLSBGdW5jdGlvbmFsaXR5IHNldHRpbmdzIC0tLSovXG4uY3RybF9hZGRpdGlvbmFsZmVhdHVyZXMgLmNvbnRlbnRfYmcsXG4uY3RybF9kYXRhZXhwb3J0IC5jb250ZW50X2JnLFxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5wYWdpbmdfc2VjdGlvbixcbi5jdHJsX3BlcmZjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSxcbi5jdHJsX3RvcF94X2hvbGRpbmdzIC5jb250ZW50X2JnIC5mdW5jdGlvbmFsaXR5IHtcbiAgICBwYWRkaW5nOiA1cHggMHB4O1xufVxuXG4vKi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHksXG4uY3RybF9nbGluZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5e3BhZGRpbmc6NXB4O30qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKkFsaWdubWVudCBTZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0gQWxpZ24gRGVmYXVsdCAtLS0qL1xuLmFsaWduZGVmYXVsdCB7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cblxuLyotLS0gQWxpZ24gUmlnaHQgLS0tKi9cbi5hbGlnbnJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyotLS0gQWxpZ24gTGVmdCAtLS0qL1xuLmFsaWdubGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyotLS0gQWxpZ24gTWlkZGxlIC0tLSovXG4uYWxpZ25taWRkbGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKk1lc3NhZ2UgU2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLSBHZW5lcmFsIE1lc3NhZ2UgU3R5bGUtLS0qL1xuLmVycm9yX21lc3NhZ2UsXG4ubWVzc2FnZSxcbi5zZWxlY3RlZF9maWx0ZXJzIHtcbiAgICBwYWRkaW5nOiAxMHB4IDVweCAxMHB4IDVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKi0tLSBlcnJvciBtZXNzYWdlIFN0eWxlLS0tKi9cbi5lcnJvcl9tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjRlYmVkO1xuICAgIGNvbG9yOiAjODg0YzU0O1xufVxuXG4vKi0tLSBtZXNzYWdlIFN0eWxlLS0tKi9cbi5tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmOGY0O1xuICAgIGNvbG9yOiAjNTA4MTU1O1xufVxuXG4vKi0tLSBzZWxlY3RlZCBmaWx0ZXJzIFN0eWxlLS0tKi9cbi5zZWxlY3RlZF9maWx0ZXJzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmNmU3O1xuICAgIGNvbG9yOiAjOTI4ZTU1O1xufVxuXG4uc2VsZWN0ZWRfZmlsdGVycyB1bCBsaSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI2VmZWRkMztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqVGFibGVzIFNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0gR2VuZXJhbCB0YWJsZSB3aWR0aHMgLS0tKi9cbi50YWJsZV93aWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbnRhYmxlIHtcbiAgICB0YWJsZS1sYXlvdXQ6IGF1dG87XG59XG5cbi5jdHJsX2Z1bmQyZGF0YXRhYmxlIHRhYmxlLCAuY3RybF9saXN0ZnVuZHMgdGFibGUge1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbnRoLCB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRhYmxlX2hlYWRsaW5lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKiogICAgICBXcmFwICsgIFNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnBhZ2Vfd3JhcCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRhYl93cmFwIHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyotLS0gbXVsdGljb2x1bW5zIGRpc3BsYXkgLS0tKi9cbi8qLmNvbF93cmFwIC5jb2x1bW4xe3dpZHRoOjQ5JTtmbG9hdDpsZWZ0O31cbi5jb2xfd3JhcCAuY29sdW1uMnt3aWR0aDo0OSU7ZmxvYXQ6cmlnaHQ7fSovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKkxheW91dCBncmlkIGZvciByZXNwb25zaXZlIHNvbHV0aW9ucyAqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5ncmlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6b29tOiAxO1xuICAgIC8qbWFyZ2luLXRvcDoxZW07Ki9cbn1cblxuLmdyaWQ6YmVmb3JlLFxuLmdyaWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ3JpZDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi5ncmlkIC5pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMSU7XG59XG5cbi8qIExhcmdlIHNjcmVlbnMgaW5pdGlhbCBzZXR0aW5ncyBmb3IgZ3JpZHMgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgLmdyaWQuaXRlbXMtNiAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxNS44MzMzJTtcbiAgICB9XG5cbiAgICAuZ3JpZC5pdGVtcy00IC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDI0LjI1JTtcbiAgICB9XG5cbiAgICAuZ3JpZC5pdGVtcy0zIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDMyLjY2NiU7XG4gICAgfVxuXG4gICAgLmdyaWQuaXRlbXMtMiAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiA0OS41JTtcbiAgICB9XG5cbiAgICAuZ3JpZC5pdGVtcy0xIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdyaWQuaXRlbXMtNiAuaXRlbTpudGgtb2YtdHlwZSg2bisxKSxcbi5ncmlkLml0ZW1zLTQgLml0ZW06bnRoLW9mLXR5cGUoNG4rMSksXG4uZ3JpZC5pdGVtcy0zIC5pdGVtOm50aC1vZi10eXBlKDNuKzEpLFxuLmdyaWQuaXRlbXMtMiAuaXRlbTpudGgtb2YtdHlwZSgybisxKSxcbi5ncmlkLml0ZW1zLTEgLml0ZW06bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgfVxufVxuLyogQ2hhbmdlIDYgaXRlbSBncmlkcyB0byAzIGl0ZW0gZ3JpZHMgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLmdyaWQuaXRlbXMtNiAuaXRlbSxcbi5ncmlkLml0ZW1zLTMgLml0ZW0ge1xuICAgICAgICB3aWR0aDogMzIuNjY2JTtcbiAgICB9XG5cbiAgICAuZ3JpZC5pdGVtcy02IC5pdGVtOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDElO1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAuZ3JpZC5pdGVtcy02IC5pdGVtOm50aC1vZi10eXBlKDNuKzEpLFxuLmdyaWQuaXRlbXMtMyAuaXRlbTpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICB9XG5cbiAgICAuZ3JpZC5pdGVtcy00IC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDI0LjI1JTtcbiAgICB9XG5cbiAgICAuZ3JpZC5pdGVtcy00IC5pdGVtOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgIH1cblxuICAgIC5ncmlkLml0ZW1zLTIgLml0ZW0ge1xuICAgICAgICB3aWR0aDogNDkuNSU7XG4gICAgfVxuXG4gICAgLmdyaWQuaXRlbXMtMiAuaXRlbTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICB9XG59XG4vKiBDaGFuZ2UgNCBpdGVtIGdyaWRzIHRvIDIgaXRlbSBncmlkcyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuZ3JpZC5pdGVtcy00IC5pdGVtLFxuLmdyaWQuaXRlbXMtMiAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiA0OS41JTtcbiAgICB9XG5cbiAgICAuZ3JpZC5pdGVtcy00IC5pdGVtOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDElO1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAuZ3JpZC5pdGVtcy00IC5pdGVtOm50aC1vZi10eXBlKDJuKzEpLFxuLmdyaWQuaXRlbXMtMiAuaXRlbTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICB9XG59XG4vKiBDaGFuZ2UgNiwgNCAmIDMgaXRlbSBncmlkcyB0byAyIGl0ZW0gZ3JpZHMgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmdyaWQuaXRlbXMtNiAuaXRlbSxcbi5ncmlkLml0ZW1zLTQgLml0ZW0sXG4uZ3JpZC5pdGVtcy0zIC5pdGVtLFxuLmdyaWQuaXRlbXMtMiAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiA0OS41JTtcbiAgICB9XG5cbiAgICAuZ3JpZC5pdGVtcy02IC5pdGVtOm50aC1vZi10eXBlKDZuKzEpLFxuLmdyaWQuaXRlbXMtNiAuaXRlbTpudGgtb2YtdHlwZSg0bisxKSxcbi5ncmlkLml0ZW1zLTMgLml0ZW06bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMSU7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC5ncmlkLml0ZW1zLTYgLml0ZW06bnRoLW9mLXR5cGUoMm4rMSksXG4uZ3JpZC5pdGVtcy00IC5pdGVtOm50aC1vZi10eXBlKDJuKzEpLFxuLmdyaWQuaXRlbXMtMyAuaXRlbTpudGgtb2YtdHlwZSgybisxKSxcbi5ncmlkLml0ZW1zLTIgLml0ZW06bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgfVxufVxuLyogQ2hhbmdlIDYgJiAzICYgMiBpdGVtIGdyaWRzIHRvIDEgaXRlbSBncmlkcyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZ3JpZC5pdGVtcy02IC5pdGVtLFxuLmdyaWQuaXRlbXMtNCAuaXRlbSxcbi5ncmlkLml0ZW1zLTMgLml0ZW0sXG4uZ3JpZC5pdGVtcy0yIC5pdGVtLFxuLmdyaWQuaXRlbXMtMSAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipHZW5lcmFsIGljb24gU2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tIFBlcmZvcm1hbmNlIEljb25zIHNldHRpbmdzIC0tLSovXG4ucGVyZl91cCBzcGFuLnZhbHVlLFxuLnBlcmZfZG93biBzcGFuLnZhbHVlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGVyZl91cCBzcGFuLnZhbHVlOmFmdGVyLFxuLnBlcmZfZG93biBzcGFuLnZhbHVlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xufVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5wZXJmX3VwIHNwYW46YWZ0ZXIsIC5wZXJmX2Rvd24gc3BhbjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgfVxufVxuLnBlcmZfdXAgc3BhbjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNzJiNDMxIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMHB4IDRweCA0cHggNHB4O1xufVxuXG4ucGVyZl9kb3duIHNwYW46YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2VmNDMyYyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDRweCA0cHggMHB4IDRweDtcbn1cblxuLyotLS0gRm9sZGluZy9Db2xsYXBzaW5nIEljb25zIC0tLSovXG4uZm9sZF9vLCAuZm9sZF9jIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mb2xkX286YmVmb3JlLFxuLmZvbGRfYzpiZWZvcmUge1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgbGVmdDogMHB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4uZm9sZF9vOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2ZmIwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG4uZm9sZF9jOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDA2ZmIwO1xufVxuXG4vKi0tLSBTb3J0aW5nIHNldHRpbmdzIC0tLSovXG4uc29ydGluZ19pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgZm9udC1zaXplOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnNvcnRfbm9uZTpiZWZvcmUsXG4uc29ydF9ub25lOmFmdGVyLFxuLnNvcnRfZG93bjphZnRlcixcbi5zb3J0X3VwOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNXB4O1xuICAgIHRvcDogMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5zb3J0X25vbmU6YmVmb3JlLCAuc29ydF9ub25lOmFmdGVyLCAuc29ydF9kb3duOmFmdGVyLCAuc29ydF91cDphZnRlciB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgIH1cbn1cbnRoIC5zb3J0X25vbmU6YmVmb3JlLFxudGggLnNvcnRfbm9uZTphZnRlcixcbnRoIC5zb3J0X2Rvd246YWZ0ZXIsXG50aCAuc29ydF91cDphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgMHMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIDBzIGVhc2UtaW4tb3V0O1xufVxuXG50aDpob3ZlciAuc29ydF9ub25lOmJlZm9yZSxcbnRoOmhvdmVyIC5zb3J0X25vbmU6YWZ0ZXIsXG50aDpob3ZlciAuc29ydF9kb3duOmFmdGVyLFxudGg6aG92ZXIgLnNvcnRfdXA6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG59XG5cbi5zb3J0X25vbmU6YmVmb3JlIHtcbiAgICBib3JkZXItd2lkdGg6IDVweCA1cHggMHB4IDVweDtcbiAgICBib3JkZXItY29sb3I6ICMwMDZmYjAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xufVxuXG4uc29ydF9ub25lOmFmdGVyIHtcbiAgICBib3JkZXItd2lkdGg6IDBweCA1cHggNXB4IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDZmYjAgdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbn1cblxuLnNvcnRfZG93bjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDBweCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2ZmIwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG4uc29ydF91cDphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwcHggNXB4IDVweCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDA2ZmIwIHRyYW5zcGFyZW50O1xufVxuXG4uc29ydF9ub25lIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi0tLSBmdW5kbGlzdCBmaXJzdCBjb2x1bW4gaWNvbiAtLS0qL1xuLmN0cmxfbGlzdGZ1bmRzIHRyIHRkLmNvbDEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmN0cmxfbGlzdGZ1bmRzIHRyIHRkLmNvbDE6YWZ0ZXIge1xuICAgIGxlZnQ6IDVweDtcbiAgICB0b3A6IDUwJTtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMHB4O1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG59XG5cbi5jdHJsX2xpc3RmdW5kcyB0ciB0ZC5jb2wxLFxuLmN0cmxfbGlzdGZ1bmRzIHRyIHRkLmNvbDE6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5jdHJsX2xpc3RmdW5kcyB0cjpob3ZlciB0ZC5jb2wxIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5jdHJsX2xpc3RmdW5kcyB0cjpob3ZlciB0ZC5jb2wxOmFmdGVyIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwNmZiMDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogNnB4O1xufVxuXG4vKi0tLSBDYXRlZ29yeSBJY29ucy0tLSovXG4uaWNvX2VmY19jYXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjdweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAzcHg7XG59XG5cbi5lZmNfY2F0MSB7XG4gICAgYmFja2dyb3VuZDogIzAwNmZiMCB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2VmY19jYXQxLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5lZmNfY2F0MiB7XG4gICAgYmFja2dyb3VuZDogIzAwNmZiMCB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2VmY19jYXQyLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5lZmNfY2F0MyB7XG4gICAgYmFja2dyb3VuZDogI2NjMmE3ZSB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2VmY19jYXQzLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5lZmNfY2F0NCB7XG4gICAgYmFja2dyb3VuZDogI2NjMmE3ZSB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2VmY19jYXQ0LnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5lZmNfY2F0NSB7XG4gICAgYmFja2dyb3VuZDogI2VmNDMyYyB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2VmY19jYXQ1LnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5lZmNfY2F0NiB7XG4gICAgYmFja2dyb3VuZDogI2VmNDMyYyB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2VmY19jYXQ2LnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi8qLS0tIEZsYWcgSWNvbnMgLS0tKi9cbi5pY29fZmxhZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIC8qU2hvdWxkIG5ldmVyIGJlIHVzZWQqL1xuICAgIC8qU2hvdWxkIG5ldmVyIGJlIHVzZWQqL1xufVxuLmljb19mbGFnIC5kYS1ESyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX2RhLURLLnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTtcbn1cbi5pY29fZmxhZyAuZGUtREUge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19kZS1ERS5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7XG59XG4uaWNvX2ZsYWcgLmRlLUNIIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfZGUtQ0gucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO1xufVxuLmljb19mbGFnIC5mci1DSCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX2ZyLUNILnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTtcbn1cbi5pY29fZmxhZyAuaXQtQ0gge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19pdC1DSC5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7XG59XG4uaWNvX2ZsYWcgLmVsLUdSIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfZWwtR1IucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO1xufVxuLmljb19mbGFnIC5lbi1DSCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX2VuLUNILnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTtcbn1cbi5pY29fZmxhZyAuZW4tR0Ige1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19lbi1HQi5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7XG59XG4uaWNvX2ZsYWcgLmVzLUVTIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfZXMtRVMucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO1xufVxuLmljb19mbGFnIC5ldC1FRSB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX2V0LUVFLnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTtcbn1cbi5pY29fZmxhZyAuZmktRkkge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19maS1GSS5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7XG59XG4uaWNvX2ZsYWcgLmZyLUZSIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfZnItRlIucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO1xufVxuLmljb19mbGFnIC5oZS1JTCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX2hlLUlMLnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTtcbn1cbi5pY29fZmxhZyAuaXMtSVMge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19pcy1JUy5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7XG59XG4uaWNvX2ZsYWcgLml0LUlUIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfaXQtSVQucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO1xufVxuLmljb19mbGFnIC5sdC1MVCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX2x0LUxULnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTtcbn1cbi5pY29fZmxhZyAubHYtTFYge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19sdi1MVi5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7XG59XG4uaWNvX2ZsYWcgLm5iLU5PIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfbmItTk8ucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO1xufVxuLmljb19mbGFnIC5ubC1OTCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX25sLU5MLnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTtcbn1cbi5pY29fZmxhZyAucGwtUEwge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19wbC1QTC5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7XG59XG4uaWNvX2ZsYWcgLnB0LVBUIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfcHQtUFQucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO1xufVxuLmljb19mbGFnIC5yby1STyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX3JvLVJPLnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTtcbn1cbi5pY29fZmxhZyAuc2UtRkkge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19zZS1GSS5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7XG59XG4uaWNvX2ZsYWcgLnNlLVNFIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2ZsYWdfc2UtU0UucG5nKSBuby1yZXBlYXQgMTAwJSAxMDAlO1xufVxuLmljb19mbGFnIC5zdi1TRSB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mbGFnX3N2LVNFLnBuZykgbm8tcmVwZWF0IDEwMCUgMTAwJTtcbn1cbi5pY29fZmxhZyAuc3YtRkkge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmxhZ19zdi1GSS5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7XG59XG5cbi5hbGlnbnJpZ2h0IC5pY29fZmxhZyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYWxpZ25taWRkbGUgLmljb19mbGFnIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uYWxpZ25sZWZ0IC5pY29fZmxhZyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyotLS0gU3RhdHVzIEljb25zIC0tLSovXG4uaWNvX3N0YXR1cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uaWNvX3N0YXR1cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19zdGF0dXMucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uc3RhdHVzLXZhbGlkIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4O1xufVxuXG4uc3RhdHVzLWludmFsaWQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IDBweDtcbn1cblxuLnN0YXR1cy11bnZhbGlkYXRlZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggMHB4O1xufVxuXG4uYWxpZ25yaWdodCAuaWNvX3N0YXR1cyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYWxpZ25taWRkbGUgLmljb19zdGF0dXMge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5hbGlnbmxlZnQgLmljb19zdGF0dXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8qLS0tIGVmYyBlc3RpbWF0ZWQgVlMgYXBwcm92ZWQgSWNvbnMgLS0tKi9cbi5lZmNfZXN0aW1hdGVkLCAuZWZjX2FwcHJvdmVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5lZmNfZXN0aW1hdGVkIHAsIC5lZmNfYXBwcm92ZWQgcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFsaWducmlnaHQgLmVmY19lc3RpbWF0ZWQsXG4uYWxpZ25yaWdodCAuZWZjX2FwcHJvdmVkIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5hbGlnbm1pZGRsZSAuZWZjX2VzdGltYXRlZCxcbi5hbGlnbm1pZGRsZSAuZWZjX2FwcHJvdmVkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uYWxpZ25sZWZ0IC5lZmNfZXN0aW1hdGVkLFxuLmFsaWdubGVmdCAuZWZjX2FwcHJvdmVkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZWZjX2VzdGltYXRlZCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19lZmNfZXN0aW1hdGVkLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5lZmNfYXBwcm92ZWQge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZWZjX2FwcHJvdmVkLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi8qLS0tIFBERiArIFBERkxpbmsgSWNvbnMgLS0tKi9cbi5wZGZfaW1nLFxuLnBkZl9pbWdfaW5hY3RpdmUsXG4ucGRmX2xpbmtfaW1nLFxuLnBkZl9saW5rX2ltZ19pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjNweDtcbiAgICB3aWR0aDogMjZweDtcbn1cblxuLmFsaWducmlnaHQgLnBkZl9pbWcsIC5hbGlnbnJpZ2h0IC5wZGZfaW1nX2luYWN0aXZlLFxuLmFsaWducmlnaHQgLnBkZl9saW5rX2ltZywgLmFsaWducmlnaHQgLnBkZl9saW5rX2ltZ19pbmFjdGl2ZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYWxpZ25taWRkbGUgLnBkZl9pbWcsIC5hbGlnbm1pZGRsZSAucGRmX2ltZ19pbmFjdGl2ZSxcbi5hbGlnbm1pZGRsZSAucGRmX2xpbmtfaW1nLCAuYWxpZ25taWRkbGUgLnBkZl9saW5rX2ltZ19pbmFjdGl2ZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmFsaWdubGVmdCAucGRmX2ltZywgLmFsaWdubGVmdCAucGRmX2ltZ19pbmFjdGl2ZSxcbi5hbGlnbmxlZnQgLnBkZl9saW5rX2ltZywgLmFsaWdubGVmdCAucGRmX2xpbmtfaW1nX2luYWN0aXZlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ucGRmX2ltZ19pbmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19wZGZfaW5hY3RpdmUucG5nKSBuby1yZXBlYXQgNTAlIDUwJTtcbn1cblxuLnBkZl9pbWcge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fcGRmLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5wZGZfaW1nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX3BkZl9ob3Zlci5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xufVxuXG4ucGRmX2xpbmtfaW1nX2luYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX3BkZmV4dGVybmFsX2luYWN0aXZlLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5wZGZfbGlua19pbWcge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fcGRmZXh0ZXJuYWxfbGluay5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xufVxuXG4ucGRmX2xpbmtfaW1nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX3BkZmV4dGVybmFsX2hvdmVyLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi8qLS0tIEZ1bmRsaXN0IFBERiBJY29ucyAtLS0qL1xuLnBkZl9mdW5kbGlzdCxcbi5wZGZfZnVuZGxpc3RfaW5hY3RpdmUsXG4ucGRmX2Z1bmRsaXN0OmhvdmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiAyNHB4O1xufVxuXG4uYWxpZ25yaWdodCAucGRmX2Z1bmRsaXN0LCAuYWxpZ25yaWdodCAucGRmX2Z1bmRsaXN0X2luYWN0aXZlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5hbGlnbm1pZGRsZSAucGRmX2Z1bmRsaXN0LCAuYWxpZ25taWRkbGUgLnBkZl9mdW5kbGlzdF9pbmFjdGl2ZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmFsaWdubGVmdCAucGRmX2Z1bmRsaXN0LCAuYWxpZ25sZWZ0IC5wZGZfZnVuZGxpc3RfaW5hY3RpdmUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5wZGZfZnVuZGxpc3RfaW5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fcGRmX2Z1bmRsaXN0X2luYWN0aXZlLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5wZGZfZnVuZGxpc3Qge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fcGRmX2Z1bmRsaXN0LnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5wZGZfZnVuZGxpc3Q6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fcGRmX2Z1bmRsaXN0X2hvdmVyLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi8qLS0tIE1vcm5pbmdzdGFyIFJhdGluZyBJY29ucyAtLS0qL1xuLmN0cmxfbGlzdGZ1bmRzIHNwYW4gc3Bhbi5tc19yYW5rLFxuLmN0cmxfbGlzdGZ1bmRzIHNwYW4gc3Bhbi5tc19yYW5rMSxcbi5jdHJsX2xpc3RmdW5kcyBzcGFuIHNwYW4ubXNfcmFuazIsXG4uY3RybF9saXN0ZnVuZHMgc3BhbiBzcGFuLm1zX3JhbmszLFxuLmN0cmxfbGlzdGZ1bmRzIHNwYW4gc3Bhbi5tc19yYW5rNCxcbi5jdHJsX2xpc3RmdW5kcyBzcGFuIHNwYW4ubXNfcmFuazUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA3MXB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbi5tc19yYW5rIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX21zXy5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xufVxuXG4ubXNfcmFuazEge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fbXNfLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5tc19yYW5rMiB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19tc18ucG5nKSBuby1yZXBlYXQgNTAlIDUwJTtcbn1cblxuLm1zX3JhbmszIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX21zXy5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xufVxuXG4ubXNfcmFuazQge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fbXNfLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5tc19yYW5rNSB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19tc18ucG5nKSBuby1yZXBlYXQgNTAlIDUwJTtcbn1cblxuLyotLS0gRnVuZENvbm5lY3QgUmFua2luZyBJY29ucyAtLS0qL1xuLmN0cmxfbGlzdGZ1bmRzIHNwYW4gc3Bhbi5mY19yYW5rLFxuLmN0cmxfbGlzdGZ1bmRzIHNwYW4gc3Bhbi5mY19yYW5rMSxcbi5jdHJsX2xpc3RmdW5kcyBzcGFuIHNwYW4uZmNfcmFuazIsXG4uY3RybF9saXN0ZnVuZHMgc3BhbiBzcGFuLmZjX3JhbmszLFxuLmN0cmxfbGlzdGZ1bmRzIHNwYW4gc3Bhbi5mY19yYW5rNCxcbi5jdHJsX2xpc3RmdW5kcyBzcGFuIHNwYW4uZmNfcmFuazUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbi5hbGlnbnJpZ2h0IC5mY19yYW5rLCAuYWxpZ25yaWdodCAuZmNfcmFuazEsIC5hbGlnbnJpZ2h0IC5mY19yYW5rMiwgLmFsaWducmlnaHQgLmZjX3JhbmszLFxuLmFsaWducmlnaHQgLmZjX3Jhbms0LCAuYWxpZ25yaWdodCAuZmNfcmFuazUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmFsaWdubWlkZGxlIC5mY19yYW5rLCAuYWxpZ25taWRkbGUgLmZjX3JhbmsxLCAuYWxpZ25taWRkbGUgLmZjX3JhbmsyLCAuYWxpZ25taWRkbGUgLmZjX3JhbmszLFxuLmFsaWdubWlkZGxlIC5mY19yYW5rNCwgLmFsaWdubWlkZGxlIC5mY19yYW5rNSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmFsaWdubGVmdCAuZmNfcmFuaywgLmFsaWdubGVmdCAuZmNfcmFuazEsIC5hbGlnbmxlZnQgLmZjX3JhbmsyLCAuYWxpZ25sZWZ0IC5mY19yYW5rMyxcbi5hbGlnbmxlZnQgLmZjX3Jhbms0LCAuYWxpZ25sZWZ0IC5mY19yYW5rNSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmZjX3Jhbmsge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fZmNfcmF0aW5nLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5mY19yYW5rMSB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mY19yYXRpbmcxLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5mY19yYW5rMiB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mY19yYXRpbmcyLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5mY19yYW5rMyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mY19yYXRpbmczLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5mY19yYW5rNCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mY19yYXRpbmc0LnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5mY19yYW5rNSB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19mY19yYXRpbmc1LnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi8qLS0tIGZ1bmRsaXN0IHJpc2sgaW5kaWNhdG9yIC0tLSovXG4vKiBJTVBPUlRBTlQgTk9URSBUSEUgQ0VMTCBXUkFQUElORyBUSEUgUklTSyBJTkRJQ0FUT1IgTVVTVCBIQVZFIEEgUE9TSVRJT04gUkVMQVRJVkUqL1xuLyogZnVuZGxpc3QgcmlzayBpbmRpY2F0b3IgcG9zaXRpb25pbmcgKi9cbi5jdHJsX2xpc3RmdW5kcyAuYWxpZ25sZWZ0IC5kZWZhdWx0X2Z1bmRsaXN0X3Jpc2tpbmRpY2F0b3Ige1xuICAgIGxlZnQ6IDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4uY3RybF9saXN0ZnVuZHMgLmFsaWducmlnaHQgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciB7XG4gICAgcmlnaHQ6IDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uY3RybF9saXN0ZnVuZHMgLmFsaWdubWlkZGxlIC5kZWZhdWx0X2Z1bmRsaXN0X3Jpc2tpbmRpY2F0b3Ige1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY3RybF9saXN0ZnVuZHMgLmFsaWdubGVmdCAuZGVmYXVsdF9mdW5kbGlzdF9yaXNraW5kaWNhdG9yIC5mdW5kbGlzdF9yaXNraW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4uY3RybF9saXN0ZnVuZHMgLmFsaWducmlnaHQgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciAuZnVuZGxpc3Rfcmlza2luZGljYXRvciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLyogcmlzayBpbmRpY2F0b3IgY29udGFpbmVyICovXG4uY3RybF9saXN0ZnVuZHMgdGQgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICB6LWluZGV4OiA5OTk5OTk7XG59XG5cbi8qIHJpc2sgaW5kaWNhdG9yKi9cbi5jdHJsX2xpc3RmdW5kcyB0ZCAuZGVmYXVsdF9mdW5kbGlzdF9yaXNraW5kaWNhdG9yIC5mdW5kbGlzdF9yaXNraW5kaWNhdG9yIHtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYmFja2dyb3VuZDogI2VlZWVlZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgYmVoYXZpb3I6IHVybCguLi8uLi9qcy9QSUUuaHRjKTtcbn1cblxuLmN0cmxfbGlzdGZ1bmRzIHRkOmhvdmVyIC5kZWZhdWx0X2Z1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLmZ1bmRsaXN0X3Jpc2tpbmRpY2F0b3Ige1xuICAgIHdpZHRoOiAxNTVweDtcbiAgICBtYXJnaW4tbGVmdDogLTYzcHg7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYmVoYXZpb3I6IHVybCguLi8uLi9qcy9QSUUuaHRjKTtcbn1cblxuLmN0cmxfbGlzdGZ1bmRzIHRkOmhvdmVyIC5kZWZhdWx0X2Z1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLmZ1bmRsaXN0X3Jpc2tpbmRpY2F0b3Iubm9yaXNrIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmVoYXZpb3I6IHVybCguLi8uLi9qcy9QSUUuaHRjKTtcbn1cblxuLyogcmlzayBsZXZlbHMqL1xuLmN0cmxfbGlzdGZ1bmRzIHRkIC5kZWZhdWx0X2Z1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLmZ1bmRsaXN0X3Jpc2tpbmRpY2F0b3IgLnJpc2tfbGV2ZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4uY3RybF9saXN0ZnVuZHMgdGQ6aG92ZXIgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciAuZnVuZGxpc3Rfcmlza2luZGljYXRvciAucmlza19sZXZlbCB7XG4gICAgd2lkdGg6IDIwcHg7XG59XG5cbi5jdHJsX2xpc3RmdW5kcyB0ZDpob3ZlciAuZGVmYXVsdF9mdW5kbGlzdF9yaXNraW5kaWNhdG9yIC5mdW5kbGlzdF9yaXNraW5kaWNhdG9yLm5vcmlzayAucmlza19sZXZlbCB7XG4gICAgd2lkdGg6IDBweDtcbn1cblxuLyogcmlzayBpbmRpY2F0b3IgYWN0aXZlKi9cbi5jdHJsX2xpc3RmdW5kcyB0ZCAuZGVmYXVsdF9mdW5kbGlzdF9yaXNraW5kaWNhdG9yIC5mdW5kbGlzdF9yaXNraW5kaWNhdG9yIC5yaXNrX2xldmVsLmFjdGl2ZSB7XG4gICAgdG9wOiAtNXB4O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDMwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBiZWhhdmlvcjogdXJsKC4uLy4uL2pzL1BJRS5odGMpO1xufVxuXG4uY3RybF9saXN0ZnVuZHMgdGQ6aG92ZXIgLmRlZmF1bHRfZnVuZGxpc3Rfcmlza2luZGljYXRvciAuZnVuZGxpc3Rfcmlza2luZGljYXRvciAucmlza19sZXZlbC5hY3RpdmUge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7XG59XG5cbi5jdHJsX2xpc3RmdW5kcyB0ZDpob3ZlciAuZGVmYXVsdF9mdW5kbGlzdF9yaXNraW5kaWNhdG9yIC5mdW5kbGlzdF9yaXNraW5kaWNhdG9yLm5vcmlzayAucmlza19sZXZlbC5hY3RpdmUge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uY3RybF9saXN0ZnVuZHMgLnJpc2tfbGV2ZWwuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA2ZmIwO1xufVxuXG4vKi0tLSBhZGRpbmcgYW5pbWF0aW9uICh3aGVuIHN1cHBvcnRlZCkgLS0tKi9cbi5jdHJsX2xpc3RmdW5kcyAuZnVuZGxpc3Rfcmlza2luZGljYXRvcixcbi5jdHJsX2xpc3RmdW5kcyAuZnVuZGxpc3Rfcmlza2luZGljYXRvciAucmlza19sZXZlbCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLyotLS0tIGFkZGl0aW9uYWwgZmVhdHVyZXMgLS0tKi9cbi8qLSBnbyBiYWNrIHRvIGZ1bmRsaXN0IGljb24gLSovXG4uaWNvbi5nb19mdW5kbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLmljb24uZ29fZnVuZGxpc3Q6YWZ0ZXIsIC5pY29uLmdvX2Z1bmRsaXN0OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaWNvbi5nb19mdW5kbGlzdDphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDZmYjA7XG4gICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICBsZWZ0OiAtMjBweDtcbn1cblxuLmljb24uZ29fZnVuZGxpc3Q6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDZmYjA7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICBsZWZ0OiAtNnB4O1xuICAgIGJvcmRlci13aWR0aDogNHB4IDNweDtcbn1cblxuLmdvX2Z1bmRsaXN0IC5pY29uLmdvX2Z1bmRsaXN0OmFmdGVyIHtcbiAgICBsZWZ0OiAtMTZweDtcbn1cblxuLmdvX2Z1bmRsaXN0OmhvdmVyIC5pY29uLmdvX2Z1bmRsaXN0OmFmdGVyIHtcbiAgICBsZWZ0OiAtMjBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcbn1cblxuLmdvX2Z1bmRsaXN0IC5pY29uLmdvX2Z1bmRsaXN0OmJlZm9yZSB7XG4gICAgbGVmdDogLTNweDtcbn1cblxuLmdvX2Z1bmRsaXN0OmhvdmVyIC5pY29uLmdvX2Z1bmRsaXN0OmJlZm9yZSB7XG4gICAgbGVmdDogLTZweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcbn1cblxuLmdvX2Z1bmRsaXN0IC5pY29uLmdvX2Z1bmRsaXN0LFxuLmdvX2Z1bmRsaXN0IC5pY29uLmdvX2Z1bmRsaXN0OmFmdGVyLFxuLmdvX2Z1bmRsaXN0IC5pY29uLmdvX2Z1bmRsaXN0OmJlZm9yZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDtcbn1cblxuLyotIGdvIHRvIHBhZ2UgdG9wIC0qL1xuLmljb24uZ29fcGFnZXRvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uaWNvbi5nb19wYWdldG9wOmFmdGVyLCAuaWNvbi5nb19wYWdldG9wOmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaWNvbi5nb19wYWdldG9wOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDZmYjA7XG4gICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgbGVmdDogLTE0cHg7XG59XG5cbi5pY29uLmdvX3BhZ2V0b3A6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDZmYjA7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGxlZnQ6IC0xMHB4O1xuICAgIGJvcmRlci13aWR0aDogM3B4IDRweDtcbn1cblxuLmdvX3BhZ2V0b3AgLmljb24uZ29fcGFnZXRvcDphZnRlciB7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG59XG5cbi5nb19wYWdldG9wOmhvdmVyIC5pY29uLmdvX3BhZ2V0b3A6YWZ0ZXIge1xuICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xufVxuXG4uZ29fcGFnZXRvcCAuaWNvbi5nb19wYWdldG9wOmJlZm9yZSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbn1cblxuLmdvX3BhZ2V0b3A6aG92ZXIgLmljb24uZ29fcGFnZXRvcDpiZWZvcmUge1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbn1cblxuLmdvX3BhZ2V0b3AgLmljb24uZ29fcGFnZXRvcCxcbi5nb19wYWdldG9wIC5pY29uLmdvX3BhZ2V0b3A6YWZ0ZXIsXG4uZ29fcGFnZXRvcCAuaWNvbi5nb19wYWdldG9wOmJlZm9yZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDtcbn1cblxuLyotIGV4cG9ydF9wZGYgaWNvbiAtKi9cbi5pY29uLmV4cG9ydF9wZGYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi5pY29uLmV4cG9ydF9wZGY6YmVmb3JlLFxuLmljb24uZXhwb3J0X3BkZjphZnRlciB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaWNvbi5leHBvcnRfcGRmOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDA2ZmIwO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xufVxuXG4uaWNvbi5leHBvcnRfcGRmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlBERlwiO1xuICAgIGJhY2tncm91bmQ6ICMwMDZmYjA7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDhweDtcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLmV4cG9ydF9wZGYgLmljb24uZXhwb3J0X3BkZjpiZWZvcmUge1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG59XG5cbi5leHBvcnRfcGRmOmhvdmVyIC5pY29uLmV4cG9ydF9wZGY6YmVmb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAtMTFweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbn1cblxuLmV4cG9ydF9wZGYgLmljb24uZXhwb3J0X3BkZjphZnRlciB7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbn1cblxuLmV4cG9ydF9wZGY6aG92ZXIgLmljb24uZXhwb3J0X3BkZjphZnRlciB7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbn1cblxuLmV4cG9ydF9wZGYgLmljb24uZXhwb3J0X3BkZixcbi5leHBvcnRfcGRmIC5pY29uLmV4cG9ydF9wZGY6YmVmb3JlLFxuLmV4cG9ydF9wZGYgLmljb24uZXhwb3J0X3BkZjphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDtcbn1cblxuLyotIGJ0bl9wcmludCBpY29uIC0qL1xuLmljb24uYnRuX3ByaW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2ZmIwO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAycHggM3B4IDRweCAzcHg7XG59XG5cbi5pY29uLmJ0bl9wcmludDpiZWZvcmUge1xuICAgIHJpZ2h0OiAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5pY29uLmJ0bl9wcmludDpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZmYjA7XG59XG5cbi5idG5fcHJpbnQgLmljb24uYnRuX3ByaW50OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG59XG5cbi5ub25fbW9iaWxlIC5idG5fcHJpbnQ6aG92ZXIgLmljb24uYnRuX3ByaW50OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xufVxuXG4uYnRuX3ByaW50IC5pY29uLmJ0bl9wcmludCxcbi5idG5fcHJpbnQgLmljb24uYnRuX3ByaW50OmJlZm9yZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDtcbn1cblxuLyotIGJ0bl9leHBvcnQgaWNvbiAtKi9cbi5pY29uLmJ0bl9leHBvcnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmljb24uYnRuX2V4cG9ydDpiZWZvcmUsXG4uaWNvbi5idG5fZXhwb3J0OmFmdGVyIHtcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5pY29uLmJ0bl9leHBvcnQ6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDZmYjA7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggNnB4O1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xufVxuXG4uaWNvbi5idG5fZXhwb3J0OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDZmYjA7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG59XG5cbi5idG5fZXhwb3J0IC5pY29uLmJ0bl9leHBvcnQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xufVxuXG4uYnRuX2V4cG9ydDpob3ZlciAuaWNvbi5idG5fZXhwb3J0OmJlZm9yZSB7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbn1cblxuLmJ0bl9leHBvcnQgLmljb24uYnRuX2V4cG9ydDphZnRlciB7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuLmJ0bl9leHBvcnQ6aG92ZXIgLmljb24uYnRuX2V4cG9ydDphZnRlciB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbn1cblxuLmJ0bl9leHBvcnQgLmljb24uYnRuX2V4cG9ydCxcbi5idG5fZXhwb3J0IC5pY29uLmJ0bl9leHBvcnQ6YmVmb3JlLFxuLmJ0bl9leHBvcnQgLmljb24uYnRuX2V4cG9ydDphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKipMaW5rcyArIEJ1dHRvbiBTZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0gR2VuZXJhbCBsaW5rIHNldHRpbmdzIC0tLSovXG4udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSAudWktYnV0dG9uIHNwYW4sIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWJ1dHRvbiBzcGFuLCBhLCBhOmxpbmssIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICMwMDZmYjA7XG59XG5cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1idXR0b24gc3Bhbjpob3ZlciwgYTpob3ZlciB7XG4gICAgY29sb3I6ICM1NzU4NTk7XG59XG5cbi8qLS0tIEdlbmVyYWwgYnV0dG9uIHNldHRpbmdzIC0tLSovXG4vKiBub3JtYWwgc3RhdGUgKi9cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1idXR0b24sXG4uYnRuLCBpbnB1dFt0eXBlPWJ1dHRvbl0sIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5idG46Zmlyc3Qtb2YtdHlwZSxcbmlucHV0W3R5cGU9YnV0dG9uXTpmaXJzdC1vZi10eXBlLFxuYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG59XG5cbi8qaG92ZXIgc3RhdGUgKi9cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1idXR0b246aG92ZXIsXG4uYnRuOmhvdmVyLCBpbnB1dFt0eXBlPWJ1dHRvbl06aG92ZXIsIGJ1dHRvbjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBpbmFjdGl2ZSBzdGF0ZSovXG4uYnRuLmluYWN0aXZlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIGFuaW1hdGlvbnMoaWYgc3VwcG9ydGVkKSAtLS0qL1xuLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWJ1dHRvbiBzcGFuLCBhLCAuYnRuLCBpbnB1dFt0eXBlPWJ1dHRvbl0sIGJ1dHRvbiB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLyotLS0gRnVuZGxpc3QgXCJCdXlcIiBidXR0b24gU2V0dGluZ3MgLS0tKi9cbi5saXN0ZnVuZHMgLmJ1dHRvbnMgYSxcbiNGdW5kTGlzdENvcHkgLmJ1dHRvbnMgYSB7XG4gICAgcGFkZGluZzogMXB4IDEwcHggMXB4IDEwcHg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqTmF2aWdhdGlvbiBiYXIgU2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tIGdlbmVyYWwgbmF2aWdhdGlvbiBjb250YWluZXIgKGJvdGggdGFicyBhbmQgY2hhcnRzKSAtLS0qL1xuLm5hdmlnYXRpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG59XG5cbi8qLS0tIGdlbmVyYWwgbmF2aWdhdGlvbiBsaXN0IC0tLSovXG4ubmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLypOYXZpZ2F0aW9uIGxpbmsgaGVpZ2h0cyBhbmQgZ2VuZXJhbCBzZXR0aW5ncyovXG4ubmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5uYXZpZ2F0aW9uIHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLypOYXZpZ2F0aW9uIFwiQVwiICsgXCJMSVwiIHNldHRpbmdzICovXG4ubmF2aWdhdGlvbiB1bCBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAzcHggN3B4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm5hdmlnYXRpb24gdWwgbGkuYWN0aXZlIGEge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLm5hdmlnYXRpb24ucnMtbm9uZSAubmF2aWdhdGlvbi10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqSGVhZGxpbmUgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jdHJsX2hlYWRsaW5lIHtcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKipGdW5kbGlzdCBtb2RpZmllciBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8qUmVndWxhciBsYWJlbHMqL1xuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIGxhYmVsIHtcbiAgICB3aWR0aDogMzAlO1xufVxuXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgbGkgaW5wdXQsXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgbGkgc2VsZWN0IHtcbiAgICB3aWR0aDogNzAlO1xufVxuXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgbGkgaW5wdXQsXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgbGkgc2VsZWN0LFxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIGxhYmVsIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIGxpIHNwYW4ubGFiZWwge1xuICAgIHdpZHRoOiAzMCU7XG59XG5cbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyBsaSBpbnB1dCxcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyBsaSBzZWxlY3Qge1xuICAgIHdpZHRoOiA3MCU7XG59XG5cbi8qc2VsZWN0MiBzdXBwb3J0Ki9cbi5jdHJsX21vZGlmaWVycyAuc2VsZWN0Mi1jb250YWluZXIsXG4uY3RybF9tb2RpZmllcnMgLnNlbGVjdDItZHJvcCxcbi5jdHJsX21vZGlmaWVycyAuc2VsZWN0Mi1zZWFyY2gsXG4uY3RybF9tb2RpZmllcnMgLnNlbGVjdDItc2VhcmNoIGlucHV0IHtcbiAgICB3aWR0aDogNzAlO1xufVxuXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgbGkgaW5wdXQsXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgbGkgc2VsZWN0LFxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIGxpIHNwYW4ubGFiZWwge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4vKkZhbmN5IGxhYmVscyovXG4uY3RybF9teWxpc3QudXNlTGFiZWxzVGV4dCAuY29udGVudF9iZyBsaSBpbnB1dCxcbi5jdHJsX215bGlzdC51c2VMYWJlbHNUZXh0IC5jb250ZW50X2JnIGxpIHNlbGVjdCxcbi5jdHJsX21vZGlmaWVycy51c2VMYWJlbHNUZXh0IC5jb250ZW50X2JnIGxpIGlucHV0LFxuLmN0cmxfbW9kaWZpZXJzLnVzZUxhYmVsc1RleHQgLmNvbnRlbnRfYmcgbGkgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbn1cblxuLypzZWxlY3QyIHN1cHBvcnQqL1xuLmN0cmxfbW9kaWZpZXJzLnVzZUxhYmVsc1RleHQgLnNlbGVjdDItY29udGFpbmVyLFxuLmN0cmxfbW9kaWZpZXJzLnVzZUxhYmVsc1RleHQgLnNlbGVjdDItZHJvcCxcbi5jdHJsX21vZGlmaWVycy51c2VMYWJlbHNUZXh0IC5zZWxlY3QyLXNlYXJjaCxcbi5jdHJsX21vZGlmaWVycy51c2VMYWJlbHNUZXh0IC5zZWxlY3QyLXNlYXJjaCBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG59XG5cbi8qLS0tIEZ1bmRsaXN0IG1vZGlmaWVyIGNvbnRyb2wgLSBwYWRkaW5ncyAtLS0qL1xuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIC5zdGF0aWNfZmlsdGVyc19zZWN0aW9uLFxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIC5keW5hbWljX2ZpbHRlcnNfc2VjdGlvbixcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZ3JvdXBpbmdfc2VjdGlvbiB7XG4gICAgcGFkZGluZzogM3B4IDVweCAzcHggNXB4O1xufVxuXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgLnN0YWJpbGl0eV9tZWFzdXJlc19zZWN0aW9uLFxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5zdGF0aWNfZmlsdGVyc19zZWN0aW9uLFxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5keW5hbWljX2ZpbHRlcnNfc2VjdGlvbixcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZ3JvdXBpbmdfc2VjdGlvbiB7XG4gICAgcGFkZGluZzogM3B4IDVweCAzcHggNXB4O1xufVxuXG4vKi0tLSBGdW5kbGlzdCBtb2RpZmllciBjb250cm9sIC0gU3RhYmlsaXR5IG1lYXN1cmVzIHNlY3Rpb24gLS0tKi9cbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuc3RhYmlsaXR5X21lYXN1cmVzIHRhYmxlIHRkLk1lYXN1cmVtZW50UGVyaW9kLFxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIC5zdGFiaWxpdHlfbWVhc3VyZXMgdGFibGUgdGQuSG9sZGluZ1BlcmlvZCB7XG4gICAgd2lkdGg6IDIyJTtcbn1cblxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIC5zdGFiaWxpdHlfbWVhc3VyZXMgdGFibGUgdGQuTWVhc3VyZW1lbnRQZXJpb2Qge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIC5zdGFiaWxpdHlfbWVhc3VyZXMgdGFibGUgdGQuSG9sZGluZ1BlcmlvZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuc3RhYmlsaXR5X21lYXN1cmVzIHRhYmxlIHRkLnN0YWJpbGl0eV9tZWFzdXJlc19zZWFyY2hpbnB1dCBzZWxlY3Qge1xuICAgIHdpZHRoOiA5OSU7XG59XG5cbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuc3RhYmlsaXR5X21lYXN1cmVzIHRhYmxlIHRkLk1lYXN1cmVtZW50UGVyaW9kLFxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5zdGFiaWxpdHlfbWVhc3VyZXMgdGFibGUgdGQuSG9sZGluZ1BlcmlvZCB7XG4gICAgd2lkdGg6IDIyJTtcbn1cblxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5zdGFiaWxpdHlfbWVhc3VyZXMgdGFibGUgdGQuTWVhc3VyZW1lbnRQZXJpb2Qge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5zdGFiaWxpdHlfbWVhc3VyZXMgdGFibGUgdGQuSG9sZGluZ1BlcmlvZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuc3RhYmlsaXR5X21lYXN1cmVzIHRhYmxlIHRkLnN0YWJpbGl0eV9tZWFzdXJlc19zZWFyY2hpbnB1dCBzZWxlY3Qge1xuICAgIHdpZHRoOiA5OSU7XG59XG5cbi8qLS0tIEZ1bmRsaXN0IG1vZGlmaWVyIGNvbnRyb2wgLSBGaWx0ZXJzIHNlY3Rpb24gLS0tKi9cbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLmR5bmFtaWNfZmlsdGVyc19zZWN0aW9uIHRkIGlucHV0LFxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIC5keW5hbWljX2ZpbHRlcnNfc2VjdGlvbiB0ZCBzZWxlY3Qge1xuICAgIG1hcmdpbjogNXB4IDEwcHggNXB4IDBweDtcbn1cblxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIC5keW5hbWljX2ZpbHRlcnNfc2VjdGlvbiB0ZCBzcGFuIHNlbGVjdCxcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gc3BhbiBzZWxlY3Qge1xuICAgIG1hcmdpbjogNXB4IDEwcHggNXB4IDIwcHg7XG59XG5cbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQgc3BhbiBpbnB1dCB7XG4gICAgbWFyZ2luOiA1cHggMTBweCA1cHggMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwcHg7XG59XG5cbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gc3BhbiBpbnB1dCB7XG4gICAgbWFyZ2luOiA1cHggMTBweCA1cHggMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAzcHg7XG59XG5cbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgLmR5bmFtaWNfZmlsdGVyc19zZWN0aW9uIHRkIGlucHV0LFxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5keW5hbWljX2ZpbHRlcnNfc2VjdGlvbiB0ZCBzZWxlY3Qge1xuICAgIG1hcmdpbjogNXB4IDEwcHggNXB4IDBweDtcbn1cblxuLmN0cmxfbW9kaWZpZXJzIC5jb250ZW50X2JnIC5keW5hbWljX2ZpbHRlcnNfc2VjdGlvbiB0ZCBzcGFuIHNlbGVjdCxcbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gc3BhbiBzZWxlY3Qge1xuICAgIG1hcmdpbjogNXB4IDEwcHggNXB4IDIwcHg7XG59XG5cbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gdGQgc3BhbiBpbnB1dCB7XG4gICAgbWFyZ2luOiA1cHggMTBweCA1cHggMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwcHg7XG59XG5cbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZHluYW1pY19maWx0ZXJzX3NlY3Rpb24gc3BhbiBpbnB1dCB7XG4gICAgbWFyZ2luOiA1cHggMTBweCA1cHggMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAzcHg7XG59XG5cbi8qLS0tIEZ1bmRsaXN0IG1vZGlmaWVyIGNvbnRyb2wgLSBHcm91cGluZyBzZWN0aW9uIC0tLSovXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLmdyb3VwaW5nX3NlY3Rpb24gLmdyb3VwIHtcbiAgICBwYWRkaW5nOiAwIDIwcHggM3B4IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jdHJsX21vZGlmaWVycyAuY29udGVudF9iZyAuZ3JvdXBpbmdfc2VjdGlvbiAuZ3JvdXAge1xuICAgIHBhZGRpbmc6IDAgMjBweCAzcHggMDtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLyotLS0gRnVuZGxpc3QgbW9kaWZpZXIgY29udHJvbCAtIFNlYXJjaCBidXR0b25zIC0tLSovXG4uY3RybF9tb2RpZmllcnMgLmNvbnRlbnRfYmcgLmxpbmUxIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWFyY2gtYnV0dG9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgdG9wOiAwcHg7XG59XG5cbi5zZWFyY2gtYnV0dG9ucyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5zZWFyY2gtYnV0dG9ucyAuaWNvLXNlYXJjaC1idXR0b24sXG4uc2VhcmNoLWJ1dHRvbnMgLnJlc2V0X3NlYXJjaF9idXR0b24sXG4uc2VhcmNoLWJ1dHRvbnMgLnNlYXJjaF9idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMThweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uc2VhcmNoLWJ1dHRvbnMgLmljby1zZWFyY2gtYnV0dG9uIHtcbiAgICB3aWR0aDogMThweDtcbn1cblxuLnNlYXJjaC1idXR0b25zIC5pY28tc2VhcmNoLWJ1dHRvbiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvLXNlYXJjaC1idXR0b25zLnBuZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG59XG5cbi8qbm9ybWFsKi9cbi5zZWFyY2gtYnV0dG9ucyAuaWNvLXNlYXJjaC1idXR0b24uaWNvLXNlYXJjaCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNmZiMDtcbn1cblxuLnNlYXJjaC1idXR0b25zIC5pY28tc2VhcmNoLWJ1dHRvbi5pY28tc2VhcmNoIGEge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzZweDtcbn1cblxuLnNlYXJjaC1idXR0b25zIC5pY28tc2VhcmNoLWJ1dHRvbi5pY28tcmVzZXQgYSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4cHggMHB4O1xufVxuXG4vKmhvdmVyKi9cbi5zZWFyY2gtYnV0dG9ucyAuaWNvLXNlYXJjaC1idXR0b24uaWNvLXNlYXJjaDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFhN2ViODtcbn1cblxuLnNlYXJjaC1idXR0b25zIC5pY28tc2VhcmNoLWJ1dHRvbi5pY28tc2VhcmNoIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzZweDtcbn1cblxuLnNlYXJjaC1idXR0b25zIC5pY28tc2VhcmNoLWJ1dHRvbi5pY28tcmVzZXQgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4cHggLTE4cHg7XG59XG5cbi8qLS0tIEZ1bmRsaXN0IG1vZGlmaWVyIGNvbnRyb2wgLSBTZWxlY3RlZCBmaWx0ZXJzIHNlY3Rpb24gLS0tKi9cbi5zZWxlY3RlZF9maWx0ZXJzIHVsIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLyotLS0gR3JvdXBpbmcgdG9nZ2xlIC0tLSovXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZSB7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5jdHJsX21vZGlmaWVycyAudG9nZ2xlLFxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGVfdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jdHJsX21vZGlmaWVycyAudG9nZ2xlLXNsaWRlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGRpcmVjdGlvbjogbHRyO1xufVxuXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZS1zbGlkZSAudG9nZ2xlLW9uLFxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGUtc2xpZGUgLnRvZ2dsZS1vZmYsXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZS1zbGlkZSAudG9nZ2xlLWJsb2Ige1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGUtc2xpZGUgLnRvZ2dsZS1ibG9iIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogOTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZS1zbGlkZSB7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xufVxuXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZXRydWUgLnRvZ2dsZS1zbGlkZSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAycHggIzQ1YTMxZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggIzQ1YTMxZjtcbn1cblxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGVmYWxzZSAudG9nZ2xlLXNsaWRlIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDJweCAjNjY2NjY2O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNjY2NjY2O1xufVxuXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZS1saWdodCAudG9nZ2xlLW9uLFxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGUtbGlnaHQgLnRvZ2dsZS1vZmYge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uY3RybF9tb2RpZmllcnMgLnRvZ2dsZS1saWdodCAudG9nZ2xlLW9uLFxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGUtbGlnaHQgLnRvZ2dsZS1zZWxlY3QgLnRvZ2dsZS1pbm5lciAuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDVhMzFmO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG5cbi5jdHJsX21vZGlmaWVycyAudG9nZ2xlLWxpZ2h0IC50b2dnbGUtb2ZmLFxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGUtbGlnaHQgLnRvZ2dsZS1zZWxlY3QgLnRvZ2dsZS1vbiB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogIzY2NjY2Njtcbn1cblxuLmN0cmxfbW9kaWZpZXJzIC50b2dnbGUtbGlnaHQgLnRvZ2dsZS1ibG9iIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKipGdW5kbGlzdCBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jdHJsX2xpc3RmdW5kcyAuaGVhZGxpbmVfYmcgdGggc3BhbiB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmN0cmxfbGlzdGZ1bmRzIC5mbG9hdEhlYWRsaW5lcyAuZmxvYXRpbmdIZWFkZXJSb3cge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7XG59XG5cbi5jdHJsX2xpc3RmdW5kcyAuZmxvYXRIZWFkbGluZXMgLmZsb2F0aW5nSGVhZGVyUm93IC5zb3J0X2Rvd246YWZ0ZXIsXG4uY3RybF9saXN0ZnVuZHMgLmZsb2F0SGVhZGxpbmVzIC5mbG9hdGluZ0hlYWRlclJvdyAuc29ydF91cDphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwcHggIWltcG9ydGFudDtcbn1cblxuLmN0cmxfbGlzdGZ1bmRzIC5mbG9hdEhlYWRsaW5lcyAuZmxvYXRpbmdIZWFkZXJSb3cgLnNvcnRpbmdfaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmN0cmxfbGlzdGZ1bmRzIC5mbG9hdEhlYWRsaW5lcyAuZmxvYXRpbmdIZWFkZXJSb3cgLmhlYWRsaW5lX2JnIHRoLnNvcnRhYmxlIHtcbiAgICBjdXJzb3I6IGF1dG87XG59XG5cbi8qLS0tIE1lZGlhbnMgLS0tKi9cbi5jdHJsX2xpc3RmdW5kcyAubGluZV9tZWRpYW4ge1xuICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG59XG5cbi8qLS0tIEJlbmNobWFya3MgLS0tKi9cbi5jdHJsX2xpc3RmdW5kcyAubGluZV9iZW5jaG1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG59XG5cbi8qLS0tIEdyb3VwcyAtLS0qL1xuLmN0cmxfbGlzdGZ1bmRzIC5ncm91cHRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5jdHJsX2xpc3RmdW5kcyAuZ3JvdXB0aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNmNGY0ZjQ7XG59XG5cbi5jdHJsX2xpc3RmdW5kcyAuZ3JvdXB0aXRsZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGxlZnQ6IDVweDtcbiAgICBib3R0b206IDAlO1xuICAgIGJvcmRlci13aWR0aDogNXB4IDEwcHggMHB4IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbn1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAuY3RybF9saXN0ZnVuZHMgLmdyb3VwdGl0bGU6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNnB4O1xuICAgIH1cbn1cbi8qLS0tIFBhZ2luZyBzZWN0aW9uIC0tLSovXG4ucGFnaW5nX3JvdyB7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAzcHggI2YwZjBmMDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG59XG5cbi5wYWdpbmdfcm93IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLnBhZ2luZ19yb3cgbGkgc3BhbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGFnaW5nX3JvdyBsaSBzcGFuLmN1cnJlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDVweDtcbn1cblxuLnBhZ2luZ19yb3cgLmFjdGl2ZSBsaSBzcGFuLmN1cnJlbnQge1xuICAgIGNvbG9yOiAjMDA2ZmIwO1xufVxuXG4ucGFnaW5nX3JvdyAuaW5hY3RpdmUgbGkgc3Bhbi5jdXJyZW50IHtcbiAgICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLyotLS0gQWN0aXZlIC0tLSovXG4ucGFnaW5nX3JvdyAuYWN0aXZlIGxpIHNwYW4uZmlyc3Qge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19maXJzdF9ub3JtYWwucG5nXCIpIG5vLXJlcGVhdCA1MCUgMzUlO1xufVxuXG4ucGFnaW5nX3JvdyAuYWN0aXZlIGxpIHNwYW4ucHJldmlvdXMge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19wcmV2aW91c19ub3JtYWwucG5nXCIpIG5vLXJlcGVhdCA1MCUgMzUlO1xufVxuXG4ucGFnaW5nX3JvdyAuYWN0aXZlIGxpIHNwYW4ubmV4dCB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2RlZmF1bHQvcGFnaW5nX25leHRfbm9ybWFsLnBuZ1wiKSBuby1yZXBlYXQgNTAlIDM1JTtcbn1cblxuLnBhZ2luZ19yb3cgLmFjdGl2ZSBsaSBzcGFuLmxhc3Qge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19sYXN0X25vcm1hbC5wbmdcIikgbm8tcmVwZWF0IDUwJSAzNSU7XG59XG5cbi8qLS0tIEhvdmVyIC0tLSovXG4ucGFnaW5nX3JvdyAuYWN0aXZlIC5maXJzdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2RlZmF1bHQvcGFnaW5nX2ZpcnN0X2hvdmVyLnBuZ1wiKSBuby1yZXBlYXQgNTAlIDM1JTtcbn1cblxuLnBhZ2luZ19yb3cgLmFjdGl2ZSAucHJldmlvdXM6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19wcmV2aW91c19ob3Zlci5wbmdcIikgbm8tcmVwZWF0IDUwJSAzNSU7XG59XG5cbi5wYWdpbmdfcm93IC5hY3RpdmUgLm5leHQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3BhZ2luZ19uZXh0X2hvdmVyLnBuZ1wiKSBuby1yZXBlYXQgNTAlIDM1JTtcbn1cblxuLnBhZ2luZ19yb3cgLmFjdGl2ZSAubGFzdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2RlZmF1bHQvcGFnaW5nX2xhc3RfaG92ZXIucG5nXCIpIG5vLXJlcGVhdCA1MCUgMzUlO1xufVxuXG4vKi0tLSBJbmFjdGl2ZSAtLS0qL1xuLnBhZ2luZ19yb3cgLmluYWN0aXZlIC5maXJzdCB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2RlZmF1bHQvcGFnaW5nX2ZpcnN0X2luYWN0aXZlLnBuZ1wiKSBuby1yZXBlYXQgNTAlIDM1JTtcbn1cblxuLnBhZ2luZ19yb3cgLmluYWN0aXZlIC5wcmV2aW91cyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2RlZmF1bHQvcGFnaW5nX3ByZXZpb3VzX2luYWN0aXZlLnBuZ1wiKSBuby1yZXBlYXQgNTAlIDM1JTtcbn1cblxuLnBhZ2luZ19yb3cgLmluYWN0aXZlIC5uZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvZGVmYXVsdC9wYWdpbmdfbmV4dF9pbmFjdGl2ZS5wbmdcIikgbm8tcmVwZWF0IDUwJSAzNSU7XG59XG5cbi5wYWdpbmdfcm93IC5pbmFjdGl2ZSAubGFzdCB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2RlZmF1bHQvcGFnaW5nX2xhc3RfaW5hY3RpdmUucG5nXCIpIG5vLXJlcGVhdCA1MCUgMzUlO1xufVxuXG4vKi0tLSBGdW5kbGlzdCBRdWFydGlsZXMgLS0tKi9cbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucTAgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cblxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5xMSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWY0MzJjO1xufVxuXG4vKndvcnN0Ki9cbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucTIgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZGIzMjtcbn1cblxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5xMyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjOWRjYjZmO1xufVxuXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnE0IHNwYW4ge1xuICAgIGJhY2tncm91bmQ6ICM3MmI0MzE7XG59XG5cbi8qYmVzdCovXG4vKiBOb3JtYWwgKi9cbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucTAgc3BhbiBzcGFuLFxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5xMSBzcGFuIHNwYW4sXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnEyIHNwYW4gc3Bhbixcbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucTMgc3BhbiBzcGFuLFxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5xNCBzcGFuIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIEhvdmVyICovXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnEwOmhvdmVyIHNwYW4gc3Bhbixcbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucTE6aG92ZXIgc3BhbiBzcGFuLFxuLmN0cmxfbGlzdGZ1bmRzIC5jb250ZW50X2JnIC5xMjpob3ZlciBzcGFuIHNwYW4sXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLnEzOmhvdmVyIHNwYW4gc3Bhbixcbi5jdHJsX2xpc3RmdW5kcyAuY29udGVudF9iZyAucTQ6aG92ZXIgc3BhbiBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgY29sb3I6ICM0NTQ1NDU7XG4gICAgcGFkZGluZzogNXB4IDNweCA1cHggM3B4O1xufVxuXG4vKi0tLSBjaGVja2JveGVzIC0tLSovXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgLmNvbGNoZWNrYm94IHtcbiAgICB3aWR0aDogMjBweDtcbn1cblxuLyotLS0gZm9yY2Ugbm8tbGluZS1icmVhayBpbiBmdW5kbGlzdCBjb250ZW50IC0tLSovXG4uY3RybF9saXN0ZnVuZHMgLmNvbnRlbnRfYmcgdGQgc3BhbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmN0cmxfbGlzdGZ1bmRzIC5jb2wxIHtcbiAgICB3aWR0aDogMzUlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKipGdW5kbGlzdCBhcyBsaXN0IHNwZWNpZmljIHNldHRpbmdzICoqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udG9wZnVuZHNfbGlzdCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG59XG5cbi50b3BmdW5kc19saXN0IGxpIHNwYW4uY29sMSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMXB4O1xuICAgIHdpZHRoOiA3OCU7XG59XG5cbi50b3BmdW5kc19saXN0IGxpIHNwYW4uY29sMSAudGl0bGUsXG4udG9wZnVuZHNfbGlzdCBsaSBzcGFuLmNvbDIgLnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9wZnVuZHNfbGlzdCBsaSBzcGFuLmNvbDMsIC50b3BmdW5kc19saXN0IGxpIHNwYW4uY29sNCxcbi50b3BmdW5kc19saXN0IGxpIHNwYW4uY29sNSwgLnRvcGZ1bmRzX2xpc3QgbGkgc3Bhbi5jb2w2LFxuLnRvcGZ1bmRzX2xpc3QgbGkgc3Bhbi5jb2w3IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICBmb250LXNpemU6IDguNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi50b3BmdW5kc19saXN0IGxpIHNwYW4uY29sMi5wZXJmX3VwLFxuLnRvcGZ1bmRzX2xpc3QgbGkgc3Bhbi5jb2wyLnBlcmZfZG93biB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjglO1xuICAgIHJpZ2h0OiA1cHg7XG59XG5cbi50b3BmdW5kc19saXN0IGxpIHNwYW4gLnRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKiogRnVuZGxpc3QgYXMgZ3JpZCBzcGVjaWZpYyBzZXR0aW5ncyAqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmN0cmxfcmVzcG9uc2l2ZV9mdW5kc2dyaWQgLmdyaWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHpvb206IDE7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4uZ3JpZCAuaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmN0cmxfcmVzcG9uc2l2ZV9mdW5kc2dyaWQgLmdyaWQgLml0ZW0gPiB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4uY3RybF9yZXNwb25zaXZlX2Z1bmRzZ3JpZCAuZ3JpZCAuaXRlbSA+IHVsOm50aC1sYXN0LW9mLXR5cGUobisxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbn1cblxuLmN0cmxfcmVzcG9uc2l2ZV9mdW5kc2dyaWQgLmdyaWQgLml0ZW0gPiB1bDpudGgtbGFzdC1vZi10eXBlKG4rMikge1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xufVxuXG4uY3RybF9yZXNwb25zaXZlX2Z1bmRzZ3JpZCBsaSBzcGFuLnRpdGxlIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uY3RybF9yZXNwb25zaXZlX2Z1bmRzZ3JpZCAuZ3JpZCAuaXRlbSA+IHVsIHNwYW4udGl0bGUsXG4uY3RybF9yZXNwb25zaXZlX2Z1bmRzZ3JpZCAuZ3JpZCAuaXRlbSA+IHVsIHNwYW4udmFsdWUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLmN0cmxfcmVzcG9uc2l2ZV9mdW5kc2dyaWQgLmdyaWQgLml0ZW0gPiB1bCAuZGF0YS1wb2ludCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jdHJsX3Jlc3BvbnNpdmVfZnVuZHNncmlkIC5ncmlkIC5pdGVtID4gdWwgLmRhdGEtcG9pbnQuZGF0YS1wb2ludC0xIHNwYW4udGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdHJsX3Jlc3BvbnNpdmVfZnVuZHNncmlkIC5ncmlkIC5pdGVtID4gdWwgLmRhdGEtcG9pbnQuZGF0YS1wb2ludC0xIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICBmb250LXNpemU6IGxhcmdlcjtcbn1cblxuLmN0cmxfcmVzcG9uc2l2ZV9mdW5kc2dyaWQgbGkgc3Bhbixcbi5jdHJsX3Jlc3BvbnNpdmVfZnVuZHNncmlkIGxpIHNwYW4udGl0bGUsXG4uY3RybF9yZXNwb25zaXZlX2Z1bmRzZ3JpZCBsaSBzcGFuLnZhbHVlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqRnJlZS1UZXh0IGNvbnRyb2wgc3BlY2lmaWMgc2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmN0cmxfZnJlZXRleHQgLmNvbnRlbnRfYmcgLnJlYWRtb3JlX2xpbmssXG4uY3RybF9mcmVldGV4dCAuY29udGVudF9iZyAucmVhZGxlc3NfbGluayB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKkZ1bmQyRGF0YSB0YWJsZSBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmN0cmxfZnVuZDJkYXRhdGFibGUgLmNvbnRlbnRfYmcgLmhlYWRsaW5lX3dyYXAgdGgge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qLS0tIGZvcmNlIG5vLWxpbmUtYnJlYWsgaW4gZnVuZDJkYXRhIGNvbnRlbnQgLS0tKi9cbi5jdHJsX2Z1bmQyZGF0YXRhYmxlIC5jb250ZW50X2JnIHRkIHNwYW4ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipSaXNrIGluZGljYXRvciBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tIE5vcm1hbCBTdHlsZSBzZXR0aW5ncyAtLS0qL1xuLmN0cmxfcmlza2luZGljYXRvciB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmN0cmxfcmlza2luZGljYXRvciAuY29udGVudF9iZyB7XG4gICAgcGFkZGluZzogNXB4O1xufVxuXG4uY3RybF9yaXNraW5kaWNhdG9yIC5jb250ZW50X2JnIHVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLmN0cmxfcmlza2luZGljYXRvciAuY29udGVudF9iZyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE0JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cblxuLmN0cmxfcmlza2luZGljYXRvciAuY29udGVudF9iZyBsaS5hY3RpdmUge1xuICAgIHdpZHRoOiAxNiU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgbGkuYWN0aXZlIHNwYW4ge1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMXB4IDJweCAjOTk5OTk5O1xuICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDFweCAycHggIzk5OTk5OTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAjOTk5OTk5O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgbGkuYWN0aXZlIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6ICMwMDdhYzA7XG59XG5cbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgLmFkZGl0aW9uYWxfaW5mbyB7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xufVxuXG4uY3RybF9yaXNraW5kaWNhdG9yIC5jb250ZW50X2JnIC5hZGRpdGlvbmFsX2luZm8gLmluZm8xIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY3RybF9yaXNraW5kaWNhdG9yIC5jb250ZW50X2JnIC5hZGRpdGlvbmFsX2luZm8gLmluZm8yIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLmNvbnRlbnRfYmcgLmFkZGl0aW9uYWxfaW5mbyAuZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNmZjAwZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3RybF9yaXNraW5kaWNhdG9yIC5jb250ZW50X2JnIC5hZGRpdGlvbmFsX2luZm8gLmRpdmlkZXI6YmVmb3JlLFxuLmN0cmxfcmlza2luZGljYXRvciAuY29udGVudF9iZyAuYWRkaXRpb25hbF9pbmZvIC5kaXZpZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLmN0cmxfcmlza2luZGljYXRvciAuY29udGVudF9iZyAuYWRkaXRpb25hbF9pbmZvIC5kaXZpZGVyOmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmMDBmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbn1cblxuLmN0cmxfcmlza2luZGljYXRvciAuY29udGVudF9iZyAuYWRkaXRpb25hbF9pbmZvIC5kaXZpZGVyOmFmdGVyIHtcbiAgICBib3JkZXItd2lkdGg6IDVweCAwIDVweCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmYwMGZmO1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbn1cblxuLmN0cmxfcmlza2luZGljYXRvciAuZXJyb3JfbWVzc2FnZSxcbi5jdHJsX3Jpc2tpbmRpY2F0b3IgLm1lc3NhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqQmFzaWNEYXRhIHRhYmxlIGNvbnRyb2wgc3BlY2lmaWMgc2V0dGluZ3MqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0gQmFzaWMgZGF0YSBhcyB0YWJsZSAtLS0qL1xuLmN0cmxfYmFzaWNkYXRhIC5jb250ZW50X2JnIHRkLmNvbDEsXG4uY3RybF9iYXNpY2RhdGEgLmNvbnRlbnRfYmcgdGQuY29sMiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY3RybF9iYXNpY2RhdGEgLmNvbnRlbnRfYmcgLmNvbDEge1xuICAgIHdpZHRoOiAyOSU7XG59XG5cbi5jdHJsX2Jhc2ljZGF0YSAuY29udGVudF9iZyAuY29sMiB7XG4gICAgd2lkdGg6IDY5JTtcbn1cblxuLyotLS0gQmFzaWMgZGF0YSBhcyBsaXN0IC0tLSovXG4uY3RybF9iYXNpY2RhdGEgLmNvbnRlbnRfYmcgLmxpc3QgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNkZGRkZGQ7XG59XG5cbi5jdHJsX2Jhc2ljZGF0YSAuY29udGVudF9iZyAubGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG59XG5cbi5jdHJsX2Jhc2ljZGF0YSAuY29udGVudF9iZyAubGlzdCBsaSBzcGFuLmxpbmVfY29sMSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLmN0cmxfYmFzaWNkYXRhIC5jb250ZW50X2JnIC5saXN0IGxpIHNwYW4ubGluZV9jb2wyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKkFkZGl0aW9uYWwgZmVhdHVyZXMgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jdHJsX2FkZGl0aW9uYWxmZWF0dXJlcyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmN0cmxfYWRkaXRpb25hbGZlYXR1cmVzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4uY3RybF9hZGRpdGlvbmFsZmVhdHVyZXMgbGk6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqRXhwb3J0IGhpc3RvcmljYWwgTkFWJ3MgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY3RybF9kYXRhZXhwb3J0IHVsIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jdHJsX2RhdGFleHBvcnQgbGkge1xuICAgIHBhZGRpbmc6IDEwcHggMHB4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKkZ1bmRsaXN0IGFkZGl0aW9uYWwgZmVhdHVyZXMgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY3RybF9mdW5kbGlzdF9hZGRpdGlvbmFsZmVhdHVyZXMgLmNvbnRlbnRfYmcgLmZ1bmRsaXN0IHtcbiAgICB3aWR0aDogNzAlO1xuICAgIGhlaWdodDogMTI0cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jdHJsX2Z1bmRsaXN0X2FkZGl0aW9uYWxmZWF0dXJlcyAuY29udGVudF9iZyAuZnVuZGxpc3QgdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG1hcmdpbjogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7XG59XG5cbi5jdHJsX2Z1bmRsaXN0X2FkZGl0aW9uYWxmZWF0dXJlcyAuY29udGVudF9iZyAuZnVuZGxpc3QgdWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMHB4IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jdHJsX2Z1bmRsaXN0X2FkZGl0aW9uYWxmZWF0dXJlcyAuY29udGVudF9iZyAuZnVuZGxpc3QgdWwgbGkgc3Bhbi5kZWxldGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX3JlbW92ZS5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIHJpZ2h0OiAwcHg7XG59XG5cbi5jdHJsX2Z1bmRsaXN0X2FkZGl0aW9uYWxmZWF0dXJlcyAuY29udGVudF9iZyAuYnV0dG9ucyB7XG4gICAgd2lkdGg6IDI5LjglO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLmN0cmxfZnVuZGxpc3RfYWRkaXRpb25hbGZlYXR1cmVzIC5jb250ZW50X2JnIC5idXR0b25zIHVsIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLmN0cmxfZnVuZGxpc3RfYWRkaXRpb25hbGZlYXR1cmVzIC5jb250ZW50X2JnIC5idXR0b25zIHVsIGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5jdHJsX2Z1bmRsaXN0X2FkZGl0aW9uYWxmZWF0dXJlcyAuY29udGVudF9iZyAuYnV0dG9ucyB1bCBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyotLS0gWHJheSBwb3B1cCAtLS0qL1xuLnNlbGVjdGVkX2Z1bmRzIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5zZWxlY3RlZF9mdW5kcyBsaSBzcGFuLnRvdGFsU3VtLFxuLnNlbGVjdGVkX2Z1bmRzIGxpIHNwYW4uZnVuZFBlcmNlbnQge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLnNlbGVjdGVkX2Z1bmRzIGxpIHNwYW4uZnVuZFBlcmNlbnQgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbn1cblxuLnNlbGVjdGVkX2Z1bmRzIGxpI3RvdGFsIHtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG59XG5cbi5zZWxlY3RlZF9mdW5kcyBsaSN0b3RhbCBzcGFuLnRvdGFsU3VtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG59XG5cbi5zZWxlY3RlZF9mdW5kcyBsaSNzdW1UZXh0IHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKiBDaGFydHMgYW5kIGxlZ2VuZHMgZ2VuZXJhbCAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tIENoYXJ0IGxlZ2VuZC0tLSovXG4vKi5jaGFydF9sZWdlbmRzIHtwYWRkaW5nOjEycHggMCA1cHggMDt9XG5cbi5jaGFydF9sZWdlbmRzIHNwYW4uZ3JvdXAxIHttYXJnaW46M3B4IDVweCAwcHggNXB4O3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0O31cbi5jaGFydF9sZWdlbmRzIHNwYW4uZ3JvdXAxIGltZyB7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjUwJTt9Ki9cbi8qIGhvbGRpbmdzIGNoYXJ0IGxlZ2VuZCBmaXgqL1xuLyouY3RybF9ncGllY2hhcnQgLmNoYXJ0X2xlZ2VuZCBzcGFuLmdyb3VwMixcbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNoYXJ0X2xlZ2VuZCBzcGFuLmdyb3VwMiB7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOiBub3dyYXA7b3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4tby10ZXh0LW92ZXJmbG93OmVsbGlwc2lzOy1tcy10ZXh0LW92ZXJmbG93OmVsbGlwc2lzOy1tb3otYmluZGluZzp1cmwoZWxsaXBzaXMteGJsLnhtbCNlbGxpcHNpcyk7fVxuXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jaGFydF9sZWdlbmQgc3Bhbi5ncm91cDMsXG4uY3RybF9nbGluZWNoYXJ0IC5jaGFydF9sZWdlbmQgc3Bhbi5ncm91cDMge3RvcDowO31cblxuLmN0cmxfcGVyZmNoYXJ0IC5jaGFydF9hcmVhLFxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY2hhcnRhcmVhIC5jaGFydCxcbi5jdHJsX2dsaW5lY2hhcnQgLmNoYXJ0YXJlYSAuY2hhcnR7b3ZlcmZsb3c6aGlkZGVuO31cblxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY2hhcnRhcmVhLFxuLmN0cmxfZ2xpbmVjaGFydCAuY2hhcnRhcmVhLFxuLmN0cmxfcGVyZmNoYXJ0IC5jaGFydF9hcmVhIHtiYWNrZ3JvdW5kOiNmZmZmZmY7fSovXG4uY2hhcnRfbGVnZW5kcyBsaS5jaGFydF9sZWdlbmQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2hhcnRfbGVnZW5kcyBzcGFuLmdyb3VwMSxcbi5jaGFydF9sZWdlbmRzIHNwYW4uZ3JvdXAzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5jaGFydF9sZWdlbmRzIHNwYW4uZ3JvdXAxIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNHB4O1xufVxuXG4uY2hhcnRfbGVnZW5kcyBzcGFuLmdyb3VwMSBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xufVxuXG4uY2hhcnRfbGVnZW5kcyBzcGFuLmdyb3VwMyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xufVxuXG4uY2hhcnRfbGVnZW5kcyBzcGFuLmdyb3VwMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jaGFydF9sZWdlbmRzIHNwYW4uZ3JvdXAyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAtbW96LWJpbmRpbmc6IHVybChcImVsbGlwc2lzLXhibC54bWwjZWxsaXBzaXNcIik7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKkhvbGRpbmdzIGNoYXJ0IGNvbnRyb2wgc3BlY2lmaWMgc2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNoYXJ0X2xlZ2VuZCxcbi5jdHJsX2dwaWVjaGFydCAuY2hhcnRfbGVnZW5kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNoYXJ0X2xlZ2VuZCAuZ3JvdXAzLFxuLmN0cmxfZ3BpZWNoYXJ0IC5jaGFydF9sZWdlbmQgLmdyb3VwMyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydGFyZWEsXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0YXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydGFyZWEgLmNoYXJ0X2xlZ2VuZHMsXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0YXJlYSAuY2hhcnRfbGVnZW5kcyB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0YXJlYSAuY2hhcnQsXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0YXJlYSAuY2hhcnQge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0YXJlYSAuY2hhcnQucGllIGltZyxcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRhcmVhIC5jaGFydC5waWUgaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjklO1xufVxuXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydGFyZWEgLmNoYXJ0LmJhciBpbWcsXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0YXJlYSAuY2hhcnQuYmFyIGltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDBweDtcbn1cblxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSxcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuZGF0YV90eXBlLFxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5kYXRhX3R5cGUge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlLFxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLFxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xufVxuXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpIGRpdixcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaSBkaXYge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMTlweDtcbn1cblxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaSBkaXYsXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkgZGl2IHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAzcHggI2ZmZmZmZjtcbn1cblxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaSBkaXY6aG92ZXIsXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkgZGl2OmhvdmVyIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAzcHggI2ZmZmZmZjtcbn1cblxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS5hY3RpdmUgZGl2LFxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLmFjdGl2ZSBkaXYge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDNweCAjMDA2ZmIwO1xufVxuXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLnBpZSBkaXYsXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkucGllIGRpdiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19jaGFydF9waWVfbGluay5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xufVxuXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLnBpZSBkaXY6aG92ZXIsXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkucGllIGRpdjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19jaGFydF9waWVfaG92ZXIucG5nKSBuby1yZXBlYXQgNTAlIDUwJTtcbn1cblxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS5waWUuYWN0aXZlIGRpdixcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS5waWUuYWN0aXZlIGRpdiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L2ljb19jaGFydF9waWVfYWN0aXZlLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkuYmFyIGRpdixcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS5iYXIgZGl2IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2NoYXJ0X2Jhcl9saW5rLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkuYmFyIGRpdjpob3Zlcixcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS5iYXIgZGl2OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2NoYXJ0X2Jhcl9ob3Zlci5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xufVxuXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLmJhci5hY3RpdmUgZGl2LFxuLmN0cmxfZ3BpZWNoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydF90eXBlIHVsIGxpLmJhci5hY3RpdmUgZGl2IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2NoYXJ0X2Jhcl9hY3RpdmUucG5nKSBuby1yZXBlYXQgNTAlIDUwJTtcbn1cblxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS50YWJsZSBkaXYsXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkudGFibGUgZGl2IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2NoYXJ0X3RhYmxlX2xpbmsucG5nKSBuby1yZXBlYXQgNTAlIDUwJTtcbn1cblxuLmN0cmxfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS50YWJsZSBkaXY6aG92ZXIsXG4uY3RybF9ncGllY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkudGFibGUgZGl2OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2NoYXJ0X3RhYmxlX2hvdmVyLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG59XG5cbi5jdHJsX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X3R5cGUgdWwgbGkudGFibGUuYWN0aXZlIGRpdixcbi5jdHJsX2dwaWVjaGFydCAuY29udGVudF9iZyAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfdHlwZSB1bCBsaS50YWJsZS5hY3RpdmUgZGl2IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2NoYXJ0X3RhYmxlX2FjdGl2ZS5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xufVxuXG4uY3RybF9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9mdW5jdGlvbmFsaXR5IC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qLS0tIEhQaWUgY2hhcnQgaW1wbGVtZW50YXRpb24gLS0tKi9cbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCAuaGVhZGxpbmVfYmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IC5oZWFkbGluZV9iZyAuaGVhZGxpbmVfaWNvbiB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xufVxuXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgLmhlYWRsaW5lX2JnIC5oZWFkbGluZV9pY29uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIj9cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjODBBOUMyO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogdmVyZGFuYTtcbn1cblxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCAuY29udGVudF9iZyAuY2hhcnRhcmVhIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDklO1xufVxuXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgLmNvbnRlbnRfYmcgLmRhdGFfdHlwZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IC5jb250ZW50X2JnIC5jaGFydF9sZWdlbmRzX2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCAuY2hhcnRfbGVnZW5kcyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qcGFkZGluZy10b3A6IDNweDsqL1xufVxuXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgLmNoYXJ0X2xlZ2VuZHMgLmdyb3VwMiB7XG4gICAgd2lkdGg6IDY1JTtcbn1cblxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IC5jaGFydF9sZWdlbmRzIC5ncm91cDEsXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgLmNoYXJ0X2xlZ2VuZHMgLmdyb3VwMiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCAuY2hhcnRfbGVnZW5kcyAuZ3JvdXAzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgLmNoYXJ0X2xlZ2VuZHMgLmxpbmVfb2RkLFxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IC5jaGFydF9sZWdlbmRzIC5saW5lX2V2ZW4ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgdWwuY2hhcnR0eXBlcyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbn1cblxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IHVsLmNoYXJ0dHlwZXMgbGkgLmNoYXJ0dHlwZS1pY29uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC9pY29fY2hhcnR0eXBlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qLS0tIG5vcm1hbCAtLS0qL1xuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IHVsLmNoYXJ0dHlwZXMgbGkgLnBpZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDBweDtcbn1cblxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IHVsLmNoYXJ0dHlwZXMgbGkgLmJhciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMHB4O1xufVxuXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgdWwuY2hhcnR0eXBlcyBsaSAuY29sdW1uIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAwcHg7XG59XG5cbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCB1bC5jaGFydHR5cGVzIGxpIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMHB4O1xufVxuXG4vKi0tLSBob3ZlciAtLS0qL1xuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IHVsLmNoYXJ0dHlwZXMgbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7XG59XG5cbi8qLS0tIGFjdGl2ZSAtLS0qL1xuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IHVsLmNoYXJ0dHlwZXMgbGkuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA2ZmIwO1xufVxuXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgdWwuY2hhcnR0eXBlcyBsaS5hY3RpdmUgLnBpZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IC0zMnB4O1xufVxuXG4uY3RybF9yZXNwb25zaXZlX2hvbGRpbmdzY2hhcnQgdWwuY2hhcnR0eXBlcyBsaS5hY3RpdmUgLmJhciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTMycHg7XG59XG5cbi5jdHJsX3Jlc3BvbnNpdmVfaG9sZGluZ3NjaGFydCB1bC5jaGFydHR5cGVzIGxpLmFjdGl2ZSAuY29sdW1uIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMzJweDtcbn1cblxuLmN0cmxfcmVzcG9uc2l2ZV9ob2xkaW5nc2NoYXJ0IHVsLmNoYXJ0dHlwZXMgbGkuYWN0aXZlIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTMycHg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKipQZXJmb3JtYW5jZSBjaGFydCBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tIENvbXBhcmUgdG8gZnVuZC9iZW5jaG1hcmsgYXJlYSAtLS0qL1xuLmN0cmxfcGVyZmNoYXJ0IC5jaGFydF9mdW5jdGlvbmFsaXR5IC5jaGFydGZ1bmRfbW9kaWZpZXJzIHtcbiAgICB3aWR0aDogNDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4vKi0tLSBEYXRlIHBpY2tlciBhcmVhIC0tLSovXG4uY3RybF9wZXJmY2hhcnQgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X2RhdGVwaWNrZXIge1xuICAgIHdpZHRoOiA0MCU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY3RybF9wZXJmY2hhcnQgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X2RhdGVwaWNrZXIgbGkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi5jdHJsX3BlcmZjaGFydCAuY2hhcnRfZnVuY3Rpb25hbGl0eSAuY2hhcnRfZGF0ZXBpY2tlciBsaSBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDdweCAxMHB4IDlweCAxMHB4O1xufVxuXG4uY3RybF9wZXJmY2hhcnQgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X2RhdGVwaWNrZXIgbGkgaW1nIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2NhbGFkbmVyLnBuZykgbm8tcmVwZWF0IDAlIDAlO1xufVxuXG4uY3RybF9wZXJmY2hhcnQgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgLmNoYXJ0X2RhdGVwaWNrZXIgbGkgaW1nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvaWNvX2NhbGFkbmVyX2hvdmVyLnBuZykgbm8tcmVwZWF0IDAlIDAlO1xufVxuXG4uY3RybF9wZXJmY2hhcnQgLmNoYXJ0X2Z1bmN0aW9uYWxpdHkgaW5wdXQuZGF0ZXBpY2tlcl9zdGFydCxcbi5jdHJsX3BlcmZjaGFydCAuY2hhcnRfZnVuY3Rpb25hbGl0eSBpbnB1dC5kYXRlcGlja2VyX2VuZCB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2RkZGRkZDtcbiAgICB3aWR0aDogNzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKi0tLSBITElORSBDSEFSVCBJTVBMRU1FTlRBVElPTiAtLS0qL1xuLmN0cmxfaGxpbmVjaGFydCAuY2hhcnRfbGVnZW5kcyAubGluZV9vZGQsXG4uY3RybF9obGluZWNoYXJ0IC5jaGFydF9sZWdlbmRzIC5saW5lX2V2ZW4ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqUGxvdCBjaGFydCBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLSBPdmVyd3JpdGUgR29vZ2xlIFRvb2x0aXAgQ1NTIChodHRwOi8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L3N0YXRpYy9tb2R1bGVzL2d2aXovMS4wL2NvcmUvdG9vbHRpcC5jc3MpIC0tLSovXG4uY3RybF9wbG90Y2hhcnQgLmNoYXJ0X2FyZWEgLmdvb2dsZS12aXN1YWxpemF0aW9uLXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYmVoYXZpb3I6IHVybCguLi8uLi9qcy9QSUUuaHRjKTtcbn1cblxuLmN0cmxfcGxvdGNoYXJ0IC5jaGFydF9hcmVhIC5nb29nbGUtdmlzdWFsaXphdGlvbi10b29sdGlwIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZjBmMGYwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgd2lkdGg6IDQyMHB4O1xuICAgIGhlaWdodDogMzYwcHg7XG59XG5cbi5jdHJsX3Bsb3RjaGFydCAuY2hhcnRfYXJlYSAuZ29vZ2xlVG9vbFRpcERpdixcbi5jdHJsX3Bsb3RjaGFydCAuY2hhcnRfYXJlYSAuZ29vZ2xlVG9vbFRpcElmcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY3RybF9wbG90Y2hhcnQgLmNoYXJ0X2FyZWEgLmdvb2dsZVRvb2xUaXBEaXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmN0cmxfcGxvdGNoYXJ0IC5jaGFydF9hcmVhIC5nb29nbGVUb29sVGlwRGl2IGEuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICByaWdodDogMXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2YwZjBmMDtcbn1cblxuLmN0cmxfcGxvdGNoYXJ0IC5jaGFydF9hcmVhIC5nb29nbGVUb29sVGlwRGl2IGEuY2xvc2Uge1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgY29sb3I6ICMwMDZmYjA7XG59XG5cbi5jdHJsX3Bsb3RjaGFydCAuY2hhcnRfYXJlYSAuZ29vZ2xlVG9vbFRpcERpdiBhLmNsb3NlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA2ZmIwO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqVG9wIFggaG9sZGluZ3MgdGFibGUgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY3RybF90b3BfeF9ob2xkaW5ncyB0YWJsZSB7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuLmN0cmxfdG9wX3hfaG9sZGluZ3MuY29sdW1uc18yIC5jb250ZW50X2JnIC5jb2wxIHtcbiAgICB3aWR0aDogOTAlO1xufVxuXG4uY3RybF90b3BfeF9ob2xkaW5ncy5jb2x1bW5zXzIgLmNvbnRlbnRfYmcgLmNvbDIge1xuICAgIHdpZHRoOiAxMCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jdHJsX3RvcF94X2hvbGRpbmdzLmNvbHVtbnNfNCAuY29udGVudF9iZyAuY29sMSB7XG4gICAgd2lkdGg6IDUwJTtcbn1cblxuLmN0cmxfdG9wX3hfaG9sZGluZ3MuY29sdW1uc180IC5jb250ZW50X2JnIC5jb2wyIHtcbiAgICB3aWR0aDogMjAlO1xufVxuXG4uY3RybF90b3BfeF9ob2xkaW5ncy5jb2x1bW5zXzQgLmNvbnRlbnRfYmcgLmNvbDMge1xuICAgIHdpZHRoOiAyMCU7XG59XG5cbi5jdHJsX3RvcF94X2hvbGRpbmdzLmNvbHVtbnNfNCAuY29udGVudF9iZyAuY29sNCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmN0cmxfdG9wX3hfaG9sZGluZ3MgLmNvbnRlbnRfYmcgLkNvbG9ySW1hZ2Uge1xuICAgIHdpZHRoOiAxNXB4O1xufVxuXG4uY3RybF90b3BfeF9ob2xkaW5ncyAuY29udGVudF9iZyBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jdHJsX3RvcF94X2hvbGRpbmdzIC5jb250ZW50X2JnIHNwYW4uc29ydF9ub25lIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uY3RybF90b3BfeF9ob2xkaW5ncyAuY29udGVudF9iZyB0ZC5mdW5jdGlvbmFsaXR5Y2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuXG4uY3RybF90b3BfeF9ob2xkaW5ncyAuY29udGVudF9iZyB0ZC5mdW5jdGlvbmFsaXR5Y2VsbCB1bCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uY3RybF90b3BfeF9ob2xkaW5ncyAuY29udGVudF9iZyB0ZC5mdW5jdGlvbmFsaXR5Y2VsbCBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jdHJsX3RvcF94X2hvbGRpbmdzIC5jb250ZW50X2JnIHRkLmZ1bmN0aW9uYWxpdHljZWxsIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4uY3RybF90b3BfeF9ob2xkaW5ncyAuY29udGVudF9iZyB0ZC5mdW5jdGlvbmFsaXR5Y2VsbCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbn1cblxuLyotIGV4cGFuZC9jb2xsYXBzZSBpY29uIC0qL1xuLmljb24uc2hvd19pbml0aWFsLFxuLmljb24uc2hvd19leHBhbmRlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2RkIwO1xuICAgIHBhZGRpbmc6IDNweDtcbn1cblxuLmljb24uc2hvd19leHBhbmRlZDpiZWZvcmUsXG4uaWNvbi5zaG93X2V4cGFuZGVkOmFmdGVyLFxuLmljb24uc2hvd19pbml0aWFsOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLmljb24uc2hvd19leHBhbmRlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggNHB4O1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xufVxuXG4uaWNvbi5zaG93X2V4cGFuZGVkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci13aWR0aDogNHB4IDFweDtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTFweDtcbn1cblxuLmljb24uc2hvd19pbml0aWFsOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDRweDtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTRweDtcbn1cblxuLnNob3dfZXhwYW5kZWQ6aG92ZXIgLmljb24uc2hvd19leHBhbmRlZDpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5cbi5zaG93X2V4cGFuZGVkOmhvdmVyIC5pY29uLnNob3dfZXhwYW5kZWQ6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLnNob3dfaW5pdGlhbDpob3ZlciAuaWNvbi5zaG93X2luaXRpYWw6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5zaG93X2V4cGFuZGVkIC5pY29uLnNob3dfZXhwYW5kZWQ6YmVmb3JlLFxuLnNob3dfZXhwYW5kZWQgLmljb24uc2hvd19leHBhbmRlZDphZnRlcixcbi5zaG93X2luaXRpYWwgLmljb24uc2hvd19pbml0aWFsOmFmdGVyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2UtaW4tb3V0O1xufVxuXG4vKi0gZXhwb3J0X2NzdiBpY29uIC0qL1xuLmljb24uZXhwb3J0X2NzdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLmljb24uZXhwb3J0X2NzdjpiZWZvcmUsXG4uaWNvbi5leHBvcnRfY3N2OmFmdGVyIHtcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5pY29uLmV4cG9ydF9jc3Y6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDZmYjA7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG59XG5cbi5pY29uLmV4cG9ydF9jc3Y6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiQ1NWXCI7XG4gICAgYmFja2dyb3VuZDogIzAwNmZiMDtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBsaW5lLWhlaWdodDogOHB4O1xuICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uZXhwb3J0X2NzdiAuaWNvbi5leHBvcnRfY3N2OmJlZm9yZSB7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbn1cblxuLmV4cG9ydF9jc3Y6aG92ZXIgLmljb24uZXhwb3J0X2NzdjpiZWZvcmUge1xuICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xufVxuXG4uZXhwb3J0X2NzdiAuaWNvbi5leHBvcnRfY3N2OmFmdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xufVxuXG4uZXhwb3J0X2Nzdjpob3ZlciAuaWNvbi5leHBvcnRfY3N2OmFmdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xufVxuXG4uZXhwb3J0X2NzdiAuaWNvbi5leHBvcnRfY3N2LFxuLmV4cG9ydF9jc3YgLmljb24uZXhwb3J0X2NzdjpiZWZvcmUsXG4uZXhwb3J0X2NzdiAuaWNvbi5leHBvcnRfY3N2OmFmdGVyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2UtaW4tb3V0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKkZlZXMgdGFibGUgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY3RybF9mZWVzdGFibGUgLmNvbnRlbnRfYmcgLmNvbDIsXG4uY3RybF9mZWVzdGFibGUgLmNvbnRlbnRfYmcgLmNvbDMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKktleSBmaWd1cmVzIHRhYmxlIGNvbnRyb2wgc3BlY2lmaWMgc2V0dGluZ3MqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKipLZXkgZmlndXJlcyB0YWJsZSAobW9udGhseSkgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY3RybF9rZXlmaWd1cmVzbW9udGhseXRhYmxlIHRoLFxuLmN0cmxfa2V5ZmlndXJlc21vbnRobHl0YWJsZSB0ZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY3RybF9rZXlmaWd1cmVzbW9udGhseXRhYmxlIHRoLmNvbDEsXG4uY3RybF9rZXlmaWd1cmVzbW9udGhseXRhYmxlIHRkOmZpcnN0LW9mLXR5cGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKkRvY3VtZW50IGxpYnJhcnkgdGFibGUgY29udHJvbCBzcGVjaWZpYyBzZXR0aW5ncyoqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY3RybF9kb2N1bWVudGxpYnJhcnkgLmNvbnRlbnRfYmcgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jdHJsX2RvY3VtZW50bGlicmFyeSAuY29udGVudF9iZyAuY29sMSB7XG4gICAgd2lkdGg6IDk1JTtcbn1cblxuLmN0cmxfZG9jdW1lbnRsaWJyYXJ5IC5jb250ZW50X2JnIC5jb2wyIHtcbiAgICB3aWR0aDogNSU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jdHJsX2RvY3VtZW50bGlicmFyeSAuY29udGVudF9iZyAuY29sMiBzZWxlY3Qge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uY3RybF9kb2N1bWVudGxpYnJhcnkgLmNvbnRlbnRfYmcgLmNvbDIgLmxhbmd1YWdlc2VsZWN0X3dyYXAge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jdHJsX2RvY3VtZW50bGlicmFyeSAuY29udGVudF9iZyAuY29sMiAubGFuZ3VhZ2VzZWxlY3Rfd3JhcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmN0cmxfZG9jdW1lbnRsaWJyYXJ5IC5jb250ZW50X2JnIC5jb2wyIC5sYW5ndWFnZXNlbGVjdF93cmFwIC5MYW5ndWFnZV9zZWxlY3Qge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4uY3RybF9kb2N1bWVudGxpYnJhcnkgLmNvbnRlbnRfYmcgLmNvbDIgLmxhbmd1YWdlc2VsZWN0X3dyYXAgLmFjdGl2ZV9sYW5ndWFnZSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKlN0YWJpbGl0eSBtZWFzdXJlcyBmdW5kbGlzdCBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmJhckNvbnRhaW5lck91dGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmJhckNvbnRhaW5lck91dGVyIC5iYXJDb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMXB4O1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNEMURERTk7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBiZWhhdmlvcjogdXJsKC4uLy4uL2pzL1BJRS5odGMpO1xufVxuXG4uYmFyUGFkLCAuYmFyTG93LCAuYmFySGlnaCB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5iYXJMb3cge1xuICAgIGJhY2tncm91bmQ6ICNhODM4Mzg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYmVoYXZpb3I6IHVybCguLi8uLi9qcy9QSUUuaHRjKTtcbn1cblxuLmJhckhpZ2gge1xuICAgIGJhY2tncm91bmQ6ICMwYzdjNjY7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDNweCAzcHggMHB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYmVoYXZpb3I6IHVybCguLi8uLi9qcy9QSUUuaHRjKTtcbn1cblxuZGl2LmF4aXNOdW1iZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbnRyLmxpbmVfc3RhYl9tZWFzX2F4aXNfYWJvdmUgdGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxudHIubGluZV9zdGFiX21lYXNfYXhpc19hYm92ZSBkaXYuYmFyQ29udGFpbmVyT3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJhckNvbnRhaW5lck91dGVyIERJVi52ZXJ0aWNhbExpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjRDFEREU5O1xufVxuXG4uYmFyQ29udGFpbmVyT3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKkxvYWRpbmcgc2NyZWVuIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI2xvYWRpbmdfc2NyZWVuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogODBweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKipDb21wYW55IGxpbmsgc3BlY2lmaWMgc2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaDIuY29tcGFueV9saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDNweCA1cHggM3B4IDVweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKipRdWFydGlsZSBib3ggc2V0dGluZ3MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jdHJsX3F1YXJ0aWxlYm94IC5jb250ZW50X2JnIHtcbiAgICBwYWRkaW5nOiA1cHg7XG59XG5cbnRhYmxlLnF1YXJ0aWxlYm94IHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xufVxuXG50YWJsZS5xdWFydGlsZWJveCB0ZCB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2ZmZmZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbnRhYmxlLnF1YXJ0aWxlYm94IHRkIHNwYW4sXG50YWJsZS5xdWFydGlsZWJveCB0ZCBoMyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5xdWFydGlsZWJveCAuY29sMSB7XG4gICAgd2lkdGg6IDMzLjMzJTtcbn1cblxuLnF1YXJ0aWxlYm94IC5jb2wyIHtcbiAgICB3aWR0aDogMzMuMzMlO1xufVxuXG4ucXVhcnRpbGVib3ggLmNvbDMge1xuICAgIHdpZHRoOiAzMy4zMyU7XG59XG5cbi5xdWFydGlsZWJveCAubGluZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG59XG5cbi5xdWFydGlsZWJveCAubGluZV9udW1iZXIxIHtcbiAgICBoZWlnaHQ6IDMzLjMzJTtcbn1cblxuLnF1YXJ0aWxlYm94IC5saW5lX251bWJlcjIge1xuICAgIGhlaWdodDogMzMuMzMlO1xufVxuXG4ucXVhcnRpbGVib3ggLmxpbmVfbnVtYmVyMyB7XG4gICAgaGVpZ2h0OiAzMy4zMyU7XG59XG5cbi5xdWFydGlsZWJveF9sZWdlbmRzIC5xMCxcbi5xdWFydGlsZWJveCAucTAge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cbi5xdWFydGlsZWJveF9sZWdlbmRzIC5xMSxcbi5xdWFydGlsZWJveCAucTEge1xuICAgIGJhY2tncm91bmQ6ICNlNDQxMzk7XG59XG5cbi8qd29yc3QqL1xuLnF1YXJ0aWxlYm94X2xlZ2VuZHMgLnEyLFxuLnF1YXJ0aWxlYm94IC5xMiB7XG4gICAgYmFja2dyb3VuZDogI2YyZDQyYztcbn1cblxuLnF1YXJ0aWxlYm94X2xlZ2VuZHMgLnEzLFxuLnF1YXJ0aWxlYm94IC5xMyB7XG4gICAgYmFja2dyb3VuZDogIzkyYzczNztcbn1cblxuLnF1YXJ0aWxlYm94X2xlZ2VuZHMgLnE0LFxuLnF1YXJ0aWxlYm94IC5xNCB7XG4gICAgYmFja2dyb3VuZDogIzM1OTcyNTtcbn1cblxuLypiZXN0Ki9cbnRhYmxlLnF1YXJ0aWxlYm94LFxudGFibGUucXVhcnRpbGVib3ggdHIsXG50YWJsZS5xdWFydGlsZWJveCB0ZCB7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG50YWJsZS5xdWFydGlsZWJveCBzcGFuLCB0YWJsZS5xdWFydGlsZWJveCBoMyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICMzMzMzMzM7XG59XG5cbnRhYmxlLnF1YXJ0aWxlYm94IC5xMCBzcGFuLCB0YWJsZS5xdWFydGlsZWJveCAucTAgaDMge1xuICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDBweCAjZmZmZmZmO1xufVxuXG4ucXVhcnRpbGVib3hfbGVnZW5kcyB7XG4gICAgcGFkZGluZzogNXB4O1xufVxuXG4ucXVhcnRpbGVib3hfbm90ZSwgLnF1YXJ0aWxlYm94X2xlZ2VuZHMge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNmMGYwZjA7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xufVxuXG4ucXVhcnRpbGVib3hfbGVnZW5kcyBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG59XG5cbi5xdWFydGlsZWJveF9sZWdlbmRzIC5sZWdlbmRfaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4ucXVhcnRpbGVib3hfbGVnZW5kcyAubGVnZW5kX3RleHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5xdWFydGlsZWJveF9ub3RlIGgzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi5xdWFydGlsZWJveF9ub3RlIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5xdWFydGlsZWJveF9sZWdlbmRzIHtcbiAgICB3aWR0aDogMTgwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8qLS0tIFF1YXJ0aWxlIGJsaW5nIGJsaW5nIC0tLSovXG4uY3RybF9xdWFydGlsZWJveCB0YWJsZS5xdWFydGlsZWJveCB7XG4gICAgaGVpZ2h0OiAxOTBweDtcbiAgICB3aWR0aDogMTkwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jdHJsX3F1YXJ0aWxlYm94IC5xdWFydGlsZWJveF9ub3RlIHtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5xdWFydGlsZV9oaWRlciB7XG4gICAgaGVpZ2h0OiA2MnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi52aXNpYmxlX2NvbnRlbnQsXG4uaGlkZGVuX2NvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLnF1YXJ0aWxlX2hpZGVyOmhvdmVyIC52aXNpYmxlX2NvbnRlbnQgaDMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi52aXNpYmxlX2NvbnRlbnQgaDMge1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xufVxuXG4uaGlkZGVuX2NvbnRlbnQgaDMge1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuXG4uaGlkZGVuX2NvbnRlbnQgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgY29sb3I6ICMzMzMzMzMgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBiZWhhdmlvcjogdXJsKC4uLy4uL2pzL1BJRS5odGMpO1xufVxuXG4vKi0tLSBTbWFsbCBxdWFydGlsZWJveCAtLS0qL1xuLmN0cmxfcXVhcnRpbGVib3guU21hbGxEaXNwbGF5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jdHJsX3F1YXJ0aWxlYm94LlNtYWxsRGlzcGxheSAucXVhcnRpbGVib3gge1xuICAgIGhlaWdodDogODBweDtcbiAgICB3aWR0aDogOTZweDtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLmN0cmxfcXVhcnRpbGVib3guU21hbGxEaXNwbGF5IC5xdWFydGlsZWJveCB0ZDpob3ZlciB7XG4gICAgb3V0bGluZTogc29saWQgMXB4ICNkZGRkZGQ7XG59XG5cbi5jdHJsX3F1YXJ0aWxlYm94LlNtYWxsRGlzcGxheSAucXVhcnRpbGVib3ggLnF1YXJ0aWxlX2luZm9ybWF0aW9uIHtcbiAgICB3aWR0aDogOTRweDtcbiAgICBoZWlnaHQ6IDkycHg7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZjBmMGYwO1xuICAgIHotaW5kZXg6IC0xMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcHg7XG4gICAgbGVmdDogMHB4O1xufVxuXG4uY3RybF9xdWFydGlsZWJveC5TbWFsbERpc3BsYXkgLnF1YXJ0aWxlYm94IC5xdWFydGlsZV9pbmZvcm1hdGlvbiB1bCB7XG4gICAgcGFkZGluZzogMTBweDtcbn1cblxuLmN0cmxfcXVhcnRpbGVib3guU21hbGxEaXNwbGF5IC5xdWFydGlsZWJveCAucXVhcnRpbGVfaW5mb3JtYXRpb24gdWwgbGkge1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG59XG5cbi5jdHJsX3F1YXJ0aWxlYm94LlNtYWxsRGlzcGxheSAucXVhcnRpbGVib3ggLnF1YXJ0aWxlX2luZm9ybWF0aW9uIHNwYW4ge1xuICAgIGNvbG9yOiAjNDU0NTQ1O1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jdHJsX3F1YXJ0aWxlYm94LlNtYWxsRGlzcGxheSAucXVhcnRpbGVib3ggLnF1YXJ0aWxlX2luZm9ybWF0aW9uIHNwYW4udGl0bGUge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uY3RybF9xdWFydGlsZWJveC5TbWFsbERpc3BsYXkgLnF1YXJ0aWxlYm94X25vdGUge1xuICAgIHdpZHRoOiA5MnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMHB4O1xuICAgIHRvcDogMXB4O1xuICAgIHotaW5kZXg6IC0xMTtcbiAgICBoZWlnaHQ6IDkycHg7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBjb2xvcjogIzQ1NDU0NTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmN0cmxfcXVhcnRpbGVib3guU21hbGxEaXNwbGF5IC5xdWFydGlsZWJveF9ub3RlIGgzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKiBDYWxjdWxhdGVkIFdlaWdodCBDb250cm9sICoqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY3RybF9jYWxjdWxhdGVkd2VpZ2h0Y2hhcnQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jdHJsX2NhbGN1bGF0ZWR3ZWlnaHRjaGFydCAuY29udGVudF9iZyB7XG4gICAgcGFkZGluZzogNXB4O1xufVxuXG4uY3RybF9jYWxjdWxhdGVkd2VpZ2h0Y2hhcnQgLmNvbnRlbnRfYmcgLmNoYXJ0X2xlZ2VuZHMge1xuICAgIGhlaWdodDogNjBweDtcbn1cblxuLmN0cmxfY2FsY3VsYXRlZHdlaWdodGNoYXJ0IC5jaGFydCB7XG4gICAgYmFja2dyb3VuZDogI2RkZGRkZDtcbiAgICBoZWlnaHQ6IDMyNXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2ZmZmZmZjtcbn1cblxuLypNdXN0IGNoYW5nZSBieSBjbGllbnQgd2lkdGgqL1xuLmN0cmxfY2FsY3VsYXRlZHdlaWdodGNoYXJ0IC5jaGFydCBkaXYge1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZmZmZmZmO1xufVxuXG4uY3RybF9jYWxjdWxhdGVkd2VpZ2h0Y2hhcnQgLmNoYXJ0IGRpdiBoMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNTAlO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xufVxuXG4uY3RybF9jYWxjdWxhdGVkd2VpZ2h0Y2hhcnQgLmNoYXJ0IGRpdiBoMyBzcGFuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtN3B4O1xufVxuXG4uY3RybF9jYWxjdWxhdGVkd2VpZ2h0Y2hhcnQgaDMge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKipKcXVlcnkgVUkgdG9vbHRpcCAocmVwbGFjaW5nIHRoZSBjdXJyZW50KSoqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLXRvb2x0aXAsIC5hcnJvdzphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZGRkZGRkICFpbXBvcnRhbnQ7XG59XG5cbi51aS10b29sdGlwIHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJlaGF2aW9yOiB1cmwoLi4vLi4vanMvUElFLmh0Yyk7XG59XG5cbi5hcnJvdyB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTM1cHg7XG4gICAgYm90dG9tOiAtMTZweDtcbn1cblxuLmFycm93LnRvcCB7XG4gICAgdG9wOiAtMTZweDtcbiAgICBib3R0b206IGF1dG87XG59XG5cbi5hcnJvdy5sZWZ0IHtcbiAgICBsZWZ0OiAyMCU7XG59XG5cbi5hcnJvdy5yaWdodCB7XG4gICAgcmlnaHQ6IDIwJTtcbn1cblxuLmFycm93OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHRvcDogLTIwcHg7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNnB4IDVweCA5cHggLTlweCByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgYm94LXNoYWRvdzogNnB4IDVweCA5cHggLTlweCByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbmZvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5hcnJvdy50b3A6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTIwcHg7XG4gICAgdG9wOiBhdXRvO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKip0aXBUaXAgU0VUVElOR1MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4jdGlwdGlwX2hvbGRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogOTk5OTk7XG59XG5cbiN0aXB0aXBfaG9sZGVyLnRpcF90b3Age1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG59XG5cbiN0aXB0aXBfaG9sZGVyLnRpcF9ib3R0b20ge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG59XG5cbiN0aXB0aXBfaG9sZGVyLnRpcF9yaWdodCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbiN0aXB0aXBfaG9sZGVyLnRpcF9sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbiN0aXB0aXBfY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjNTc1ODU5O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiZWhhdmlvcjogdXJsKC4uLy4uL2pzL1BJRS5odGMpO1xufVxuXG4jdGlwdGlwX2Fycm93LCAjdGlwdGlwX2Fycm93X2lubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbn1cblxuI3RpcHRpcF9ob2xkZXIudGlwX3RvcCAjdGlwdGlwX2Fycm93IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZGRkZGRkO1xufVxuXG4jdGlwdGlwX2hvbGRlci50aXBfYm90dG9tICN0aXB0aXBfYXJyb3cge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNkZGRkZGQ7XG59XG5cbiN0aXB0aXBfaG9sZGVyLnRpcF9yaWdodCAjdGlwdGlwX2Fycm93IHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICNkZGRkZGQ7XG59XG5cbiN0aXB0aXBfaG9sZGVyLnRpcF9sZWZ0ICN0aXB0aXBfYXJyb3cge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZGRkZGRkO1xufVxuXG4jdGlwdGlwX2hvbGRlci50aXBfdG9wICN0aXB0aXBfYXJyb3dfaW5uZXIge1xuICAgIG1hcmdpbi10b3A6IC03cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC02cHg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuI3RpcHRpcF9ob2xkZXIudGlwX2JvdHRvbSAjdGlwdGlwX2Fycm93X2lubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmNWY1ZjU7XG59XG5cbiN0aXB0aXBfaG9sZGVyLnRpcF9yaWdodCAjdGlwdGlwX2Fycm93X2lubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuI3RpcHRpcF9ob2xkZXIudGlwX2xlZnQgI3RpcHRpcF9hcnJvd19pbm5lciB7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICBtYXJnaW4tbGVmdDogLTdweDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuLyogV2Via2l0IEhhY2tzICAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICAgICN0aXB0aXBfY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDRweCA4cHggNXB4IDhweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICB9XG5cbiAgICAjdGlwdGlwX2hvbGRlci50aXBfYm90dG9tICN0aXB0aXBfYXJyb3dfaW5uZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZjVmNWY1O1xuICAgIH1cblxuICAgICN0aXB0aXBfaG9sZGVyLnRpcF90b3AgI3RpcHRpcF9hcnJvd19pbm5lciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmNWY1ZjU7XG4gICAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKkpxdWVyeS1VSSBzZXR0aW5ncyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLWNvcm5lci1hbGwge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi51aS13aWRnZXQtaGVhZGVyIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi51aS1idXR0b24tdGV4dC1vbmx5IC51aS1idXR0b24tdGV4dCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyotLS0gQXV0b0NvbXBsZXRlIHN0eWxpbmcgLS0tKi9cbi8qQXV0b2NvbXBsZXRlIE1lbnUgaXRlbXMgLSBHZW5lcmFsIE1lbnUgSXRlbXMqL1xuLypBdXRvY29tcGxldGUgTWVudSBMaW5rIEhvdmVyIC0gTGluayBIb3ZlciBTdGF0ZSovXG4udWktYXV0b2NvbXBsZXRlIC51aS1tZW51LWl0ZW0gLnVpLXN0YXRlLWZvY3VzIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJhY2tncm91bmQ6ICMwMDZmYjA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi8qLS0tIENhbGFuZGVyIHNldHRpbmdzIC0tLSovXG4udWktZGF0ZXBpY2tlciB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4udWktZGF0ZXBpY2tlci10aXRsZSBzcGFuIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzAwNmZiMDtcbn1cblxuLyotLS0gQ2FsYW5kZXIgSGVhZGVyIGljb25zIC0tLSovXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IC51aS1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgYSBzcGFuIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IC51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvY2FsYW5kZXJfcHJldi5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IC51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1lIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvY2FsYW5kZXJfbmV4dC5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xufVxuXG4vKi0tLSBDYWxhbmRlciBidXR0b25zIC0tLSovXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogIzAwNmZiMDtcbiAgICBib3JkZXI6IDA7XG59XG5cbi8qLS0tIE1vZGFsYm94IC0tLSovXG4vKi0tLSBtb2RhbGJveCB0aXRsZSAtLS0qL1xuLnVpLWRpYWxvZyB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyIHtcbiAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG59XG5cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhciBzcGFuIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG59XG5cbi51aS1kaWFsb2cgYS51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UsXG4udWktZGlhbG9nIGEudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlOmhvdmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLyotLS0gTW9kYWwgY2xvc2UgaWNvbiAtLS0qL1xuLnVpLXN0YXRlLWRlZmF1bHQgLnVpLWljb24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2RlZmF1bHQvdWktbW9kYWwtY2xvc2UucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMHB4O1xufVxuXG4udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UudWktc3RhdGUtaG92ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9kZWZhdWx0L3VpLW1vZGFsLWNsb3NlLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xOXB4O1xufVxuXG4vKnJlbW92aW5nIEpxdWVyeSBiYWNrZ3JvdW5kIGltYWdlKi9cbi51aS1kaWFsb2cgYS51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Ugc3Bhbi51aS1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4vKi0tLSBtb2RhbGJveCBjb250ZW50IC0tLSovXG4vKi0tLSBtb2RhbGJveCBidXR0b24gcGFuZWwgLS0tKi9cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qLS0tIEZsb2F0aW5nIGhlYWRlciAoRm9yIGZ1bmRsaXN0cykgLS0tKi9cbi5mbG9hdGluZ0hlYWRlciB7XG4gICAgei1pbmRleDogOTk5OTk5O1xufVxuXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogQ29sdW1uIGFuZCBpdGVtIHNldHRpbmdzICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcbiAgICBSRVBMQUNFRCBCWSBHUklEIElURU1TIElOU1RFQURcbiAgICBTRUFSQ0ggRk9SOlxuICAgIExheW91dCBncmlkIGZvciByZXNwb25zaXZlIHNvbHV0aW9uc1xuKi9cbi8qLS0tIEl0ZW1zIGFuZCBjb2x1bW5zIC0tLSovXG4vKi5pdGVtcy1yb3cge21hcmdpbi10b3A6MCU7Y2xlYXI6Ym90aDtwYWRkaW5nOjAuNSU7fVxuLml0ZW1zLXJvdyAuaXRlbSB7ZmxvYXQ6bGVmdDt0ZXh0LWFsaWduOmxlZnQ7bWFyZ2luLWxlZnQ6MSU7bWFyZ2luLXJpZ2h0OjElO31cblxuLml0ZW1zLXJvdyAuaXRlbTpmaXJzdC1jaGlsZCB7bWFyZ2luLWxlZnQ6MCU7fVxuLml0ZW1zLXJvdyAuaXRlbTpsYXN0LWNoaWxkIHttYXJnaW4tcmlnaHQ6MCU7fSovXG4vKi0tLSBDb2x1bW5zIC0xQ29sdW1uIC0tLSovXG4vKi5jb2xzLTEgLmNvbHVtbi0xe3dpZHRoOjEwMCUgIWltcG9ydGFudDt9Ki9cbi8qLS0tIENvbHVtbnMgLTJDb2x1bW5zIC0tLSovXG4vKi5jb2xzLTIgLmNvbHVtbi0xLFxuLmNvbHMtMiAuY29sdW1uLTJ7d2lkdGg6NDklICFpbXBvcnRhbnQ7fSovXG4vKi0tLSBDb2x1bW5zIC0yQ29sdW1ucyB3aWRlLW5hcnJvdy0tLSovXG4vKi5jb2xzLTIud2lkZS1uYXJyb3cgLmNvbHVtbi0xe3dpZHRoOjc0JSAhaW1wb3J0YW50O31cbi5jb2xzLTIud2lkZS1uYXJyb3cgLmNvbHVtbi0ye3dpZHRoOjI0JSAhaW1wb3J0YW50O30qL1xuLyotLS0gQ29sdW1ucyAtMkNvbHVtbnMgbmFycm93LXdpZGUtLS0qL1xuLyouY29scy0yLm5hcnJvdy13aWRlIC5jb2x1bW4tMXt3aWR0aDoyNCUgIWltcG9ydGFudDt9XG4uY29scy0yLm5hcnJvdy13aWRlIC5jb2x1bW4tMnt3aWR0aDo3NCUgIWltcG9ydGFudDt9Ki9cbi8qLS0tIENvbHVtbnMgLTNDb2x1bW5zIC0tLSovXG4vKi5jb2xzLTMgLmNvbHVtbi0xLFxuLmNvbHMtMyAuY29sdW1uLTIsXG4uY29scy0zIC5jb2x1bW4tM3t3aWR0aDozMCUgIWltcG9ydGFudDt9Ki9cbi8qLS0tIENvbHVtbnMgLTRDb2x1bW5zIC0tLSovXG4vKi5jb2xzLTQgLmNvbHVtbi0xLFxuLmNvbHMtNCAuY29sdW1uLTIsXG4uY29scy00IC5jb2x1bW4tMyxcbi5jb2xzLTQgLmNvbHVtbi00IHt3aWR0aDoyMS41JSAhaW1wb3J0YW50O30qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqRGljdGlvbmFyeSBjb250cm9sIHNwZWNpZmljIHNldHRpbmdzKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tIERpY3Rpb25hcnkgYWN0aXZhdG9yIGRpc3BsYXkgLS0tKi9cbiNwYWdlX3dyYXAgLmRfd29yZCB7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY3RybF9kaWN0aW9uYXJ5LmN0cmxfZGljdGlvbmFyeV9zdGlja2VyIC5oZWFkbGluZV9iZyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI5cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY3RybF9kaWN0aW9uYXJ5LmN0cmxfZGljdGlvbmFyeV9zdGlja2VyIC5jb250ZW50X2JnIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG5cbi5jdHJsX2RpY3Rpb25hcnkuY3RybF9kaWN0aW9uYXJ5X3N0aWNrZXIgLmhlYWRsaW5lX2JnIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2RlZmF1bHQvY29udGVudF9iZ185MC5wbmcpIHJlcGVhdC15IDAlIDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYmVoYXZpb3I6IHVybCguLi8uLi9qcy9QSUUuaHRjKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG59XG5cbi5jdHJsX2RpY3Rpb25hcnkgLmhlYWRsaW5lX2JnIHtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07XG59XG5cbi5jdHJsX2RpY3Rpb25hcnkgLmNvbnRlbnRfYmcge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbn1cblxuLmN0cmxfZGljdGlvbmFyeSAuaGVhZGxpbmVfYmcge1xuICAgIHBhZGRpbmctdG9wOiAwLjNlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4zZW07XG59XG5cbi5jdHJsX2RpY3Rpb25hcnkgLmNvbnRlbnRfYmcge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjNlbTtcbn1cblxuLmN0cmxfZGljdGlvbmFyeSAuaGVhZGxpbmVfYmcsIC5jdHJsX2RpY3Rpb25hcnkgLmNvbnRlbnRfYmcge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jdHJsX2RpY3Rpb25hcnkge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNlNWU1ZTU7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqRnVuZCAyIERhdGEgVGFibGVzIGdyYXBoaWNhbCBkaXNwbGF5KioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmdyYXBoaWNhbCB0ciB0ZCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmFwaGljYWwgdHIubGluZS1ldmVuIHRkIHtcbiAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ3JhcGhpY2FsIHRyLmxpbmUtZXZlbiB0ZCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDYwJTtcbiAgICBtYXJnaW4tbGVmdDogMjAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLXJhZGl1czogMTJweCAxMnB4IDBweCAwcHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBiZWhhdmlvcjogdXJsKC4uLy4uL2pzL1BJRS5odGMpO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5ncmFwaGljYWwgdHIubGluZS1ldmVuIHRkLnBlcmZfZG93biBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjYmEwMDJjO1xufVxuXG4uZ3JhcGhpY2FsIHRyLmxpbmUtZXZlbiB0ZC5wZXJmX3VwIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6ICMwMGJhNWM7XG59XG5cbi5ncmFwaGljYWwgdHIgdGQucGVyZl9kb3duIHNwYW4ge1xuICAgIGNvbG9yOiAjYmEwMDJjO1xufVxuXG4uZ3JhcGhpY2FsIHRyIHRkLnBlcmZfdXAgc3BhbiB7XG4gICAgY29sb3I6ICMwMGJhNWM7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKiBTZWxlY3QgMiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tIGZ1bGwgd2lkdGggLS0tKi9cbi8qLnNlbGVjdDItY29udGFpbmVyLCAuc2VsZWN0Mi1kcm9wLCAuc2VsZWN0Mi1zZWFyY2gsIC5zZWxlY3QyLXNlYXJjaCBpbnB1dCB7d2lkdGg6MTAwJTt9Ki9cbi8qLS0tIENhcmV0IGltYWdlIC0tLSovXG4uc2VsZWN0Mi1hcnJvdyBiIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4vKi0tLSByZW1vdmluZyByb3VuZCBjb3JuZXJzIC0tLSovXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSAuc2VsZWN0Mi1hcnJvdyB7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG59XG5cbi5zZWxlY3QyLWRyb3Age1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xufVxuXG4vKi0tLSBTZWxlY3QgY2xvc2VkIC0tLSovXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNBQUFBQUE7XG4gICAgY29sb3I6ICM1NzU4NTk7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cblxuLyotLS0gU2VsZWN0IG9wZW4gLS0tKi9cbi5zZWxlY3QyLWRyb3Bkb3duLW9wZW4gLnNlbGVjdDItY2hvaWNlLFxuLnNlbGVjdDItZHJvcC1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbn1cblxuLnNlbGVjdDItZHJvcGRvd24tb3BlbiAuc2VsZWN0Mi1jaG9pY2Uge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cbi5zZWxlY3QyLXJlc3VsdHMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cbi8qLS0tIFNlbGVjdCBvcHRpb24oaG92ZXIpIC0tLSovXG4uc2VsZWN0Mi1oaWdobGlnaHRlZCB7XG4gICAgYmFja2dyb3VuZDogIzAwNmZiMCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKiogTXkgTGlzdCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi51aS1pY29ucyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7XG59XG5cbi51aS1pY29ucy51aS1pY29uLW1pbnVzdGhpY2ssXG4udWktaWNvbnMudWktaWNvbi1wbHVzdGhpY2sge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jdHJsX215bGlzdCAjbG9hZGZpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdHJsX2xpc3RmdW5kcyAuaGVhZGxpbmVfYmcgLnNlbGVjdDItY29udGFpbmVyOmhvdmVyIHtcbiAgICB6LWluZGV4OiAxMDAwO1xufVxuXG4vKlJlZ3VsYXIgbGFiZWxzKi9cbi5jdHJsX215bGlzdCAuY29udGVudF9iZyBsaSBsYWJlbCB7XG4gICAgd2lkdGg6IDMwJTtcbn1cblxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIGlucHV0LFxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIHNlbGVjdCB7XG4gICAgd2lkdGg6IDcwJTtcbn1cblxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIGlucHV0LFxuLmN0cmxfbXlsaXN0IC5jb250ZW50X2JnIGxpIHNlbGVjdCxcbi5jdHJsX215bGlzdCAuY29udGVudF9iZyBsaSBsYWJlbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8qLS0tIEZ1bmRsaXN0IG1vZGlmaWVyIGNvbnRyb2wgLSBHcm91cGluZyBzZWN0aW9uIC0tLSovXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLmdyb3VwaW5nX3NlY3Rpb24gLmdyb3VwIHtcbiAgICBwYWRkaW5nOiAwIDIwcHggM3B4IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8qLS0tIEZ1bmRsaXN0IG1vZGlmaWVyIGNvbnRyb2wgLSBTZWxlY3RlZCBmaWx0ZXJzIHNlY3Rpb24gLS0tKi9cbi5zZWxlY3RlZF9maWx0ZXJzIHVsIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLyotLS0gTXlMaXN0IGhlYWRlciBjb2xvciBzZXR0aW5ncyAtLS0qL1xuLmN0cmxfbXlsaXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAtMjBweDtcbiAgICB0b3A6IDIwMHB4O1xuICAgIHotaW5kZXg6IDk5OTtcbn1cblxuLmN0cmxfbXlsaXN0IC5teWxpc3QgaW1nIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5jdHJsX215bGlzdCAuY29udGVudF9iZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jdHJsX215bGlzdCAuY29udGVudF9iZyB7XG4gICAgd2lkdGg6IDIwMHB4O1xufVxuXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLmNsb3NlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICB6LWluZGV4OiA5OTk5O1xufVxuXG4uY3RybF9teWxpc3QgLmhlYWRsaW5lX2JnIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJcIik7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAubGlzdHJlZ2lvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdHJsX215bGlzdCAuY29udGVudF9iZyAubGlzdHJlZ2lvbiAubGlzdCBkaXYge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4uY3RybF9teWxpc3QgLmNvbnRlbnRfYmcgLmxpc3RyZWdpb24gLmxpc3QgYSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG59XG5cbi51aS1pY29ucyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9kZWZhdWx0L3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7XG59XG5cbi51aS1pY29ucy51aS1pY29uLW1pbnVzdGhpY2ssXG4udWktaWNvbnMudWktaWNvbi1wbHVzdGhpY2sge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jdHJsX215bGlzdCAjbG9hZGZpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdHJsX2xpc3RmdW5kcyAuaGVhZGxpbmVfYmcgLnNlbGVjdDItY29udGFpbmVyOmhvdmVyIHtcbiAgICB6LWluZGV4OiAxMDAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqVmlkZW9Db250cm9sIHN0eWxpbmcqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udmlkZW8tanMgLnZqcy1iaWctcGxheS1idXR0b24ge1xuICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMC43NWVtIDAgMCAtMS41ZW07XG59XG5cbi5lbWJlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5lbWJlZC0xNmJ5MTAge1xuICAgIHBhZGRpbmctYm90dG9tOiA2Mi41JTtcbn1cblxuLmVtYmVkLTE2Ynk5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4uZW1iZWQtNGJ5MyB7XG4gICAgcGFkZGluZy1ib3R0b206IDc1JTtcbn1cblxuLmVtYmVkLTFieTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uZW1iZWQtaXRlbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59Iiwi77u/LmN0cmxfZG9jbGlicmFyeW11bHRpIHtcclxuICAgICRwYWRkaW5nOiAuM2VtIC4yZW07XHJcblxyXG4gICAgLmhlYWRsaW5lX2JnIHtcclxuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcclxuICAgIH1cclxuXHJcbiAgICAuY29udGVudF9iZyB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIC5kYXRhLXJvdyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcclxuXHJcbiAgICAgICAgICAgIC5jb2wge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaWNvIHtcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuIl19 */
