@media print, screen and (min-width: 40em){.reveal,.reveal.tiny,.reveal.small,.reveal.large{right:auto;left:auto;margin:0 auto}}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty{cursor:default !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before{display:none !important}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child:before{top:9px;left:4px;height:14px;width:14px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;-webkit-box-shadow:0 0 3px #444;box-shadow:0 0 3px #444;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#008cba}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;-webkit-box-shadow:0 0 3px #444;box-shadow:0 0 3px #444;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#008cba}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}table.dataTable>tbody>tr.child{padding:0.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent !important}table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:0.5em 0}table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:bold}div.dtr-modal{position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid black;border-radius:0.5em;-webkit-box-shadow:0 12px 30px rgba(0,0,0,0.6);box-shadow:0 12px 30px rgba(0,0,0,0.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,0.6)}@media screen and (max-width: 767px){div.dtr-modal div.dtr-modal-display{width:95%}}table.dataTable>tbody>tr.child ul{font-size:1em}.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:black;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jstree-contextmenu .jstree-anchor{-webkit-user-select:none;-webkit-touch-callout:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;-webkit-box-shadow:2px 2px 2px #999999;box-shadow:2px 2px 2px #999999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em 0 2em;text-decoration:none;width:auto;color:black;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 white;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==");background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:white;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;-webkit-box-shadow:0 0 0;box-shadow:0 0 0}.vakata-context .vakata-contextmenu-disabled>a>i{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:transparent;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:white;margin:0 0.5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:0.8em;color:silver;opacity:0.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7");background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 0.5em;border-left-color:white;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px 0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{-webkit-transition:background-color 0.15s, -webkit-box-shadow 0.15s;transition:background-color 0.15s, -webkit-box-shadow 0.15s;transition:background-color 0.15s, box-shadow 0.15s;transition:background-color 0.15s, box-shadow 0.15s, -webkit-box-shadow 0.15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;-webkit-box-shadow:inset 0 0 1px #cccccc;box-shadow:inset 0 0 1px #cccccc}.jstree-default .jstree-context{background:#e7f4f9;border-radius:2px;-webkit-box-shadow:inset 0 0 1px #cccccc;box-shadow:inset 0 0 1px #cccccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;-webkit-box-shadow:inset 0 0 1px #999999;box-shadow:inset 0 0 1px #999999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:transparent;color:#666666}.jstree-default .jstree-disabled.jstree-hovered{background:transparent;-webkit-box-shadow:none;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:0.8;filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='jstree-grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:bold}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none !important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:transparent;-webkit-box-shadow:none;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:transparent}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:transparent;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-gradient(linear, left top, left bottom, from(#beebff), to(#a8e4ff));background:linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url("32px.png")}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:transparent}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:transparent}.jstree-default .jstree-disabled.jstree-hovered{background:transparent}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:0.8;filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='jstree-grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:transparent}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default .jstree-file{background:url("32px.png") -100px -68px no-repeat}.jstree-default .jstree-folder{background:url("32px.png") -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:transparent;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==")}.jstree-default.jstree-rtl .jstree-last{background:transparent}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url("32px.png")}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:transparent}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:transparent}.jstree-default-small .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:0.8;filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='jstree-grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default-small .jstree-file{background:url("32px.png") -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url("32px.png") -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:transparent;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==")}.jstree-default-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url("32px.png")}.jstree-default-large .jstree-node{background-position:-288px 0px;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:transparent}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0px}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0px}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0px}.jstree-default-large .jstree-themeicon{background-position:-256px 0px}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0px}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0px 0px}.jstree-default-large .jstree-disabled{background:transparent}.jstree-default-large .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0px}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0px}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:0.8;filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='jstree-grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:transparent}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0px -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default-large .jstree-file{background:url("32px.png") -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url("32px.png") -256px 0px no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:transparent;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0px -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==")}.jstree-default-large.jstree-rtl .jstree-last{background:transparent}@media (max-width: 768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:bold;font-size:1.1em;text-shadow:1px 1px white}#jstree-dnd.jstree-dnd-responsive>i{background:transparent;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url("40px.png");background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url("40px.png");background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width: 768px){.jstree-default-responsive .jstree-icon{background-image:url("40px.png")}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:transparent}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0 !important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px !important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0 !important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:bold;font-size:1.1em;text-shadow:1px 1px white}.jstree-default-responsive>.jstree-striped{background:transparent}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,0.7);border-bottom:1px solid rgba(64,64,64,0.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{-webkit-box-shadow:inset 0 -6px 3px -5px #666666;box-shadow:inset 0 -6px 3px -5px #666666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{-webkit-box-shadow:inset 0 6px 3px -5px #666666;box-shadow:inset 0 6px 3px -5px #666666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{-webkit-box-shadow:none;box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url("40px.png");background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:transparent}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url("40px.png") 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url("40px.png") -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0;font-size:.875rem;border:1px solid #999}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold;padding:5px;border-bottom:1px solid #111;font-size:.875rem}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("/DataTables-1.10.22/images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("/DataTables-1.10.22/images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("/DataTables-1.10.22/images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("/DataTables-1.10.22/images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("/DataTables-1.10.22/images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:7px 8px;height:15px !important;line-height:1.125rem}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#ddd}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#bbb}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#bbb}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#bbb}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#bbb}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#bbb}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_length select{width:75px;margin-bottom:0}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{border:1px solid #aaa;border-radius:3px;padding:5px;background-color:transparent;margin-left:3px}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;min-width:1em;padding:0.25em .75em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdcdc));background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;-webkit-box-shadow:none;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#ddd;background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdcdc));background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, from(#2b2b2b), to(#0c0c0c));background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);-webkit-box-shadow:inset 0 0 3px #111;box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;display:block;height:180px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}table.dataTable thead th select{width:90%;height:1.25rem;font-size:1em;font-weight:normal;padding:1px;background-position:right 1px center;margin-bottom:5px}table.dataTable thead th input{width:90%;height:1.25rem;font-size:1em;font-weight:normal;padding:2px;margin-bottom:5px}table.dataTable{clear:both;margin:0.5em 0 !important;max-width:none !important;width:100%}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper{position:relative}div.dataTables_wrapper div.dataTables_length label{float:left;text-align:left;margin-bottom:0}div.dataTables_wrapper div.dataTables_length select{width:75px;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter label{float:right;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter input{display:inline-block !important;width:auto !important;margin-bottom:0;margin-left:0.5em}div.dataTables_wrapper div.dataTables_info{padding-top:2px}div.dataTables_wrapper div.dataTables_paginate{float:right;margin:0}div.dataTables_wrapper div.dataTables_processing{border:.4rem solid #7fbc43;font-family:"Play",Arial,sans-serif;font-size:24px;color:#014c90;position:absolute;top:50%;left:50%;width:200px;height:80px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1rem 0;-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25)}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:1.5rem}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}div.dataTables_scrollHead table{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty{cursor:default !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before{display:none !important}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child:before{top:9px;left:4px;height:14px;width:14px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;-webkit-box-shadow:0 0 3px #444;box-shadow:0 0 3px #444;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#008cba}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;-webkit-box-shadow:0 0 3px #444;box-shadow:0 0 3px #444;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#008cba}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}table.dataTable>tbody>tr.child{padding:0.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent !important}table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:0.5em 0}table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:bold}div.dtr-modal{position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid black;border-radius:0.5em;-webkit-box-shadow:0 12px 30px rgba(0,0,0,0.6);box-shadow:0 12px 30px rgba(0,0,0,0.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,0.6)}@media screen and (max-width: 767px){div.dtr-modal div.dtr-modal-display{width:95%}}table.dataTable>tbody>tr.child ul{font-size:1em}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:0.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:100%}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}body{margin:0;padding:0;background:#fefefe;font-family:"Arimo",Arial,sans-serif;font-weight:normal;line-height:1.5;color:#0a0a0a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:0}select{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-radius:0}.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}button{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:transparent;line-height:1;cursor:auto}[data-whatinput='mouse'] button{outline:0}pre{overflow:auto}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block !important}.is-hidden{display:none !important}[type='text'],[type='password'],[type='date'],[type='datetime'],[type='datetime-local'],[type='month'],[type='week'],[type='email'],[type='number'],[type='search'],[type='tel'],[type='time'],[type='url'],[type='color'],textarea{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:2.4375rem;margin:0 0 1rem;padding:.5rem;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;-webkit-box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#0a0a0a;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;-webkit-appearance:none;-moz-appearance:none;appearance:none}[type='text']:focus,[type='password']:focus,[type='date']:focus,[type='datetime']:focus,[type='datetime-local']:focus,[type='month']:focus,[type='week']:focus,[type='email']:focus,[type='number']:focus,[type='search']:focus,[type='tel']:focus,[type='time']:focus,[type='url']:focus,[type='color']:focus,textarea:focus{outline:none;border:1px solid #8a8a8a;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}textarea{max-width:100%}textarea[rows]{height:auto}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6 !important}[type='submit'],[type='button']{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}input[type='search']{-webkit-box-sizing:border-box;box-sizing:border-box}::-webkit-input-placeholder{color:#cacaca}::-moz-placeholder{color:#cacaca}:-ms-input-placeholder{color:#cacaca}::-ms-input-placeholder{color:#cacaca}::placeholder{color:#cacaca}[type='file'],[type='checkbox'],[type='radio']{margin:0 0 1rem}[type='checkbox']+label,[type='radio']+label{display:inline-block;vertical-align:baseline;margin-left:.5rem;margin-right:1rem;margin-bottom:0}[type='checkbox']+label[for],[type='radio']+label[for]{cursor:pointer}label>[type='checkbox'],label>[type='radio']{margin-right:.5rem}[type='file']{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:normal;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:1rem;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.input-group>:first-child,.input-group>:first-child.input-group-button>*{border-radius:0 0 0 0}.input-group>:last-child,.input-group>:last-child.input-group-button>*{border-radius:0 0 0 0}.input-group-label,.input-group-field,.input-group-button,.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{margin:0;white-space:nowrap}.input-group-label{padding:0 1rem;border:1px solid #cacaca;background:#e6e6e6;color:#0a0a0a;text-align:center;white-space:nowrap;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;min-width:0}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;height:auto;padding-top:0;padding-bottom:0;font-size:1rem}fieldset{margin:0;padding:0;border:0}legend{max-width:100%;margin-bottom:.5rem}.fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #cacaca}.fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}select{height:1.8125rem;margin:0 0 1rem;padding:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#0a0a0a;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-origin:content-box;background-position:right -1rem center;background-repeat:no-repeat;background-size:9px 6px;padding-right:1.5rem;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}@media screen and (min-width: 0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:focus{outline:none;border:1px solid #8a8a8a;background-color:#fefefe;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}select:not([multiple]){padding-top:0;padding-bottom:0}.is-invalid-input:not(:focus){border-color:#C74225;background-color:#f9ebe8}.is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#C74225}.is-invalid-input:not(:focus)::-moz-placeholder{color:#C74225}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#C74225}.is-invalid-input:not(:focus)::-ms-input-placeholder{color:#C74225}.is-invalid-input:not(:focus)::placeholder{color:#C74225}.is-invalid-label{color:#C74225}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:bold;color:#C74225}.form-error.is-visible{display:block}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}p{margin-bottom:1rem;font-size:inherit;line-height:1.6;text-rendering:optimizeLegibility}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:80%;line-height:inherit}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"Play",Arial,sans-serif;font-style:normal;font-weight:normal;color:#5e9d20;text-rendering:optimizeLegibility}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small{line-height:0;color:#cacaca}h1,.h1{font-size:1.5rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h2,.h2{font-size:1.25rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h3,.h3{font-size:1.1875rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h4,.h4{font-size:1.125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h5,.h5{font-size:1.0625rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h6,.h6{font-size:1rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print, screen and (min-width: 40em){h1,.h1{font-size:3rem}h2,.h2{font-size:2.5rem}h3,.h3{font-size:1.9375rem}h4,.h4{font-size:1.5625rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}}a{line-height:inherit;color:#5e9d20;text-decoration:none;cursor:pointer}a:hover,a:focus{color:#51871c}a img{border:0}hr{clear:both;max-width:75rem;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #cacaca;border-left:0}ul,ol,dl{margin-bottom:1rem;list-style-position:outside;line-height:1.6}li{font-size:inherit}ul{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem}ul ul,ol ul,ul ol,ol ol{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:bold}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}abbr,abbr[title]{border-bottom:1px dotted #0a0a0a;cursor:help;text-decoration:none}figure{margin:0}kbd{margin:0;padding:.125rem .25rem 0;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#0a0a0a}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:normal;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ul.no-bullet,ol.no-bullet{margin-left:0;list-style:none}.cite-block,cite{display:block;color:#8a8a8a;font-size:.8125rem}.cite-block:before,cite:before{content:"— "}.code-inline,code{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#0a0a0a;display:inline;max-width:100%;word-wrap:break-word;padding:.125rem .3125rem .0625rem}.code-block{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#0a0a0a;display:block;overflow:auto;white-space:pre;padding:1rem;margin-bottom:1.5rem}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print, screen and (min-width: 40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print, screen and (min-width: 64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none !important}@media print{*{background:transparent !important;color:black !important;-webkit-print-color-adjust:economy;color-adjust:economy;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}.show-for-print{display:block !important}.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='javascript:']:after,a[href^='#']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.grid-container{padding-right:.625rem;padding-left:.625rem;max-width:75rem;margin-left:auto;margin-right:auto}@media print, screen and (min-width: 40em){.grid-container{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.fluid{padding-right:.625rem;padding-left:.625rem;max-width:100%;margin-left:auto;margin-right:auto}@media print, screen and (min-width: 40em){.grid-container.fluid{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.full{padding-right:0;padding-left:0;max-width:100%;margin-left:auto;margin-right:auto}.grid-x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.cell{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;min-height:0px;min-width:0px;width:100%}.cell.auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.cell.shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.auto{width:auto}.grid-x>.shrink{width:auto}.grid-x>.small-shrink,.grid-x>.small-full,.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}@media print, screen and (min-width: 40em){.grid-x>.medium-shrink,.grid-x>.medium-full,.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-x>.large-shrink,.grid-x>.large-full,.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.small-1{width:8.33333%}.grid-x>.small-2{width:16.66667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.33333%}.grid-x>.small-5{width:41.66667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.33333%}.grid-x>.small-8{width:66.66667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.33333%}.grid-x>.small-11{width:91.66667%}.grid-x>.small-12{width:100%}@media print, screen and (min-width: 40em){.grid-x>.medium-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}.grid-x>.medium-shrink,.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.medium-shrink{width:auto}.grid-x>.medium-1{width:8.33333%}.grid-x>.medium-2{width:16.66667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.33333%}.grid-x>.medium-5{width:41.66667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.33333%}.grid-x>.medium-8{width:66.66667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.33333%}.grid-x>.medium-11{width:91.66667%}.grid-x>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.grid-x>.large-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}.grid-x>.large-shrink,.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.large-shrink{width:auto}.grid-x>.large-1{width:8.33333%}.grid-x>.large-2{width:16.66667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.33333%}.grid-x>.large-5{width:41.66667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.33333%}.grid-x>.large-8{width:66.66667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.33333%}.grid-x>.large-11{width:91.66667%}.grid-x>.large-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-margin-x>.cell{width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print, screen and (min-width: 40em){.grid-margin-x>.cell{width:calc(100% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.small-3{width:calc(25% - 1.875rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.small-6{width:calc(50% - 1.875rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.small-9{width:calc(75% - 1.875rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.small-12{width:calc(100% - 1.875rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.medium-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.875rem)}.grid-margin-x>.medium-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.medium-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.875rem)}.grid-margin-x>.medium-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.medium-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.875rem)}.grid-margin-x>.medium-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.medium-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.large-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.large-3{width:calc(25% - 1.875rem)}.grid-margin-x>.large-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.large-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.large-6{width:calc(50% - 1.875rem)}.grid-margin-x>.large-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.large-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.large-9{width:calc(75% - 1.875rem)}.grid-margin-x>.large-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.large-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.large-12{width:calc(100% - 1.875rem)}}.grid-padding-x .grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){.grid-padding-x .grid-padding-x{margin-right:-.9375rem;margin-left:-.9375rem}}.grid-container:not(.full)>.grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){.grid-container:not(.full)>.grid-padding-x{margin-right:-.9375rem;margin-left:-.9375rem}}.grid-padding-x>.cell{padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 40em){.grid-padding-x>.cell{padding-right:.9375rem;padding-left:.9375rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.33333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.66667%}.small-up-7>.cell{width:14.28571%}.small-up-8>.cell{width:12.5%}@media print, screen and (min-width: 40em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.33333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.66667%}.medium-up-7>.cell{width:14.28571%}.medium-up-8>.cell{width:12.5%}}@media print, screen and (min-width: 64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.33333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.66667%}.large-up-7>.cell{width:14.28571%}.large-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.875rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.875rem)}}.small-margin-collapse{margin-right:0;margin-left:0}.small-margin-collapse>.cell{margin-right:0;margin-left:0}.small-margin-collapse>.small-1{width:8.33333%}.small-margin-collapse>.small-2{width:16.66667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.33333%}.small-margin-collapse>.small-5{width:41.66667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.33333%}.small-margin-collapse>.small-8{width:66.66667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.33333%}.small-margin-collapse>.small-11{width:91.66667%}.small-margin-collapse>.small-12{width:100%}@media print, screen and (min-width: 40em){.small-margin-collapse>.medium-1{width:8.33333%}.small-margin-collapse>.medium-2{width:16.66667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.33333%}.small-margin-collapse>.medium-5{width:41.66667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.33333%}.small-margin-collapse>.medium-8{width:66.66667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.33333%}.small-margin-collapse>.medium-11{width:91.66667%}.small-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.small-margin-collapse>.large-1{width:8.33333%}.small-margin-collapse>.large-2{width:16.66667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.33333%}.small-margin-collapse>.large-5{width:41.66667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.33333%}.small-margin-collapse>.large-8{width:66.66667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.33333%}.small-margin-collapse>.large-11{width:91.66667%}.small-margin-collapse>.large-12{width:100%}}.small-padding-collapse{margin-right:0;margin-left:0}.small-padding-collapse>.cell{padding-right:0;padding-left:0}@media print, screen and (min-width: 40em){.medium-margin-collapse{margin-right:0;margin-left:0}.medium-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 40em){.medium-margin-collapse>.small-1{width:8.33333%}.medium-margin-collapse>.small-2{width:16.66667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.33333%}.medium-margin-collapse>.small-5{width:41.66667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.33333%}.medium-margin-collapse>.small-8{width:66.66667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.33333%}.medium-margin-collapse>.small-11{width:91.66667%}.medium-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 40em){.medium-margin-collapse>.medium-1{width:8.33333%}.medium-margin-collapse>.medium-2{width:16.66667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.33333%}.medium-margin-collapse>.medium-5{width:41.66667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.33333%}.medium-margin-collapse>.medium-8{width:66.66667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.33333%}.medium-margin-collapse>.medium-11{width:91.66667%}.medium-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.medium-margin-collapse>.large-1{width:8.33333%}.medium-margin-collapse>.large-2{width:16.66667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.33333%}.medium-margin-collapse>.large-5{width:41.66667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.33333%}.medium-margin-collapse>.large-8{width:66.66667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.33333%}.medium-margin-collapse>.large-11{width:91.66667%}.medium-margin-collapse>.large-12{width:100%}}@media print, screen and (min-width: 40em){.medium-padding-collapse{margin-right:0;margin-left:0}.medium-padding-collapse>.cell{padding-right:0;padding-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse{margin-right:0;margin-left:0}.large-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse>.small-1{width:8.33333%}.large-margin-collapse>.small-2{width:16.66667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.33333%}.large-margin-collapse>.small-5{width:41.66667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.33333%}.large-margin-collapse>.small-8{width:66.66667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.33333%}.large-margin-collapse>.small-11{width:91.66667%}.large-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.medium-1{width:8.33333%}.large-margin-collapse>.medium-2{width:16.66667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.33333%}.large-margin-collapse>.medium-5{width:41.66667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.33333%}.large-margin-collapse>.medium-8{width:66.66667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.33333%}.large-margin-collapse>.medium-11{width:91.66667%}.large-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.large-1{width:8.33333%}.large-margin-collapse>.large-2{width:16.66667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.33333%}.large-margin-collapse>.large-5{width:41.66667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.33333%}.large-margin-collapse>.large-8{width:66.66667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.33333%}.large-margin-collapse>.large-11{width:91.66667%}.large-margin-collapse>.large-12{width:100%}}@media print, screen and (min-width: 64em){.large-padding-collapse{margin-right:0;margin-left:0}.large-padding-collapse>.cell{padding-right:0;padding-left:0}}.small-offset-0{margin-left:0%}.grid-margin-x>.small-offset-0{margin-left:calc(0% + .625rem)}.small-offset-1{margin-left:8.33333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.33333% + .625rem)}.small-offset-2{margin-left:16.66667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.66667% + .625rem)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + .625rem)}.small-offset-4{margin-left:33.33333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.33333% + .625rem)}.small-offset-5{margin-left:41.66667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.66667% + .625rem)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + .625rem)}.small-offset-7{margin-left:58.33333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.33333% + .625rem)}.small-offset-8{margin-left:66.66667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.66667% + .625rem)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + .625rem)}.small-offset-10{margin-left:83.33333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.33333% + .625rem)}.small-offset-11{margin-left:91.66667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.66667% + .625rem)}@media print, screen and (min-width: 40em){.medium-offset-0{margin-left:0%}.grid-margin-x>.medium-offset-0{margin-left:calc(0% + .9375rem)}.medium-offset-1{margin-left:8.33333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.33333% + .9375rem)}.medium-offset-2{margin-left:16.66667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.66667% + .9375rem)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + .9375rem)}.medium-offset-4{margin-left:33.33333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.33333% + .9375rem)}.medium-offset-5{margin-left:41.66667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.66667% + .9375rem)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + .9375rem)}.medium-offset-7{margin-left:58.33333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.33333% + .9375rem)}.medium-offset-8{margin-left:66.66667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.66667% + .9375rem)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + .9375rem)}.medium-offset-10{margin-left:83.33333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.33333% + .9375rem)}.medium-offset-11{margin-left:91.66667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.66667% + .9375rem)}}@media print, screen and (min-width: 64em){.large-offset-0{margin-left:0%}.grid-margin-x>.large-offset-0{margin-left:calc(0% + .9375rem)}.large-offset-1{margin-left:8.33333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.33333% + .9375rem)}.large-offset-2{margin-left:16.66667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.66667% + .9375rem)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + .9375rem)}.large-offset-4{margin-left:33.33333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.33333% + .9375rem)}.large-offset-5{margin-left:41.66667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.66667% + .9375rem)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + .9375rem)}.large-offset-7{margin-left:58.33333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.33333% + .9375rem)}.large-offset-8{margin-left:66.66667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.66667% + .9375rem)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + .9375rem)}.large-offset-10{margin-left:83.33333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.33333% + .9375rem)}.large-offset-11{margin-left:91.66667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.66667% + .9375rem)}}.grid-y{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.grid-y>.cell{height:auto;max-height:none}.grid-y>.auto{height:auto}.grid-y>.shrink{height:auto}.grid-y>.small-shrink,.grid-y>.small-full,.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}@media print, screen and (min-width: 40em){.grid-y>.medium-shrink,.grid-y>.medium-full,.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-y>.large-shrink,.grid-y>.large-full,.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.small-1{height:8.33333%}.grid-y>.small-2{height:16.66667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.33333%}.grid-y>.small-5{height:41.66667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.33333%}.grid-y>.small-8{height:66.66667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.33333%}.grid-y>.small-11{height:91.66667%}.grid-y>.small-12{height:100%}@media print, screen and (min-width: 40em){.grid-y>.medium-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}.grid-y>.medium-shrink,.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.33333%}.grid-y>.medium-2{height:16.66667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.33333%}.grid-y>.medium-5{height:41.66667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.33333%}.grid-y>.medium-8{height:66.66667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.33333%}.grid-y>.medium-11{height:91.66667%}.grid-y>.medium-12{height:100%}}@media print, screen and (min-width: 64em){.grid-y>.large-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}.grid-y>.large-shrink,.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.33333%}.grid-y>.large-2{height:16.66667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.33333%}.grid-y>.large-5{height:41.66667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.33333%}.grid-y>.large-8{height:66.66667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.33333%}.grid-y>.large-11{height:91.66667%}.grid-y>.large-12{height:100%}}.grid-padding-y .grid-padding-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-padding-y .grid-padding-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-padding-y>.cell{padding-top:.625rem;padding-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-padding-y>.cell{padding-top:.9375rem;padding-bottom:.9375rem}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame{overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .grid-frame{width:100%}.cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}@media print, screen and (min-width: 40em){.medium-grid-frame{overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.medium-cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.medium-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}@media print, screen and (min-width: 64em){.large-grid-frame{overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.large-cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.large-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}.grid-y.grid-frame{width:auto;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}@media print, screen and (min-width: 40em){.grid-y.medium-grid-frame{width:auto;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}}@media print, screen and (min-width: 64em){.grid-y.large-grid-frame{width:auto;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}}.cell .grid-y.grid-frame{height:100%}@media print, screen and (min-width: 40em){.cell .grid-y.medium-grid-frame{height:100%}}@media print, screen and (min-width: 64em){.cell .grid-y.large-grid-frame{height:100%}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}@media print, screen and (min-width: 40em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 64em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 40em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.875rem)}}.row{max-width:75rem;margin-right:auto;margin-left:auto}.row::before,.row::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.row::after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-right:0;padding-left:0}.row .row{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){.row .row{margin-right:-.9375rem;margin-left:-.9375rem}}@media print, screen and (min-width: 64em){.row .row{margin-right:-.9375rem;margin-left:-.9375rem}}.row .row.collapse{margin-right:0;margin-left:0}.row.expanded{max-width:none}.row.expanded .row{margin-right:auto;margin-left:auto}.row:not(.expanded) .row{max-width:none}.row.gutter-small>.column,.row.gutter-small>.columns{padding-right:.625rem;padding-left:.625rem}.row.gutter-medium>.column,.row.gutter-medium>.columns{padding-right:.9375rem;padding-left:.9375rem}.column,.columns{width:100%;float:left;padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 40em){.column,.columns{padding-right:.9375rem;padding-left:.9375rem}}.column,.columns,.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:left;clear:none}.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:right}.column.end:last-child:last-child,.end.columns:last-child:last-child{float:left}.column.row.row,.row.row.columns{float:none}.row .column.row.row,.row .row.row.columns{margin-right:0;margin-left:0;padding-right:0;padding-left:0}.small-1{width:8.33333%}.small-push-1{position:relative;left:8.33333%}.small-pull-1{position:relative;left:-8.33333%}.small-offset-0{margin-left:0%}.small-2{width:16.66667%}.small-push-2{position:relative;left:16.66667%}.small-pull-2{position:relative;left:-16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{width:25%}.small-push-3{position:relative;left:25%}.small-pull-3{position:relative;left:-25%}.small-offset-2{margin-left:16.66667%}.small-4{width:33.33333%}.small-push-4{position:relative;left:33.33333%}.small-pull-4{position:relative;left:-33.33333%}.small-offset-3{margin-left:25%}.small-5{width:41.66667%}.small-push-5{position:relative;left:41.66667%}.small-pull-5{position:relative;left:-41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{width:50%}.small-push-6{position:relative;left:50%}.small-pull-6{position:relative;left:-50%}.small-offset-5{margin-left:41.66667%}.small-7{width:58.33333%}.small-push-7{position:relative;left:58.33333%}.small-pull-7{position:relative;left:-58.33333%}.small-offset-6{margin-left:50%}.small-8{width:66.66667%}.small-push-8{position:relative;left:66.66667%}.small-pull-8{position:relative;left:-66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{width:75%}.small-push-9{position:relative;left:75%}.small-pull-9{position:relative;left:-75%}.small-offset-8{margin-left:66.66667%}.small-10{width:83.33333%}.small-push-10{position:relative;left:83.33333%}.small-pull-10{position:relative;left:-83.33333%}.small-offset-9{margin-left:75%}.small-11{width:91.66667%}.small-push-11{position:relative;left:91.66667%}.small-pull-11{position:relative;left:-91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1>.column,.small-up-1>.columns{float:left;width:100%}.small-up-1>.column:nth-of-type(1n),.small-up-1>.columns:nth-of-type(1n){clear:none}.small-up-1>.column:nth-of-type(1n+1),.small-up-1>.columns:nth-of-type(1n+1){clear:both}.small-up-1>.column:last-child,.small-up-1>.columns:last-child{float:left}.small-up-2>.column,.small-up-2>.columns{float:left;width:50%}.small-up-2>.column:nth-of-type(1n),.small-up-2>.columns:nth-of-type(1n){clear:none}.small-up-2>.column:nth-of-type(2n+1),.small-up-2>.columns:nth-of-type(2n+1){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{float:left;width:33.33333%}.small-up-3>.column:nth-of-type(1n),.small-up-3>.columns:nth-of-type(1n){clear:none}.small-up-3>.column:nth-of-type(3n+1),.small-up-3>.columns:nth-of-type(3n+1){clear:both}.small-up-3>.column:last-child,.small-up-3>.columns:last-child{float:left}.small-up-4>.column,.small-up-4>.columns{float:left;width:25%}.small-up-4>.column:nth-of-type(1n),.small-up-4>.columns:nth-of-type(1n){clear:none}.small-up-4>.column:nth-of-type(4n+1),.small-up-4>.columns:nth-of-type(4n+1){clear:both}.small-up-4>.column:last-child,.small-up-4>.columns:last-child{float:left}.small-up-5>.column,.small-up-5>.columns{float:left;width:20%}.small-up-5>.column:nth-of-type(1n),.small-up-5>.columns:nth-of-type(1n){clear:none}.small-up-5>.column:nth-of-type(5n+1),.small-up-5>.columns:nth-of-type(5n+1){clear:both}.small-up-5>.column:last-child,.small-up-5>.columns:last-child{float:left}.small-up-6>.column,.small-up-6>.columns{float:left;width:16.66667%}.small-up-6>.column:nth-of-type(1n),.small-up-6>.columns:nth-of-type(1n){clear:none}.small-up-6>.column:nth-of-type(6n+1),.small-up-6>.columns:nth-of-type(6n+1){clear:both}.small-up-6>.column:last-child,.small-up-6>.columns:last-child{float:left}.small-up-7>.column,.small-up-7>.columns{float:left;width:14.28571%}.small-up-7>.column:nth-of-type(1n),.small-up-7>.columns:nth-of-type(1n){clear:none}.small-up-7>.column:nth-of-type(7n+1),.small-up-7>.columns:nth-of-type(7n+1){clear:both}.small-up-7>.column:last-child,.small-up-7>.columns:last-child{float:left}.small-up-8>.column,.small-up-8>.columns{float:left;width:12.5%}.small-up-8>.column:nth-of-type(1n),.small-up-8>.columns:nth-of-type(1n){clear:none}.small-up-8>.column:nth-of-type(8n+1),.small-up-8>.columns:nth-of-type(8n+1){clear:both}.small-up-8>.column:last-child,.small-up-8>.columns:last-child{float:left}.small-collapse>.column,.small-collapse>.columns{padding-right:0;padding-left:0}.small-collapse .row{margin-right:0;margin-left:0}.expanded.row .small-collapse.row{margin-right:0;margin-left:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-right:.625rem;padding-left:.625rem}.small-centered{margin-right:auto;margin-left:auto}.small-centered,.small-centered:last-child:not(:first-child){float:none;clear:both}.small-uncentered,.small-push-0,.small-pull-0{position:static;margin-right:0;margin-left:0}.small-uncentered,.small-uncentered:last-child:not(:first-child),.small-push-0,.small-push-0:last-child:not(:first-child),.small-pull-0,.small-pull-0:last-child:not(:first-child){float:left;clear:none}.small-uncentered:last-child:not(:first-child),.small-push-0:last-child:not(:first-child),.small-pull-0:last-child:not(:first-child){float:right}@media print, screen and (min-width: 40em){.medium-1{width:8.33333%}.medium-push-1{position:relative;left:8.33333%}.medium-pull-1{position:relative;left:-8.33333%}.medium-offset-0{margin-left:0%}.medium-2{width:16.66667%}.medium-push-2{position:relative;left:16.66667%}.medium-pull-2{position:relative;left:-16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{width:25%}.medium-push-3{position:relative;left:25%}.medium-pull-3{position:relative;left:-25%}.medium-offset-2{margin-left:16.66667%}.medium-4{width:33.33333%}.medium-push-4{position:relative;left:33.33333%}.medium-pull-4{position:relative;left:-33.33333%}.medium-offset-3{margin-left:25%}.medium-5{width:41.66667%}.medium-push-5{position:relative;left:41.66667%}.medium-pull-5{position:relative;left:-41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{width:50%}.medium-push-6{position:relative;left:50%}.medium-pull-6{position:relative;left:-50%}.medium-offset-5{margin-left:41.66667%}.medium-7{width:58.33333%}.medium-push-7{position:relative;left:58.33333%}.medium-pull-7{position:relative;left:-58.33333%}.medium-offset-6{margin-left:50%}.medium-8{width:66.66667%}.medium-push-8{position:relative;left:66.66667%}.medium-pull-8{position:relative;left:-66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{width:75%}.medium-push-9{position:relative;left:75%}.medium-pull-9{position:relative;left:-75%}.medium-offset-8{margin-left:66.66667%}.medium-10{width:83.33333%}.medium-push-10{position:relative;left:83.33333%}.medium-pull-10{position:relative;left:-83.33333%}.medium-offset-9{margin-left:75%}.medium-11{width:91.66667%}.medium-push-11{position:relative;left:91.66667%}.medium-pull-11{position:relative;left:-91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1>.column,.medium-up-1>.columns{float:left;width:100%}.medium-up-1>.column:nth-of-type(1n),.medium-up-1>.columns:nth-of-type(1n){clear:none}.medium-up-1>.column:nth-of-type(1n+1),.medium-up-1>.columns:nth-of-type(1n+1){clear:both}.medium-up-1>.column:last-child,.medium-up-1>.columns:last-child{float:left}.medium-up-2>.column,.medium-up-2>.columns{float:left;width:50%}.medium-up-2>.column:nth-of-type(1n),.medium-up-2>.columns:nth-of-type(1n){clear:none}.medium-up-2>.column:nth-of-type(2n+1),.medium-up-2>.columns:nth-of-type(2n+1){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{float:left;width:33.33333%}.medium-up-3>.column:nth-of-type(1n),.medium-up-3>.columns:nth-of-type(1n){clear:none}.medium-up-3>.column:nth-of-type(3n+1),.medium-up-3>.columns:nth-of-type(3n+1){clear:both}.medium-up-3>.column:last-child,.medium-up-3>.columns:last-child{float:left}.medium-up-4>.column,.medium-up-4>.columns{float:left;width:25%}.medium-up-4>.column:nth-of-type(1n),.medium-up-4>.columns:nth-of-type(1n){clear:none}.medium-up-4>.column:nth-of-type(4n+1),.medium-up-4>.columns:nth-of-type(4n+1){clear:both}.medium-up-4>.column:last-child,.medium-up-4>.columns:last-child{float:left}.medium-up-5>.column,.medium-up-5>.columns{float:left;width:20%}.medium-up-5>.column:nth-of-type(1n),.medium-up-5>.columns:nth-of-type(1n){clear:none}.medium-up-5>.column:nth-of-type(5n+1),.medium-up-5>.columns:nth-of-type(5n+1){clear:both}.medium-up-5>.column:last-child,.medium-up-5>.columns:last-child{float:left}.medium-up-6>.column,.medium-up-6>.columns{float:left;width:16.66667%}.medium-up-6>.column:nth-of-type(1n),.medium-up-6>.columns:nth-of-type(1n){clear:none}.medium-up-6>.column:nth-of-type(6n+1),.medium-up-6>.columns:nth-of-type(6n+1){clear:both}.medium-up-6>.column:last-child,.medium-up-6>.columns:last-child{float:left}.medium-up-7>.column,.medium-up-7>.columns{float:left;width:14.28571%}.medium-up-7>.column:nth-of-type(1n),.medium-up-7>.columns:nth-of-type(1n){clear:none}.medium-up-7>.column:nth-of-type(7n+1),.medium-up-7>.columns:nth-of-type(7n+1){clear:both}.medium-up-7>.column:last-child,.medium-up-7>.columns:last-child{float:left}.medium-up-8>.column,.medium-up-8>.columns{float:left;width:12.5%}.medium-up-8>.column:nth-of-type(1n),.medium-up-8>.columns:nth-of-type(1n){clear:none}.medium-up-8>.column:nth-of-type(8n+1),.medium-up-8>.columns:nth-of-type(8n+1){clear:both}.medium-up-8>.column:last-child,.medium-up-8>.columns:last-child{float:left}.medium-collapse>.column,.medium-collapse>.columns{padding-right:0;padding-left:0}.medium-collapse .row{margin-right:0;margin-left:0}.expanded.row .medium-collapse.row{margin-right:0;margin-left:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-right:.9375rem;padding-left:.9375rem}.medium-centered{margin-right:auto;margin-left:auto}.medium-centered,.medium-centered:last-child:not(:first-child){float:none;clear:both}.medium-uncentered,.medium-push-0,.medium-pull-0{position:static;margin-right:0;margin-left:0}.medium-uncentered,.medium-uncentered:last-child:not(:first-child),.medium-push-0,.medium-push-0:last-child:not(:first-child),.medium-pull-0,.medium-pull-0:last-child:not(:first-child){float:left;clear:none}.medium-uncentered:last-child:not(:first-child),.medium-push-0:last-child:not(:first-child),.medium-pull-0:last-child:not(:first-child){float:right}}@media print, screen and (min-width: 64em){.large-1{width:8.33333%}.large-push-1{position:relative;left:8.33333%}.large-pull-1{position:relative;left:-8.33333%}.large-offset-0{margin-left:0%}.large-2{width:16.66667%}.large-push-2{position:relative;left:16.66667%}.large-pull-2{position:relative;left:-16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{width:25%}.large-push-3{position:relative;left:25%}.large-pull-3{position:relative;left:-25%}.large-offset-2{margin-left:16.66667%}.large-4{width:33.33333%}.large-push-4{position:relative;left:33.33333%}.large-pull-4{position:relative;left:-33.33333%}.large-offset-3{margin-left:25%}.large-5{width:41.66667%}.large-push-5{position:relative;left:41.66667%}.large-pull-5{position:relative;left:-41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{width:50%}.large-push-6{position:relative;left:50%}.large-pull-6{position:relative;left:-50%}.large-offset-5{margin-left:41.66667%}.large-7{width:58.33333%}.large-push-7{position:relative;left:58.33333%}.large-pull-7{position:relative;left:-58.33333%}.large-offset-6{margin-left:50%}.large-8{width:66.66667%}.large-push-8{position:relative;left:66.66667%}.large-pull-8{position:relative;left:-66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{width:75%}.large-push-9{position:relative;left:75%}.large-pull-9{position:relative;left:-75%}.large-offset-8{margin-left:66.66667%}.large-10{width:83.33333%}.large-push-10{position:relative;left:83.33333%}.large-pull-10{position:relative;left:-83.33333%}.large-offset-9{margin-left:75%}.large-11{width:91.66667%}.large-push-11{position:relative;left:91.66667%}.large-pull-11{position:relative;left:-91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1>.column,.large-up-1>.columns{float:left;width:100%}.large-up-1>.column:nth-of-type(1n),.large-up-1>.columns:nth-of-type(1n){clear:none}.large-up-1>.column:nth-of-type(1n+1),.large-up-1>.columns:nth-of-type(1n+1){clear:both}.large-up-1>.column:last-child,.large-up-1>.columns:last-child{float:left}.large-up-2>.column,.large-up-2>.columns{float:left;width:50%}.large-up-2>.column:nth-of-type(1n),.large-up-2>.columns:nth-of-type(1n){clear:none}.large-up-2>.column:nth-of-type(2n+1),.large-up-2>.columns:nth-of-type(2n+1){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{float:left;width:33.33333%}.large-up-3>.column:nth-of-type(1n),.large-up-3>.columns:nth-of-type(1n){clear:none}.large-up-3>.column:nth-of-type(3n+1),.large-up-3>.columns:nth-of-type(3n+1){clear:both}.large-up-3>.column:last-child,.large-up-3>.columns:last-child{float:left}.large-up-4>.column,.large-up-4>.columns{float:left;width:25%}.large-up-4>.column:nth-of-type(1n),.large-up-4>.columns:nth-of-type(1n){clear:none}.large-up-4>.column:nth-of-type(4n+1),.large-up-4>.columns:nth-of-type(4n+1){clear:both}.large-up-4>.column:last-child,.large-up-4>.columns:last-child{float:left}.large-up-5>.column,.large-up-5>.columns{float:left;width:20%}.large-up-5>.column:nth-of-type(1n),.large-up-5>.columns:nth-of-type(1n){clear:none}.large-up-5>.column:nth-of-type(5n+1),.large-up-5>.columns:nth-of-type(5n+1){clear:both}.large-up-5>.column:last-child,.large-up-5>.columns:last-child{float:left}.large-up-6>.column,.large-up-6>.columns{float:left;width:16.66667%}.large-up-6>.column:nth-of-type(1n),.large-up-6>.columns:nth-of-type(1n){clear:none}.large-up-6>.column:nth-of-type(6n+1),.large-up-6>.columns:nth-of-type(6n+1){clear:both}.large-up-6>.column:last-child,.large-up-6>.columns:last-child{float:left}.large-up-7>.column,.large-up-7>.columns{float:left;width:14.28571%}.large-up-7>.column:nth-of-type(1n),.large-up-7>.columns:nth-of-type(1n){clear:none}.large-up-7>.column:nth-of-type(7n+1),.large-up-7>.columns:nth-of-type(7n+1){clear:both}.large-up-7>.column:last-child,.large-up-7>.columns:last-child{float:left}.large-up-8>.column,.large-up-8>.columns{float:left;width:12.5%}.large-up-8>.column:nth-of-type(1n),.large-up-8>.columns:nth-of-type(1n){clear:none}.large-up-8>.column:nth-of-type(8n+1),.large-up-8>.columns:nth-of-type(8n+1){clear:both}.large-up-8>.column:last-child,.large-up-8>.columns:last-child{float:left}.large-collapse>.column,.large-collapse>.columns{padding-right:0;padding-left:0}.large-collapse .row{margin-right:0;margin-left:0}.expanded.row .large-collapse.row{margin-right:0;margin-left:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-right:.9375rem;padding-left:.9375rem}.large-centered{margin-right:auto;margin-left:auto}.large-centered,.large-centered:last-child:not(:first-child){float:none;clear:both}.large-uncentered,.large-push-0,.large-pull-0{position:static;margin-right:0;margin-left:0}.large-uncentered,.large-uncentered:last-child:not(:first-child),.large-push-0,.large-push-0:last-child:not(:first-child),.large-pull-0,.large-pull-0:last-child:not(:first-child){float:left;clear:none}.large-uncentered:last-child:not(:first-child),.large-push-0:last-child:not(:first-child),.large-pull-0:last-child:not(:first-child){float:right}}.column-block{margin-bottom:1.25rem}.column-block>:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.column-block{margin-bottom:1.875rem}.column-block>:last-child{margin-bottom:0}}.button{display:inline-block;vertical-align:middle;margin:0 0 1rem 0;padding:0.25em .25em;border:5px solid;border-radius:0;-webkit-transition:background-color 0.25s ease-out,color 0.25s ease-out;transition:background-color 0.25s ease-out,color 0.25s ease-out;font-family:inherit;font-size:1rem;-webkit-appearance:none;line-height:1;text-align:center;cursor:pointer}[data-whatinput='mouse'] .button{outline:0}.button.tiny{font-size:.8rem}.button.small{font-size:.9rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-right:0;margin-left:0}.button,.button.disabled,.button[disabled],.button.disabled:hover,.button[disabled]:hover,.button.disabled:focus,.button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #5e9d20;background-color:#5e9d20;color:#fefefe}.button:hover,.button:focus{background-color:#fefefe;color:#0a0a0a}.button.primary,.button.primary.disabled,.button.primary[disabled],.button.primary.disabled:hover,.button.primary[disabled]:hover,.button.primary.disabled:focus,.button.primary[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #5e9d20;background-color:#5e9d20;color:#fefefe}.button.primary:hover,.button.primary:focus{background-color:#fff;color:#0a0a0a}.button.secondary,.button.secondary.disabled,.button.secondary[disabled],.button.secondary.disabled:hover,.button.secondary[disabled]:hover,.button.secondary.disabled:focus,.button.secondary[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #5e9d20;background-color:#5e9d20;color:#fefefe}.button.secondary:hover,.button.secondary:focus{background-color:#fff;color:#0a0a0a}.button.success,.button.success.disabled,.button.success[disabled],.button.success.disabled:hover,.button.success[disabled]:hover,.button.success.disabled:focus,.button.success[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #9de432;background-color:#9de432;color:#fefefe}.button.success:hover,.button.success:focus{background-color:#fff;color:#0a0a0a}.button.warning,.button.warning.disabled,.button.warning[disabled],.button.warning.disabled:hover,.button.warning[disabled]:hover,.button.warning.disabled:focus,.button.warning[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #CB812A;background-color:#CB812A;color:#fefefe}.button.warning:hover,.button.warning:focus{background-color:#fff;color:#0a0a0a}.button.alert,.button.alert.disabled,.button.alert[disabled],.button.alert.disabled:hover,.button.alert[disabled]:hover,.button.alert.disabled:focus,.button.alert[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #C74225;background-color:#C74225;color:#fefefe}.button.alert:hover,.button.alert:focus{background-color:#fff;color:#0a0a0a}.button.info,.button.info.disabled,.button.info[disabled],.button.info.disabled:hover,.button.info[disabled]:hover,.button.info.disabled:focus,.button.info[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #98AEAA;background-color:#98AEAA;color:#fefefe}.button.info:hover,.button.info:focus{background-color:#fff;color:#0a0a0a}.button.hollow,.button.hollow:hover,.button.hollow:focus,.button.hollow.disabled,.button.hollow.disabled:hover,.button.hollow.disabled:focus,.button.hollow[disabled],.button.hollow[disabled]:hover,.button.hollow[disabled]:focus{background-color:transparent}.button.hollow,.button.hollow.disabled,.button.hollow[disabled],.button.hollow.disabled:hover,.button.hollow[disabled]:hover,.button.hollow.disabled:focus,.button.hollow[disabled]:focus{border:1px solid #5e9d20;color:#5e9d20}.button.hollow:hover,.button.hollow:focus{border-color:#2f4f10;color:#2f4f10}.button.hollow.primary,.button.hollow.primary.disabled,.button.hollow.primary[disabled],.button.hollow.primary.disabled:hover,.button.hollow.primary[disabled]:hover,.button.hollow.primary.disabled:focus,.button.hollow.primary[disabled]:focus{border:1px solid #5e9d20;color:#5e9d20}.button.hollow.primary:hover,.button.hollow.primary:focus{border-color:#2f4f10;color:#2f4f10}.button.hollow.secondary,.button.hollow.secondary.disabled,.button.hollow.secondary[disabled],.button.hollow.secondary.disabled:hover,.button.hollow.secondary[disabled]:hover,.button.hollow.secondary.disabled:focus,.button.hollow.secondary[disabled]:focus{border:1px solid #5e9d20;color:#5e9d20}.button.hollow.secondary:hover,.button.hollow.secondary:focus{border-color:#2f4f10;color:#2f4f10}.button.hollow.success,.button.hollow.success.disabled,.button.hollow.success[disabled],.button.hollow.success.disabled:hover,.button.hollow.success[disabled]:hover,.button.hollow.success.disabled:focus,.button.hollow.success[disabled]:focus{border:1px solid #9de432;color:#9de432}.button.hollow.success:hover,.button.hollow.success:focus{border-color:#507b10;color:#507b10}.button.hollow.warning,.button.hollow.warning.disabled,.button.hollow.warning[disabled],.button.hollow.warning.disabled:hover,.button.hollow.warning[disabled]:hover,.button.hollow.warning.disabled:focus,.button.hollow.warning[disabled]:focus{border:1px solid #CB812A;color:#CB812A}.button.hollow.warning:hover,.button.hollow.warning:focus{border-color:#664115;color:#664115}.button.hollow.alert,.button.hollow.alert.disabled,.button.hollow.alert[disabled],.button.hollow.alert.disabled:hover,.button.hollow.alert[disabled]:hover,.button.hollow.alert.disabled:focus,.button.hollow.alert[disabled]:focus{border:1px solid #C74225;color:#C74225}.button.hollow.alert:hover,.button.hollow.alert:focus{border-color:#642113;color:#642113}.button.hollow.info,.button.hollow.info.disabled,.button.hollow.info[disabled],.button.hollow.info.disabled:hover,.button.hollow.info[disabled]:hover,.button.hollow.info.disabled:focus,.button.hollow.info[disabled]:focus{border:1px solid #98AEAA;color:#98AEAA}.button.hollow.info:hover,.button.hollow.info:focus{border-color:#485b58;color:#485b58}.button.clear,.button.clear:hover,.button.clear:focus,.button.clear.disabled,.button.clear.disabled:hover,.button.clear.disabled:focus,.button.clear[disabled],.button.clear[disabled]:hover,.button.clear[disabled]:focus{border-color:transparent;background-color:transparent}.button.clear,.button.clear.disabled,.button.clear[disabled],.button.clear.disabled:hover,.button.clear[disabled]:hover,.button.clear.disabled:focus,.button.clear[disabled]:focus{color:#5e9d20}.button.clear:hover,.button.clear:focus{color:#2f4f10}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary[disabled],.button.clear.primary.disabled:hover,.button.clear.primary[disabled]:hover,.button.clear.primary.disabled:focus,.button.clear.primary[disabled]:focus{color:#5e9d20}.button.clear.primary:hover,.button.clear.primary:focus{color:#2f4f10}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary[disabled],.button.clear.secondary.disabled:hover,.button.clear.secondary[disabled]:hover,.button.clear.secondary.disabled:focus,.button.clear.secondary[disabled]:focus{color:#5e9d20}.button.clear.secondary:hover,.button.clear.secondary:focus{color:#2f4f10}.button.clear.success,.button.clear.success.disabled,.button.clear.success[disabled],.button.clear.success.disabled:hover,.button.clear.success[disabled]:hover,.button.clear.success.disabled:focus,.button.clear.success[disabled]:focus{color:#9de432}.button.clear.success:hover,.button.clear.success:focus{color:#507b10}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning[disabled],.button.clear.warning.disabled:hover,.button.clear.warning[disabled]:hover,.button.clear.warning.disabled:focus,.button.clear.warning[disabled]:focus{color:#CB812A}.button.clear.warning:hover,.button.clear.warning:focus{color:#664115}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert[disabled],.button.clear.alert.disabled:hover,.button.clear.alert[disabled]:hover,.button.clear.alert.disabled:focus,.button.clear.alert[disabled]:focus{color:#C74225}.button.clear.alert:hover,.button.clear.alert:focus{color:#642113}.button.clear.info,.button.clear.info.disabled,.button.clear.info[disabled],.button.clear.info.disabled:hover,.button.clear.info[disabled]:hover,.button.clear.info.disabled:focus,.button.clear.info[disabled]:focus{color:#98AEAA}.button.clear.info:hover,.button.clear.info:focus{color:#485b58}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.dropdown::after{display:block;width:0;height:0;border:inset .4em;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fefefe transparent transparent;position:relative;top:0.4em;display:inline-block;float:right;margin-left:.25em}.button.dropdown.hollow::after,.button.dropdown.clear::after{border-top-color:#5e9d20}.button.dropdown.hollow.primary::after,.button.dropdown.clear.primary::after{border-top-color:#5e9d20}.button.dropdown.hollow.secondary::after,.button.dropdown.clear.secondary::after{border-top-color:#5e9d20}.button.dropdown.hollow.success::after,.button.dropdown.clear.success::after{border-top-color:#9de432}.button.dropdown.hollow.warning::after,.button.dropdown.clear.warning::after{border-top-color:#CB812A}.button.dropdown.hollow.alert::after,.button.dropdown.clear.alert::after{border-top-color:#C74225}.button.dropdown.hollow.info::after,.button.dropdown.clear.info::after{border-top-color:#98AEAA}.button.arrow-only::after{top:-0.1em;float:none;margin-left:0}a.button:hover,a.button:focus{text-decoration:none}.button-group{margin-bottom:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.button-group::before,.button-group::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.button-group::after{clear:both}.button-group::before,.button-group::after{display:none}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:1rem;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.8rem}.button-group.small .button{font-size:.9rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-right:0}.button-group.primary .button,.button-group.primary .button.disabled,.button-group.primary .button[disabled],.button-group.primary .button.disabled:hover,.button-group.primary .button[disabled]:hover,.button-group.primary .button.disabled:focus,.button-group.primary .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #5e9d20;background-color:#5e9d20;color:#fefefe}.button-group.primary .button:hover,.button-group.primary .button:focus{background-color:#fff;color:#0a0a0a}.button-group.secondary .button,.button-group.secondary .button.disabled,.button-group.secondary .button[disabled],.button-group.secondary .button.disabled:hover,.button-group.secondary .button[disabled]:hover,.button-group.secondary .button.disabled:focus,.button-group.secondary .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #5e9d20;background-color:#5e9d20;color:#fefefe}.button-group.secondary .button:hover,.button-group.secondary .button:focus{background-color:#fff;color:#0a0a0a}.button-group.success .button,.button-group.success .button.disabled,.button-group.success .button[disabled],.button-group.success .button.disabled:hover,.button-group.success .button[disabled]:hover,.button-group.success .button.disabled:focus,.button-group.success .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #9de432;background-color:#9de432;color:#fefefe}.button-group.success .button:hover,.button-group.success .button:focus{background-color:#fff;color:#0a0a0a}.button-group.warning .button,.button-group.warning .button.disabled,.button-group.warning .button[disabled],.button-group.warning .button.disabled:hover,.button-group.warning .button[disabled]:hover,.button-group.warning .button.disabled:focus,.button-group.warning .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #CB812A;background-color:#CB812A;color:#fefefe}.button-group.warning .button:hover,.button-group.warning .button:focus{background-color:#fff;color:#0a0a0a}.button-group.alert .button,.button-group.alert .button.disabled,.button-group.alert .button[disabled],.button-group.alert .button.disabled:hover,.button-group.alert .button[disabled]:hover,.button-group.alert .button.disabled:focus,.button-group.alert .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #C74225;background-color:#C74225;color:#fefefe}.button-group.alert .button:hover,.button-group.alert .button:focus{background-color:#fff;color:#0a0a0a}.button-group.info .button,.button-group.info .button.disabled,.button-group.info .button[disabled],.button-group.info .button.disabled:hover,.button-group.info .button[disabled]:hover,.button-group.info .button.disabled:focus,.button-group.info .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #98AEAA;background-color:#98AEAA;color:#fefefe}.button-group.info .button:hover,.button-group.info .button:focus{background-color:#fff;color:#0a0a0a}.button-group.hollow .button,.button-group.hollow .button:hover,.button-group.hollow .button:focus,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:hover,.button-group.hollow .button.disabled:focus,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:hover,.button-group.hollow .button[disabled]:focus{background-color:transparent}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button[disabled],.button-group.hollow .button.disabled:hover,.button-group.hollow .button[disabled]:hover,.button-group.hollow .button.disabled:focus,.button-group.hollow .button[disabled]:focus{border:1px solid #5e9d20;color:#5e9d20}.button-group.hollow .button:hover,.button-group.hollow .button:focus{border-color:#2f4f10;color:#2f4f10}.button-group.hollow.primary .button,.button-group.hollow.primary .button.disabled,.button-group.hollow.primary .button[disabled],.button-group.hollow.primary .button.disabled:hover,.button-group.hollow.primary .button[disabled]:hover,.button-group.hollow.primary .button.disabled:focus,.button-group.hollow.primary .button[disabled]:focus,.button-group.hollow .button.primary,.button-group.hollow .button.primary.disabled,.button-group.hollow .button.primary[disabled],.button-group.hollow .button.primary.disabled:hover,.button-group.hollow .button.primary[disabled]:hover,.button-group.hollow .button.primary.disabled:focus,.button-group.hollow .button.primary[disabled]:focus{border:1px solid #5e9d20;color:#5e9d20}.button-group.hollow.primary .button:hover,.button-group.hollow.primary .button:focus,.button-group.hollow .button.primary:hover,.button-group.hollow .button.primary:focus{border-color:#2f4f10;color:#2f4f10}.button-group.hollow.secondary .button,.button-group.hollow.secondary .button.disabled,.button-group.hollow.secondary .button[disabled],.button-group.hollow.secondary .button.disabled:hover,.button-group.hollow.secondary .button[disabled]:hover,.button-group.hollow.secondary .button.disabled:focus,.button-group.hollow.secondary .button[disabled]:focus,.button-group.hollow .button.secondary,.button-group.hollow .button.secondary.disabled,.button-group.hollow .button.secondary[disabled],.button-group.hollow .button.secondary.disabled:hover,.button-group.hollow .button.secondary[disabled]:hover,.button-group.hollow .button.secondary.disabled:focus,.button-group.hollow .button.secondary[disabled]:focus{border:1px solid #5e9d20;color:#5e9d20}.button-group.hollow.secondary .button:hover,.button-group.hollow.secondary .button:focus,.button-group.hollow .button.secondary:hover,.button-group.hollow .button.secondary:focus{border-color:#2f4f10;color:#2f4f10}.button-group.hollow.success .button,.button-group.hollow.success .button.disabled,.button-group.hollow.success .button[disabled],.button-group.hollow.success .button.disabled:hover,.button-group.hollow.success .button[disabled]:hover,.button-group.hollow.success .button.disabled:focus,.button-group.hollow.success .button[disabled]:focus,.button-group.hollow .button.success,.button-group.hollow .button.success.disabled,.button-group.hollow .button.success[disabled],.button-group.hollow .button.success.disabled:hover,.button-group.hollow .button.success[disabled]:hover,.button-group.hollow .button.success.disabled:focus,.button-group.hollow .button.success[disabled]:focus{border:1px solid #9de432;color:#9de432}.button-group.hollow.success .button:hover,.button-group.hollow.success .button:focus,.button-group.hollow .button.success:hover,.button-group.hollow .button.success:focus{border-color:#507b10;color:#507b10}.button-group.hollow.warning .button,.button-group.hollow.warning .button.disabled,.button-group.hollow.warning .button[disabled],.button-group.hollow.warning .button.disabled:hover,.button-group.hollow.warning .button[disabled]:hover,.button-group.hollow.warning .button.disabled:focus,.button-group.hollow.warning .button[disabled]:focus,.button-group.hollow .button.warning,.button-group.hollow .button.warning.disabled,.button-group.hollow .button.warning[disabled],.button-group.hollow .button.warning.disabled:hover,.button-group.hollow .button.warning[disabled]:hover,.button-group.hollow .button.warning.disabled:focus,.button-group.hollow .button.warning[disabled]:focus{border:1px solid #CB812A;color:#CB812A}.button-group.hollow.warning .button:hover,.button-group.hollow.warning .button:focus,.button-group.hollow .button.warning:hover,.button-group.hollow .button.warning:focus{border-color:#664115;color:#664115}.button-group.hollow.alert .button,.button-group.hollow.alert .button.disabled,.button-group.hollow.alert .button[disabled],.button-group.hollow.alert .button.disabled:hover,.button-group.hollow.alert .button[disabled]:hover,.button-group.hollow.alert .button.disabled:focus,.button-group.hollow.alert .button[disabled]:focus,.button-group.hollow .button.alert,.button-group.hollow .button.alert.disabled,.button-group.hollow .button.alert[disabled],.button-group.hollow .button.alert.disabled:hover,.button-group.hollow .button.alert[disabled]:hover,.button-group.hollow .button.alert.disabled:focus,.button-group.hollow .button.alert[disabled]:focus{border:1px solid #C74225;color:#C74225}.button-group.hollow.alert .button:hover,.button-group.hollow.alert .button:focus,.button-group.hollow .button.alert:hover,.button-group.hollow .button.alert:focus{border-color:#642113;color:#642113}.button-group.hollow.info .button,.button-group.hollow.info .button.disabled,.button-group.hollow.info .button[disabled],.button-group.hollow.info .button.disabled:hover,.button-group.hollow.info .button[disabled]:hover,.button-group.hollow.info .button.disabled:focus,.button-group.hollow.info .button[disabled]:focus,.button-group.hollow .button.info,.button-group.hollow .button.info.disabled,.button-group.hollow .button.info[disabled],.button-group.hollow .button.info.disabled:hover,.button-group.hollow .button.info[disabled]:hover,.button-group.hollow .button.info.disabled:focus,.button-group.hollow .button.info[disabled]:focus{border:1px solid #98AEAA;color:#98AEAA}.button-group.hollow.info .button:hover,.button-group.hollow.info .button:focus,.button-group.hollow .button.info:hover,.button-group.hollow .button.info:focus{border-color:#485b58;color:#485b58}.button-group.clear .button,.button-group.clear .button:hover,.button-group.clear .button:focus,.button-group.clear .button.disabled,.button-group.clear .button.disabled:hover,.button-group.clear .button.disabled:focus,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:hover,.button-group.clear .button[disabled]:focus{border-color:transparent;background-color:transparent}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button[disabled],.button-group.clear .button.disabled:hover,.button-group.clear .button[disabled]:hover,.button-group.clear .button.disabled:focus,.button-group.clear .button[disabled]:focus{color:#5e9d20}.button-group.clear .button:hover,.button-group.clear .button:focus{color:#2f4f10}.button-group.clear.primary .button,.button-group.clear.primary .button.disabled,.button-group.clear.primary .button[disabled],.button-group.clear.primary .button.disabled:hover,.button-group.clear.primary .button[disabled]:hover,.button-group.clear.primary .button.disabled:focus,.button-group.clear.primary .button[disabled]:focus,.button-group.clear .button.primary,.button-group.clear .button.primary.disabled,.button-group.clear .button.primary[disabled],.button-group.clear .button.primary.disabled:hover,.button-group.clear .button.primary[disabled]:hover,.button-group.clear .button.primary.disabled:focus,.button-group.clear .button.primary[disabled]:focus{color:#5e9d20}.button-group.clear.primary .button:hover,.button-group.clear.primary .button:focus,.button-group.clear .button.primary:hover,.button-group.clear .button.primary:focus{color:#2f4f10}.button-group.clear.secondary .button,.button-group.clear.secondary .button.disabled,.button-group.clear.secondary .button[disabled],.button-group.clear.secondary .button.disabled:hover,.button-group.clear.secondary .button[disabled]:hover,.button-group.clear.secondary .button.disabled:focus,.button-group.clear.secondary .button[disabled]:focus,.button-group.clear .button.secondary,.button-group.clear .button.secondary.disabled,.button-group.clear .button.secondary[disabled],.button-group.clear .button.secondary.disabled:hover,.button-group.clear .button.secondary[disabled]:hover,.button-group.clear .button.secondary.disabled:focus,.button-group.clear .button.secondary[disabled]:focus{color:#5e9d20}.button-group.clear.secondary .button:hover,.button-group.clear.secondary .button:focus,.button-group.clear .button.secondary:hover,.button-group.clear .button.secondary:focus{color:#2f4f10}.button-group.clear.success .button,.button-group.clear.success .button.disabled,.button-group.clear.success .button[disabled],.button-group.clear.success .button.disabled:hover,.button-group.clear.success .button[disabled]:hover,.button-group.clear.success .button.disabled:focus,.button-group.clear.success .button[disabled]:focus,.button-group.clear .button.success,.button-group.clear .button.success.disabled,.button-group.clear .button.success[disabled],.button-group.clear .button.success.disabled:hover,.button-group.clear .button.success[disabled]:hover,.button-group.clear .button.success.disabled:focus,.button-group.clear .button.success[disabled]:focus{color:#9de432}.button-group.clear.success .button:hover,.button-group.clear.success .button:focus,.button-group.clear .button.success:hover,.button-group.clear .button.success:focus{color:#507b10}.button-group.clear.warning .button,.button-group.clear.warning .button.disabled,.button-group.clear.warning .button[disabled],.button-group.clear.warning .button.disabled:hover,.button-group.clear.warning .button[disabled]:hover,.button-group.clear.warning .button.disabled:focus,.button-group.clear.warning .button[disabled]:focus,.button-group.clear .button.warning,.button-group.clear .button.warning.disabled,.button-group.clear .button.warning[disabled],.button-group.clear .button.warning.disabled:hover,.button-group.clear .button.warning[disabled]:hover,.button-group.clear .button.warning.disabled:focus,.button-group.clear .button.warning[disabled]:focus{color:#CB812A}.button-group.clear.warning .button:hover,.button-group.clear.warning .button:focus,.button-group.clear .button.warning:hover,.button-group.clear .button.warning:focus{color:#664115}.button-group.clear.alert .button,.button-group.clear.alert .button.disabled,.button-group.clear.alert .button[disabled],.button-group.clear.alert .button.disabled:hover,.button-group.clear.alert .button[disabled]:hover,.button-group.clear.alert .button.disabled:focus,.button-group.clear.alert .button[disabled]:focus,.button-group.clear .button.alert,.button-group.clear .button.alert.disabled,.button-group.clear .button.alert[disabled],.button-group.clear .button.alert.disabled:hover,.button-group.clear .button.alert[disabled]:hover,.button-group.clear .button.alert.disabled:focus,.button-group.clear .button.alert[disabled]:focus{color:#C74225}.button-group.clear.alert .button:hover,.button-group.clear.alert .button:focus,.button-group.clear .button.alert:hover,.button-group.clear .button.alert:focus{color:#642113}.button-group.clear.info .button,.button-group.clear.info .button.disabled,.button-group.clear.info .button[disabled],.button-group.clear.info .button.disabled:hover,.button-group.clear.info .button[disabled]:hover,.button-group.clear.info .button.disabled:focus,.button-group.clear.info .button[disabled]:focus,.button-group.clear .button.info,.button-group.clear .button.info.disabled,.button-group.clear .button.info[disabled],.button-group.clear .button.info.disabled:hover,.button-group.clear .button.info[disabled]:hover,.button-group.clear .button.info.disabled:focus,.button-group.clear .button.info[disabled]:focus{color:#98AEAA}.button-group.clear.info .button:hover,.button-group.clear.info .button:focus,.button-group.clear .button.info:hover,.button-group.clear .button.info:focus{color:#485b58}.button-group.no-gaps .button{margin-right:-.0625rem}.button-group.no-gaps .button+.button{border-left-color:transparent}.button-group.stacked,.button-group.stacked-for-small,.button-group.stacked-for-medium{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group.stacked .button,.button-group.stacked-for-small .button,.button-group.stacked-for-medium .button{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}.button-group.stacked .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked-for-medium .button:last-child{margin-bottom:0}.button-group.stacked.expanded .button,.button-group.stacked-for-small.expanded .button,.button-group.stacked-for-medium.expanded .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-right:0}@media print, screen and (min-width: 40em){.button-group.stacked-for-small .button{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media print, screen and (min-width: 64em){.button-group.stacked-for-medium .button{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media print, screen and (max-width: 39.99875em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}@media print, screen and (max-width: 63.99875em){.button-group.stacked-for-medium.expanded{display:block}.button-group.stacked-for-medium.expanded .button{display:block;margin-right:0}}.close-button{position:absolute;z-index:10;color:#8a8a8a;cursor:pointer}[data-whatinput='mouse'] .close-button{outline:0}.close-button:hover,.close-button:focus{color:#0a0a0a}.close-button.small{right:0.66rem;top:0.33em;font-size:1.5em;line-height:1}.close-button.medium,.close-button{right:1rem;top:0.5rem;font-size:2em;line-height:1}.label{display:inline-block;padding:0.33333rem 0.5rem;border-radius:0;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;background:#5e9d20;color:#fefefe}.label.primary{background:#5e9d20;color:#0a0a0a}.label.secondary{background:#5e9d20;color:#0a0a0a}.label.success{background:#9de432;color:#0a0a0a}.label.warning{background:#CB812A;color:#0a0a0a}.label.alert{background:#C74225;color:#fefefe}.label.info{background:#98AEAA;color:#0a0a0a}.progress{height:1rem;margin-bottom:1rem;border-radius:0;background-color:#cacaca}.progress.primary .progress-meter{background-color:#5e9d20}.progress.secondary .progress-meter{background-color:#5e9d20}.progress.success .progress-meter{background-color:#9de432}.progress.warning .progress-meter{background-color:#CB812A}.progress.alert .progress-meter{background-color:#C74225}.progress.info .progress-meter{background-color:#98AEAA}.progress-meter{position:relative;display:block;width:0%;height:100%;background-color:#5e9d20}.progress-meter-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);margin:0;font-size:0.75rem;font-weight:bold;color:#fefefe;white-space:nowrap}.slider{position:relative;height:.65rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#bbb;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.65rem;border:1px solid #333;background-color:#ddd;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:0;z-index:1;display:inline-block;width:1.4em;height:1.4em;border-radius:3px;background-color:#f6f6f6;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-ms-touch-action:manipulation;touch-action:manipulation;border:1px solid #333}[data-whatinput='mouse'] .slider-handle{outline:0}.slider-handle:hover{background-color:#d1d1d1}.slider-handle.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%;border:1px solid #333}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4em;height:1.4em;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);border:1px solid #333}.switch{height:2rem;position:relative;margin-bottom:1rem;outline:0;font-size:.875rem;font-weight:bold;color:#fefefe;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-input{position:absolute;margin-bottom:0;opacity:0}.switch-paddle{position:relative;display:block;width:4rem;height:2rem;border-radius:0;background:#cacaca;-webkit-transition:all 0.25s ease-out;transition:all 0.25s ease-out;font-weight:inherit;color:inherit;cursor:pointer}input+.switch-paddle{margin:0}.switch-paddle::after{position:absolute;top:.25rem;left:.25rem;display:block;width:1.5rem;height:1.5rem;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);border-radius:0;background:#fefefe;-webkit-transition:all 0.25s ease-out;transition:all 0.25s ease-out;content:''}input:checked ~ .switch-paddle{background:#5e9d20}input:checked ~ .switch-paddle::after{left:2.25rem}input:disabled ~ .switch-paddle{cursor:not-allowed;opacity:.5}[data-whatinput='mouse'] input:focus ~ .switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle::after{top:.25rem;left:.25rem;width:1rem;height:1rem}.switch.tiny input:checked ~ .switch-paddle::after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle::after{top:.25rem;left:.25rem;width:1.25rem;height:1.25rem}.switch.small input:checked ~ .switch-paddle::after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle::after{top:.25rem;left:.25rem;width:2rem;height:2rem}.switch.large input:checked ~ .switch-paddle::after{left:2.75rem}table{border-collapse:collapse;margin-bottom:1rem;border-radius:0;border-spacing:0;margin-bottom:.3125rem;table-layout:auto}thead,tbody,tfoot{border:1px solid #999;background-color:#fefefe}caption{padding:.25rem .3125rem .3125rem;font-weight:bold}thead{background:#f8f8f8;color:#0a0a0a}tfoot{background:#f1f1f1;color:#0a0a0a}thead tr,tfoot tr{background:transparent}thead th,thead td,tfoot th,tfoot td{padding:.25rem .3125rem .3125rem;font-weight:bold;text-align:left}tbody th,tbody td{padding:.25rem .3125rem .3125rem}tbody tr:nth-child(even){border-bottom:0;background-color:#f1f1f1}table.unstriped tbody{background-color:#fefefe}table.unstriped tbody tr{border-bottom:0;border-bottom:1px solid #999;background-color:#fefefe}@media print, screen and (max-width: 63.99875em){table.stack thead{display:none}table.stack tfoot{display:none}table.stack tr,table.stack th,table.stack td{display:block}table.stack td{border-top:0}}table.scroll{display:block;overflow-x:auto}table.hover thead tr:hover{background-color:#f3f3f3}table.hover tfoot tr:hover{background-color:#ececec}table.hover tbody tr:hover{background-color:#f9f9f9}table.hover:not(.unstriped) tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.breadcrumbs{margin:0 0 1rem 0;list-style:none;background:#c4ef84;border:1px solid #91dd1d;padding:.5rem;padding-left:1rem;border-radius:3px}.breadcrumbs::before,.breadcrumbs::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.breadcrumbs::after{clear:both}.breadcrumbs li{float:left;font-size:.6875rem;color:#395118;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child)::after{position:relative;margin:0 .75rem;opacity:1;content:">";color:#395118}.breadcrumbs a{color:#395118}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs li.current{color:#78ab33}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.callout{position:relative;margin:0 0 1rem 0;padding:1rem;border:1px solid rgba(10,10,10,0.25);border-radius:3px;background-color:#fff;color:#0a0a0a}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#e7f7d7;color:#0a0a0a}.callout.secondary{background-color:#e7f7d7;color:#0a0a0a}.callout.success{background-color:#f0fbe0;color:#0a0a0a}.callout.warning{background-color:#f8ecde;color:#0a0a0a}.callout.alert{background-color:#f9e1dc;color:#0a0a0a}.callout.info{background-color:#f0f3f2;color:#0a0a0a}.callout.small{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}.callout.large{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}.card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-bottom:1rem;border:2px solid #5e9d20;border-radius:8px;background:#fefefe;-webkit-box-shadow:-10px 10px 10px #999;box-shadow:-10px 10px 10px #999;overflow:hidden;color:#0a0a0a}.card>:last-child{margin-bottom:0}.card-divider{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;padding:1rem;background:#e6e6e6}.card-divider>:last-child{margin-bottom:0}.card-section{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;padding:1rem;text-align:center}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.dropdown-pane{position:absolute;z-index:10;display:none;width:300px;padding:1rem;visibility:hidden;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;font-size:1rem}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{display:block;visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.has-tip{position:relative;display:inline-block;border-bottom:dotted 1px #8a8a8a;font-weight:bold;cursor:help}.tooltip{position:absolute;top:calc(100% + .6495rem);z-index:1200;max-width:15rem;padding:.75rem;border-radius:0;background-color:#0a0a0a;font-size:80%;color:#fefefe}.tooltip::before{position:absolute}.tooltip.bottom::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-top-width:0;border-bottom-style:solid;border-color:transparent transparent #0a0a0a;bottom:100%}.tooltip.bottom.align-center::before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-bottom-width:0;border-top-style:solid;border-color:#0a0a0a transparent transparent;top:100%;bottom:auto}.tooltip.top.align-center::before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.left::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #0a0a0a;left:100%}.tooltip.left.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #0a0a0a transparent transparent;right:100%;left:auto}.tooltip.right.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.align-top::before{bottom:auto;top:10%}.tooltip.align-bottom::before{bottom:10%;top:auto}.tooltip.align-left::before{left:10%;right:auto}.tooltip.align-right::before{left:auto;right:10%}.accordion{margin-left:0;background:#fefefe;list-style-type:none}.accordion[disabled] .accordion-title{cursor:not-allowed}.accordion-item:first-child>:first-child{border-radius:0 0 0 0}.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{position:relative;display:block;padding:1.25rem 1rem;border:1px solid #e6e6e6;border-bottom:0;font-size:.75rem;line-height:1;color:#5e9d20}:last-child:not(.is-active)>.accordion-title{border-bottom:1px solid #e6e6e6;border-radius:0 0 0 0}.accordion-title:hover,.accordion-title:focus{background-color:#e6e6e6}.accordion-title::before{position:absolute;top:50%;right:1rem;margin-top:-0.5rem;content:"+"}.is-active>.accordion-title::before{content:"–"}.accordion-content{display:none;padding:1rem;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.media-object{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:1rem;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.media-object img{max-width:none}@media print, screen and (max-width: 39.99875em){.media-object.stack-for-small{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}.media-object-section{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}@media print, screen and (max-width: 39.99875em){.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.stack-for-small .media-object-section img{width:100%}}.media-object-section.main-section{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.responsive-embed,.flex-video{position:relative;height:0;margin-bottom:1rem;padding-bottom:75%;overflow:hidden}.responsive-embed iframe,.responsive-embed object,.responsive-embed embed,.responsive-embed video,.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.responsive-embed.widescreen,.flex-video.widescreen{padding-bottom:56.25%}.tabs{margin:0;border:1px solid 0;background:transparent;list-style-type:none}.tabs::before,.tabs::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.tabs::after{clear:both}.tabs.vertical>li{display:block;float:none;width:auto}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#5e9d20}.tabs.primary>li>a{color:#0a0a0a}.tabs.primary>li>a:hover,.tabs.primary>li>a:focus{background:#66aa23}.tabs-title{float:left;background:transparent}.tabs-title>a{display:block;padding:0.75rem 1.5rem;font-size:1rem;line-height:1;color:#fefefe;border-top-left-radius:13px;border-top-right-radius:13px;border:1px solid #47651e;background:#5e9d20}[data-whatinput='mouse'] .tabs-title>a{outline:0}.tabs-title>a:hover{background:#a2e24a}.tabs-title>a:focus,.tabs-title>a[aria-selected='true']{background:#6a972d;color:#fefefe}.tabs-content{border:1px solid 0;border-top:0;background:rgba(0,0,0,0);color:#0a0a0a;-webkit-transition:all 0.5s ease;transition:all 0.5s ease}.tabs-content.vertical{border:1px solid 0;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{display:inline-block;max-width:100%;margin-bottom:1rem;border:4px solid #fefefe;border-radius:0;-webkit-box-shadow:0 0 0 1px rgba(10,10,10,0.2);box-shadow:0 0 0 1px rgba(10,10,10,0.2);line-height:0}a.thumbnail{-webkit-transition:-webkit-box-shadow 200ms ease-out;transition:-webkit-box-shadow 200ms ease-out;transition:box-shadow 200ms ease-out;transition:box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out}a.thumbnail:hover,a.thumbnail:focus{-webkit-box-shadow:0 0 6px 1px rgba(94,157,32,0.5);box-shadow:0 0 6px 1px rgba(94,157,32,0.5)}a.thumbnail image{-webkit-box-shadow:none;box-shadow:none}.menu{padding:0;margin:0;list-style:none;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.menu li{background-color:#202020}[data-whatinput='mouse'] .menu li{outline:0}.menu li:hover{background-color:#111;color:#fff}.menu a,.menu .button{line-height:1;text-decoration:none;display:block;padding:1rem 1rem}.menu input,.menu select,.menu a,.menu button{margin-bottom:0;color:#aee47a}.menu input:hover,.menu select:hover,.menu a:hover,.menu button:hover{background-color:#111;color:#fff}.menu input{display:inline-block}.menu,.menu.horizontal{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.menu.vertical{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.simple{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.menu.simple li+li{margin-left:1rem}.menu.simple a{padding:0}@media print, screen and (min-width: 40em){.menu.medium-horizontal{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.menu.medium-vertical{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.medium-expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.medium-simple li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}@media print, screen and (min-width: 64em){.menu.large-horizontal{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.menu.large-vertical{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.large-expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.large-simple li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}.menu.nested{margin-right:0;margin-left:1rem}.menu.icons a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.menu.icon-top a,.menu.icon-right a,.menu.icon-bottom a,.menu.icon-left a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.menu.icon-left li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-left li a img,.menu.icon-left li a i,.menu.icon-left li a svg{margin-right:.25rem}.menu.icon-right li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-right li a img,.menu.icon-right li a i,.menu.icon-right li a svg{margin-left:.25rem}.menu.icon-top li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-top li a img,.menu.icon-top li a i,.menu.icon-top li a svg{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu.icon-bottom li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-bottom li a img,.menu.icon-bottom li a i,.menu.icon-bottom li a svg{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu .is-active>a{background:#5e9d20;color:#0a0a0a}.menu .active>a{background:#5e9d20;color:#0a0a0a}.menu.align-left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.menu.align-right li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.menu.align-right li .submenu li{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.menu.align-right.vertical li{display:block;text-align:right}.menu.align-right.vertical li .submenu li{text-align:right}.menu.align-right .nested{margin-right:1rem;margin-left:0}.menu.align-center li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu.align-center li .submenu li{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.menu .menu-text{padding:1rem 1rem;font-weight:bold;line-height:1;color:inherit}.menu-centered>.menu{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li .submenu li{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#fefefe;-webkit-box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;content:''}.menu-icon:hover::after{background:#cacaca;-webkit-box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.menu-icon.dark{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon.dark::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#0a0a0a;-webkit-box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;content:''}.menu-icon.dark:hover::after{background:#8a8a8a;-webkit-box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem;height:45px}.dropdown.menu>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:rgba(255,255,255,0.4) transparent transparent;right:5px;left:auto;margin-top:-3px}[data-whatinput='mouse'] .dropdown.menu a{outline:0}.dropdown.menu>li>a{padding:14px 16px}.dropdown.menu>li.is-active>a{background:#5e9d20;color:#fefefe}.no-js .dropdown.menu ul{display:none}.dropdown.menu .nested.is-dropdown-submenu{margin-right:0;margin-left:0}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a::after{right:14px}.dropdown.menu.vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent rgba(255,255,255,0.4) transparent transparent;right:auto;left:5px}.dropdown.menu.vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent rgba(255,255,255,0.4)}@media print, screen and (min-width: 40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem;height:45px}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:rgba(255,255,255,0.4) transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a::after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent rgba(255,255,255,0.4) transparent transparent;right:auto;left:5px}.dropdown.menu.medium-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent rgba(255,255,255,0.4)}}@media print, screen and (min-width: 64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem;height:45px}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:rgba(255,255,255,0.4) transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a::after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent rgba(255,255,255,0.4) transparent transparent;right:auto;left:5px}.dropdown.menu.large-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent rgba(255,255,255,0.4)}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;right:0;left:auto}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a::after{position:absolute;top:50%;right:5px;left:auto;margin-top:-6px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{right:100%;left:auto}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%;margin-top:-1px}.is-dropdown-submenu{position:absolute;top:0;left:100%;z-index:1;display:none;min-width:200px;border:0;background:#fefefe}.dropdown .is-dropdown-submenu a{padding:1rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a::after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent rgba(255,255,255,0.4) transparent transparent;right:auto;left:5px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent rgba(255,255,255,0.4)}.is-dropdown-submenu .is-dropdown-submenu{margin-top:0}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}html.is-reveal-open{position:fixed;width:100%;overflow-y:hidden}html.is-reveal-open.zf-has-scroll{overflow-y:scroll}html.is-reveal-open body{overflow-y:hidden}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;display:none;background-color:rgba(10,10,10,0.45);overflow-y:auto}.reveal{z-index:1006;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;padding:1rem;border:0.625rem solid #5e9d20;border-radius:0;background-color:#fefefe;position:relative;top:100px;margin-right:auto;margin-left:auto;overflow-y:auto}[data-whatinput='mouse'] .reveal{outline:0}@media print, screen and (min-width: 40em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.reveal{width:600px;max-width:75rem}}.reveal.collapse{padding:0}@media print, screen and (min-width: 40em){.reveal.tiny{width:30%;max-width:75rem}}@media print, screen and (min-width: 40em){.reveal.small{width:50%;max-width:75rem}}@media print, screen and (min-width: 40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}@media print, screen and (max-width: 39.99875em){.reveal{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.sticky-container{position:relative}.sticky{position:relative;z-index:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.sticky.is-stuck{position:fixed;z-index:5;width:100%}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:relative;right:auto;left:auto}.sticky.is-anchored.is-at-bottom{bottom:0}.title-bar{padding:.5rem;background:#0a0a0a;color:#fefefe;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.title-bar-right{text-align:right}.title-bar-title{display:inline-block;vertical-align:middle;font-weight:bold}.top-bar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:0;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar,.top-bar ul{background-color:#202020}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}@media print, screen and (min-width: 40em){.top-bar{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.top-bar .top-bar-left{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin-right:auto}.top-bar .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;margin-left:auto}}@media print, screen and (max-width: 63.99875em){.top-bar.stacked-for-medium{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media print, screen and (max-width: 74.99875em){.top-bar.stacked-for-large{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}.top-bar-title{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin:0.5rem 1rem 0.5rem 0}.top-bar-left,.top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.float-left{float:left !important}.float-right{float:right !important}.float-center{display:block;margin-right:auto;margin-left:auto}.clearfix::before,.clearfix::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.clearfix::after{clear:both}.align-left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.align-justify{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.align-spaced{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.align-left.vertical.menu>li>a{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.align-right.vertical.menu>li>a{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.align-center.vertical.menu>li>a{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.align-top{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.align-self-top{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.align-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.align-self-bottom{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.align-self-middle{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.align-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.align-self-stretch{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.align-center-middle{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center}.small-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.small-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.small-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.small-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.small-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.small-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}@media print, screen and (min-width: 40em){.medium-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.medium-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.medium-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.medium-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.medium-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.medium-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}}@media print, screen and (min-width: 64em){.large-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.large-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.large-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.large-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.large-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.large-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}}.flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}@media print, screen and (min-width: 40em){.medium-flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.medium-flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.medium-flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.medium-flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.medium-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.medium-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.medium-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.medium-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}@media print, screen and (min-width: 64em){.large-flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.large-flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.large-flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.large-flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.large-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.large-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.large-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.large-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}.hide{display:none !important}.invisible{visibility:hidden}@media print, screen and (max-width: 39.99875em){.hide-for-small-only{display:none !important}}@media screen and (max-width: 0em), screen and (min-width: 40em){.show-for-small-only{display:none !important}}@media print, screen and (min-width: 40em){.hide-for-medium{display:none !important}}@media screen and (max-width: 39.99875em){.show-for-medium{display:none !important}}@media print, screen and (min-width: 40em) and (max-width: 63.99875em){.hide-for-medium-only{display:none !important}}@media screen and (max-width: 39.99875em), screen and (min-width: 64em){.show-for-medium-only{display:none !important}}@media print, screen and (min-width: 64em){.hide-for-large{display:none !important}}@media screen and (max-width: 63.99875em){.show-for-large{display:none !important}}@media print, screen and (min-width: 64em) and (max-width: 74.99875em){.hide-for-large-only{display:none !important}}@media screen and (max-width: 63.99875em), screen and (min-width: 75em){.show-for-large-only{display:none !important}}.show-for-sr,.show-on-focus{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.show-on-focus:active,.show-on-focus:focus{position:static !important;width:auto !important;height:auto !important;overflow:visible !important;clip:auto !important;white-space:normal !important}.show-for-landscape,.hide-for-portrait{display:block !important}@media screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:block !important}}@media screen and (orientation: portrait){.show-for-landscape,.hide-for-portrait{display:none !important}}.hide-for-landscape,.show-for-portrait{display:none !important}@media screen and (orientation: landscape){.hide-for-landscape,.show-for-portrait{display:none !important}}@media screen and (orientation: portrait){.hide-for-landscape,.show-for-portrait{display:block !important}}.slide-in-down.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-down.mui-enter.mui-enter-active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.slide-in-left.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-left.mui-enter.mui-enter-active{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.slide-in-up.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-up.mui-enter.mui-enter-active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.slide-in-right.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-right.mui-enter.mui-enter-active{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.slide-out-down.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-down.mui-leave.mui-leave-active{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.slide-out-right.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-right.mui-leave.mui-leave-active{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.slide-out-up.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-up.mui-leave.mui-leave-active{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.slide-out-left.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-left.mui-leave.mui-leave-active{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.fade-in.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-in.mui-enter.mui-enter-active{opacity:1}.fade-out.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:1;-webkit-transition-property:opacity;transition-property:opacity}.fade-out.mui-leave.mui-leave-active{opacity:0}.hinge-in-from-top.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-top.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-right.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:right;-ms-transform-origin:right;transform-origin:right;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-right.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-bottom.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);-webkit-transform-origin:bottom;-ms-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-bottom.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-left.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-left.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-x.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-middle-x.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-y.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-middle-y.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-out-from-top.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-top.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-right.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:right;-ms-transform-origin:right;transform-origin:right;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-right.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}.hinge-out-from-bottom.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:bottom;-ms-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-bottom.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-left.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-left.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}.hinge-out-from-middle-x.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-middle-x.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-middle-y.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-middle-y.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}.scale-in-up.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.scale-in-up.mui-enter.mui-enter-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.scale-in-down.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.scale-in-down.mui-enter.mui-enter-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.scale-out-up.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.scale-out-up.mui-leave.mui-leave-active{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5);opacity:0}.scale-out-down.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.scale-out-down.mui-leave.mui-leave-active{-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5);opacity:0}.spin-in.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(-.75turn);-ms-transform:rotate(-.75turn);transform:rotate(-.75turn);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.spin-in.mui-enter.mui-enter-active{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.spin-out.mui-leave.mui-leave-active{-webkit-transform:rotate(.75turn);-ms-transform:rotate(.75turn);transform:rotate(.75turn);opacity:0}.spin-in-ccw.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(.75turn);-ms-transform:rotate(.75turn);transform:rotate(.75turn);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.spin-in-ccw.mui-enter.mui-enter-active{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out-ccw.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.spin-out-ccw.mui-leave.mui-leave-active{-webkit-transform:rotate(-.75turn);-ms-transform:rotate(-.75turn);transform:rotate(-.75turn);opacity:0}.slow{-webkit-transition-duration:750ms !important;transition-duration:750ms !important}.fast{-webkit-transition-duration:250ms !important;transition-duration:250ms !important}.linear{-webkit-transition-timing-function:linear !important;transition-timing-function:linear !important}.ease{-webkit-transition-timing-function:ease !important;transition-timing-function:ease !important}.ease-in{-webkit-transition-timing-function:ease-in !important;transition-timing-function:ease-in !important}.ease-out{-webkit-transition-timing-function:ease-out !important;transition-timing-function:ease-out !important}.ease-in-out{-webkit-transition-timing-function:ease-in-out !important;transition-timing-function:ease-in-out !important}.bounce-in{-webkit-transition-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;transition-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{-webkit-transition-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;transition-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{-webkit-transition-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;transition-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{-webkit-transition-delay:300ms !important;transition-delay:300ms !important}.long-delay{-webkit-transition-delay:700ms !important;transition-delay:700ms !important}.shake{-webkit-animation-name:shake-7;animation-name:shake-7}@-webkit-keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}@keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}.spin-cw{-webkit-animation-name:spin-cw-1turn;animation-name:spin-cw-1turn}@-webkit-keyframes spin-cw-1turn{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes spin-cw-1turn{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}.spin-ccw{-webkit-animation-name:spin-ccw-1turn;animation-name:spin-ccw-1turn}@-webkit-keyframes spin-ccw-1turn{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}@keyframes spin-ccw-1turn{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}.wiggle{-webkit-animation-name:wiggle-7deg;animation-name:wiggle-7deg}@-webkit-keyframes wiggle-7deg{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,30%,70%,100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes wiggle-7deg{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,30%,70%,100%{-webkit-transform:rotate(0);transform:rotate(0)}}.shake,.spin-cw,.spin-ccw,.wiggle{-webkit-animation-duration:500ms;animation-duration:500ms}.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.slow{-webkit-animation-duration:750ms !important;animation-duration:750ms !important}.fast{-webkit-animation-duration:250ms !important;animation-duration:250ms !important}.linear{-webkit-animation-timing-function:linear !important;animation-timing-function:linear !important}.ease{-webkit-animation-timing-function:ease !important;animation-timing-function:ease !important}.ease-in{-webkit-animation-timing-function:ease-in !important;animation-timing-function:ease-in !important}.ease-out{-webkit-animation-timing-function:ease-out !important;animation-timing-function:ease-out !important}.ease-in-out{-webkit-animation-timing-function:ease-in-out !important;animation-timing-function:ease-in-out !important}.bounce-in{-webkit-animation-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;animation-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{-webkit-animation-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;animation-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{-webkit-animation-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;animation-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{-webkit-animation-delay:300ms !important;animation-delay:300ms !important}.long-delay{-webkit-animation-delay:700ms !important;animation-delay:700ms !important}.rounded{border-radius:5000px !important}.rounded .switch-paddle{border-radius:5000px !important}.rounded .switch-paddle:after{border-radius:50%}.radius{border-radius:.1875rem}.dataTables_wrapper{position:inherit !important}.top-bar{z-index:2}.button.tiny{padding:.125rem .25rem .1875rem;font-size:.6875rem}.button.small{padding:.625rem 1.25rem .6875rem;font-size:.8125rem}.dropdown.menu>li{max-height:45px}.fc tbody tr:nth-child(even){background-color:transparent}body{background:-webkit-gradient(linear, left top, right top, from(#5e9d20), color-stop(#9de432), to(#5e9d20));background:linear-gradient(to right, #5e9d20, #9de432, #5e9d20);-ms-word-break:break-all;word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}table,.display{-ms-word-break:normal;word-break:normal;background:#fff}polyline{opacity:.3;stroke:black;stroke-width:2px;fill:none}.wait_div{display:none;position:fixed;z-index:1010;top:0;left:0;height:100%;width:100%;background:rgba(0,0,0,0.7) url("../images/gears.svg") 50% 50% no-repeat}body.loading{overflow:hidden}body.loading .wait_div{display:block}.wait_message{text-align:center;padding:15px;width:325px;height:140px;background-color:#fff;position:absolute;top:50%;bottom:50%;left:0;right:0;margin:auto;margin-top:100px;border:8px solid #5e9d20;border-radius:8px}.my-rows{background:#fff;-webkit-box-shadow:-10px 10px 20px #000;box-shadow:-10px 10px 20px #000}#main-wrap{-webkit-box-shadow:-10px 30px 20px #000;box-shadow:-10px 30px 20px #000}.login{float:right;font-size:.75em;color:#5e9d20;text-align:right;padding-top:10px}#top_header{background:#fff;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;-moz-border-radius-topleft:8px;-moz-border-radius-topright:8px;border-top-left-radius:8px;border-top-right-radius:8px;margin-top:45px}.client_name{font-size:1.25rem;font-family:"Play",Arial,sans-serif;color:#5e9d20;margin-top:25px}.client_logo{margin-top:15px;margin-bottom:10px;margin-right:20px}.squaredTwo{width:28px;height:28px;background:#fcfff4;background:-webkit-gradient(linear, left top, left bottom, from(#fcfff4), color-stop(40%, #dfe5d7), to(#b3bead));background:linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfff4', endColorstr='#b3bead',GradientType=0 );margin:0;-webkit-box-shadow:inset 0px 1px 1px white,0px 1px 3px rgba(0,0,0,0.5);box-shadow:inset 0px 1px 1px white,0px 1px 3px rgba(0,0,0,0.5);position:relative}li{font-size:.875rem}.footer{margin-bottom:60px;padding-top:25px;padding-bottom:10px;background:#202020;color:#bbb;font-size:.75em}.footer a{text-decoration:none;color:#fff}.footer a:hover{color:#bbb}.footer_links{margin-right:100px;width:150px;float:left;margin-bottom:20px}.footer_links li{font-size:.75em}.rev{font-size:.6rem;color:#999}.most_recent{position:fixed;top:150;left:-125px;z-index:2500;width:150px;height:auto;background:#fff;border-top:2px solid #5e9d20;border-right:2px solid #5e9d20;border-bottom:2px solid #5e9d20;-webkit-border-top-right-radius:8px;-webkit-border-bottom-right-radius:8px;-moz-border-radius-topright:8px;-moz-border-radius-bottomright:8px;border-top-right-radius:8px;border-bottom-right-radius:8px;-webkit-box-shadow:-10px 10px 20px #000;box-shadow:-10px 10px 20px #000}.most_recent li{list-style-type:none;border-bottom:1px solid #5e9d20}.most_recent li a{color:#5e9d20;display:block}.most_recent li a:hover{color:#333}.most_recent li:hover{background:#e7f7d7;border-bottom:1px solid #333}.alert_panel{background:#ffc6c6;border:1px solid #c90000}.banner_header{font-family:Arial;font-weight:bold;font-size:14px;color:#999999}.approve_service_note{margin-left:10px !important}.send_message{border:.625rem solid #5e9d20}.from{width:40%;float:left}.message_text{width:50%;float:right}.timeout_warning{display:none;position:fixed;margin:auto;margin-top:-160px;padding:10px;top:50%;right:0;bottom:0;left:0;height:325px;z-index:2000;width:40%;background:#fff;border:.625rem solid #5e9d20;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;-moz-border-radius-topleft:8px;-moz-border-radius-topright:8px;border-top-left-radius:8px;border-top-right-radius:8px}.lighter_gray{background-color:#f5f5f5 !important}.superfilter{width:100%;background:#e0e0e0;border:2px solid #a3a3a3;border-radius:8px;padding-top:.8rem;padding-left:.8rem;padding-right:.8rem;padding-bottom:0px;margin-bottom:.25rem;font-size:.8rem}.list_filter{float:left;margin-right:.5rem;margin-bottom:0px;font-size:.8rem}.clear_filters{float:right;margin-top:10px;margin-bottom:-5px}.no_bottom_margin{margin-bottom:0}.range{margin-top:4px;margin-left:5px;margin-right:10px;width:125px}.range label{position:absolute;width:5px;margin-left:-5px;text-align:center;margin-top:10px}.smaller_text{font-size:.8em;width:100%;background:#ddd}.DTTT_container{display:block}.meds_flyout{display:block;background:#ddd;border:1px solid #666;font-size:12px}.meds_flyout a:hover{text-decoration:underline}.noborder{border:0px}.med_details{min-width:250px;margin-right:25px;margin-bottom:20px;float:left}.med_details td{white-space:nowrap}.spaced_buttons{min-width:50px;margin-left:10px}.tlen{height:40px}.go-top{display:block;width:40px;height:40px;line-height:35px;text-align:center;font-size:30px;position:fixed;bottom:-40px;right:20px;-webkit-transition:all 1s ease;transition:all 1s ease;background-color:#404040;color:#FFFFFF;text-decoration:none;border-radius:5px}.go-top.show{bottom:20px}.go-top:hover{background-color:#5e9d20;color:#FFFFFF}.close_panel{font-size:2.5rem;line-height:1;position:absolute;top:.5rem;right:1.5rem;color:#AAA;font-weight:700;cursor:pointer}.close_panel_fa_icon{font-size:1.5rem;line-height:1;position:absolute;top:.25rem;right:.5rem;color:#AAA;font-weight:700;cursor:pointer}.icon_control{line-height:1;color:#333;font-weight:700;cursor:pointer;-webkit-transition:all .5s ease;transition:all .5s ease}.icon_control:hover{color:#5e9d20}.icon_good{color:#9de432}.inactive_icon{color:#888 !important}.inactive_icon:hover{color:#777 !important}.clear_date{margin-left:20px}.del_element{color:#C74225;line-height:1;font-weight:700;cursor:pointer;-webkit-transition:all .5s ease;transition:all .5s ease}.del_element:hover{color:#333}.remove_icon{color:#C74225;font-weight:700;cursor:pointer}.topright{position:absolute;top:5px;right:5px}.topright.fa-lg {line-height: unset;}.subsection{margin-top:1rem;margin-bottom:1rem;padding:1rem;border:1px solid #ddd;background:#f3f3f3;border-radius:8px;-webkit-transition:all .15s ease;transition:all .15s ease}.subsection:hover{background:#dfdfdf}.fu{position:relative;width:90%}.fu:after{opacity:0;content:'\f024';font-family:'Font Awesome 5 Pro';font-size:1.25rem;color:#C74225;margin-left:10px;-webkit-transition:all 1500ms;transition:all 1500ms;position:absolute;z-index:200;top:-5px}.fu:hover:after{opacity:1;-webkit-transition:all 250ms;transition:all 250ms}.check_all{position:relative}.check_all:after{opacity:0;content:'\f560';font-family:'Font Awesome 5 Pro';font-size:1.25rem;color:#98AEAA;-webkit-transition:all 1500ms;transition:all 1500ms;position:absolute;z-index:200;top:-5px;right:-20px}.check_all:hover:after{opacity:1;-webkit-transition:all 250ms;transition:all 250ms}.clear_datepicker{position:relative}.clear_datepicker:after{opacity:0;content:'\f273';font-family:'Font Awesome 5 Pro';font-size:1.25rem;color:#C74225;-webkit-transition:all 1500ms;transition:all 1500ms;position:absolute;z-index:200;top:-11px;right:8px}.clear_datepicker:hover:after{opacity:1;-webkit-transition:all 250ms;transition:all 250ms}.update_review{padding:.25rem;font-size:.85rem;border-radius:8px;background:#ffd6d6;border:1px solid #ffaaaa;cursor:pointer;margin-bottom:1.25rem}.reviewed{background:#eaffea;border:1px solid #b5ffb5;cursor:default}label.required{color:#C74225}.rating_menu_wrapper{z-index:5;background:#f5f5f5;display:block;float:left;width:20%}@media (min-width: 350px){.rating_menu_wrapper{font-size:.7rem;min-width:160px}}@media (min-width: 760px){.rating_menu_wrapper{font-size:.7rem;min-width:170px}}@media (min-width: 1015px){.rating_menu_wrapper{font-size:.75rem;min-width:185px}}.rating_area_header{background:#ebebeb;color:#333;font-weight:bold;padding-left:5px;padding-right:5px;padding-bottom:2px;padding-top:2px}.rating_area_label{display:block;color:#5e9d20;-webkit-transition:all .4s;transition:all .4s}@media (min-width: 350px){.rating_area_label{padding-left:2px;padding-right:2px}}@media (min-width: 760px){.rating_area_label{padding-left:10px;padding-right:2px}}@media (min-width: 1015px){.rating_area_label{padding-left:20px;padding-right:5px}}.rating_area_label:hover{background:#5e9d20;color:#fff}.rating_area_text{float:left;color:#5e9d20;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:150px}.rating_area_text:hover{color:#fff;white-space:normal;overflow:visible;height:auto}.rating_score{float:right}.highlighted{background:#5e9d20}.highlighted a{color:#fff}.explanations{z-index:10;float:right;display:block;background:#fff}@media (min-width: 350px){.explanations{width:60%;font-size:.7rem}}@media (min-width: 760px){.explanations{width:70%;font-size:.85rem}}@media (min-width: 1015px){.explanations{width:79%;font-size:1rem}}.explanations table{border:1px solid #666}.explanations th{background:#ccc}.explanations td{font-size:.8rem;background:#fff}.questions{z-index:1;float:right;display:block;background:#fff}@media (min-width: 350px){.questions{width:60%;font-size:.7rem}}@media (min-width: 760px){.questions{width:70%;font-size:.85rem}}@media (min-width: 1015px){.questions{width:79%;font-size:1rem}}label{font-weight:bold !important;cursor:default}.chars{font-weight:normal;float:right;color:#C74225;margin-top:-.75rem}.possible td{background:#bee994}.possible td:hover{cursor:pointer}.impossible td{background:#666;color:#eee}.impossible td:hover{cursor:pointer}.inline-button{float:left;display:inline;margin-right:20px}.question{padding:20px;margin-top:15px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.q-previous{background:#f5f5f5;border:1px solid #eee}.q-current{background:#e7f7d7;border:2px solid #9ede5f}.q-radio{padding:.5rem;font-size:.8rem;display:inline;background:#5e9d20;color:#fff;border-radius:4px}.q-radio:hover{background:#fff;color:#5e9d20;border:5px solid #5e9d20;padding:.25rem}.readonly-label{display:inline-block;margin-right:1.5rem;min-width:150px}.inactive_record{background:#dfdfdf}input[type=radio]{width:1rem;height:1rem;vertical-align:middle;margin:-3px 0px 0px 0px}.notes{float:right;display:block;width:79%}#section_last_updated{font-size:.7rem;margin-top:-8px}.prev{float:left;-webkit-box-shadow:0,0,0;box-shadow:0,0,0}.next{float:right;-webkit-box-shadow:0,0,0;box-shadow:0,0,0}.highlighted-row{background:#F2E698 !important}.good{background:#A3D000;color:#333}.warn{background:#F4C400;color:#333}.bad{background:#F90000;color:#333}.unscored{background:#999;color:#333}.jump{font-family:"Play",Arial,sans-serif;font-size:1.25rem}.small_note{font-size:.8rem;line-height:1.1rem}.autocomplete{position:absolute;top:-10px;left:0;width:auto;background:#fff;z-index:999;border:4px solid #5e9d20;-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);padding:10px;max-height:300px;overflow-x:hidden;overflow-y:auto}.autocomplete ul{font-size:.8rem;list-style-type:none;white-space:nowrap;padding:0px;margin:0px}.autocomplete ul li{display:block}.autocomplete ul li:hover{color:#2f4f10;background:#e7f7d7;cursor:pointer}.photo_preview{position:absolute;top:0;left:0;width:auto;background:#fff;border:4px solid #5e9d20;-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);padding:5px}.item_preview{font-size:.9rem;line-height:1.1rem;position:absolute;top:0;left:0;width:auto;background:#fff;border:4px solid #5e9d20;-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);padding:1em;border-radius:5px}.item_preview strong{color:#5e9d20;font-size:1.2rem;font-family:"Play",Arial,sans-serif;line-height:1.25em;margin-bottom:.5rem;display:inline-block}.scoring_alert{border-radius:5px;padding:2rem;margin-bottom:2rem}.alert_unlikely{background:#f4c400;border:3px solid #f4a100}.alert_very_unlikely{background:#ff8314;border:3px solid #d46400}.alert_impossible{background:#e50000;border:3px solid #ab0000;color:#fff}td>p{font-size:.875rem;line-height:1rem;margin-bottom:.5rem}.inactive,.inactive a{color:#ddd}.spaced{min-width:50px;margin-left:10px}.informational{background:#dbe3e1;font-size:.8em;padding:.2em}#service th,#training th{text-align:center;background:#aee47a}#rep_tree{display:block;border:4px solid #ccc;float:left;overflow:hidden;margin-right:10px;width:100%}#rep_options{width:100%}div.rep_tip{position:absolute;text-align:center;width:150px;height:auto;background:#fff;padding:5px;font-size:.8rem;color:#000;-webkit-border-top-radius:4px;border-radius:4px;border:4px solid #5e9d20;pointer-events:none;-webkit-box-shadow:-5px 5px 0px rgba(0,0,0,0.25);box-shadow:-5px 5px 0px rgba(0,0,0,0.25);z-index:1500;outline:1px solid #000}td.details-control{background:url("../../libraries/datatables/media/images/details_open.png") no-repeat center center;cursor:pointer}tr.shown td.details-control{background:url("../../libraries/datatables/media/images/details_close.png") no-repeat center center}line,rect{shape-rendering:crispEdges;stroke:#000000;fill:#5e9d20}.axis path,.axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.bar{fill:#5e9d20;-webkit-transition:all .06s ease;transition:all .06s ease}.bar:hover{fill:#86d637}.bar.correct{fill:#9de432;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.correct:hover{fill:#b6eb65}.bar.correct.stay{fill:#5e9d20;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.correct.stay:hover{fill:#86d637}.bar.incorrect{fill:#C74225;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.incorrect:hover{fill:#df6b52}.bar.incorrect.stay{fill:#5e9d20;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.incorrect.stay:hover{fill:#86d637}.bar.cant_tell{fill:#CB812A;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.cant_tell:hover{fill:#dda15a}.bar.cant_tell.stay{fill:#5e9d20;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.cant_tell.stay:hover{fill:#86d637}.stay{fill:#5e9d20;-webkit-transition:all .06s ease;transition:all .06s ease}.stay:hover{fill:#6eb825}#rep_alert_area{border-radius:8px;border:4px solid #C74225;padding:20px}.report_alert i{color:#C74225;margin-right:10px}.report_info i{color:#98AEAA;margin-right:10px}.table_section{border:2px solid #5e9d20;background:#c7eca2}.tr_highlight,.tr_warning{border:1px solid #CB812A !important;background:#efd3b2 !important;-webkit-transition:all 0.75s ease;transition:all 0.75s ease}.tr_success{border:1px solid #9de432 !important;background:#ddf6b7 !important;-webkit-transition:all 0.75s ease;transition:all 0.75s ease}.tr_alert{border:1px solid #C74225 !important;background:#f0baae !important;-webkit-transition:all 0.75s ease;transition:all 0.75s ease}.tr_black{border:1px solid #000 !important;background:#333 !important;color:#fff;-webkit-transition:all 0.75s ease;transition:all 0.75s ease}.el_wrap{padding:3px;position:relative}.el_wrap:hover{border-radius:4px;background:#5e9d20}.motd{padding:2rem}.motd_expiration{display:block;float:right;color:#999;font-style:italic;font-size:.8em}.elevate{display:block;width:100%;font-size:1em;position:absolute;top:2px}.elevate:hover{color:#fff}.help_links{text-align:center;border-top:2px solid #5e9d20;border-bottom:2px solid #5e9d20;background:#e7f7d7;margin-bottom:2px;padding:4px}#assistant_content{border:4px solid #ccc;min-height:400px;margin-bottom:15px}#question_history{display:none;border:2px solid #aaa;padding:10px}.link_button{color:#primary-color;display:inline-block;font-size:.8rem;font-weight:600;margin:2px;text-decoration:none}.link_button:hover{text-decoration:underline;color:#5e9d20;background-color:#effae4}.link_button:focus,.link_button:active{color:#333}.inset{margin-left:2em !important}.instructions{font-size:.8rem;color:#5e9d20;background-color:#f7fcf2;border:1px solid #5e9d20;padding:.6rem;margin:1rem;width:95%}.instructions p{margin:.5rem}.svgicon{height:1rem;width:1rem;background:rgba(0,0,0,0);vertical-align:middle}h1>.svgicon{height:3rem;width:3rem}h2>.svgicon{height:2.5rem;width:2.5rem}h3>.svgicon{height:2rem;width:2rem}symbol rect{fill:rgba(0,0,0,0)}symbol path{fill:#5e9d20}symbol>circle{fill:#5e9d20}.training_content{display:none;padding:1.5rem;border:4px solid #5e9d20;position:fixed;margin:auto;top:0%;right:0;bottom:0;left:0%;height:100%;z-index:3000;width:100%;background:#fff;-webkit-box-shadow:-12px 17px 40px 3px rgba(0,0,0,0.75);box-shadow:-12px 17px 40px 3px rgba(0,0,0,0.75)}hr.stars{border:0;text-align:center;margin-top:.25em;margin-bottom:1.25em}hr.stars:after{content:"* * * * * * * * * * * * * * * * * * * *";font-size:1em;text-shadow:-24em 0, -12em 0, 12em 0, 24em 0}.border{border:1px solid #000}.highlighted_label{color:#C74225;border:2px solid #C74225;padding:.25em}.alternate_rows{border:1px solid #999}.alternate_rows div{padding:.25rem .3125rem}.alternate_rows:nth-child(even){background:#ddd}.autosaved{display:block;margin-bottom:12px;position:relative;z-index:400}.autosaved:after{content:'\f00c Saved';font-family:'Font Awesome 5 Pro';font-size:.9rem;color:#9de432;position:absolute;top:-25px;right:0px}.autosaved_not{display:block;margin-bottom:12px;position:relative;z-index:400}.autosaved_not:after{content:'\f00d Not Saved';font-family:'Font Awesome 5 Pro';font-size:.9rem;color:#C74225;position:absolute;top:-25px;right:0px}.rtc-user,.chat-user{color:#5e9d20;cursor:pointer;margin-bottom:.3rem;padding-left:.5rem}.rtc-user:hover,.chat-user:hover{text-decoration:underline;color:#5e9d20;background-color:#effae4}.recipient{color:#5e9d20;background-color:#e5ebea;position:relative}.recipient:after{content:'\f4b2';font-family:'Font Awesome 5 Pro';font-size:.75rem;position:absolute;top:2px;right:5px}.chat_sender{font-weight:bold;font-size:.75em;background-color:#d7f1bc;border:#5e9d20;border-radius:4px;min-width:200px;max-width:300px;display:block;padding-left:1em;line-height:1.5em;margin-left:1em}.chat_self{background-color:#ccc;border:#333}.chat_message{font-size:.75em;display:block;padding-left:3em;padding-right:.5em}.open_chat{cursor:pointer}video{height:200px;margin:0 0 20px 0;vertical-align:top;width:calc(50% - 12px)}input::-ms-clear{display:none}.footnote{font-size:.6em;font-weight:normal;vertical-align:top}@keyframes slow_fade{0%{opacity:1}50%{opacity:.25}100%{opacity:1}}@-webkit-keyframes slow_fade{0%{opacity:1}50%{opacity:.25}100%{opacity:1}}.animate-slow_fade{-webkit-animation:slow_fade 3s infinite;animation:slow_fade 3s infinite}.incorrect_highlight{color:#C74225;background-color:#CB812A;font-weight:bold;font-style:italic}.pcd_slot{position:absolute;width:25px}#my_pcd ::-webkit-input-placeholder{color:#bbb;font-size:1.5em}#my_pcd ::-moz-placeholder{color:#bbb;font-size:1.5em}#my_pcd :-ms-input-placeholder{color:#bbb;font-size:1.5em}#my_pcd ::-ms-input-placeholder{color:#bbb;font-size:1.5em}#my_pcd ::placeholder{color:#bbb;font-size:1.5em}.floater{position:absolute;background:#fff;border:4px solid #5e9d20;padding:1em;border-radius:4px;-webkit-box-shadow:0 0 10px rgba(10,10,10,0.4);box-shadow:0 0 10px rgba(10,10,10,0.4)}.hard_requirement{background-color:#f9e1dc !important}.hard_requirement_label{color:#C74225}.icon-bar{width:100%;font-size:0;display:inline-block;background:#333333}.icon-bar>*{text-align:center;font-size:0.8rem;width:25%;margin:0 auto;display:block;padding:0.1rem;float:left}.icon-bar>* i,.icon-bar>* img{display:block;margin:0 auto}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem}.icon-bar>* i{font-size:1.25rem;vertical-align:middle}.icon-bar>* img{width:1.875rem;height:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{margin:0 .0625rem 0 0;display:inline-block}.icon-bar.label-right>* i+label,.icon-bar.label-right>* img+label{margin-top:0}.icon-bar.label-right>* label{display:inline-block}.icon-bar.vertical.label-right>*{text-align:left}.icon-bar.vertical,.icon-bar.small-vertical{height:100%;width:auto}.icon-bar.vertical .item,.icon-bar.small-vertical .item{width:auto;margin:auto;float:none}@media only screen and (min-width: 40.063em){.icon-bar.medium-vertical{height:100%;width:auto}.icon-bar.medium-vertical .item{width:auto;margin:auto;float:none}}@media only screen and (min-width: 64.063em){.icon-bar.large-vertical{height:100%;width:auto}.icon-bar.large-vertical .item{width:auto;margin:auto;float:none}}.icon-bar>*{font-size:0.8rem;padding:0.1rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem}.icon-bar>* i{font-size:1.25rem}.icon-bar>* img{width:1.875rem;height:1.875rem}.icon-bar>*:hover{background:#004a8f}.icon-bar>* label{color:#FFFFFF}.icon-bar>* i{color:#a3d3ff}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.six-up.large-vertical .item{width:auto}}.round_left{background:#eee;height:29px;text-align:center;padding-top:5px;border-top:1px solid #ccc;border-left:1px solid #ccc;border-bottom:1px solid #ccc;border-radius:100px 0 0 100px;font-size:.75rem}.round_right input{border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-radius:0 100px 100px 0}.has-tip{font-weight:700;color:#f4a142;border-bottom:0}[type=date],[type=number],[type=password],[type=text]{height:1.8125rem}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsImNvbXBvbmVudHMvcmVzcG9uc2l2ZS5mb3VuZGF0aW9uLnNjc3MiLCJjb21wb25lbnRzL2pzdHJlZS5zY3NzIiwiY29tcG9uZW50cy9kYXRhVGFibGVzLnNjc3MiLCJjb21wb25lbnRzL2RhdGFUYWJsZXMuZm91bmRhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9kYXRhVGFibGVzLnJlc3BvbnNpdmUuZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiY29tcG9uZW50cy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCJjb21wb25lbnRzL190YWJsZS5zY3NzIiwidXRpbC9fY29sb3Iuc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsImNvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCJjb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsImNvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3VuZGVkLnNjc3MiLCJhcHAuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnTFEsMkNDbklOLGlEQUNFLFVBQVcsQ0FDWCxTQUFVLENBQ1YsYUFBYyxDQUNmLENDakRILGdMQUdFLHlCQUEwQixDQUMzQixxTUFJQyx1QkFBd0IsQ0FDekIsa0pBR0MsaUJBQWtCLENBQ2xCLGlCQUFrQixDQUNsQixjQUFlLENBQ2hCLGdLQUdDLE9BQVEsQ0FDUixRQUFTLENBQ1QsV0FBWSxDQUNaLFVBQVcsQ0FDWCxhQUFjLENBQ2QsaUJBQWtCLENBQ2xCLFdBQVksQ0FDWixzQkFBdUIsQ0FDdkIsa0JBQW1CLENBQ25CLCtCQUF3QixDQUF4Qix1QkFBd0IsQ0FDeEIsOEJBQXVCLENBQXZCLHNCQUF1QixDQUN2QixpQkFBa0IsQ0FDbEIsd0JBQXlCLENBQ3pCLDZDQUE4QyxDQUM5QyxnQkFBaUIsQ0FDakIsV0FBWSxDQUNaLHdCQUF5QixDQUMxQixzSkFHQyxXQUFZLENBQ1osd0JBQXlCLENBQzFCLDBJQUdDLGlCQUFrQixDQUNuQix3SkFHQyxPQUFRLENBQ1IsUUFBUyxDQUNULFdBQVksQ0FDWixVQUFXLENBQ1gsa0JBQW1CLENBQ25CLGdCQUFpQixDQUNqQixlQUFnQixDQUNqQiw4RkFHQyxpQkFBa0IsQ0FDbEIsY0FBZSxDQUNoQiw0R0FHQyxPQUFRLENBQ1IsUUFBUyxDQUNULFdBQVksQ0FDWixVQUFXLENBQ1gsZ0JBQWlCLENBQ2pCLGlCQUFrQixDQUNsQixhQUFjLENBQ2QsaUJBQWtCLENBQ2xCLFdBQVksQ0FDWixzQkFBdUIsQ0FDdkIsa0JBQW1CLENBQ25CLCtCQUF3QixDQUF4Qix1QkFBd0IsQ0FDeEIs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Q1QsZUN6RWEsQ0QwRWIsc0JBQXVCLENBQ3ZCLGFBQWMsQ0FDZCxXQ3RFdUIsQ0R1RXhCLGdDRWpCQyxTQUFVLENBQ1gsSUZvQkMsYUFBYyxDRGpHaEIsc0NDMEdFLG1CQUFvQixDQUNyQixZQUlDLHdCQUF5QixDQUMxQixXQUdDLHVCQUF3QixDQUN6QixvT0czSkQsYUFBYyxDQUNkLDZCQUFzQixDQUF0QixxQkFBc0IsQ0FDdEIsVUFBVyxDQUNYLGdCQUxzSixDQU10SixlQ0h1RCxDREl2RCxhRnVhK0IsQ0VyYS9CLHdCRmtDbUIsQ0VqQ25CLGVGK0NlLENFOUNmLHdCRm1DYSxDRWxDYixxREZpQ2EsQ0VqQ2IsNkNGaUNhLENFL0JiLG1CRnVaeUIsQ0V0WnpCLGNDWnVELENEYXZELGtCRnVDMkIsQ0V0QzNCLGVGd0JxQixDRXZCckIsYUYyQmEsQ0V4QlgseUVGNlo4RCxDRTdaOUQsaUVGNlo4RCxDRTdaOUQseURGNlo4RCxDRTdaOUQsaUZGNlo4RCxDRXhZOUQsdUJBQVksQ0FBWixvQkFBWSxDQUFaLGVBQWdCLENBQ2pCLDhUQWpCQyxZQUFhLENBQ2Isd0JGaUJlLENFZmYsa0NGY2lCLENFZGpCLDBCRmNpQixDRVhmLHlFRmtaaUQsQ0VsWmpELGlFRmtaaUQsQ0VsWmpELHlERmtaaUQsQ0VsWmpELGlGRmtaNEQsQ0Z0VGhFLFNJN0VFLGNBQWUsQ0FEakIsZUFJSSxXQUFZLENBQ2Isb0VBUUMsbUNBQXVELENBRXhELGdDQU1ELHVCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZUFBZ0IsQ0FDaEIsZUZYYSxDRVlkLHFCQUlDLDZCQUFZLENBQVoscUJBQXNCLENBQ3ZCLDRCQWlCQyxhRmhEaUIsQ0UrQmxCLG1CQWlCQyxhRmhEaUIsQ0UrQmxCLHVCQWlCQyxhRmhEaUIsQ0UrQmxCLHdCQWlCQyxhRmhEaUIsQ0UrQmxCLGNBaUJDLGFGaERpQixDRWlEbEIsK0NFcktDLGVENEVxRCxDQzNFdEQsNkNBS0Msb0JBQXFCLENBQ3JCLHVCQUF3QixDQUV4QixpQkFBa0QsQ0FDbEQsaUJEa0VxRCxDQ2pFckQsZUFBZ0IsQ0FLakIsdURBRkcsY0FBZSxDQUNoQiw2Q0FNRCxrQkFBbUQsQ0FDcEQsY0FJQyxVQUFXLENBQ1osTUNkRCxhQUFjLENBQ2QsUUFBUyxDQUVULGlCRjREdUQsQ0UzRHZELGtCTCtHMkIsQ0s5RzNCLGVMc2QwQixDS3JkMUIsYUxtR2EsQ0t4RmIsYUFMQSxlRm1EdUQsQ0VsRHZELGtCQUE4RCxDQVMzRCxXQ3ZCRCxpQkFGdUMsQ0FHdkMsa0JIK0RxRCxDRzlEckQsaUJOa2R3QixDTWpkeEIsYU51R1csQ010R1osYUNEQyxtQkFBaUMsQ0FBakMsb0JBQWlDLENBQWpDLG1CQUFpQyxDQUFqQyxZQUFpQyxDQUNqQyxVQUFXLENBQ1gsa0JKMkRxRCxDSXhEbkQseUJBQWEsQ0FBYiwyQkFBYSxDQUFiLHNCQUFhLENBQWIsbUJBQW9CLENBTnhCLHlFQVdNLHFCUHlHUyxDT3BIZix1RUFpQk0scUJBQWlILENBQ2xILCtKQUtILFFBQVMsQ0FDVCxrQkFBbUIsQ0FNcEIsbUJBSUMsY1BvYnVCLENPbmJ2Qix3QlBtRWlCLENPbEVqQixrQlBpRWdCLENPL0RoQixhUGtFVyxDT2pFWCxpQkFBa0IsQ0FDbEIsa0JBQW1CLENBR2pCLG1CQUFhLENBQWIsb0JBQWEsQ0FBYixtQkFBYSxDQUFiLFlBQWEsQ0FDYixrQkFBYyxDQUFkLHFCQUFjLENBQWQsaUJBQWMsQ0FBZCxhQUFjLENBQ2Qsd0JBQWEsQ0FBYiwwQkFBYSxDQUFiLHFCQUFhLENBQWIsa0JBQW1CLENBYnZCLCtCQXNCTSxjQUFpQyxDQXRCdkMsOEJBMEJNLGFBQWdDLENBQ2pDLG1CQU1ILGVBQWdCLENBR2Qsa0JBQWEsQ0FBYixvQkFBYSxDQUFiLGdCQUFhLENBQWIsWUFBYSxDQUNiLFdBQVksQ0FFZixvQkFJQyxhQUFjLENBQ2QsZ0JBQWlCLENBQ2pCLGlCQUFrQixDQUdoQixtQkFBYSxDQUFiLG9CQUFhLENBQWIsbUJBQWEsQ0FBYixZQUFhLENBQ2Isa0JBQU0sQ0FBTixxQkFBTSxDQUFOLGlCQUFNLENBQU4sYUFBYyxDQVJsQixxR0FzQk0sMEJBQW1CLENBQW5CLDJCQUFtQixDQUFuQixrQkFBbUIsQ0FDbkIsV0FBWSxDQUtkLGFBQWMsQ0FDZCxnQkFBaUIsQ0FDakIsY0p6Q21ELENMK0Z2RCxTVWhKRSxRQUFTLENBQ1QsU0FBVSxDQUNWLFFBQVMsQ1Z1SlgsT1VuSkUsY0FBZSxDQUNmLG1CQUFrQyxDQUNuQyxVQXRCRCxpQkxvRVcsQ0tuRVgsZUw4RHVELENLN0R2RCx3QlJxR21CLENRbkduQixpQkFFRSxRQUFTLENBQ1QscUJMd0RxRCxDS3ZEckQsa0JMdURxRCxDSndHdkQsT1V6S0EsZ0JBRmtCLENBR2xCLGVOZ0V1RCxDTS9EdkQsYVQwZStCLENTeGUvQix1QkFBZ0IsQ0FBaEIsb0JBQWdCLENBQWhCLGVBQWdCLENBQ2hCLHdCVG9HbUIsQ1NuR25CLGVUaUhlLENTaEhmLHdCVHFHYSxDU25HYixtQlQwZHlCLENTemR6QixjTnVEdUQsQ010RHZELGtCVDBHMkIsQ1N6RzNCLGVUMkZxQixDUzFGckIsYVQ4RmEsQ0NvQmIsdU9BQXlOLENROUd2Tiw2QkFBOEIsQ0FDOUIsc0NBQTBELENBQzFELDJCQUE0QixDQUM1Qix1QkFBd0IsQ0FFeEIsb0JBQXVELENBSXZELHlFVHNkbUQsQ1N0ZG5ELGlFVHNkbUQsQ1N0ZG5ELHlEVHNkbUQsQ1N0ZG5ELGlGVHNkOEQsQ0MvV2hFLG1DRndDQSxPRXJDSSxzV0FBdVcsQ1FuRTFXLENBbkNELGFBQ0UsWUFBYSxDQUNiLHdCVDBFZSxDU3pFZix3QlQyRVcsQ1MxRVgsa0NUdUVpQixDU3ZFakIsMEJUdUVpQixDU3BFZix5RVQyY2lELENTM2NqRCxpRVQyY2lELENTM2NqRCx5RFQyY2lELENTM2NqRCxpRlQyYzRELENTemMvRCxnQkFJQyx3QlQ2RGdCLENTNURoQixrQlRtYytCLENTbGNoQyxtQkFJQyxZQUFhLENBQ2QsaUJBR0MsV0FBWSxDQUNaLHFCQUFzQixDQUN2Qix1QkFFQyxhQUFjLENBQ2QsZ0JBQWlCLENDckNuQiw4QkFDRSxvQlZxRWUsQ1VwRWYsd0JBQStELENBRS9ELHlEQUNFLGFWaUVhLENVbEVmLGdEQUNFLGFWaUVhLENVbEVmLG9EQUNFLGFWaUVhLENVbEVmLHFEQUNFLGFWaUVhLENVbEVmLDJDQUNFLGFWaUVhLENVaEVkLGtCQTBCQyxhVnNDYSxDVXJDZCxZQXJCSCxZQUFhLENBQ2IsaUJBQWdDLENBQ2hDLGtCUDhCdUQsQ081QnZELGdCUDRCdUQsQ08zQnZELGdCVmdGdUIsQ1UvRXZCLGFWb0RpQixDVWpDakIsdUJBSUksYUFBYyxDQUNmLG9FQ2dLRCxRQUFTLENBQ1QsU0FBVSxDQUNYLEVBSUMsa0JYaEMwQixDV2tDMUIsaUJBQWtCLENBQ2xCLGVYcENzQixDV3FDdEIsaUNYbkN5QyxDV29DMUMsS0FLQyxpQkFBa0IsQ0FDbEIsbUJBQW9CLENBQ3JCLFNBS0MsZ0JYaElxQixDV2lJckIsbUJBQW9CLENidEx0QixNYTJMRSxhWDFEaUIsQ1cyRGpCLG1CQUFvQixDQUNyQiwwQ0FTQyxtQ1gvRjBDLENXZ0cxQyxpQlg5RnNCLENXK0Z0QixrQlhwSnlCLENXcUp6QixhWG5MZ0IsQ1dvTGhCLGlDWDFFc0MsQ1dnRXhDLGtIQWFJLGFBQWMsQ0FDZCxhWHRLZSxDV3VLaEIsT0FZTyxnQlIzTjZDLENRdU83QyxlWDNIVyxDV21JWCxZQUFhLENBT2IsbUJYeklpQixDVzBHckIsT0FJSSxpQlIzTjZDLENRdU83QyxlWDNIVyxDV21JWCxZQUFhLENBT2IsbUJYeklpQixDVzBHckIsT0FJSSxtQlIzTjZDLENRdU83QyxlWDNIVyxDV21JWCxZQUFhLENBT2IsbUJYeklpQixDVzBHckIsT0FJSSxrQlIzTjZDLENRdU83QyxlWDNIVyxDV21JWCxZQUFhLENBT2IsbUJYeklpQixDVzBHckIsT0FJSSxtQlIzTjZDLENRdU83QyxlWDNIVyxDV21JWCxZQUFhLENBT2IsbUJYeklpQixDVzBHckIsT0FJSSxjUjNONkMsQ1F1TzdDLGVYM0hXLENXbUlYLFlBQWEsQ0FPYixtQlh6SWlCLENUckJyQiwyQ29CK0hBLE9BSUksY1IzTjZDLENRdU5qRCxPQUlJLGdCUjNONkMsQ1F1TmpELE9BSUksbUJSM042QyxDUXVOakQsT0FJSSxtQlIzTjZDLENRdU5qRCxPQUlJLGlCUjNONkMsQ1F1TmpELE9BSUksY1IzTjZDLENRd1BoRCxDYnhSUCxFYStSRSxtQkFBb0IsQ0FDcEIsYVgxT2dCLENXMk9oQixvQlh4SHlCLENXMEh6QixjQUFlLENBTGpCLGdCQVNJLGFYL0gyRCxDV3NIL0QsTUFnQkksUUFBUyxDYmpVYixHYXVVRSxVQUFXLENBRVgsZVJ0UnFELENRdVJyRCxRQUFTLENBQ1QsbUJYM0l5QixDVzZJekIsWUFBYSxDQUNiLGNBQWUsQ0FDZiwrQlhwUGlCLENXcVBqQixhQUFjLENBQ2YsU0FNQyxrQlhoSzBCLENXaUsxQiwyQlhwSnlCLENXcUp6QixlWG5Lc0IsQ1dvS3ZCLEdBSUMsaUJBQWtCLENBQ25CLEdBSUMsbUJYOUpzQixDVytKdEIsb0JYaktrQixDV2tLbkIsR0FJQyxtQlhwS3NCLENXcUt2Qix3QkFLRyxtQlh6SzJCLENXMEszQixlQUFnQixDQUNqQixHQUtELGtCWC9LeUIsQ1c4SzNCLE1BSUksbUJYaEw4QixDV2lMOUIsZ0JYbFJtQixDV21ScEIsV0FLRCxlWHpNMEIsQ1cwTTFCLG9DUjlVcUQsQ1ErVXJELDZCWHZTaUIsQ1dvU25CLHdCQU1JLGVYL01vQixDV2dOcEIsYVgxU2EsQ1cyU2QsaUJBY0QsZ0NYeFRXLENXeVRYLFdBQVksQ0FDWixvQkFBcUIsQ0FDdEIsT0FJQyxRQUFTLENBQ1YsSUFXQyxRQUFTLENBQ1Qsd0JSalhTLENRbVhULHdCWGpWZ0IsQ1dtVmhCLHdEWGhSbUUsQ1dpUm5FLGFYalZXLENXc1ZaLFdDbFZDLGdCWjRIeUIsQ1kzSHpCLG1CWjRINEIsQ1kxSDVCLGtCWkd5QixDWUZ6QixlWnFIc0IsQ1lwSHRCLGFaVmUsQ1lXaEIsTUFJQyxjWjZHcUMsQ1k1R3JDLGVaNkdpQixDWTVHbEIsTUFJQyxnQlo4R21CLENZN0duQixhQUFjLENBRWQsUUFDRSxnQkFBaUIsQ0FDbEIsMEJBTUMsYUFBZ0MsQ0FDaEMsZUFBZ0IsQ0FDakIsaUJBOUVILGFBQWMsQ0FDZCxhWjJDaUIsQ1kxQ2pCLGtCVEN1RCxD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M0MsQ0g3QzJDLHFCRzZDM0MsQ0g3QzJDLGlCRzZDM0MsQ0g3QzJDLGFHNkMzQyxDQUFDLGlCSDlCZ0IsY0lzRGQsQ0FBbUQsaUJKdERyQyxlSXNEZCxDQUFtRCxpQkp0RHJDLFNJc0RkLENBQW1ELGlCSnREckMsZUlzRGQsQ0FBbUQsaUJKdERyQyxlSXNEZCxDQUFtRCxpQkp0RHJDLFNJc0RkLENBQW1ELGlCSnREckMsZUlzRGQsQ0FBbUQsaUJKdERyQyxlSXNEZCxDQUFtRCxpQkp0RHJDLFNJc0RkLENBQW1ELGtCSnREcEMsZUlzRGYsQ0FBbUQsa0JKdERwQyxlSXNEZixDQUFtRCxrQkp0RHBDLFVJc0RmLENBQW1ELDJDNUIrQmIscUJ3QnpHcEIsa0JHa0RyQixDSGxEcUIsb0JHa0RyQixDSGxEcUIsZ0JHa0RyQixDSGxEcUIsWUdrRHJCLENBQUMsVUF2Q0ksQ0FBSSxrUEhOa0Msa0JHNkMzQyxDSDdDMkMscUJHNkMzQyxDSDdDMkMsaUJHNkMzQyxDSDdDMkMsYUc2QzNDLENBQUMsdUJIdkNzQixVR0FsQixDQUFJLGtCSFNTLGNJc0RmLENBQW1ELGtCSnREcEMsZUlzRGYsQ0FBbUQsa0JKdERwQyxTSXNEZixDQUFtRCxrQkp0RHBDLGVJc0RmLENBQW1ELGtCSnREcEMsZUlzRGYsQ0FBbUQsa0JKdERwQyxTSXNEZixDQUFtRCxrQkp0RHBDLGVJc0RmLENBQW1ELGtCSnREcEMsZUlzRGYsQ0FBbUQsa0JKdERwQyxTSXNEZixDQUFtRCxtQkp0RG5DLGVJc0RoQixDQUFtRCxtQkp0RG5DLGVJc0RoQixDQUFtRCxtQkp0RG5DLFVJc0RoQixDQUFtRCxDSm5EdEQsMkN4QmtGeUMsb0J3QnpHckIsa0JHa0RwQixDSGxEb0Isb0JHa0RwQixDSGxEb0IsZ0JHa0RwQixDSGxEb0IsWUdrRHBCLENBQUMsVUF2Q0ksQ0FBSSxxT0hOa0Msa0JHNkMzQyxDSDdDMkMscUJHNkMzQyxDSDdDMkMsaUJHNkMzQyxDSDdDMkMsYUc2QzNDLENBQUMsc0JIdkNxQixVR0FqQixDQUFJLGlCSFNRLGNJc0RkLENBQW1ELGlCSnREckMsZUlzRGQsQ0FBbUQsaUJKdERyQyxTSXNEZCxDQUFtRCxpQkp0RHJDLGVJc0RkLENBQW1ELGlCSnREckMsZUlzRGQsQ0FBbUQsaUJKdERyQyxTSXNEZCxDQUFtRCxpQkp0RHJDLGVJc0RkLENBQW1ELGlCSnREckMsZUlzRGQsQ0FBbUQsaUJKdERyQyxTSXNEZCxDQUFtRCxrQkp0RHBDLGVJc0RmLENBQW1ELGtCSnREcEMsZUlzRGYsQ0FBbUQsa0JKdERwQyxVSXNEZixDQUFtRCxDSm5EdEQsa0NBSzhCLFVBQzFCLENBQUksa0NBSXNCLFdBQ3pCLENBQUksZUE4QkEsb0JDdkdvQixDQUFpQyxxQkFBakMsQ0FBaUMsMkN6QmdKckIsZXdCekNoQyxxQkN2R29CLENBQWlDLHNCQUFqQyxDQUFpQyxDRHNJbEUscUJBM0JRLDBCRzdCdUMsQ0FBZ0QsbUJGckVoRSxDQUFpQyxvQkFBakMsQ0FBaUMsMkN6QnVJbkIscUJ3QnJDckMsMkJHN0J1QyxDQUFnRCxvQkZyRWhFLENBQWlDLHFCQUFqQyxDQUFpQyxDRDJHMUQscUJBckNBLFVHN0JHLENBQUksdUJIaUNMLFVHakNDLENBQUksd0JIeUNGLDhCR2JvQyxDQUFnRCx3QkhhcEYsK0JHYm9DLENBQWdELHdCSGFwRix5Qkdib0MsQ0FBZ0Qsd0JIYXBGLCtCR2JvQyxDQUFnRCx3QkhhcEYsK0JHYm9DLENBQWdELHdCSGFwRix5Qkdib0MsQ0FBZ0Qsd0JIYXBGLCtCR2JvQyxDQUFnRCx3QkhhcEYsK0JHYm9DLENBQWdELHdCSGFwRix5Qkdib0MsQ0FBZ0QseUJIYW5GLCtCR2JtQyxDQUFnRCx5QkhhbkYsK0JHYm1DLENBQWdELHlCSGFuRiwwQkdibUMsQ0FBZ0QsMkMzQmtFbEQscUJ3QmpFdkMsVUc3QkcsQ0FBSSx1QkhpQ0wsVUdqQ0MsQ0FBSSx3Qkh5Q0YsK0JHYm9DLENBQWdELHdCSGFwRixnQ0dib0MsQ0FBZ0Qsd0JIYXBGLDBCR2JvQyxDQUFnRCx3QkhhcEYsZ0NHYm9DLENBQWdELHdCSGFwRixnQ0dib0MsQ0FBZ0Qsd0JIYXBGLDBCR2JvQyxDQUFnRCx3QkhhcEYsZ0NHYm9DLENBQWdELHdCSGFwRixnQ0dib0MsQ0FBZ0Qsd0JIYXBGLDBCR2JvQyxDQUFnRCx5QkhhbkYsZ0NHYm1DLENBQWdELHlCSGFuRixnQ0dibUMsQ0FBZ0QseUJIYW5GLDJCR2JtQyxDQUFnRCw0QkhDbEYsVUc3QkosQ0FBSSw4QkhpQ0UsVUdqQ04sQ0FBSSx5Qkh5Q0QsK0JHYm1DLENBQWdELHlCSGFuRixnQ0dibUMsQ0FBZ0QseUJIYW5GLDBCR2JtQyxDQUFnRCx5QkhhbkYsZ0NHYm1DLENBQWdELHlCSGFuRixnQ0dibUMsQ0FBZ0QseUJIYW5GLDBCR2JtQyxDQUFnRCx5QkhhbkYsZ0NHYm1DLENBQWdELHlCSGFuRixnQ0dibUMsQ0FBZ0QseUJIYW5GLDBCR2JtQyxDQUFnRCwwQkhhbEYsZ0NHYmtDLENBQWdELDBCSGFsRixnQ0dia0MsQ0FBZ0QsMEJIYWxGLDJCR2JrQyxDQUFnRCxDSGU3RiwyQ3hCbUQyQywyQndCakVqQyxVRzdCSCxDQUFJLDZCSGlDQyxVR2pDTCxDQUFJLHdCSHlDRiwrQkdib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsMEJHYm9DLENBQWdELHdCSGFwRixnQ0dib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsMEJHYm9DLENBQWdELHdCSGFwRixnQ0dib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsMEJHYm9DLENBQWdELHlCSGFuRixnQ0dibUMsQ0FBZ0QseUJIYW5GLGdDR2JtQyxDQUFnRCx5QkhhbkYsMkJHYm1DLENBQWdELENIZTdGLGdDQWlEYyxxQkM5SWlCLENBQWlDLG9CQUFqQyxDQUFpQywyQ3pCZ0pyQixnQ3dCRjdCLHNCQzlJaUIsQ0FBaUMscUJBQWpDLENBQWlDLENEZ0poRSwyQ0FMWSxxQkMzSW1CLENBQWlDLG9CQUFqQyxDQUFpQywyQ3pCZ0pyQiwyQ3dCTC9CLHNCQzNJbUIsQ0FBaUMscUJBQWpDLENBQWlDLENEc0poRSxzQkFHTSxxQkN6SnlCLENBQWlDLG9CQUFqQyxDQUFpQywyQ3pCZ0pyQixzQndCU3JDLHNCQ3pKeUIsQ0FBaUMscUJBQWpDLENBQWlDLENEMkpoRSxrQkszSk0sVURpSEQsQ0FBbUQsa0JDakhsRCxTRGlIRCxDQUFtRCxrQkNqSGxELGVEaUhELENBQW1ELGtCQ2pIbEQsU0RpSEQsQ0FBbUQsa0JDakhsRCxTRGlIRCxDQUFtRCxrQkNqSGxELGVEaUhELENBQW1ELGtCQ2pIbEQsZURpSEQsQ0FBbUQsa0JDakhsRCxXRGlIRCxDQUFtRCwyQzVCK0JiLG1CNkJoSnJDLFVEaUhELENBQW1ELG1CQ2pIbEQsU0RpSEQsQ0FBbUQsbUJDakhsRCxlRGlIRCxDQUFtRCxtQkNqSGxELFNEaUhELENBQW1ELG1CQ2pIbEQsU0RpSEQsQ0FBbUQsbUJDakhsRCxlRGlIRCxDQUFtRCxtQkNqSGxELGVEaUhELENBQW1ELG1CQ2pIbEQsV0RpSEQsQ0FBbUQsQ0MvRzFELDJDN0I4STZDLGtCNkJoSnJDLFVEaUhELENBQW1ELGtCQ2pIbEQsU0RpSEQsQ0FBbUQsa0JDakhsRCxlRGlIRCxDQUFtRCxrQkNqSGxELFNEaUhELENBQW1ELGtCQ2pIbEQsU0RpSEQsQ0FBbUQsa0JDakhsRCxlRGlIRCxDQUFtRCxrQkNqSGxELGVEaUhELENBQW1ELGtCQ2pIbEQsV0RpSEQsQ0FBbUQsQ0MvRzFELGdDQUZRLDBCRjhFdUMsQ0FBZ0QsZ0NFOUV2Rix5QkY4RXVDLENBQWdELGdDRTlFdkYsK0JGOEV1QyxDQUFnRCxnQ0U5RXZGLHlCRjhFdUMsQ0FBZ0QsZ0NFOUV2Rix5QkY4RXVDLENBQWdELGdDRTlFdkYsK0JGOEV1QyxDQUFnRCxnQ0U5RXZGLCtCRjhFdUMsQ0FBZ0QsZ0NFOUV2RiwyQkY4RXVDLENBQWdELDJDM0JrRWxELGdDNkJoSnJDLDJCRjhFdUMsQ0FBZ0QsZ0NFOUV2RiwwQkY4RXVDLENBQWdELGdDRTlFdkYsZ0NGOEV1QyxDQUFnRCxnQ0U5RXZGLDBCRjhFdUMsQ0FBZ0QsZ0NFOUV2RiwwQkY4RXVDLENBQWdELGdDRTlFdkYsZ0NGOEV1QyxDQUFnRCxnQ0U5RXZGLGdDRjhFdUMsQ0FBZ0QsZ0NFOUV2Riw0QkY4RXVDLENBQWdELGlDRTlFdkYsMkJGOEV1QyxDQUFnRCxpQ0U5RXZGLDBCRjhFdUMsQ0FBZ0QsaUNFOUV2RixnQ0Y4RXVDLENBQWdELGlDRTlFdkYsMEJGOEV1QyxDQUFnRCxpQ0U5RXZGLDBCRjhFdUMsQ0FBZ0QsaUNFOUV2RixnQ0Y4RXVDLENBQWdELGlDRTlFdkYsZ0NGOEV1QyxDQUFnRCxpQ0U5RXZGLDRCRjhFdUMsQ0FBZ0QsQ0U1RS9GLDJDN0I4STZDLGdDNkJoSnJDLDJCRjhFdUMsQ0FBZ0QsZ0NFOUV2RiwwQkY4RXVDLENBQWdELGdDRTlFdkYsZ0NGOEV1QyxDQUFnRCxnQ0U5RXZGLDBCRjhFdUMsQ0FBZ0QsZ0NFOUV2RiwwQkY4RXVDLENBQWdELGdDRTlFdkYsZ0NGOEV1QyxDQUFnRCxnQ0U5RXZGLGdDRjhFdUMsQ0FBZ0QsZ0NFOUV2Riw0QkY4RXVDLENBQWdELENFNUUvRix1QkxxTXlCLGNNOU1LLENBQUMsYUFBRCxDQUFDLDZCQUdyQixjQUVzQixDQUFDLGFBQUQsQ0FBQyxnQ0FzQmQsY0Y2RlosQ0FBbUQsZ0NFN0Z2QyxlRjZGWixDQUFtRCxnQ0U3RnZDLFNGNkZaLENBQW1ELGdDRTdGdkMsZUY2RlosQ0FBbUQsZ0NFN0Z2QyxlRjZGWixDQUFtRCxnQ0U3RnZDLFNGNkZaLENBQW1ELGdDRTdGdkMsZUY2RlosQ0FBbUQsZ0NFN0Z2QyxlRjZGWixDQUFtRCxnQ0U3RnZDLFNGNkZaLENBQW1ELGlDRTdGdEMsZUY2RmIsQ0FBbUQsaUNFN0Z0QyxlRjZGYixDQUFtRCxpQ0U3RnRDLFVGNkZiLENBQW1ELDJDNUIrQmIsaUM4QjVIekIsY0Y2RmIsQ0FBbUQsaUNFN0Z0QyxlRjZGYixDQUFtRCxpQ0U3RnRDLFNGNkZiLENBQW1ELGlDRTdGdEMsZUY2RmIsQ0FBbUQsaUNFN0Z0QyxlRjZGYixDQUFtRCxpQ0U3RnRDLFNGNkZiLENBQW1ELGlDRTdGdEMsZUY2RmIsQ0FBbUQsaUNFN0Z0QyxlRjZGYixDQUFtRCxpQ0U3RnRDLFNGNkZiLENBQW1ELGtDRTdGckMsZUY2RmQsQ0FBbUQsa0NFN0ZyQyxlRjZGZCxDQUFtRCxrQ0U3RnJDLFVGNkZkLENBQW1ELENFM0ZoRCwyQzlCMEhtQyxnQzhCNUgxQixjRjZGWixDQUFtRCxnQ0U3RnZDLGVGNkZaLENBQW1ELGdDRTdGdkMsU0Y2RlosQ0FBbUQsZ0NFN0Z2QyxlRjZGWixDQUFtRCxnQ0U3RnZDLGVGNkZaLENBQW1ELGdDRTdGdkMsU0Y2RlosQ0FBbUQsZ0NFN0Z2QyxlRjZGWixDQUFtRCxnQ0U3RnZDLGVGNkZaLENBQW1ELGdDRTdGdkMsU0Y2RlosQ0FBbUQsaUNFN0Z0QyxlRjZGYixDQUFtRCxpQ0U3RnRDLGVGNkZiLENBQW1ELGlDRTdGdEMsVUY2RmIsQ0FBbUQsQ0UzRmhELHdCTnVMZ0IsY003S0ksQ0FBQyxhQUFELENBQUMsOEJBR3JCLGVBRXdCLENBQUMsY0FBRCxDQUFDLDJDOUIyR1Usd0J3QnVEbkIsY005TUksQ0FBQyxhQUFELENBQUMsOEJBR3JCLGNBRXNCLENBQUMsYUFBRCxDQUFDLENBRTdCLDJDOUJnSnlDLGlDOEJySTFCLGNGc0daLENBQW1ELGlDRXRHdkMsZUZzR1osQ0FBbUQsaUNFdEd2QyxTRnNHWixDQUFtRCxpQ0V0R3ZDLGVGc0daLENBQW1ELGlDRXRHdkMsZUZzR1osQ0FBbUQsaUNFdEd2QyxTRnNHWixDQUFtRCxpQ0V0R3ZDLGVGc0daLENBQW1ELGlDRXRHdkMsZUZzR1osQ0FBbUQsaUNFdEd2QyxTRnNHWixDQUFtRCxrQ0V0R3RDLGVGc0diLENBQW1ELGtDRXRHdEMsZUZzR2IsQ0FBbUQsa0NFdEd0QyxVRnNHYixDQUFtRCxDRXBHaEQsMkM5Qm1JbUMsa0M4QjVIekIsY0Y2RmIsQ0FBbUQsa0NFN0Z0QyxlRjZGYixDQUFtRCxrQ0U3RnRDLFNGNkZiLENBQW1ELGtDRTdGdEMsZUY2RmIsQ0FBbUQsa0NFN0Z0QyxlRjZGYixDQUFtRCxrQ0U3RnRDLFNGNkZiLENBQW1ELGtDRTdGdEMsZUY2RmIsQ0FBbUQsa0NFN0Z0QyxlRjZGYixDQUFtRCxrQ0U3RnRDLFNGNkZiLENBQW1ELG1DRTdGckMsZUY2RmQsQ0FBbUQsbUNFN0ZyQyxlRjZGZCxDQUFtRCxtQ0U3RnJDLFVGNkZkLENBQW1ELENFM0ZoRCwyQzlCMEhtQyxpQzhCNUgxQixjRjZGWixDQUFtRCxpQ0U3RnZDLGVGNkZaLENBQW1ELGlDRTdGdkMsU0Y2RlosQ0FBbUQsaUNFN0Z2QyxlRjZGWixDQUFtRCxpQ0U3RnZDLGVGNkZaLENBQW1ELGlDRTdGdkMsU0Y2RlosQ0FBbUQsaUNFN0Z2QyxlRjZGWixDQUFtRCxpQ0U3RnZDLGVGNkZaLENBQW1ELGlDRTdGdkMsU0Y2RlosQ0FBbUQsa0NFN0Z0QyxlRjZGYixDQUFtRCxrQ0U3RnRDLGVGNkZiLENBQW1ELGtDRTdGdEMsVUY2RmIsQ0FBbUQsQ0UzRmhELDJDOUIwSG1DLHlCd0I2RGxCLGNNN0tHLENBQUMsYUFBRCxDQUFDLCtCQUdyQixlQUV3QixDQUFDLGNBQUQsQ0FBQyxDQUUvQiwyQzlCeUd5Qyx1QndCdURwQixjTTlNSyxDQUFDLGFBQUQsQ0FBQyw2QkFHckIsY0FFc0IsQ0FBQyxhQUFELENBQUMsQ0FFN0IsMkM5QmdKeUMsZ0M4QnJJMUIsY0ZzR1osQ0FBbUQsZ0NFdEd2QyxlRnNHWixDQUFtRCxnQ0V0R3ZDLFNGc0daLENBQW1ELGdDRXRHdkMsZUZzR1osQ0FBbUQsZ0NFdEd2QyxlRnNHWixDQUFtRCxnQ0V0R3ZDLFNGc0daLENBQW1ELGdDRXRHdkMsZUZzR1osQ0FBbUQsZ0NFdEd2QyxlRnNHWixDQUFtRCxnQ0V0R3ZDLFNGc0daLENBQW1ELGlDRXRHdEMsZUZzR2IsQ0FBbUQsaUNFdEd0QyxlRnNHYixDQUFtRCxpQ0V0R3RDLFVGc0diLENBQW1ELENFcEdoRCwyQzlCbUltQyxpQzhCckl6QixjRnNHYixDQUFtRCxpQ0V0R3RDLGVGc0diLENBQW1ELGlDRXRHdEMsU0ZzR2IsQ0FBbUQsaUNFdEd0QyxlRnNHYixDQUFtRCxpQ0V0R3RDLGVGc0diLENBQW1ELGlDRXRHdEMsU0ZzR2IsQ0FBbUQsaUNFdEd0QyxlRnNHYixDQUFtRCxpQ0V0R3RDLGVGc0diLENBQW1ELGlDRXRHdEMsU0ZzR2IsQ0FBbUQsa0NFdEdyQyxlRnNHZCxDQUFtRCxrQ0V0R3JDLGVGc0dkLENBQW1ELGtDRXRHckMsVUZzR2QsQ0FBbUQsQ0VwR2hELDJDOUJtSW1DLGdDOEI1SDFCLGNGNkZaLENBQW1ELGdDRTdGdkMsZUY2RlosQ0FBbUQsZ0NFN0Z2QyxTRjZGWixDQUFtRCxnQ0U3RnZDLGVGNkZaLENBQW1ELGdDRTdGdkMsZUY2RlosQ0FBbUQsZ0NFN0Z2QyxTRjZGWixDQUFtRCxnQ0U3RnZDLGVGNkZaLENBQW1ELGdDRTdGdkMsZUY2RlosQ0FBbUQsZ0NFN0Z2QyxTRjZGWixDQUFtRCxpQ0U3RnRDLGVGNkZiLENBQW1ELGlDRTdGdEMsZUY2RmIsQ0FBbUQsaUNFN0Z0QyxVRjZGYixDQUFtRCxDRTNGaEQsMkM5QjBIbUMsd0J3QjZEbkIsY003S0ksQ0FBQyxhQUFELENBQUMsOEJBR3JCLGVBRXdCLENBQUMsY0FBRCxDQUFDLENBRS9CLGdCTm9MYyxjT3ZNVyxDQUFDLCtCUDJNSyw4Qk8zTU4sQ0FBQyxnQlB1TVosb0JPdk1XLENBQUMsK0JQMk1LLG9DTzNNTixDQUFDLGdCUHVNWixxQk92TVcsQ0FBQywrQlAyTUsscUNPM01OLENBQUMsZ0JQdU1aLGVPdk1XLENBQUMsK0JQMk1LLCtCTzNNTixDQUFDLGdCUHVNWixxQk92TVcsQ0FBQywrQlAyTUsscUNPM01OLENBQUMsZ0JQdU1aLHFCT3ZNVyxDQUFDLCtCUDJNSyxxQ08zTU4sQ0FBQyxnQlB1TVosZU92TVcsQ0FBQywrQlAyTUssK0JPM01OLENBQUMsZ0JQdU1aLHFCT3ZNVyxDQUFDLCtCUDJNSyxxQ08zTU4sQ0FBQyxnQlB1TVoscUJPdk1XLENBQUMsK0JQMk1LLHFDTzNNTixDQUFDLGdCUHVNWixlT3ZNVyxDQUFDLCtCUDJNSywrQk8zTU4sQ0FBQyxpQlB1TVgscUJPdk1VLENBQUMsZ0NQMk1NLHFDTzNNUCxDQUFDLGlCUHVNWCxxQk92TVUsQ0FBQyxnQ1AyTU0scUNPM01QLENBQUMsMkMvQjRIZSxpQndCMkUxQixjT3ZNVSxDQUFDLGdDUDJNTSwrQk8zTVAsQ0FBQyxpQlB1TVgsb0JPdk1VLENBQUMsZ0NQMk1NLHFDTzNNUCxDQUFDLGlCUHVNWCxxQk92TVUsQ0FBQyxnQ1AyTU0sc0NPM01QLENBQUMsaUJQdU1YLGVPdk1VLENBQUMsZ0NQMk1NLGdDTzNNUCxDQUFDLGlCUHVNWCxxQk92TVUsQ0FBQyxnQ1AyTU0sc0NPM01QLENBQUMsaUJQdU1YLHFCT3ZNVSxDQUFDLGdDUDJNTSxzQ08zTVAsQ0FBQyxpQlB1TVgsZU92TVUsQ0FBQyxnQ1AyTU0sZ0NPM01QLENBQUMsaUJQdU1YLHFCT3ZNVSxDQUFDLGdDUDJNTSxzQ08zTVAsQ0FBQyxpQlB1TVgscUJPdk1VLENBQUMsZ0NQMk1NLHNDTzNNUCxDQUFDLGlCUHVNWCxlT3ZNVSxDQUFDLGdDUDJNTSxnQ08zTVAsQ0FBQyxrQlB1TVYscUJPdk1TLENBQUMsaUNQMk1PLHNDTzNNUixDQUFDLGtCUHVNVixxQk92TVMsQ0FBQyxpQ1AyTU8sc0NPM01SLENBQUMsQ1A2TTFCLDJDeEJqRnlDLGdCd0IyRTNCLGNPdk1XLENBQUMsK0JQMk1LLCtCTzNNTixDQUFDLGdCUHVNWixvQk92TVcsQ0FBQywrQlAyTUsscUNPM01OLENBQUMsZ0JQdU1aLHFCT3ZNVyxDQUFDLCtCUDJNSyxzQ08zTU4sQ0FBQyxnQlB1TVosZU92TVcsQ0FBQywrQlAyTUssZ0NPM01OLENBQUMsZ0JQdU1aLHFCT3ZNVyxDQUFDLCtCUDJNSyxzQ08zTU4sQ0FBQyxnQlB1TVoscUJPdk1XLENBQUMsK0JQMk1LLHNDTzNNTixDQUFDLGdCUHVNWixlT3ZNVyxDQUFDLCtCUDJNSyxnQ08zTU4sQ0FBQyxnQlB1TVoscUJPdk1XLENBQUMsK0JQMk1LLHNDTzNNTixDQUFDLGdCUHVNWixxQk92TVcsQ0FBQywrQlAyTUssc0NPM01OLENBQUMsZ0JQdU1aLGVPdk1XLENBQUMsK0JQMk1LLGdDTzNNTixDQUFDLGlCUHVNWCxxQk92TVUsQ0FBQyxnQ1AyTU0sc0NPM01QLENBQUMsaUJQdU1YLHFCT3ZNVSxDQUFDLGdDUDJNTSxzQ08zTVAsQ0FBQyxDUDZNMUIsUUF6SnFCLG1CRXRFakIsQ0ZzRWlCLG9CRXRFakIsQ0ZzRWlCLG1CRXRFakIsQ0ZzRWlCLFlFdEVqQixDQUFJLDJCQUZVLENBRVYsNEJBRlUsQ0FFViwrQkFGVSxDQUVWLDJCQUZVLENBRVYsdUJBRlUsQ0FBTSxjRnFQcEIsV0c5SU0sQ0FBSSxlQUNJLENBQUksY0hpSmxCLFdHdk1DLENBQUksZ0JIMk1ILFdHM01ELENBQUkseVBIeU5GLHVCQUNNLENBRE4sNEJBQ00sQ0FETixlQUNNLENBQUksMkN4QjVId0IsdVF3QjJIbEMsdUJBQ00sQ0FETiw0QkFDTSxDQUROLGVBQ00sQ0FBSSxDQUNqQiwyQ3hCN0h5Qyx5UHdCMkhsQyx1QkFDTSxDQUROLDRCQUNNLENBRE4sZUFDTSxDQUFJLENBQ2pCLCtNQVcyQyxrQkcvTDNDLENIK0wyQyxxQkcvTDNDLENIK0wyQyxpQkcvTDNDLENIK0wyQyxhRy9MM0MsQ0FBQyxpQkg4TVUsZUl0TFIsQ0FBbUQsaUJKc0wzQyxnQkl0TFIsQ0FBbUQsaUJKc0wzQyxVSXRMUixDQUFtRCxpQkpzTDNDLGdCSXRMUixDQUFtRCxpQkpzTDNDLGdCSXRMUixDQUFtRCxpQkpzTDNDLFVJdExSLENBQW1ELGlCSnNMM0MsZ0JJdExSLENBQW1ELGlCSnNMM0MsZ0JJdExSLENBQW1ELGlCSnNMM0MsVUl0TFIsQ0FBbUQsa0JKc0wxQyxnQkl0TFQsQ0FBbUQsa0JKc0wxQyxnQkl0TFQsQ0FBbUQsa0JKc0wxQyxXSXRMVCxDQUFtRCwyQzVCK0JiLHFCd0JtSTFCLGtCRzFMZixDSDBMZSxvQkcxTGYsQ0gwTGUsZ0JHMUxmLENIMExlLFlHMUxmLENBQUMsV0F2Q0ksQ0FBSSxrUEhzT2tDLGtCRy9MM0MsQ0grTDJDLHFCRy9MM0MsQ0grTDJDLGlCRy9MM0MsQ0grTDJDLGFHL0wzQyxDQUFDLHVCSHFNZ0IsV0c1T1osQ0FBSSxrQkhxUEcsZUl0TFQsQ0FBbUQsa0JKc0wxQyxnQkl0TFQsQ0FBbUQsa0JKc0wxQyxVSXRMVCxDQUFtRCxrQkpzTDFDLGdCSXRMVCxDQUFtRCxrQkpzTDFDLGdCSXRMVCxDQUFtRCxrQkpzTDFDLFVJdExULENBQW1ELGtCSnNMMUMsZ0JJdExULENBQW1ELGtCSnNMMUMsZ0JJdExULENBQW1ELGtCSnNMMUMsVUl0TFQsQ0FBbUQsbUJKc0x6QyxnQkl0TFYsQ0FBbUQsbUJKc0x6QyxnQkl0TFYsQ0FBbUQsbUJKc0x6QyxXSXRMVixDQUFtRCxDSnlMcEQsMkN4QjFKdUMsb0J3Qm1JM0Isa0JHMUxkLENIMExjLG9CRzFMZCxDSDBMYyxnQkcxTGQsQ0gwTGMsWUcxTGQsQ0FBQyxXQXZDSSxDQUFJLHFPSHNPa0Msa0JHL0wzQyxDSCtMMkMscUJHL0wzQyxDSCtMMkMsaUJHL0wzQyxDSCtMMkMsYUcvTDNDLENBQUMsc0JIcU1lLFdHNU9YLENBQUksaUJIcVBFLGVJdExSLENBQW1ELGlCSnNMM0MsZ0JJdExSLENBQW1ELGlCSnNMM0MsVUl0TFIsQ0FBbUQsaUJKc0wzQyxnQkl0TFIsQ0FBbUQsaUJKc0wzQyxnQkl0TFIsQ0FBbUQsaUJKc0wzQyxVSXRMUixDQUFtRCxpQkpzTDNDLGdCSXRMUixDQUFtRCxpQkpzTDNDLGdCSXRMUixDQUFtRCxpQkpzTDNDLFVJdExSLENBQW1ELGtCSnNMMUMsZ0JJdExULENBQW1ELGtCSnNMMUMsZ0JJdExULENBQW1ELGtCSnNMMUMsV0l0TFQsQ0FBbUQsQ0p5THBELGdDQVNZLG1CQ25UZSxDQUFpQyxzQkFBakMsQ0FBaUMsMkN6QmdKckIsZ0N3Qm1LM0Isb0JDblRlLENBQWlDLHVCQUFqQyxDQUFpQyxDRHFUOUQsc0JBR00sbUJDeFR1QixDQUFpQyxzQkFBakMsQ0FBaUMsMkN6QmdKckIsc0J3QndLbkMsb0JDeFR1QixDQUFpQyx1QkFBakMsQ0FBaUMsQ0QwVDlELGVBbk5TLG1CQ3ZHb0IsQ0FBaUMsc0JBQWpDLENBQWlDLDJDekJnSnJCLGV3QnpDaEMsb0JDdkdvQixDQUFpQyx1QkFBakMsQ0FBaUMsQ0RzSWxFLHFCQTNCUSwyQkc3QnVDLENBQWdELGtCRnJFaEUsQ0FBaUMscUJBQWpDLENBQWlDLDJDekJ1SW5CLHFCd0JyQ3JDLDRCRzdCdUMsQ0FBZ0QsbUJGckVoRSxDQUFpQyxzQkFBakMsQ0FBaUMsQ0QyRzFELHFCQXJDQSxXRzdCRyxDQUFJLHVCSGlDTCxXR2pDQyxDQUFJLHdCSHlDRiwrQkdib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsMEJHYm9DLENBQWdELHdCSGFwRixnQ0dib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsMEJHYm9DLENBQWdELHdCSGFwRixnQ0dib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsMEJHYm9DLENBQWdELHlCSGFuRixnQ0dibUMsQ0FBZ0QseUJIYW5GLGdDR2JtQyxDQUFnRCx5QkhhbkYsMkJHYm1DLENBQWdELDJDM0JrRWxELHFCd0JqRXZDLFdHN0JHLENBQUksdUJIaUNMLFdHakNDLENBQUksd0JIeUNGLGdDR2JvQyxDQUFnRCx3QkhhcEYsaUNHYm9DLENBQWdELHdCSGFwRiwyQkdib0MsQ0FBZ0Qsd0JIYXBGLGlDR2JvQyxDQUFnRCx3QkhhcEYsaUNHYm9DLENBQWdELHdCSGFwRiwyQkdib0MsQ0FBZ0Qsd0JIYXBGLGlDR2JvQyxDQUFnRCx3QkhhcEYsaUNHYm9DLENBQWdELHdCSGFwRiwyQkdib0MsQ0FBZ0QseUJIYW5GLGlDR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRiw0QkdibUMsQ0FBZ0QsNEJIQ2xGLFdHN0JKLENBQUksOEJIaUNFLFdHakNOLENBQUkseUJIeUNELGdDR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRiwyQkdibUMsQ0FBZ0QseUJIYW5GLGlDR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRiwyQkdibUMsQ0FBZ0QseUJIYW5GLGlDR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRiwyQkdibUMsQ0FBZ0QsMEJIYWxGLGlDR2JrQyxDQUFnRCwwQkhhbEYsaUNHYmtDLENBQWdELDBCSGFsRiw0Qkdia0MsQ0FBZ0QsQ0hlN0YsMkN4Qm1EMkMsMkJ3QmpFakMsV0c3QkgsQ0FBSSw2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Q0FBZ0Qsd0JIYXBGLGlDR2JvQyxDQUFnRCx3QkhhcEYsaUNHYm9DLENBQWdELHdCSGFwRiwyQkdib0MsQ0FBZ0QseUJIYW5GLGlDR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRiw0QkdibUMsQ0FBZ0QsNEJIQ2xGLFdHN0JKLENBQUksOEJIaUNFLFdHakNOLENBQUkseUJIeUNELGdDR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRiwyQkdibUMsQ0FBZ0QseUJIYW5GLGlDR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRiwyQkdibUMsQ0FBZ0QseUJIYW5GLGlDR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRiwyQkdibUMsQ0FBZ0QsMEJIYWxGLGlDR2JrQyxDQUFnRCwwQkhhbEYsaUNHYmtDLENBQWdELDBCSGFsRiw0Qkdia0MsQ0FBZ0QsQ0hlN0YsMkN4Qm1EMkMsMkJ3QmpFakMsV0c3QkgsQ0FBSSw2QkhpQ0MsV0dqQ0wsQ0FBSSx3Qkh5Q0YsZ0NHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLDJCR2JvQyxDQUFnRCx3QkhhcEYsaUNHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLDJCR2JvQyxDQUFnRCx3QkhhcEYsaUNHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLDJCR2JvQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRixpQ0dibUMsQ0FBZ0QseUJIYW5GLDRCR2JtQyxDQUFnRCxDSGU3RiwwQkFrVHdCLDRCUTVZYixDQUEyQiwyQ2hDNklLLDBCd0IrUG5CLDZCUTVZYixDQUEyQixDUjhZdEMsMkN4QmpRMkMsMEJ3QitQbkIsNkJRNVliLENBQTJCLENSOFl0QywyQ3hCalEyQyxpQ3dCbVFWLDZCUWhadEIsQ0FBMkIsQ1JrWnBDLDJDeEJyUXlDLGdDd0JtUVgsNkJRaFpyQixDQUEyQixDUmtacEMsS1MxWkQsZXJCNkRNLENBQTZDLGlCc0IxQnZDLENBQUksZ0JBQ0wsQ0FBSSx5QnhCMkdYLGFBQ0csQ0FBSyxXQUNMLENBQUcsb0JBR0UsQ0FIRix5QkFHRSxDQUhGLFlBR0UsQ0FBQywyQkFDUixDQURRLGVBQ1IsQ0FEUSxnQkFDUixDQURRLE9BQ04sQ0FBQyxZQUlKLFVBQ0MsQ0FBSSw2Q3VCckpLLGVyQjZEUixDQUFDLGNBQUQsQ0FBQyxVcUJ2REgscUJDNENHLENBQXNELG9CQUF0RCxDQUFzRCwyQ2xDOEZuQixVaUMxSXRDLHNCQzRDRyxDQUFzRCxxQkFBdEQsQ0FBc0QsQ0RyQzlELDJDakNtSTJDLFVpQzFJdEMsc0JDNENHLENBQXNELHFCQUF0RCxDQUFzRCxDRHJDOUQsbUJBSlcsY0FDTSxDQUFDLGFBQ0YsQ0FBQyxjQUtSLGNDOENILENBQUksbUJEM0NMLGlCQUNZLENBQUksZ0JBQ0wsQ0FBSSx5QkFJQSxjQ3FDZCxDQUFJLHFERDVCUyxxQkU5Q1YsQ0FBMkIsb0JBQTNCLENBQTJCLHVERjhDakIsc0JFOUNWLENBQTJCLHFCQUEzQixDQUEyQixpQkZ1RDNCLFVMc0VKLENBQW1ELFVwQnZCTixDQUFJLHFCMkJ0RzdDLENBQTJCLG9CQUEzQixDQUEyQiwyQ25DNEpPLGlCaUNyR2xDLHNCRXZEQSxDQUEyQixxQkFBM0IsQ0FBMkIsQ0YrRHRDLDRGR2hFbUMsVTVCdUdpQixDQUFJLFU0QnJHOUMsQ0FBSSwyRUFLb0IsVzVCaUdrQixDQUFLLHFFNEJuRG5DLFU1QmtEOEIsQ0FBSSxpQ3lCbkM3QixVQUNuQixDQUFJLDJDQUl3QixjQUNyQixDQUFDLGFBQ0YsQ0FBQyxlQUNDLENBQUMsY0FDRixDQUFDLFNBTUwsY0wyQ0osQ0FBbUQsY0twQ3RDLGlCR3pFVCxDQUFRLGFBRlQsQ0FBMEMsY0hpRmhDLGlCRy9FVCxDQUFRLGNBRlQsQ0FBMEMsZ0JIMkZoQixjTG9CN0IsQ0FBbUQsU0szQy9DLGVMMkNKLENBQW1ELGNLcEN0QyxpQkd6RVQsQ0FBUSxjQUZULENBQTBDLGNIaUZoQyxpQkcvRVQsQ0FBUSxlQUZULENBQTBDLGdCSDJGaEIsb0JMb0I3QixDQUFtRCxTSzNDL0MsU0wyQ0osQ0FBbUQsY0twQ3RDLGlCR3pFVCxDQUFRLFFBRlQsQ0FBMEMsY0hpRmhDLGlCRy9FVCxDQUFRLFNBRlQsQ0FBMEMsZ0JIMkZoQixxQkxvQjdCLENBQW1ELFNLM0MvQyxlTDJDSixDQUFtRCxjS3BDdEMsaUJHekVULENBQVEsY0FGVCxDQUEwQyxjSGlGaEMsaUJHL0VULENBQVEsZUFGVCxDQUEwQyxnQkgyRmhCLGVMb0I3QixDQUFtRCxTSzNDL0MsZUwyQ0osQ0FBbUQsY0twQ3RDLGlCR3pFVCxDQUFRLGNBRlQsQ0FBMEMsY0hpRmhDLGlCRy9FVCxDQUFRLGVBRlQsQ0FBMEMsZ0JIMkZoQixxQkxvQjdCLENBQW1ELFNLM0MvQyxTTDJDSixDQUFtRCxjS3BDdEMsaUJHekVULENBQVEsUUFGVCxDQUEwQyxjSGlGaEMsaUJHL0VULENBQVEsU0FGVCxDQUEwQyxnQkgyRmhCLHFCTG9CN0IsQ0FBbUQsU0szQy9DLGVMMkNKLENBQW1ELGNLcEN0QyxpQkd6RVQsQ0FBUSxjQUZULENBQTBDLGNIaUZoQyxpQkcvRVQsQ0FBUSxlQUZULENBQTBDLGdCSDJGaEIsZUxvQjdCLENBQW1ELFNLM0MvQyxlTDJDSixDQUFtRCxjS3BDdEMsaUJHekVULENBQVEsY0FGVCxDQUEwQyxjSGlGaEMsaUJHL0VULENBQVEsZUFGVCxDQUEwQyxnQkgyRmhCLHFCTG9CN0IsQ0FBbUQsU0szQy9DLFNMMkNKLENBQW1ELGNLcEN0QyxpQkd6RVQsQ0FBUSxRQUZULENBQTBDLGNIaUZoQyxpQkcvRVQsQ0FBUSxTQUZULENBQTBDLGdCSDJGaEIscUJMb0I3QixDQUFtRCxVSzNDOUMsZUwyQ0wsQ0FBbUQsZUtwQ3JDLGlCR3pFVixDQUFRLGNBRlQsQ0FBMEMsZUhpRi9CLGlCRy9FVixDQUFRLGVBRlQsQ0FBMEMsZ0JIMkZoQixlTG9CN0IsQ0FBbUQsVUszQzlDLGVMMkNMLENBQW1ELGVLcENyQyxpQkd6RVYsQ0FBUSxjQUZULENBQTBDLGVIaUYvQixpQkcvRVYsQ0FBUSxlQUZULENBQTBDLGlCSDJGaEIscUJM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Q0FBQSxvQkFHRyxDQUhILHlCQUdHLENBSEgsWUFHRyxDQUFFLDJCQUNaLENBRFksZUFDWixDQURZLGdCQUNaLENBRFksT0FDUCxDQUFFLGlCQUlWLFVBQ1EsQ0FBQSxZQUNSLHNCdURwTDhDLEN2RG9MOUMsa0N1RHBMOEMsQ3ZEb0w5QyxtQnVEcEw4QyxDdkRvTDlDLDBCdURwTDhDLENBQUEsYUN3RTdDLG9CRHZFZ0QsQ0N1RWhELGdDRHZFZ0QsQ0N1RWhELGlCRHZFZ0QsQ0N1RWhELHdCRHZFZ0QsQ0FBQSxjQ3VFaEQsdUJEdEVVLENDc0VWLDhCRHRFVSxDQ3NFVixvQkR0RVUsQ0NzRVYsc0JEdEVVLENBQUEsZUNzRVYsd0JEckVXLENDcUVYLHFDRHJFVyxDQ3FFWCxxQkRyRVcsQ0NxRVgsNkJEckVXLENBQUEsY0NxRVgsb0NEcEVVLENDb0VWLHdCRHBFVSxDQ29FViw0QkRwRVUsQ0FBQSwrQkM2RVEsc0JEakYyQixDQ2lGM0Isa0NEakYyQixDQ2lGM0IsbUJEakYyQixDQ2lGM0IsMEJEakYyQixDQUFBLGdDQ2lGM0Isb0JEaEY4QixDQ2dGOUIsZ0NEaEY4QixDQ2dGOUIsaUJEaEY4QixDQ2dGOUIsd0JEaEY4QixDQUFBLGlDQ2dGOUIsdUJEL0VSLENDK0VRLDhCRC9FUixDQytFUSxvQkQvRVIsQ0MrRVEsc0JEL0VSLENBQUEsV0NpRkwsdUJEdkVBLENDdUVBLDhCRHZFQSxDQ3VFQSxvQkR2RUEsQ0N1RUEsc0JEdkVBLENBQUEsZ0JDZ0ZKLDZCRGhGSSxDQ2dGSix5QkRoRkksQ0NnRkoscUJEaEZJLENBQUEsY0M4RUwscUJEN0VRLENDNkVSLDRCRDdFUSxDQzZFUixrQkQ3RVEsQ0M2RVIsb0JEN0VRLENBQUEsbUJDK0VQLDJCRC9FTyxDQytFUCx1QkQvRU8sQ0MrRVAsbUJEL0VPLENBQUEsY0M2RVIsd0JENUVRLENDNEVSLDBCRDVFUSxDQzRFUixxQkQ1RVEsQ0M0RVIsa0JENUVRLENBQUEsbUJDOEVQLHlCRDlFTyxDQzhFUCwwQkQ5RU8sQ0M4RVAsaUJEOUVPLENBQUEsZUM0RVIseUJEM0VTLENDMkVULDJCRDNFUyxDQzJFVCxzQkQzRVMsQ0MyRVQsbUJEM0VTLENBQUEsb0JDNkVSLDBCRDdFUSxDQzZFUiwyQkQ3RVEsQ0M2RVIsa0JEN0VRLENBQUEscUJDaUZSLHVCRDlGUyxDQzhGVCw4QkQ5RlMsQ0M4RlQsb0JEOUZTLENDOEZULHNCRDlGUyxDQUFBLHdCQVlGLENBWkUsMEJBWUYsQ0FaRSxxQkFZRixDQVpFLGtCQVlGLENBQUEsNEJDd0ZPLENEeEZQLHlCQ3dGTyxDRHhGUCxvQkN3Rk8sQ0FBQSxlQUNoQiwyQkQzQkQsQ0MyQkMsZUQzQkQsQ0MyQkMsZ0JEM0JELENDMkJDLE9EM0JJLENDK0JVLGVBQ1gsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSxlQUNYLDJCRGhDSixDQ2dDSSxlRGhDSixDQ2dDSSxnQkRoQ0osQ0NnQ0ksT0RoQ0MsQ0MrQlUsZUFDWCwyQkRoQ0osQ0NnQ0ksZURoQ0osQ0NnQ0ksZ0JEaENKLENDZ0NJLE9EaENDLENDK0JVLGVBQ1gsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSxlQUNYLDJCRGhDSixDQ2dDSSxlRGhDSixDQ2dDSSxnQkRoQ0osQ0NnQ0ksT0RoQ0MsQ0MrQlUsMkNsRW1FK0IsZ0JrRWxFMUMsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSxnQkFDWCwyQkRoQ0osQ0NnQ0ksZURoQ0osQ0NnQ0ksZ0JEaENKLENDZ0NJLE9EaENDLENDK0JVLGdCQUNYLDJCRGhDSixDQ2dDSSxlRGhDSixDQ2dDSSxnQkRoQ0osQ0NnQ0ksT0RoQ0MsQ0MrQlUsZ0JBQ1gsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSxnQkFDWCwyQkRoQ0osQ0NnQ0ksZURoQ0osQ0NnQ0ksZ0JEaENKLENDZ0NJLE9EaENDLENDK0JVLGdCQUNYLDJCRGhDSixDQ2dDSSxlRGhDSixDQ2dDSSxnQkRoQ0osQ0NnQ0ksT0RoQ0MsQ0MrQlUsQ0FBQywyQ2xFbUU4Qixla0VsRTFDLDJCRGhDSixDQ2dDSSxlRGhDSixDQ2dDSSxnQkRoQ0osQ0NnQ0ksT0RoQ0MsQ0MrQlUsZUFDWCwyQkRoQ0osQ0NnQ0ksZURoQ0osQ0NnQ0ksZ0JEaENKLENDZ0NJLE9EaENDLENDK0JVLGVBQ1gsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSxlQUNYLDJCRGhDSixDQ2dDSSxlRGhDSixDQ2dDSSxnQkRoQ0osQ0NnQ0ksT0RoQ0MsQ0MrQlUsZUFDWCwyQkRoQ0osQ0NnQ0ksZURoQ0osQ0NnQ0ksZ0JEaENKLENDZ0NJLE9EaENDLENDK0JVLGVBQ1gsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSxDQUFDLGdCQTVGaEIsbUJEWVMsQ0NaVCxvQkRZUyxDQ1pULG1CRFlTLENDWlQsWURZUyxDQUFBLGlCQ1ZSLGtCQUdPLENBSFAscUJBR08sQ0FIUCxpQkFHTyxDQUhQLGFBR08sQ0FBQSxpQkFDUCxrQkFHTyxDQUhQLHFCQUdPLENBSFAsaUJBR08sQ0FIUCxhQUdPLENBQUEsbUJBQ1Asa0JBR08sQ0FIUCxxQkFHTyxDQUhQLGlCQUdPLENBSFAsYUFHTyxDQUFBLGNBQ1AsNkJEVk0sQ0NVTiw0QkRWTSxDQ1VOLDBCRFZNLENDVU4sc0JEVk0sQ0NVTixrQkRWTSxDQUFBLHNCQ2FMLDZCRFphLENDWWIsNkJEWmEsQ0NZYixrQ0RaYSxDQ1liLDhCRFphLENDWWIsMEJEWmEsQ0FBQSxpQkNZYiwyQkRYUSxDQ1dSLDRCRFhRLENDV1IsNkJEWFEsQ0NXUix5QkRYUSxDQ1dSLHFCRFhRLENBQUEseUJDV1IsMkJEVmdCLENDVWhCLDZCRFZnQixDQ1VoQixxQ0RWZ0IsQ0NVaEIsaUNEVmdCLENDVWhCLDZCRFZnQixDQUFBLDJDakV3SjRCLHVCa0VwSXRDLG1CRGZDLENDZUQsb0JEZkMsQ0NlRCxtQkRmQyxDQ2VELFlEZkMsQ0FBQSx3QkNpQkEsa0JBR08sQ0FIUCxxQkFHTyxDQUhQLGlCQUdPLENBSFAsYUFHTyxDQUFBLHdCQUNQLGtCQUdPLENBSFAscUJBR08sQ0FIUCxpQkFHTyxDQUhQLGFBR08sQ0FBQSwwQkFDUCxrQkFHTyxDQUhQLHFCQUdPLENBSFAsaUJBR08sQ0FIUCxhQUdPLENBQUEscUJBQ1AsNkJEckNGLENDcUNFLDRCRHJDRixDQ3FDRSwwQkRyQ0YsQ0NxQ0Usc0JEckNGLENDcUNFLGtCRHJDRixDQUFBLDZCQ3dDRyw2QkR2Q0ssQ0N1Q0wsNkJEdkNLLENDdUNMLGtDRHZDSyxDQ3VDTCw4QkR2Q0ssQ0N1Q0wsMEJEdkNLLENBQUEsd0JDdUNMLDJCRHRDQSxDQ3NDQSw0QkR0Q0EsQ0NzQ0EsNkJEdENBLENDc0NBLHlCRHRDQSxDQ3NDQSxxQkR0Q0EsQ0FBQSxnQ0NzQ0EsMkJEckNRLENDcUNSLDZCRHJDUSxDQ3FDUixxQ0RyQ1EsQ0NxQ1IsaUNEckNRLENDcUNSLDZCRHJDUSxDQUFBLENBQWMsMkNqRXdKYyxzQmtFcEl0QyxtQkRmQyxDQ2VELG9CRGZDLENDZUQsbUJEZkMsQ0NlRCxZRGZDLENBQUEsdUJDaUJBLGtCQUdPLENBSFAscUJBR08sQ0FIUCxpQkFHTyxDQUhQLGFBR08sQ0FBQSx1QkFDUCxrQkFHTyxDQUhQLHFCQUdPLENBSFAsaUJBR08sQ0FIUCxhQUdPLENBQUEseUJBQ1Asa0JBR08sQ0FIUCxxQkFHTyxDQUhQLGlCQUdPLENBSFAsYUFHTyxDQUFBLG9CQUNQLDZCRHJDRixDQ3FDRSw0QkRyQ0YsQ0NxQ0UsMEJEckNGLENDcUNFLHNCRHJDRixDQ3FDRSxrQkRyQ0YsQ0FBQSw0QkN3Q0csNkJEdkNLLENDdUNMLDZCRHZDSyxDQ3VDTCxrQ0R2Q0ssQ0N1Q0wsOEJEdkNLLENDdUNMLDBCRHZDSyxDQUFBLHVCQ3VDTCwyQkR0Q0EsQ0NzQ0EsNEJEdENBLENDc0NBLDZCRHRDQSxDQ3NDQSx5QkR0Q0EsQ0NzQ0EscUJEdENBLENBQUEsK0JDc0NBLDJCRHJDUSxDQ3FDUiw2QkRyQ1EsQ0NxQ1IscUNEckNRLENDcUNSLGlDRHJDUSxDQ3FDUiw2QkRyQ1EsQ0FBQSxDQUFjLE1Fd0NoQyx1QkFDVyxDQUFBLFdBQ1YsaUJBR2EsQ0FBQSxpRG5FMkdzQyxxQm1FNUZsRCx1QkExQlMsQ0FBQSxDQUFlLGlFQW5Cc0MscUJBaUQ5RCx1QkFoRFcsQ0FBQSxDQUFlLDJDbkV3SWtCLGlCbUVyRzFDLHVCQXpCTyxDQUFBLENBQWUsMENuRW1Jb0IsaUJtRXRHMUMsdUJBakVPLENBQUEsQ0FBZSx1RW5Fa0tnRCxzQm1FNUZ4RSx1QkExQlMsQ0FBQSxDQUFlLHdFQW5CNkMsc0JBaURyRSx1QkFoRFcsQ0FBQSxDQUFlLDJDbkV3SWtCLGdCbUVyRzFDLHVCQXpCTyxDQUFBLENBQWUsMENuRW1Jb0IsZ0JtRXRHMUMsdUJBakVPLENBQUEsQ0FBZSx1RW5Fa0tnRCxxQm1FNUZ4RSx1QkExQlMsQ0FBQSxDQUFlLHdFQW5CNkMscUJBaURyRSx1QkFoRFcsQ0FBQSxDQUFlLDRCQXdENUIsNEJ6RHdIbUIsQ0FBQSxvQkFDUixDQUFBLHFCQUNDLENBQUEsb0JBQ0QsQ0FBQSwwQkFDTSxDQUFBLGdDQUNHLENBQUEsNkJBQ0EsQ0FBQSxtQkFDVixDQUFBLDJDeUQxSEksMEJ6RG9JRyxDQUFBLHFCQUNMLENBQUEsc0JBQ0MsQ0FBQSwyQkFDSyxDQUFBLG9CQUNQLENBQUEsNkJBQ1MsQ0FBQSx1Q3lEaElwQix3QkFDVyxDQUFBLDJDbkVzRW9DLHVDbUV2RS9DLHdCQUlhLENBQUEsQ0FBZ0IsMENuRW1FaUIsdUNtRXZFOUMsdUJBUWEsQ0FBQSxDQUFlLHVDQUs1Qix1QkFDVyxDQUFBLDJDbkV5RG9DLHVDbUUxRC9DLHVCQUlhLENBQUEsQ0FBZSwwQ25Fc0RrQix1Q21FMUQ5Qyx3QkFRYSxDQUFBLENBQWdCLHlCQzlHMUIsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxtQ0NjRyxDRGRILCtCQ2NHLENEZEgsMkJDY0csQ0FBQSxzREN0QmEsQ0RzQmIsOENDdEJhLENEc0JiLHNDQ3RCYSxDRHNCYix5REN0QmEsQ0FBQSxrQ0FHRixDQUhFLDBCQUdGLENBQUEsMENIQ1YsK0JFa0JELENGbEJDLDJCRWtCRCxDRmxCQyx1QkVrQkQsQ0FBQSx5QkY5QlQsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxtQ0NjRyxDRGRILCtCQ2NHLENEZEgsMkJDY0csQ0FBQSxzREN0QmEsQ0RzQmIsOENDdEJhLENEc0JiLHNDQ3RCYSxDRHNCYix5REN0QmEsQ0FBQSxrQ0FHRixDQUhFLDBCQUdGLENBQUEsMENIQ1YsK0JFa0JELENGbEJDLDJCRWtCRCxDRmxCQyx1QkVrQkQsQ0FBQSx1QkY5QlQsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxrQ0NjRyxDRGRILDhCQ2NHLENEZEgsMEJDY0csQ0FBQSxzREN0QmEsQ0RzQmIsOENDdEJhLENEc0JiLHNDQ3RCYSxDRHNCYix5REN0QmEsQ0FBQSxrQ0FHRixDQUhFLDBCQUdGLENBQUEsd0NIQ1YsK0JFa0JELENGbEJDLDJCRWtCRCxDRmxCQyx1QkVrQkQsQ0FBQSwwQkY5QlQsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxrQ0NjRyxDRGRILDhCQ2NHLENEZEgsMEJDY0csQ0FBQSxzREN0QmEsQ0RzQmIsOENDdEJhLENEc0JiLHNDQ3RCYSxDRHNCYix5REN0QmEsQ0FBQSxrQ0FHRixDQUhFLDBCQUdGLENBQUEsMkNIQ1YsK0JFa0JELENGbEJDLDJCRWtCRCxDRmxCQyx1QkVrQkQsQ0FBQSwwQkY5QlQsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSwrQkNjRyxDRGRILDJCQ2NHLENEZEgsdUJDY0csQ0FBQSxzREN0QmEsQ0RzQmIsOENDdEJhLENEc0JiLHNDQ3RCYSxDRHNCYix5REN0QmEsQ0FBQSxrQ0FHRixDQUhFLDBCQUdGLENBQUEsMkNIQ1Ysa0NFa0JELENGbEJDLDhCRWtCRCxDRmxCQywwQkVrQkQsQ0FBQSwyQkY5QlQsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSwrQkNjRyxDRGRILDJCQ2NHLENEZEgsdUJDY0csQ0FBQSxzREN0QmEsQ0RzQmIsOENDdEJhLENEc0JiLHNDQ3RCYSxDRHNCYix5REN0QmEsQ0FBQSxrQ0FHRixDQUhFLDBCQUdGLENBQUEsNENIQ1Ysa0NFa0JELENGbEJDLDhCRWtCRCxDRmxCQywwQkVrQkQsQ0FBQSx3QkY5QlQsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSwrQkNjRyxDRGRILDJCQ2NHLENEZEgsdUJDY0csQ0FBQSxzREN0QmEsQ0RzQmIsOENDdEJhLENEc0JiLHNDQ3RCYSxDRHNCYix5REN0QmEsQ0FBQSxrQ0FHRixDQUhFLDBCQUdGLENBQUEseUNIQ1YsbUNFa0JELENGbEJDLCtCRWtCRCxDRmxCQywyQkVrQkQsQ0FBQSwwQkY5QlQsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSwrQkNjRyxDRGRILDJCQ2NHLENEZEgsdUJDY0csQ0FBQSxzREN0QmEsQ0RzQmIsOENDdEJhLENEc0JiLHNDQ3RCYSxDRHNCYix5REN0QmEsQ0FBQSxrQ0FHRixDQUhFLDBCQUdGLENBQUEsMkNIQ1YsbUNFa0JELENGbEJDLCtCRWtCRCxDRmxCQywyQkVrQkQsQ0FBQSxtQkY5QlQsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxTQ2dCQyxDRWhDeUIsbUNDRVosQ0RGWSwyQkNFWixDQUFBLG9DTFVWLFNFb0JILENFaEM0QixvQkpBbkMsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxTQ2dCQyxDRS9CeUIsbUNDQ1osQ0REWSwyQkNDWixDQUFBLHFDTFVWLFNFb0JILENFL0I0Qiw2QkpEbkMsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxxREtyQkYsQ0xxQkUsNkNLckJGLENBQUEsNEJGUzJDLENFVDNDLHdCRlMyQyxDRVQzQyxvQkZTMkMsQ0FBQSxzREdJekIsQ0hKeUIsOENHSXpCLENISnlCLHNDR0l6QixDSEp5Qix5REdJekIsQ0FBQSxTQUNkLENBQW1CLDhDUEdqQixrRE1XcUIsQ05YckIsMENNV3FCLENBQUEsU0NKdkIsQ0FBbUIsK0JQbkIzQixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLHFES3BCQSxDTG9CQSw2Q0twQkEsQ0FBQSw4QkZTeUMsQ0VUekMsMEJGU3lDLENFVHpDLHNCRlN5QyxDQUFBLHNER0d6QixDSEh5Qiw4Q0dHekIsQ0hIeUIsc0NHR3pCLENISHlCLHlER0d6QixDQUFBLFNBQ2QsQ0FBbUIsZ0RQR2pCLGtETVdxQixDTlhyQiwwQ01XcUIsQ0FBQSxTQ0p2QixDQUFtQixnQ1BuQjNCLGlDQ0FNLENEQU4seUJDQU0sQ0FBQSx5Q0FnQkEsQ0FoQkEsaUNBZ0JBLENBQUEsb0RLbkJDLENMbUJELDRDS25CQyxDQUFBLCtCRlN3QyxDRVR4QywyQkZTd0MsQ0VUeEMsdUJGU3dDLENBQUEsc0RHRXpCLENIRnlCLDhDR0V6QixDSEZ5QixzQ0dFekIsQ0hGeUIseURHRXpCLENBQUEsU0FDZCxDQUFtQixpRFBHakIsa0RNV3FCLENOWHJCLDBDTVdxQixDQUFBLFNDSnZCLENBQW1CLDhCUG5CM0IsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxvREtsQkQsQ0xrQkMsNENLbEJELENBQUEsNkJGUzBDLENFVDFDLHlCRlMwQyxDRVQxQyxxQkZTMEMsQ0FBQSxzREdDekIsQ0hEeUIsOENHQ3pCLENIRHlCLHNDR0N6QixDSER5Qix5REdDekIsQ0FBQSxTQUNkLENBQW1CLCtDUEdqQixrRE1XcUIsQ05YckIsMENNV3FCLENBQUEsU0NKdkIsQ0FBbUIsa0NQbkIzQixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLHFES3JCRixDTHFCRSw2Q0tyQkYsQ0FBQSwrQkF1Q0ksQ0F2Q0osMkJBdUNJLENBdkNKLHVCQXVDSSxDQUFBLHNEQzFCYyxDRDBCZCw4Q0MxQmMsQ0QwQmQsc0NDMUJjLENEMEJkLHlEQzFCYyxDQUFBLFNBQ2QsQ0FBbUIsbURQR2pCLGtETVdxQixDTlhyQiwwQ01XcUIsQ0FBQSxTQ0p2QixDQUFtQixrQ1BuQjNCLGlDQ0FNLENEQU4seUJDQU0sQ0FBQSx5Q0FnQkEsQ0FoQkEsaUNBZ0JBLENBQUEscURLcEJBLENMb0JBLDZDS3BCQSxDQUFBLCtCQXNDRSxDQXRDRiwyQkFzQ0UsQ0F0Q0YsdUJBc0NFLENBQUEsc0RDMUJjLENEMEJkLDhDQzFCYyxDRDBCZCxzQ0MxQmMsQ0QwQmQseURDMUJjLENBQUEsU0FDZCxDQUFtQixtRFBHakIsa0RNV3FCLENOWHJCLDBDTVdxQixDQUFBLFNDSnZCLENBQW1CLDhCUG5CM0IsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxrREtTMkIsQ0xUM0IsMENLUzJCLENBQUEsNEJGZmMsQ0VlZCx3QkZmYyxDRWVkLG9CRmZjLENBQUEsc0RHRnpCLENIRXlCLDhDR0Z6QixDSEV5QixzQ0dGekIsQ0hFeUIseURHRnpCLENBQUEsU0FDZCxDQUFzQiwrQ1BHcEIsb0RNWE4sQ05XTSw0Q01YTixDQUFBLFNDa0JJLENBQXNCLGdDUG5COUIsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxrREtTMkIsQ0xUM0IsMENLUzJCLENBQUEsOEJGZGMsQ0VjZCwwQkZkYyxDRWNkLHNCRmRjLENBQUEsc0RHSHpCLENIR3lCLDhDR0h6QixDSEd5QixzQ0dIekIsQ0hHeUIseURHSHpCLENBQUEsU0FDZCxDQUFzQixpRFBHcEIsb0RNVkosQ05VSSw0Q01WSixDQUFBLFNDaUJFLENBQXNCLGlDUG5COUIsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxrREtTMkIsQ0xUM0IsMENLUzJCLENBQUEsK0JGYmMsQ0VhZCwyQkZiYyxDRWFkLHVCRmJjLENBQUEsc0RHSnpCLENISXlCLDhDR0p6QixDSEl5QixzQ0dKekIsQ0hJeUIseURHSnpCLENBQUEsU0FDZCxDQUFzQixrRFBHcEIscURNVEgsQ05TRyw2Q01USCxDQUFBLFNDZ0JDLENBQXNCLCtCUG5COUIsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxrREtTMkIsQ0xUM0IsMENLUzJCLENBQUEsNkJGWmMsQ0VZZCx5QkZaYyxDRVlkLHFCRlpjLENBQUEsc0RHTHpCLENIS3lCLDhDR0x6QixDSEt5QixzQ0dMekIsQ0hLeUIseURHTHpCLENBQUEsU0FDZCxDQUFzQixnRFBHcEIscURNUkwsQ05RSyw2Q01STCxDQUFBLFNDZUcsQ0FBc0IsbUNQbkI5QixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLGtES1MyQixDTFQzQiwwQ0tTMkIsQ0FBQSwrQkFTekIsQ0FUeUIsMkJBU3pCLENBVHlCLHVCQVN6QixDQUFBLHNEQzFCYyxDRDBCZCw4Q0MxQmMsQ0QwQmQsc0NDMUJjLENEMEJkLHlEQzFCYyxDQUFBLFNBQ2QsQ0FBc0Isb0RQR3BCLG9ETVhOLENOV00sNENNWE4sQ0FBQSxTQ2tCSSxDQUFzQixtQ1BuQjlCLGlDQ0FNLENEQU4seUJDQU0sQ0FBQSx5Q0FnQkEsQ0FoQkEsaUNBZ0JBLENBQUEsa0RLUzJCLENMVDNCLDBDS1MyQixDQUFBLCtCQVN6QixDQVR5QiwyQkFTekIsQ0FUeUIsdUJBU3pCLENBQUEsc0RDMUJjLENEMEJkLDhDQzFCYyxDRDBCZCxzQ0MxQmMsQ0QwQmQseURDMUJjLENBQUEsU0FDZCxDQUFzQixvRFBHcEIsb0RNVkosQ05VSSw0Q01WSixDQUFBLFNDaUJFLENBQXNCLHVCUG5COUIsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSwyQkNjRyxDRGRILHVCQ2NHLENEZEgsbUJDY0csQ0FBQSxzRE16QmEsQ055QmIsOENNekJhLENOeUJiLHNDTXpCYSxDTnlCYix5RE16QmEsQ0FBQSxTQUNkLENBQW1CLHdDUk1qQiwwQkVrQkQsQ0ZsQkMsc0JFa0JELENGbEJDLGtCRWtCRCxDQUFBLFNNZEQsQ0FBbUIseUJSaEIzQixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLDRCQ2NHLENEZEgsd0JDY0csQ0RkSCxvQkNjRyxDQUFBLHNETXpCYSxDTnlCYiw4Q016QmEsQ055QmIsc0NNekJhLENOeUJiLHlETXpCYSxDQUFBLFNBQ2QsQ0FBbUIsMENSTWpCLDBCRWtCRCxDRmxCQyxzQkVrQkQsQ0ZsQkMsa0JFa0JELENBQUEsU01kRCxDQUFtQix3QlJoQjNCLGlDQ0FNLENEQU4seUJDQU0sQ0FBQSx5Q0FnQkEsQ0FoQkEsaUNBZ0JBLENBQUEsMEJDY0csQ0RkSCxzQkNjRyxDRGRILGtCQ2NHLENBQUEsc0RNekJhLENOeUJiLDhDTXpCYSxDTnlCYixzQ016QmEsQ055QmIseURNekJhLENBQUEsU0FDZCxDQUFzQix5Q1JNcEIsNEJFa0JELENGbEJDLHdCRWtCRCxDRmxCQyxvQkVrQkQsQ0FBQSxTTWRELENBQXNCLDBCUmhCOUIsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSwwQkNjRyxDRGRILHNCQ2NHLENEZEgsa0JDY0csQ0FBQSxzRE16QmEsQ055QmIsOENNekJhLENOeUJiLHNDTXpCYSxDTnlCYix5RE16QmEsQ0FBQSxTQUNkLENBQXNCLDJDUk1wQiwyQkVrQkQsQ0ZsQkMsdUJFa0JELENGbEJDLG1CRWtCRCxDQUFBLFNNZEQsQ0FBc0IsbUJSaEI5QixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLGtDQ2NHLENEZEgsOEJDY0csQ0RkSCwwQkNjRyxDQUFBLHNETzFCYSxDUDBCYiw4Q08xQmEsQ1AwQmIsc0NPMUJhLENQMEJiLHlETzFCYSxDQUFBLFNBQ2QsQ0FBbUIsb0NUT2pCLDJCRWtCRCxDRmxCQyx1QkVrQkQsQ0ZsQkMsbUJFa0JELENBQUEsU09mRCxDQUFtQixvQlRmM0IsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxp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eUJBQ0EsQ0FBQSwyQkFDRSxDQUFBLDRCQUNDLENBQUEsNkJBQ0EsQ0FBQSxTQUNmLGVBR2EsQ0FBQSxhQUNOLENBQUEsZUFDTSxDQUFFLHNEQUc4QixnQkFDckMiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSAoMS8kc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dF9udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHRfbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dF9udW1iZXIpIHtcbiAgICAgICRuZXh0X251bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dF9udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwidGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRkLmNoaWxkLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRoLmNoaWxkLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRkLmRhdGFUYWJsZXNfZW1wdHkge1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0ZC5jaGlsZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyID4gdGguY2hpbGQ6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRkLmRhdGFUYWJsZXNfZW1wdHk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0cltyb2xlPVwicm93XCJdID4gdGQ6Zmlyc3QtY2hpbGQsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyW3JvbGU9XCJyb3dcIl0gPiB0aDpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyW3JvbGU9XCJyb3dcIl0gPiB0ZDpmaXJzdC1jaGlsZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyW3JvbGU9XCJyb3dcIl0gPiB0aDpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICB0b3A6IDlweDtcbiAgbGVmdDogNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBib3gtc2hhZG93OiAwIDAgM3B4ICM0NDQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiAnQ291cmllciBOZXcnLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBjb250ZW50OiAnKyc7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDhjYmE7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyLnBhcmVudCA+IHRkOmZpcnN0LWNoaWxkOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIucGFyZW50ID4gdGg6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogJy0nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDMzMzMzO1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkLmNvbXBhY3QgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQuY29tcGFjdCA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMjdweDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZC5jb21wYWN0ID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZC5jb21wYWN0ID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiA0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgd2lkdGg6IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICB0ZXh0LWluZGVudDogM3B4O1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gPiB0Ym9keSA+IHRyID4gdGQuY29udHJvbCxcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRoLmNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRkLmNvbnRyb2w6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gPiB0Ym9keSA+IHRyID4gdGguY29udHJvbDpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBib3gtc2hhZG93OiAwIDAgM3B4ICM0NDQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiAnQ291cmllciBOZXcnLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBjb250ZW50OiAnKyc7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDhjYmE7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiA+IHRib2R5ID4gdHIucGFyZW50IHRkLmNvbnRyb2w6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gPiB0Ym9keSA+IHRyLnBhcmVudCB0aC5jb250cm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICctJztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzMzMzMztcbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQge1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgdWwuZHRyLWRldGFpbHMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZCB1bC5kdHItZGV0YWlscyA+IGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZmVmZWY7XG4gIHBhZGRpbmc6IDAuNWVtIDA7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHVsLmR0ci1kZXRhaWxzID4gbGk6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgdWwuZHRyLWRldGFpbHMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgc3Bhbi5kdHItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogNzVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmRpdi5kdHItbW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICBwYWRkaW5nOiAxMGVtIDFlbTtcbn1cbmRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1kaXNwbGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogNTAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgbWFyZ2luOiBhdXRvO1xuICB6LWluZGV4OiAxMDI7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY3O1xuICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgYm9yZGVyLXJhZGl1czogMC41ZW07XG4gIGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbmRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxZW07XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICByaWdodDogNnB4O1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxMjtcbn1cbmRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDE7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWRpc3BsYXkge1xuICAgIHdpZHRoOiA5NSU7XG4gIH1cbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgdWwge1xuICBmb250LXNpemU6IDFlbTtcbn1cbiIsIi8qIGpzVHJlZSBkZWZhdWx0IHRoZW1lICovXG4uanN0cmVlLW5vZGUsXG4uanN0cmVlLWNoaWxkcmVuLFxuLmpzdHJlZS1jb250YWluZXItdWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG59XG4uanN0cmVlLW5vZGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmpzdHJlZS1hbmNob3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiBibGFjaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogMCA0cHggMCAxcHg7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5qc3RyZWUtYW5jaG9yOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5qc3RyZWUtYW5jaG9yLFxuLmpzdHJlZS1hbmNob3I6bGluayxcbi5qc3RyZWUtYW5jaG9yOnZpc2l0ZWQsXG4uanN0cmVlLWFuY2hvcjpob3Zlcixcbi5qc3RyZWUtYW5jaG9yOmFjdGl2ZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4uanN0cmVlLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uanN0cmVlLWljb246ZW1wdHkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uanN0cmVlLW9jbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5qc3RyZWUtbGVhZiA+IC5qc3RyZWUtb2NsIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmpzdHJlZSAuanN0cmVlLW9wZW4gPiAuanN0cmVlLWNoaWxkcmVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uanN0cmVlIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1jaGlsZHJlbixcbi5qc3RyZWUgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1jaGlsZHJlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uanN0cmVlLWFuY2hvciA+IC5qc3RyZWUtdGhlbWVpY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG59XG4uanN0cmVlLW5vLWljb25zIC5qc3RyZWUtdGhlbWVpY29uLFxuLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmpzdHJlZS1oaWRkZW4sXG4uanN0cmVlLW5vZGUuanN0cmVlLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uanN0cmVlLXJ0bCAuanN0cmVlLWFuY2hvciB7XG4gIHBhZGRpbmc6IDAgMXB4IDAgNHB4O1xufVxuLmpzdHJlZS1ydGwgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi5qc3RyZWUtcnRsIC5qc3RyZWUtbm9kZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmpzdHJlZS1ydGwgLmpzdHJlZS1jb250YWluZXItdWwgPiAuanN0cmVlLW5vZGUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uanN0cmVlLXdob2xlcm93LXVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMTAwJTtcbn1cbi5qc3RyZWUtd2hvbGVyb3ctdWwgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uanN0cmVlLXdob2xlcm93LXVsIC5qc3RyZWUtYW5jaG9yLFxuLmpzdHJlZS13aG9sZXJvdy11bCAuanN0cmVlLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uanN0cmVlLXdob2xlcm93LXVsIC5qc3RyZWUtd2hvbGVyb3cge1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uanN0cmVlLWNvbnRleHRtZW51IC5qc3RyZWUtYW5jaG9yIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogZGlzYWJsZSBzZWxlY3Rpb24vQ29weSBvZiBVSVdlYlZpZXcgKi9cbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAvKiBkaXNhYmxlIHRoZSBJT1MgcG9wdXAgd2hlbiBsb25nLXByZXNzIG9uIGEgbGluayAqL1xufVxuLnZha2F0YS1jb250ZXh0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi52YWthdGEtY29udGV4dCxcbi52YWthdGEtY29udGV4dCB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gIGJveC1zaGFkb3c6IDJweCAycHggMnB4ICM5OTk5OTk7XG59XG4udmFrYXRhLWNvbnRleHQgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtMi43ZW07XG4gIG1hcmdpbi1sZWZ0OiAtNHB4O1xufVxuLnZha2F0YS1jb250ZXh0IC52YWthdGEtY29udGV4dC1yaWdodCB1bCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xufVxuLnZha2F0YS1jb250ZXh0IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi52YWthdGEtY29udGV4dCBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCAyZW0gMCAyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIGNvbG9yOiBibGFjaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbGluZS1oZWlnaHQ6IDIuNGVtO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG59XG4udmFrYXRhLWNvbnRleHQgbGkgPiBhOmhvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlZmY3O1xuICBib3gtc2hhZG93OiAwIDAgMnB4ICMwYTZhYTE7XG59XG4udmFrYXRhLWNvbnRleHQgbGkgPiBhLnZha2F0YS1jb250ZXh0LXBhcmVudCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEN3QUhBSUFBQUNnb0tQLy8veUg1QkFFQUFBRUFMQUFBQUFBTEFBY0FBQUlPUkk0SmxycU4xb01Tbm1tWkRRVUFPdz09XCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4udmFrYXRhLWNvbnRleHQgbGkgPiBhOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi52YWthdGEtY29udGV4dCAudmFrYXRhLWNvbnRleHQtaG92ZXIgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlZmY3O1xuICBib3gtc2hhZG93OiAwIDAgMnB4ICMwYTZhYTE7XG59XG4udmFrYXRhLWNvbnRleHQgLnZha2F0YS1jb250ZXh0LXNlcGFyYXRvciA+IGEsXG4udmFrYXRhLWNvbnRleHQgLnZha2F0YS1jb250ZXh0LXNlcGFyYXRvciA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTNlMztcbiAgaGVpZ2h0OiAxcHg7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgbWF4LWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAwIDIuNGVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMGUwZTA7XG4gIHRleHQtc2hhZG93OiAwIDAgMCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udmFrYXRhLWNvbnRleHQgLnZha2F0YS1jb250ZXh0bWVudS1kaXNhYmxlZCBhLFxuLnZha2F0YS1jb250ZXh0IC52YWthdGEtY29udGV4dG1lbnUtZGlzYWJsZWQgYTpob3ZlciB7XG4gIGNvbG9yOiBzaWx2ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwO1xufVxuLnZha2F0YS1jb250ZXh0IC52YWthdGEtY29udGV4dG1lbnUtZGlzYWJsZWQgPiBhID4gaSB7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xufVxuLnZha2F0YS1jb250ZXh0IGxpID4gYSA+IGkge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIuNGVtO1xuICBoZWlnaHQ6IDIuNGVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwIDAgMCAtMmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyLjRlbTtcbn1cbi52YWthdGEtY29udGV4dCBsaSA+IGEgPiBpOmVtcHR5IHtcbiAgd2lkdGg6IDIuNGVtO1xuICBsaW5lLWhlaWdodDogMi40ZW07XG59XG4udmFrYXRhLWNvbnRleHQgbGkgPiBhIC52YWthdGEtY29udGV4dG1lbnUtc2VwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDIuNGVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgbWFyZ2luOiAwIDAuNWVtIDAgMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlM2UzO1xufVxuLnZha2F0YS1jb250ZXh0IC52YWthdGEtY29udGV4dG1lbnUtc2hvcnRjdXQge1xuICBmb250LXNpemU6IDAuOGVtO1xuICBjb2xvcjogc2lsdmVyO1xuICBvcGFjaXR5OiAwLjU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udmFrYXRhLWNvbnRleHQtcnRsIHVsIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IC00cHg7XG59XG4udmFrYXRhLWNvbnRleHQtcnRsIGxpID4gYS52YWthdGEtY29udGV4dC1wYXJlbnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhDd0FIQUlBQUFDZ29LUC8vL3lINUJBRUFBQUVBTEFBQUFBQUxBQWNBQUFJTmpJK0FDN3JXSElzUHRtb3hMQUE3XCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi52YWthdGEtY29udGV4dC1ydGwgLnZha2F0YS1jb250ZXh0LXNlcGFyYXRvciA+IGEge1xuICBtYXJnaW46IDAgMi40ZW0gMCAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UyZTNlMztcbn1cbi52YWthdGEtY29udGV4dC1ydGwgLnZha2F0YS1jb250ZXh0LWxlZnQgdWwge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi52YWthdGEtY29udGV4dC1ydGwgbGkgPiBhID4gaSB7XG4gIG1hcmdpbjogMCAtMmVtIDAgMDtcbn1cbi52YWthdGEtY29udGV4dC1ydGwgbGkgPiBhIC52YWthdGEtY29udGV4dG1lbnUtc2VwIHtcbiAgbWFyZ2luOiAwIDAgMCAwLjVlbTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAjZTJlM2UzO1xufVxuI2pzdHJlZS1tYXJrZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAtNXB4IDAgMCAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuI2pzdHJlZS1kbmQge1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA0cHg7XG59XG4janN0cmVlLWRuZCAuanN0cmVlLWljb24sXG4janN0cmVlLWRuZCAuanN0cmVlLWNvcHkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwIDJweCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG4janN0cmVlLWRuZCAuanN0cmVlLW9rIHtcbiAgYmFja2dyb3VuZDogZ3JlZW47XG59XG4janN0cmVlLWRuZCAuanN0cmVlLWVyIHtcbiAgYmFja2dyb3VuZDogcmVkO1xufVxuI2pzdHJlZS1kbmQgLmpzdHJlZS1jb3B5IHtcbiAgbWFyZ2luOiAwIDJweCAwIDJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLW5vZGUsXG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1pY29uIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IsXG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmltYXRlZCxcbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLXdob2xlcm93IHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cywgYm94LXNoYWRvdyAwLjE1cztcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWhvdmVyZWQge1xuICBiYWNrZ3JvdW5kOiAjZTdmNGY5O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI2NjY2NjYztcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWNvbnRleHQge1xuICBiYWNrZ3JvdW5kOiAjZTdmNGY5O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI2NjY2NjYztcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWNsaWNrZWQge1xuICBiYWNrZ3JvdW5kOiAjYmVlYmZmO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggIzk5OTk5OTtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLW5vLWljb25zIC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS10aGVtZWljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2NjY2NjY7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1kaXNhYmxlZC5qc3RyZWUtaG92ZXJlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZGlzYWJsZWQuanN0cmVlLWNsaWNrZWQge1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZGlzYWJsZWQgPiAuanN0cmVlLWljb24ge1xuICBvcGFjaXR5OiAwLjg7XG4gIGZpbHRlcjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cXCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcJz48ZmlsdGVyIGlkPVxcJ2pzdHJlZS1ncmF5c2NhbGVcXCc+PGZlQ29sb3JNYXRyaXggdHlwZT1cXCdtYXRyaXhcXCcgdmFsdWVzPVxcJzAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAgMCAwIDEgMFxcJy8+PC9maWx0ZXI+PC9zdmc+I2pzdHJlZS1ncmF5c2NhbGVcIik7XG4gIC8qIEZpcmVmb3ggMTArICovXG4gIGZpbHRlcjogZ3JheTtcbiAgLyogSUU2LTkgKi9cbiAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgLyogQ2hyb21lIDE5KyAmIFNhZmFyaSA2KyAqL1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtc2VhcmNoIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzhiMDAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1uby1jaGVja2JveGVzIC5qc3RyZWUtY2hlY2tib3gge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLWNoZWNrYm94LW5vLWNsaWNrZWQgLmpzdHJlZS1jbGlja2VkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLWNoZWNrYm94LW5vLWNsaWNrZWQgLmpzdHJlZS1jbGlja2VkLmpzdHJlZS1ob3ZlcmVkIHtcbiAgYmFja2dyb3VuZDogI2U3ZjRmOTtcbn1cbi5qc3RyZWUtZGVmYXVsdC5qc3RyZWUtY2hlY2tib3gtbm8tY2xpY2tlZCA+IC5qc3RyZWUtd2hvbGVyb3ctdWwgLmpzdHJlZS13aG9sZXJvdy1jbGlja2VkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLWNoZWNrYm94LW5vLWNsaWNrZWQgPiAuanN0cmVlLXdob2xlcm93LXVsIC5qc3RyZWUtd2hvbGVyb3ctY2xpY2tlZC5qc3RyZWUtd2hvbGVyb3ctaG92ZXJlZCB7XG4gIGJhY2tncm91bmQ6ICNlN2Y0Zjk7XG59XG4uanN0cmVlLWRlZmF1bHQgPiAuanN0cmVlLXN0cmlwZWQge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFrQ0FNQUFBQi9xcUErQUFBQUJsQk1WRVVBQUFBQUFBQ2xaN25QQUFBQUFuUlNUbE1OQU1NOXMzVUFBQUFYU1VSQlZIamFqY0VCQVFBQUFJS2cvSC9hQ1FaNzBBVUJqQUFUYjZZUERnQUFBQUJKUlU1RXJrSmdnZz09XCIpIGxlZnQgdG9wIHJlcGVhdDtcbn1cbi5qc3RyZWUtZGVmYXVsdCA+IC5qc3RyZWUtd2hvbGVyb3ctdWwgLmpzdHJlZS1ob3ZlcmVkLFxuLmpzdHJlZS1kZWZhdWx0ID4gLmpzdHJlZS13aG9sZXJvdy11bCAuanN0cmVlLWNsaWNrZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLXdob2xlcm93IHtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS13aG9sZXJvdy1ob3ZlcmVkIHtcbiAgYmFja2dyb3VuZDogI2U3ZjRmOTtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLXdob2xlcm93LWNsaWNrZWQge1xuICBiYWNrZ3JvdW5kOiAjYmVlYmZmO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNiZWViZmYgMCUsICNhOGU0ZmYgMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNiZWViZmYgMCUsICNhOGU0ZmYgMTAwJSk7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1ub2RlIHtcbiAgbWluLWhlaWdodDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICBtaW4td2lkdGg6IDI0cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3Ige1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtaWNvbiB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtaWNvbjplbXB0eSB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1ydGwgLmpzdHJlZS1ub2RlIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtd2hvbGVyb3cge1xuICBoZWlnaHQ6IDI0cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1ub2RlLFxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIjMycHgucG5nXCIpO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtbm9kZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yOTJweCAtNHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1sYXN0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMycHggLTRweDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWNsb3NlZCA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC00cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjhweCAtNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtdGhlbWVpY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2MHB4IC00cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1ub2RlLFxuLmpzdHJlZS1kZWZhdWx0ID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbGVhZiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0ID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNHB4IC00cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZGlzYWJsZWQuanN0cmVlLWhvdmVyZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWRpc2FibGVkLmpzdHJlZS1jbGlja2VkIHtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWNoZWNrYm94IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2NHB4IC00cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1jaGVja2JveDpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjRweCAtMzZweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC5qc3RyZWUtY2hlY2tib3gtc2VsZWN0aW9uIC5qc3RyZWUtY2xpY2tlZCA+IC5qc3RyZWUtY2hlY2tib3gsXG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1jaGVja2VkID4gLmpzdHJlZS1jaGVja2JveCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjhweCAtNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1jaGVja2JveC1zZWxlY3Rpb24gLmpzdHJlZS1jbGlja2VkID4gLmpzdHJlZS1jaGVja2JveDpob3Zlcixcbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWNoZWNrZWQgPiAuanN0cmVlLWNoZWNrYm94OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyOHB4IC0zNnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS11bmRldGVybWluZWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk2cHggLTRweDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWFuY2hvciA+IC5qc3RyZWUtdW5kZXRlcm1pbmVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5NnB4IC0zNnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtY2hlY2tib3gtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjg7XG4gIGZpbHRlcjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cXCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcJz48ZmlsdGVyIGlkPVxcJ2pzdHJlZS1ncmF5c2NhbGVcXCc+PGZlQ29sb3JNYXRyaXggdHlwZT1cXCdtYXRyaXhcXCcgdmFsdWVzPVxcJzAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAgMCAwIDEgMFxcJy8+PC9maWx0ZXI+PC9zdmc+I2pzdHJlZS1ncmF5c2NhbGVcIik7XG4gIC8qIEZpcmVmb3ggMTArICovXG4gIGZpbHRlcjogZ3JheTtcbiAgLyogSUU2LTkgKi9cbiAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgLyogQ2hyb21lIDE5KyAmIFNhZmFyaSA2KyAqL1xufVxuLmpzdHJlZS1kZWZhdWx0ID4gLmpzdHJlZS1zdHJpcGVkIHtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDQ4cHg7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLXJ0bCAuanN0cmVlLW5vZGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQUNBUU1BQUFCNDlJNUdBQUFBQmxCTVZFVUFBQUFkSFJ2RWtDd2NBQUFBQVhSU1RsTUFRT2JZWmdBQUFBeEpSRUZVQ05kakFBTU9CZ0FBR0FBSk13UUhkUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbn1cbi5qc3RyZWUtZGVmYXVsdC5qc3RyZWUtcnRsIC5qc3RyZWUtbGFzdCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1ydGwgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMycHggLTM2cHg7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLXJ0bCAuanN0cmVlLWNsb3NlZCA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0zNnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1ydGwgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjhweCAtMzZweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC5qc3RyZWUtcnRsID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbm9kZSxcbi5qc3RyZWUtZGVmYXVsdC5qc3RyZWUtcnRsID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbGVhZiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLXJ0bCA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0zNnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1ydGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1jbG9zZWQgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00cHggLTM2cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS10aGVtZWljb24tY3VzdG9tIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cbi5qc3RyZWUtZGVmYXVsdCA+IC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbG9hZGluZyA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZDogdXJsKFwidGhyb2JiZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZmlsZSB7XG4gIGJhY2tncm91bmQ6IHVybChcIjMycHgucG5nXCIpIC0xMDBweCAtNjhweCBuby1yZXBlYXQ7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1mb2xkZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIzMnB4LnBuZ1wiKSAtMjYwcHggLTRweCBuby1yZXBlYXQ7XG59XG4uanN0cmVlLWRlZmF1bHQgPiAuanN0cmVlLWNvbnRhaW5lci11bCA+IC5qc3RyZWUtbm9kZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdCB7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nOiAwIDRweDtcbn1cbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtb2ssXG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiMzJweC5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuI2pzdHJlZS1kbmQuanN0cmVlLWRlZmF1bHQgaSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtb2sge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNHB4IC02OHB4O1xufVxuI2pzdHJlZS1kbmQuanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1lciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC02OHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZWxsaXBzaXMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZWxsaXBzaXMgLmpzdHJlZS1hbmNob3Ige1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjlweCk7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1ydGwgLmpzdHJlZS1ub2RlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFDQVFNQUFBQjQ5STVHQUFBQUJsQk1WRVVBQUFBZEhSdkVrQ3djQUFBQUFYUlNUbE1BUU9iWVpnQUFBQXhKUkVGVUNOZGpBQU1PQmdBQUdBQUpNd1FIZFFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLXJ0bCAuanN0cmVlLWxhc3Qge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLW5vZGUge1xuICBtaW4taGVpZ2h0OiAxOHB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDE4cHg7XG4gIG1pbi13aWR0aDogMThweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWFuY2hvciB7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1pY29uIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1pY29uOmVtcHR5IHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLXJ0bCAuanN0cmVlLW5vZGUge1xuICBtYXJnaW4tcmlnaHQ6IDE4cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS13aG9sZXJvdyB7XG4gIGhlaWdodDogMThweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLW5vZGUsXG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiMzJweC5wbmdcIik7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1ub2RlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI5NXB4IC03cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWxhc3Qge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzVweCAtN3B4O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAzcHggLTdweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWxlYWYgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MXB4IC03cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS10aGVtZWljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjYzcHggLTdweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLW5vZGUsXG4uanN0cmVlLWRlZmF1bHQtc21hbGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zOXB4IC03cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1jbG9zZWQgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggLTdweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1kaXNhYmxlZC5qc3RyZWUtaG92ZXJlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtZGlzYWJsZWQuanN0cmVlLWNsaWNrZWQge1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtY2hlY2tib3gge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY3cHggLTdweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWNoZWNrYm94OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2N3B4IC0zOXB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsLmpzdHJlZS1jaGVja2JveC1zZWxlY3Rpb24gLmpzdHJlZS1jbGlja2VkID4gLmpzdHJlZS1jaGVja2JveCxcbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWNoZWNrZWQgPiAuanN0cmVlLWNoZWNrYm94IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIzMXB4IC03cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLWNoZWNrYm94LXNlbGVjdGlvbiAuanN0cmVlLWNsaWNrZWQgPiAuanN0cmVlLWNoZWNrYm94OmhvdmVyLFxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtY2hlY2tlZCA+IC5qc3RyZWUtY2hlY2tib3g6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMxcHggLTM5cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXVuZGV0ZXJtaW5lZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTlweCAtN3B4O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS11bmRldGVybWluZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk5cHggLTM5cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1jaGVja2JveC1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuODtcbiAgZmlsdGVyOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVxcJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFwnPjxmaWx0ZXIgaWQ9XFwnanN0cmVlLWdyYXlzY2FsZVxcJz48ZmVDb2xvck1hdHJpeCB0eXBlPVxcJ21hdHJpeFxcJyB2YWx1ZXM9XFwnMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMCAwIDAgMSAwXFwnLz48L2ZpbHRlcj48L3N2Zz4janN0cmVlLWdyYXlzY2FsZVwiKTtcbiAgLyogRmlyZWZveCAxMCsgKi9cbiAgZmlsdGVyOiBncmF5O1xuICAvKiBJRTYtOSAqL1xuICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAvKiBDaHJvbWUgMTkrICYgU2FmYXJpIDYrICovXG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgPiAuanN0cmVlLXN0cmlwZWQge1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMzZweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbC5qc3RyZWUtcnRsIC5qc3RyZWUtbm9kZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBQ0FRTUFBQUI0OUk1R0FBQUFCbEJNVkVVQUFBQWRIUnZFa0N3Y0FBQUFBWFJTVGxNQVFPYllaZ0FBQUF4SlJFRlVDTmRqQUFNT0JnQUFHQUFKTXdRSGRRQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDFweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsLmpzdHJlZS1ydGwgLmpzdHJlZS1sYXN0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLXJ0bCAuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzVweCAtMzlweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbC5qc3RyZWUtcnRsIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAzcHggLTM5cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLXJ0bCAuanN0cmVlLWxlYWYgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MXB4IC0zOXB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsLmpzdHJlZS1ydGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1ub2RlLFxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsLmpzdHJlZS1ydGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbC5qc3RyZWUtcnRsID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggLTM5cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLXJ0bCA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLWNsb3NlZCA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTdweCAtMzlweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsID4gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1sb2FkaW5nID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJ0aHJvYmJlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1maWxlIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiMzJweC5wbmdcIikgLTEwM3B4IC03MXB4IG5vLXJlcGVhdDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWZvbGRlciB7XG4gIGJhY2tncm91bmQ6IHVybChcIjMycHgucG5nXCIpIC0yNjNweCAtN3B4IG5vLXJlcGVhdDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCA+IC5qc3RyZWUtY29udGFpbmVyLXVsID4gLmpzdHJlZS1ub2RlIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0LXNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHBhZGRpbmc6IDAgNHB4O1xufVxuI2pzdHJlZS1kbmQuanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1vayxcbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIzMnB4LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdC1zbWFsbCBpIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuI2pzdHJlZS1kbmQuanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1vayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggLTcxcHg7XG59XG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggLTcxcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1lbGxpcHNpcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1lbGxpcHNpcyAuanN0cmVlLWFuY2hvciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyM3B4KTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLXJ0bCAuanN0cmVlLW5vZGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJJQUFBQUNBUU1BQUFCdjFoNlBBQUFBQmxCTVZFVUFBQUFkSFJ2RWtDd2NBQUFBQVhSU1RsTUFRT2JZWmdBQUFBeEpSRUZVQ05kakFBTUhCZ0FBaUFCQkk0Z3o5QUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbC5qc3RyZWUtcnRsIC5qc3RyZWUtbGFzdCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtbm9kZSB7XG4gIG1pbi1oZWlnaHQ6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW4tbGVmdDogMzJweDtcbiAgbWluLXdpZHRoOiAzMnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtYW5jaG9yIHtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWljb24ge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWljb246ZW1wdHkge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtcnRsIC5qc3RyZWUtbm9kZSB7XG4gIG1hcmdpbi1yaWdodDogMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLXdob2xlcm93IHtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtbm9kZSxcbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIzMnB4LnBuZ1wiKTtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLW5vZGUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg4cHggMHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1sYXN0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggMHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAwcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS10aGVtZWljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU2cHggMHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbm9kZSxcbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLWxlYWYgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWRpc2FibGVkLmpzdHJlZS1ob3ZlcmVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1kaXNhYmxlZC5qc3RyZWUtY2xpY2tlZCB7XG4gIGJhY2tncm91bmQ6ICNlZmVmZWY7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1jaGVja2JveCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAwcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1jaGVja2JveDpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtY2hlY2tib3gtc2VsZWN0aW9uIC5qc3RyZWUtY2xpY2tlZCA+IC5qc3RyZWUtY2hlY2tib3gsXG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1jaGVja2VkID4gLmpzdHJlZS1jaGVja2JveCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAwcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UuanN0cmVlLWNoZWNrYm94LXNlbGVjdGlvbiAuanN0cmVlLWNsaWNrZWQgPiAuanN0cmVlLWNoZWNrYm94OmhvdmVyLFxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtY2hlY2tlZCA+IC5qc3RyZWUtY2hlY2tib3g6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXVuZGV0ZXJtaW5lZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAwcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXVuZGV0ZXJtaW5lZDpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWNoZWNrYm94LWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC44O1xuICBmaWx0ZXI6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XFwnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXCc+PGZpbHRlciBpZD1cXCdqc3RyZWUtZ3JheXNjYWxlXFwnPjxmZUNvbG9yTWF0cml4IHR5cGU9XFwnbWF0cml4XFwnIHZhbHVlcz1cXCcwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwIDAgMCAxIDBcXCcvPjwvZmlsdGVyPjwvc3ZnPiNqc3RyZWUtZ3JheXNjYWxlXCIpO1xuICAvKiBGaXJlZm94IDEwKyAqL1xuICBmaWx0ZXI6IGdyYXk7XG4gIC8qIElFNi05ICovXG4gIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gIC8qIENocm9tZSAxOSsgJiBTYWZhcmkgNisgKi9cbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSA+IC5qc3RyZWUtc3RyaXBlZCB7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byA2NHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlLmpzdHJlZS1ydGwgLmpzdHJlZS1ub2RlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFDQVFNQUFBQjQ5STVHQUFBQUJsQk1WRVVBQUFBZEhSdkVrQ3djQUFBQUFYUlNUbE1BUU9iWVpnQUFBQXhKUkVGVUNOZGpBQU1PQmdBQUdBQUpNd1FIZFFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UuanN0cmVlLXJ0bCAuanN0cmVlLWxhc3Qge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtcnRsIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0zMnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlLmpzdHJlZS1ydGwgLmpzdHJlZS1jbG9zZWQgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlLmpzdHJlZS1ydGwgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtcnRsID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbm9kZSxcbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtcnRsID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbGVhZiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UuanN0cmVlLXJ0bCA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlLmpzdHJlZS1ydGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1jbG9zZWQgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlID4gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1sb2FkaW5nID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJ0aHJvYmJlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1maWxlIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiMzJweC5wbmdcIikgLTk2cHggLTY0cHggbm8tcmVwZWF0O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtZm9sZGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiMzJweC5wbmdcIikgLTI1NnB4IDBweCBuby1yZXBlYXQ7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgPiAuanN0cmVlLWNvbnRhaW5lci11bCA+IC5qc3RyZWUtbm9kZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdC1sYXJnZSB7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiAwIDRweDtcbn1cbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtb2ssXG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiMzJweC5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuI2pzdHJlZS1kbmQuanN0cmVlLWRlZmF1bHQtbGFyZ2UgaSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbn1cbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtb2sge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTY0cHg7XG59XG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1lbGxpcHNpcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1lbGxpcHNpcyAuanN0cmVlLWFuY2hvciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzN3B4KTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UuanN0cmVlLXJ0bCAuanN0cmVlLW5vZGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQUNBUU1BQUFBRDBFeUtBQUFBQmxCTVZFVUFBQUFkSFJ2RWtDd2NBQUFBQVhSU1RsTUFRT2JZWmdBQUFBeEpSRUZVQ05kamdJSUdCZ0FCQ2dDQnZWTFhjQUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtcnRsIC5qc3RyZWUtbGFzdCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNqc3RyZWUtZG5kLmpzdHJlZS1kbmQtcmVzcG9uc2l2ZSB7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCB3aGl0ZTtcbiAgfVxuICAjanN0cmVlLWRuZC5qc3RyZWUtZG5kLXJlc3BvbnNpdmUgPiBpIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cbiAgI2pzdHJlZS1kbmQuanN0cmVlLWRuZC1yZXNwb25zaXZlID4gLmpzdHJlZS1vayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiNDBweC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMjBweCAyNDBweDtcbiAgfVxuICAjanN0cmVlLWRuZC5qc3RyZWUtZG5kLXJlc3BvbnNpdmUgPiAuanN0cmVlLWVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCI0MHB4LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMjAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMjBweCAyNDBweDtcbiAgfVxuICAjanN0cmVlLW1hcmtlci5qc3RyZWUtZG5kLXJlc3BvbnNpdmUge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxMHB4O1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIHtcbiAgICAvKlxuXHQuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCxcblx0LmpzdHJlZS1jbG9zZWQgPiAuanN0cmVlLW9jbCB7IGJvcmRlci1yYWRpdXM6MjBweDsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgfVxuXHQqL1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiNDBweC5wbmdcIik7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1ub2RlLFxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWxlYWYgPiAuanN0cmVlLW9jbCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1ub2RlIHtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIG1pbi13aWR0aDogNDBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtYW5jaG9yIHtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1pY29uLFxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWljb246ZW1wdHkge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSA+IC5qc3RyZWUtY29udGFpbmVyLXVsID4gLmpzdHJlZS1ub2RlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZS5qc3RyZWUtcnRsIC5qc3RyZWUtbm9kZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlLmpzdHJlZS1ydGwgLmpzdHJlZS1jb250YWluZXItdWwgPiAuanN0cmVlLW5vZGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLW9jbCxcbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS10aGVtZWljb24sXG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hlY2tib3gge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTIwcHggMjQwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wsXG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlLmpzdHJlZS1ydGwgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtb2NsIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAgIWltcG9ydGFudDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWNsb3NlZCA+IC5qc3RyZWUtb2NsIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUuanN0cmVlLXJ0bCAuanN0cmVlLWNsb3NlZCA+IC5qc3RyZWUtb2NsIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS10aGVtZWljb24ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC00MHB4O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hlY2tib3gsXG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hlY2tib3g6aG92ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC04MHB4O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlLmpzdHJlZS1jaGVja2JveC1zZWxlY3Rpb24gLmpzdHJlZS1jbGlja2VkID4gLmpzdHJlZS1jaGVja2JveCxcbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUuanN0cmVlLWNoZWNrYm94LXNlbGVjdGlvbiAuanN0cmVlLWNsaWNrZWQgPiAuanN0cmVlLWNoZWNrYm94OmhvdmVyLFxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWNoZWNrZWQgPiAuanN0cmVlLWNoZWNrYm94LFxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWNoZWNrZWQgPiAuanN0cmVlLWNoZWNrYm94OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS11bmRldGVybWluZWQsXG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS11bmRldGVybWluZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMHB4O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtYW5jaG9yIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IHdoaXRlO1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlID4gLmpzdHJlZS1zdHJpcGVkIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLXdob2xlcm93IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDY0LCA2NCwgNjQsIDAuMik7XG4gICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS13aG9sZXJvdy1ob3ZlcmVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTdmNGY5O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtd2hvbGVyb3ctY2xpY2tlZCB7XG4gICAgYmFja2dyb3VuZDogI2JlZWJmZjtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWNoaWxkcmVuIC5qc3RyZWUtbGFzdCA+IC5qc3RyZWUtd2hvbGVyb3cge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTZweCAzcHggLTVweCAjNjY2NjY2O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hpbGRyZW4gLmpzdHJlZS1vcGVuID4gLmpzdHJlZS13aG9sZXJvdyB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCA2cHggM3B4IC01cHggIzY2NjY2NjtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hpbGRyZW4gLmpzdHJlZS1vcGVuICsgLmpzdHJlZS1vcGVuIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtbm9kZSxcbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1pY29uLFxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLW5vZGUgPiAuanN0cmVlLW9jbCxcbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS10aGVtZWljb24sXG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hlY2tib3gge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIjQwcHgucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTIwcHggMjQwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1ub2RlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWxhc3Qge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtbGVhZiA+IC5qc3RyZWUtb2NsIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTIwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1sYXN0ID4gLmpzdHJlZS1vY2wge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xNjBweDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtZmlsZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiNDBweC5wbmdcIikgMCAtMTYwcHggbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTIwcHggMjQwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1mb2xkZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIjQwcHgucG5nXCIpIC00MHB4IC00MHB4IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEyMHB4IDI0MHB4O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlID4gLmpzdHJlZS1jb250YWluZXItdWwgPiAuanN0cmVlLW5vZGUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuIiwiLypcclxuICogVGhpcyBjb21iaW5lZCBmaWxlIHdhcyBjcmVhdGVkIGJ5IHRoZSBEYXRhVGFibGVzIGRvd25sb2FkZXIgYnVpbGRlcjpcclxuICogICBodHRwczovL2RhdGF0YWJsZXMubmV0L2Rvd25sb2FkXHJcbiAqXHJcbiAqIFRvIHJlYnVpbGQgb3IgbW9kaWZ5IHRoaXMgZmlsZSB3aXRoIHRoZSBsYXRlc3QgdmVyc2lvbnMgb2YgdGhlIGluY2x1ZGVkXHJcbiAqIHNvZnR3YXJlIHBsZWFzZSB2aXNpdDpcclxuICogICBodHRwczovL2RhdGF0YWJsZXMubmV0L2Rvd25sb2FkLyNkdC9kdC0xLjEwLjIyXHJcbiAqXHJcbiAqIEluY2x1ZGVkIGxpYnJhcmllczpcclxuICogIERhdGFUYWJsZXMgMS4xMC4yMlxyXG4gKi9cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgICBmb250LXNpemU6IC44NzVyZW07XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTExO1xyXG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGg6YWN0aXZlLFxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQ6YWN0aXZlIHtcclxuICAgIG91dGxpbmU6IG5vbmVcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nLFxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjLFxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzYyxcclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZCxcclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2NfZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgKmN1cnNvcjogaGFuZDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHRcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9EYXRhVGFibGVzLTEuMTAuMjIvaW1hZ2VzL3NvcnRfYm90aC5wbmdcIilcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzYyB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvRGF0YVRhYmxlcy0xLjEwLjIyL2ltYWdlcy9zb3J0X2FzYy5wbmdcIilcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2Mge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL0RhdGFUYWJsZXMtMS4xMC4yMi9pbWFnZXMvc29ydF9kZXNjLnBuZ1wiKVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9EYXRhVGFibGVzLTEuMTAuMjIvaW1hZ2VzL3NvcnRfYXNjX2Rpc2FibGVkLnBuZ1wiKVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY19kaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvRGF0YVRhYmxlcy0xLjEwLjIyL2ltYWdlcy9zb3J0X2Rlc2NfZGlzYWJsZWQucG5nXCIpXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ci5zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjBCRUQ5XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aCxcclxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRkIHtcclxuICAgIHBhZGRpbmc6IDdweCA4cHg7XHJcbiAgICBoZWlnaHQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXIgdGJvZHkgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRkLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0aCxcclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdGQge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXIgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xyXG4gICAgYm9yZGVyLXRvcDogbm9uZVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuY2VsbC1ib3JkZXIgdGJvZHkgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ZCB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGRcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmNlbGwtYm9yZGVyIHRib2R5IHRyIHRoOmZpcnN0LWNoaWxkLFxyXG50YWJsZS5kYXRhVGFibGUuY2VsbC1ib3JkZXIgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcclxudGFibGUuZGF0YVRhYmxlLmNlbGwtYm9yZGVyIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcclxuICAgIGJvcmRlci10b3A6IG5vbmVcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLnN0cmlwZSB0Ym9keSB0ci5vZGQsXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLm9kZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZWN0ZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FjYmFkNFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIsXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjZcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFiN2QxXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHI+LnNvcnRpbmdfMSxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbiB0Ym9keSB0cj4uc29ydGluZ18yLFxyXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uIHRib2R5IHRyPi5zb3J0aW5nXzMsXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyPi5zb3J0aW5nXzEsXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyPi5zb3J0aW5nXzIsXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyPi5zb3J0aW5nXzMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYlxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uIHRib2R5IHRyLnNlbGVjdGVkPi5zb3J0aW5nXzEsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHIuc2VsZWN0ZWQ+LnNvcnRpbmdfMixcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbiB0Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18zLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18xLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18yLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhY2JhZDVcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkPi5zb3J0aW5nXzEsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZD4uc29ydGluZ18xIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmJcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkPi5zb3J0aW5nXzIsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZD4uc29ydGluZ18yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmJcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkPi5zb3J0aW5nXzMsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZD4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2VcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkPi5zb3J0aW5nXzEsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZC5zZWxlY3RlZD4uc29ydGluZ18xIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmI0Y2RcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkPi5zb3J0aW5nXzIsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZC5zZWxlY3RlZD4uc29ydGluZ18yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGI1Y2ZcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkPi5zb3J0aW5nXzMsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZC5zZWxlY3RlZD4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhOWI3ZDFcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuZXZlbj4uc29ydGluZ18xLFxyXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuPi5zb3J0aW5nXzEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYlxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5ldmVuPi5zb3J0aW5nXzIsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLmV2ZW4+LnNvcnRpbmdfMiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4+LnNvcnRpbmdfMyxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIuZXZlbj4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmVcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuZXZlbi5zZWxlY3RlZD4uc29ydGluZ18xLFxyXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkPi5zb3J0aW5nXzEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FjYmFkNVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkPi5zb3J0aW5nXzIsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQ+LnNvcnRpbmdfMiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWViY2Q2XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQ+LnNvcnRpbmdfMyxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIuZXZlbi5zZWxlY3RlZD4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZmJkZDhcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXI+LnNvcnRpbmdfMSxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlcj4uc29ydGluZ18xIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWFcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXI+LnNvcnRpbmdfMixcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlcj4uc29ydGluZ18yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWNcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXI+LnNvcnRpbmdfMyxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlcj4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWZcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQ+LnNvcnRpbmdfMSxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ18xIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMmFlYzdcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQ+LnNvcnRpbmdfMixcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ18yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhM2IwYzlcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQ+LnNvcnRpbmdfMyxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNWIyY2JcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLm5vLWZvb3RlciB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzExMVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUubm93cmFwIHRoLFxyXG50YWJsZS5kYXRhVGFibGUubm93cmFwIHRkIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXBcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmNvbXBhY3QgdGhlYWQgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRoZWFkIHRkIHtcclxuICAgIHBhZGRpbmc6IDRweCAxN3B4XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRmb290IHRoLFxyXG50YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Zm9vdCB0ZCB7XHJcbiAgICBwYWRkaW5nOiA0cHhcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmNvbXBhY3QgdGJvZHkgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRib2R5IHRkIHtcclxuICAgIHBhZGRpbmc6IDRweFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGguZHQtbGVmdCxcclxudGFibGUuZGF0YVRhYmxlIHRkLmR0LWxlZnQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGguZHQtY2VudGVyLFxyXG50YWJsZS5kYXRhVGFibGUgdGQuZHQtY2VudGVyLFxyXG50YWJsZS5kYXRhVGFibGUgdGQuZGF0YVRhYmxlc19lbXB0eSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXJcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoLmR0LXJpZ2h0LFxyXG50YWJsZS5kYXRhVGFibGUgdGQuZHQtcmlnaHQge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHRcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoLmR0LWp1c3RpZnksXHJcbnRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1qdXN0aWZ5IHtcclxuICAgIHRleHQtYWxpZ246IGp1c3RpZnlcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoLmR0LW5vd3JhcCxcclxudGFibGUuZGF0YVRhYmxlIHRkLmR0LW5vd3JhcCB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLWxlZnQsXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWxlZnQsXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLWxlZnQsXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLWxlZnQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1jZW50ZXIsXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWNlbnRlcixcclxudGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtY2VudGVyLFxyXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLXJpZ2h0LFxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQuZHQtaGVhZC1yaWdodCxcclxudGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtcmlnaHQsXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLXJpZ2h0IHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLWp1c3RpZnksXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWp1c3RpZnksXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLWp1c3RpZnksXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLWp1c3RpZnkge1xyXG4gICAgdGV4dC1hbGlnbjoganVzdGlmeVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1ub3dyYXAsXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLW5vd3JhcCxcclxudGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtbm93cmFwLFxyXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1ub3dyYXAge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1sZWZ0LFxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1sZWZ0IHtcclxuICAgIHRleHQtYWxpZ246IGxlZnRcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmR0LWJvZHktY2VudGVyLFxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LXJpZ2h0LFxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1yaWdodCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1qdXN0aWZ5LFxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1qdXN0aWZ5IHtcclxuICAgIHRleHQtYWxpZ246IGp1c3RpZnlcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmR0LWJvZHktbm93cmFwLFxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1ub3dyYXAge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUsXHJcbnRhYmxlLmRhdGFUYWJsZSB0aCxcclxudGFibGUuZGF0YVRhYmxlIHRkIHtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICAqem9vbTogMTtcclxuICAgIHpvb206IDFcclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgge1xyXG4gICAgZmxvYXQ6IGxlZnRcclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGggc2VsZWN0IHtcclxuXHR3aWR0aDogNzVweDtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodFxyXG59XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciBpbnB1dCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogM3B4XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mbyB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy10b3A6IDAuNzU1ZW1cclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHBhZGRpbmctdG9wOiAwLjI1ZW1cclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtaW4td2lkdGg6IDFlbTtcclxuICAgIHBhZGRpbmc6IDAuMjVlbSAuNzVlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICpjdXJzb3I6IGhhbmQ7XHJcbiAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5jdXJyZW50LFxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24uY3VycmVudDpob3ZlciB7XHJcbiAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgI2ZmZiksIGNvbG9yLXN0b3AoMTAwJSwgI2RjZGNkYykpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAlLCAjZGNkY2RjIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAlLCAjZGNkY2RjIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAlLCAjZGNkY2RjIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiAwJSwgI2RjZGNkYyAxMDAlKVxyXG59XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24uZGlzYWJsZWQsXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5kaXNhYmxlZDpob3ZlcixcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uLmRpc2FibGVkOmFjdGl2ZSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBjb2xvcjogIzY2NiAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmVcclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uOmhvdmVyIHtcclxuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzExMTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjZmZmKSwgY29sb3Itc3RvcCgxMDAlLCAjZGNkY2RjKSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiAwJSwgI2RjZGNkYyAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmIDAlLCAjZGNkY2RjIDEwMCUpXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbjphY3RpdmUge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjJiMmI7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjMmIyYjJiKSwgY29sb3Itc3RvcCgxMDAlLCAjMGMwYzBjKSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIzJiMmIyYiAwJSwgIzBjMGMwYyAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMmIyYjJiIDAlLCAjMGMwYzBjIDEwMCUpO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCAjMTExXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLmVsbGlwc2lzIHtcclxuICAgIHBhZGRpbmc6IDAgMWVtXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcHJvY2Vzc2luZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDE4MHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC01MCU7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2xlbmd0aCxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19maWx0ZXIsXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mbyxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wcm9jZXNzaW5nLFxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIHtcclxuICAgIGNvbG9yOiAjMzMzXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIHtcclxuICAgIGNsZWFyOiBib3RoXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkge1xyXG4gICAgKm1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2hcclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50aGVhZD50cj50aCxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50aGVhZD50cj50ZCxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50Ym9keT50cj50aCxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50Ym9keT50cj50ZCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHk+dGFibGU+dGhlYWQ+dHI+dGg+ZGl2LmRhdGFUYWJsZXNfc2l6aW5nLFxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5PnRhYmxlPnRoZWFkPnRyPnRkPmRpdi5kYXRhVGFibGVzX3NpemluZyxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50Ym9keT50cj50aD5kaXYuZGF0YVRhYmxlc19zaXppbmcsXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHk+dGFibGU+dGJvZHk+dHI+dGQ+ZGl2LmRhdGFUYWJsZXNfc2l6aW5nIHtcclxuICAgIGhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudFxyXG59XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyLm5vLWZvb3RlciAuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTExXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEhlYWQgdGFibGUuZGF0YVRhYmxlLFxyXG4uZGF0YVRhYmxlc193cmFwcGVyLm5vLWZvb3RlciBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5PnRhYmxlIHtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmVcclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlcjphZnRlciB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGhlaWdodDogMFxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19pbmZvLFxyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyXHJcbiAgICB9XHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjVlbVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgsXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyXHJcbiAgICB9XHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC41ZW1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoIHNlbGVjdCB7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgaGVpZ2h0OiAxLjI1cmVtO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgcGFkZGluZzogMXB4O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXB4IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoIGlucHV0IHtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBoZWlnaHQ6IDEuMjVyZW07XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBwYWRkaW5nOiAycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn0iLCJ0YWJsZS5kYXRhVGFibGUge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwLjVlbSAwICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0ZCxcbnRhYmxlLmRhdGFUYWJsZSB0aCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxudGFibGUuZGF0YVRhYmxlIHRkLmRhdGFUYWJsZXNfZW1wdHksXG50YWJsZS5kYXRhVGFibGUgdGguZGF0YVRhYmxlc19lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbnRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGgsIHRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5kaXYuZGF0YVRhYmxlc193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19sZW5ndGggbGFiZWwge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbmRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfbGVuZ3RoIHNlbGVjdCB7XG4gIHdpZHRoOiA3NXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19maWx0ZXIgbGFiZWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5kaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX2ZpbHRlciBpbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5kaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX2luZm8ge1xuICBwYWRkaW5nLXRvcDogMnB4O1xufVxuZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwO1xufVxuZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19wcm9jZXNzaW5nIHtcblx0Ym9yZGVyOiAuNHJlbSBzb2xpZCAjN2ZiYzQzO1xuXHRmb250LWZhbWlseTogXCJQbGF5XCIsQXJpYWwsc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAyNHB4O1xuXHRjb2xvcjogIzAxNGM5MDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMjAwcHg7XG5cdGhlaWdodDogODBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcbiAgbWFyZ2luLXRvcDogLTI2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMXJlbSAwO1xuXHRib3gtc2hhZG93OiAtNXB4IDVweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxudGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0aC5zb3J0aW5nX2FzYywgdGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0aC5zb3J0aW5nX2Rlc2MsIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCA+IHRyID4gdGguc29ydGluZyxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCA+IHRyID4gdGQuc29ydGluZ19hc2MsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgPiB0ciA+IHRkLnNvcnRpbmdfZGVzYyxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCA+IHRyID4gdGQuc29ydGluZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCA+IHRyID4gdGg6YWN0aXZlLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0ZDphY3RpdmUge1xuICBvdXRsaW5lOiBub25lO1xufVxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzYyxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZCxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzYyxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZCxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xufVxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvcnRfYm90aC5wbmdcIik7XG59XG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvcnRfYXNjLnBuZ1wiKTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvcnRfZGVzYy5wbmdcIik7XG59XG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvcnRfYXNjX2Rpc2FibGVkLnBuZ1wiKTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvcnRfZGVzY19kaXNhYmxlZC5wbmdcIik7XG59XG5cbmRpdi5kYXRhVGFibGVzX3Njcm9sbEhlYWQgdGFibGUge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbmRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGFibGUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbmRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGFibGUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGgsXG5kaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHRhYmxlIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuZGl2LmRhdGFUYWJsZXNfc2Nyb2xsRm9vdCB0YWJsZSB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbiIsInRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0ZC5jaGlsZCxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0aC5jaGlsZCxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0ZC5kYXRhVGFibGVzX2VtcHR5IHtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyID4gdGQuY2hpbGQ6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRoLmNoaWxkOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0ZC5kYXRhVGFibGVzX2VtcHR5OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHJbcm9sZT1cInJvd1wiXSA+IHRkOmZpcnN0LWNoaWxkLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0cltyb2xlPVwicm93XCJdID4gdGg6Zmlyc3QtY2hpbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0cltyb2xlPVwicm93XCJdID4gdGQ6Zmlyc3QtY2hpbGQ6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0cltyb2xlPVwicm93XCJdID4gdGg6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgdG9wOiA5cHg7XG4gIGxlZnQ6IDRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAjNDQ0O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgY29udGVudDogJysnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Y2JhO1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ci5wYXJlbnQgPiB0ZDpmaXJzdC1jaGlsZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyLnBhcmVudCA+IHRoOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICctJztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzMzMzMztcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZC5jb21wYWN0ID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkLmNvbXBhY3QgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQuY29tcGFjdCA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQuY29tcGFjdCA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICB0b3A6IDVweDtcbiAgbGVmdDogNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgdGV4dC1pbmRlbnQ6IDNweDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRkLmNvbnRyb2wsXG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiA+IHRib2R5ID4gdHIgPiB0aC5jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiA+IHRib2R5ID4gdHIgPiB0ZC5jb250cm9sOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRoLmNvbnRyb2w6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAjNDQ0O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgY29udGVudDogJysnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Y2JhO1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gPiB0Ym9keSA+IHRyLnBhcmVudCB0ZC5jb250cm9sOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ci5wYXJlbnQgdGguY29udHJvbDpiZWZvcmUge1xuICBjb250ZW50OiAnLSc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMzMzMzM7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHtcbiAgcGFkZGluZzogMC41ZW0gMWVtO1xufVxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHVsLmR0ci1kZXRhaWxzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgdWwuZHRyLWRldGFpbHMgPiBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWZlZmVmO1xuICBwYWRkaW5nOiAwLjVlbSAwO1xufVxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZCB1bC5kdHItZGV0YWlscyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHVsLmR0ci1kZXRhaWxzID4gbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHNwYW4uZHRyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDc1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5kaXYuZHRyLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgcGFkZGluZzogMTBlbSAxZW07XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtZGlzcGxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDUwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1hcmdpbjogYXV0bztcbiAgei1pbmRleDogMTAyO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNztcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIGJvcmRlci1yYWRpdXM6IDAuNWVtO1xuICBib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMWVtO1xufVxuZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDZweDtcbiAgcmlnaHQ6IDZweDtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTI7XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtY2xvc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xufVxuZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTAxO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIGRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1kaXNwbGF5IHtcbiAgICB3aWR0aDogOTUlO1xuICB9XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHVsIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vL1xyXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XHJcbi8vXHJcbi8vICAgMS4gR2xvYmFsXHJcbi8vICAgMi4gQnJlYWtwb2ludHNcclxuLy8gICAzLiBUaGUgR3JpZFxyXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAgIDYuIEFiaWRlXHJcbi8vICAgNy4gQWNjb3JkaW9uXHJcbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gICA5LiBCYWRnZVxyXG4vLyAgMTAuIEJyZWFkY3J1bWJzXHJcbi8vICAxMS4gQnV0dG9uXHJcbi8vICAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vICAxMy4gQ2FsbG91dFxyXG4vLyAgMTQuIENhcmRcclxuLy8gIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gIDE2LiBEcmlsbGRvd25cclxuLy8gIDE3LiBEcm9wZG93blxyXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcclxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAgMjAuIEZvcm1zXHJcbi8vICAyMS4gTGFiZWxcclxuLy8gIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gIDIzLiBNZW51XHJcbi8vICAyNC4gTWV0ZXJcclxuLy8gIDI1LiBPZmYtY2FudmFzXHJcbi8vICAyNi4gT3JiaXRcclxuLy8gIDI3LiBQYWdpbmF0aW9uXHJcbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gIDQ3LiBSZXZlYWxcclxuLy8gIDQ4LiBTbGlkZXJcclxuLy8gIDQ5LiBTd2l0Y2hcclxuLy8gIDUwLiBUYWJsZVxyXG4vLyAgNTEuIFRhYnNcclxuLy8gIDUyLiBUaHVtYm5haWxcclxuLy8gIDUzLiBUaXRsZSBCYXJcclxuLy8gIDU0LiBUb29sdGlwXHJcbi8vICA1NS4gVG9wIEJhclxyXG4vLyAgNTYuIFh5IEdyaWRcclxuXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcblxyXG4vLyBcdFRoaXMgdmFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgbWFpbiBjb2xvcnMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBvdGhlciBlbGVtZW50cy5cclxuLy8gIFx0LS0gdGVzdCBpcyB0aGUgQ1NTIGZvciB0aGUgSFJTVCBERU1PIHNpdGVzIFxyXG4vL1x0LS0gbG1zIGlzIHRoZSBDU1MgZm9yIHRoZSBMTVMgc2l0ZXMgXHJcblxyXG5cdCRzaXRlOiAncGNkJztcclxuLy9cdCRzaXRlOiAndGVzdCc7XHJcblxyXG5cdCRncmFkMTogIzAwMWYzYTtcclxuXHQkZ3JhZDI6ICMwMDY1YmY7XHJcblx0JGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG5cdFx0cHJpbWFyeTogXHQjMDA0YThmLFxyXG5cdFx0c2Vjb25kYXJ5OiBcdCM4ZGM2M2YsXHJcblx0XHRzdWNjZXNzOiBcdCM4ZGM2M2YsXHJcblx0XHR3YXJuaW5nOiBcdCNFRkQ0MjMsXHJcblx0XHRhbGVydDogXHRcdCNmMDQxMjQsXHJcblx0XHRpbmZvOlx0XHQjYTBkM2U4XHJcblx0KTtcclxuICBcclxuXHRAaWYgJHNpdGUgPT0gJ3Rlc3QnIHsgXHJcblx0XHQkZ3JhZDE6ICM0MTZFMEQ7XHJcblx0XHQkZ3JhZDI6ICM3N2JjMDA7XHJcblx0XHQkZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcblx0XHRcdHByaW1hcnk6IFx0IzQ2NkUwRixcclxuXHRcdFx0c2Vjb25kYXJ5OiBcdCMzQTUzNkYsXHJcblx0XHRcdHN1Y2Nlc3M6IFx0IzhEQTU5MCxcclxuXHRcdFx0d2FybmluZzogXHQjRjRCNDVGLFxyXG5cdFx0XHRhbGVydDogXHRcdCM4ZjQ4MmYsXHJcblx0XHRcdGluZm86XHRcdCNBRUJFRDlcclxuXHRcdCk7XHJcblx0fVxyXG5cdEBpZiAkc2l0ZSA9PSAnbG1zJyB7IFxyXG5cdFx0JGdyYWQxOiAjNzg4MTk1O1xyXG5cdFx0JGdyYWQyOiAjYTliNWQxO1xyXG5cdFx0JGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG5cdFx0XHRwcmltYXJ5OiBcdCMyMDMxNUYsXHJcblx0XHRcdHNlY29uZGFyeTogXHQjRUZCMzM1LFxyXG5cdFx0XHRzdWNjZXNzOiBcdCNDMUM2NEYsXHJcblx0XHRcdHdhcm5pbmc6IFx0I0NCODEyQSxcclxuXHRcdFx0YWxlcnQ6IFx0XHQjQzc0MjI1LFxyXG5cdFx0XHRpbmZvOlx0XHQjOThBRUFBXHJcblx0XHQpO1xyXG5cdH1cclxuXHRAaWYgJHNpdGUgPT0gJ3BjZCcgeyBcclxuXHRcdCRncmFkMTogIzc4ODE5NTtcclxuXHRcdCRncmFkMjogI2E5YjVkMTtcclxuXHRcdCRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuXHRcdFx0cHJpbWFyeTogXHQjNWU5ZDIwLFxyXG5cdFx0XHRzZWNvbmRhcnk6IFx0IzVlOWQyMCxcclxuXHRcdFx0c3VjY2VzczogXHQjOWRlNDMyLFxyXG5cdFx0XHR3YXJuaW5nOiBcdCNDQjgxMkEsXHJcblx0XHRcdGFsZXJ0OiBcdFx0I0M3NDIyNSxcclxuXHRcdFx0aW5mbzpcdFx0Izk4QUVBQVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5AaW1wb3J0ICd1dGlsL2NvbG9yJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XHJcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XHJcbiRkYXJrLWdyYXk6ICM4YThhOGE7XHJcbiRibGFjazogIzBhMGEwYTtcclxuJHdoaXRlOiAjZmVmZWZlO1xyXG4kb2lsICAgICAgICAgOiAjMzMzMzMzO1xyXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcclxuJGJvZHktZm9udC1mYW1pbHk6ICdBcmltbycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XHJcbiRnbG9iYWwtcmFkaXVzOiAwO1xyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMXJlbSAxcmVtO1xyXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xyXG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XHJcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcclxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XHJcbiRwcmludC1ocmVmczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcclxuICBoaWRwaS0xOiAxLFxyXG4gIGhpZHBpLTEtNTogMS41LFxyXG4gIGhpZHBpLTI6IDIsXHJcbiAgcmV0aW5hOiAyLFxyXG4gIGhpZHBpLTM6IDNcclxuKTtcclxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcclxuICBzbWFsbDogMjBweCxcclxuICBtZWRpdW06IDMwcHgsXHJcbik7XHJcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xyXG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGhlYWRlci1mb250LWZhbWlseTogJ1BsYXknLCBBcmlhbCwgc2Fucy1zZXJpZjsgXHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kaGVhZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kaGVhZGVyLXN0eWxlczogKFxyXG4gIHNtYWxsOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuICBtZWRpdW06IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICApLFxyXG4pO1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtO1xyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInO1xyXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnO1xyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XHJcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogLjY4NzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAjMzk1MTE4O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAjNzhhYjMzO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJz4nO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAjMzk1MTE4O1xyXG5cclxuLy8gMTEuIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsO1xyXG4kYnV0dG9uLXBhZGRpbmc6IC4yNWVtIC4yNWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbi8vICRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLWJvcmRlcjogNXB4IHNvbGlkO1xyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcclxuJGJ1dHRvbi1zaXplczogKFxyXG4gIHRpbnk6IDAuOHJlbSxcclxuICBzbWFsbDogMC45cmVtLFxyXG4gIGRlZmF1bHQ6IDFyZW0sXHJcbiAgbGFyZ2U6IDEuMjVyZW0sXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAxMDAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XHJcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XHJcblxyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcclxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xyXG5cclxuLy8gMTMuIENhbGxvdXRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XHJcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xyXG4kY2FsbG91dC1zaXplczogKFxyXG4gIHNtYWxsOiAwLjVyZW0sXHJcbiAgZGVmYXVsdDogMXJlbSxcclxuICBsYXJnZTogM3JlbSxcclxuKTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogM3B4O1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDYXJkXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLWJvcmRlcjogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcbiRjYXJkLXNoYWRvdzogLTEwcHggMTBweCAxMHB4ICM5OTk7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6IDhweDtcclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcclxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICBzbWFsbDogMC42NnJlbSxcclxuICBtZWRpdW06IDFyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICBzbWFsbDogMC4zM2VtLFxyXG4gIG1lZGl1bTogMC41cmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogKFxyXG4gIHNtYWxsOiAxLjVlbSxcclxuICBtZWRpdW06IDJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcblxyXG4vLyAxNi4gRHJpbGxkb3duXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gIHRpbnk6IDEwMHB4LFxyXG4gIHNtYWxsOiAyMDBweCxcclxuICBsYXJnZTogNDAwcHgsXHJcbik7XHJcblxyXG4vLyAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICByZ2JhKDI1NSwgMjU1LCAyNTUsIC40KTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMDtcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogJHNlY29uZGFyeS1jb2xvcjtcclxuXHJcbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcclxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcclxuXHJcbi8vIDIwLiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xyXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcclxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjMuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHNlY29uZGFyeS1jb2xvcjtcclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xyXG5cclxuLy8gMjQuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI1LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4LFxyXG4pO1xyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4LFxyXG4pO1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XHJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjYuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNy4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcclxuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInO1xyXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJztcclxuXHJcbi8vIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcclxuICBkb3duLFxyXG4gIHVwLFxyXG4gIHJpZ2h0LFxyXG4gIGxlZnRcclxuKTtcclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XHJcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcclxuXHJcbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xyXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtZGlzcGxheTogKFxyXG4gIGlubGluZSxcclxuICBpbmxpbmUtYmxvY2ssXHJcbiAgYmxvY2ssXHJcbiAgdGFibGUsXHJcbiAgdGFibGUtY2VsbFxyXG4pO1xyXG5cclxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XHJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxyXG4gIGRpc2MsXHJcbiAgY2lyY2xlLFxyXG4gIHNxdWFyZVxyXG4pO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxyXG4gIGRlY2ltYWwsXHJcbiAgbG93ZXItYWxwaGEsXHJcbiAgbG93ZXItbGF0aW4sXHJcbiAgbG93ZXItcm9tYW4sXHJcbiAgdXBwZXItYWxwaGEsXHJcbiAgdXBwZXItbGF0aW4sXHJcbiAgdXBwZXItcm9tYW5cclxuKTtcclxuXHJcbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcclxuICB2aXNpYmxlLFxyXG4gIGhpZGRlbixcclxuICBzY3JvbGxcclxuKTtcclxuXHJcbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtcG9zaXRpb246IChcclxuICBzdGF0aWMsXHJcbiAgcmVsYXRpdmUsXHJcbiAgYWJzb2x1dGUsXHJcbiAgZml4ZWRcclxuKTtcclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XHJcblxyXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xyXG5cclxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNpemluZzogKFxyXG4gIHdpZHRoLFxyXG4gIGhlaWdodFxyXG4pO1xyXG4kcHJvdG90eXBlLXNpemVzOiAoXHJcbiAgMjU6IDI1JSxcclxuICA1MDogNTAlLFxyXG4gIDc1OiA3NSUsXHJcbiAgMTAwOiAxMDAlXHJcbik7XHJcblxyXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XHJcblxyXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcclxuICBvdmVybGluZSxcclxuICB1bmRlcmxpbmUsXHJcbiAgbGluZS10aHJvdWdoLFxyXG4pO1xyXG5cclxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxyXG4gIGxvd2VyY2FzZSxcclxuICB1cHBlcmNhc2UsXHJcbiAgY2FwaXRhbGl6ZVxyXG4pO1xyXG5cclxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuKTtcclxuXHJcbi8vIDQ3LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRyZXZlYWwtYm9yZGVyOiAuNjI1cmVtIHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHJldmVhbC16aW5kZXg6IDEwMDU7XHJcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XHJcblxyXG4vLyA0OC4gU2xpZGVyXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuJHNsaWRlci1oZWlnaHQ6IDAuNjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogI2JiYjtcclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICNkZGQ7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40ZW07XHJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogI2Y2ZjZmNjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogM3B4O1xyXG5cclxuLy8gNDkuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAuNTtcclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG5cclxuLy8gNTAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkICM5OTk7XHJcbi8vJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoNCA1IDUpO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXN0cmlwZTogZXZlbjtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDUxLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4kdGFiLWNvbG9yOiAkd2hpdGU7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICM2YTk3MmQ7XHJcbiR0YWItYWN0aXZlLWNvbG9yOiAkd2hpdGU7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IC43NXJlbSAxLjVyZW07XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogMDtcclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDUyLiBUaHVtYm5haWxcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDUzLiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xyXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gNTQuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDE1cmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1NS4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICMyMDIwMjA7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTYuIFh5IEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR4eS1ncmlkOiB0cnVlO1xyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweFxyXG4pO1xyXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xyXG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZVxuICAgICAgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQgIWltcG9ydGFudDtcbiAgICAgLy8gY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogMS44MTI1cmVtO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJjpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kIC5jaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgLmNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gdW5kZXIgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gY2l0ZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGNpdGUtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgfVxufVxuXG4vLy8gQWRkIGJhc2ljIHN0eWxlcyBmb3IgYSBjb2RlIGhlbHBlci5cbi8vLyBTZWUgYGNvZGUtaW5saW5lYCBhbmQgYGNvZGUtYmxvY2tgIG1peGlucy5cbkBtaXhpbiBjb2RlLXN0eWxlIHtcbiAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGlubGluZS5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1pbmxpbmVgXG5AbWl4aW4gY29kZS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBhIGJsb2NrLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWJsb2NrYFxuQG1peGluIGNvZGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgcGFkZGluZzogJGNvZGUtYmxvY2stcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNpdGUtYmxvY2s7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWJsb2NrO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5cyBuZXh0IHRvIGFsbCBsaW5rcyB0aGVpciBcImhyZWZcIiB3aGVuIHByaW50ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICAvLyBFbnN1cmUgYSBcImJsYWNrLW9uLXdoaXRlXCIgcHJpbnQgYnkgcmVtb3ZpbmcgYmFja2dyb3VuZHMsXG4gICAgICAvLyB1c2luZyBibGFjayB0ZXh0IGV2ZXJ5d2hlcmUgYW5kIGZvcmNpbmcgdGhlIGJyb3dzZXIgdG8gZWNvbm9taXplIGluay5cbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgICB9XG4gICAgICAvLyBPdGhlcndpc2UsIHByZXZlbnQgYW55IGVjb25vbXkgYnkgdGhlIGJyb3dzZXIuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIGNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkc2l6ZS1jc3M6IGlmKCRtZyA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3tyZW0tY2FsYygkbWcpfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBQYXJzZSB0aGUgZ2l2ZW4gYCRmcmFjdGlvbmAgdG8gbnVtZXJhdG9ycyBhbmQgZGVudW1lcmF0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byBwYXJzZS4gSXQgY2FuIGJlIGZvcm1hdHRlZCBhcyBgNTAlYCwgYDEgb2YgMmAsIGAxLzJgIG9yIGA1MGAgKG5vIGRlbm9taW5hdG9yIHdvdWxkIGJlIHJldHVybmVkKS5cbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IExpc3Qgb2YgcGFyc2VkIHZhbHVlcyB3aXRoIG51bWVyYXRvciBhdCBmaXJzdCBwb3NpdGlvbiBhbmQgZGVudW1lcmF0b3IgYXMgc2Vjb25kLiBUaGVzZSB2YWx1ZXMgbWF5IGJlIG51bGwuXG5AZnVuY3Rpb24gemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKSB7XG5cbiAgQGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gXCI1MCVcIlxuICAgIEBpZiB1bml0KCRmcmFjdGlvbikgPT0gJyUnIHtcbiAgICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJGZyYWN0aW9uKSwgMTAwKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKHVuaXQoJGZyYWN0aW9uKSA9PSAnJykge1xuICAgICAgLy8gXCIwLjVcIlxuICAgICAgQGlmICRmcmFjdGlvbiA8IDEge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24gKiAxMDAsIDEwMCk7XG4gICAgICB9XG4gICAgICAvLyBcIjUwXCJcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ2xpc3QnIHtcbiAgICAvLyBcIjUwIG9mIDEwMFwiLCBcIjUwLzEwMFwiLi4uXG4gICAgQGlmIGxlbmd0aCgkZnJhY3Rpb24pID09IDNcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDEpID09ICdudW1iZXInKVxuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMykgPT0gJ251bWJlcicpIHtcbiAgICAgIEByZXR1cm4gKG50aCgkZnJhY3Rpb24sIDEpLCBudGgoJGZyYWN0aW9uLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAobnVsbCwgbnVsbCk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGdpdmVuIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbi4gU3VwcG9ydHMgZm9ybWF0cyBsaWtlIGA1MCVgLCBgMSBvZiAyYCwgYDEgcGVyIDJgIG9yIGAxLzJgLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFsbG93LW5vLWRlbm9taW5hdG9yIFtmYWxzZV0gLSBJZiBgdHJ1ZWAsIHNpbXBsZSBudW1iZXJzIHdpdGhvdXQgZGVub21pbmF0b3JzIGxpa2UgYDUwYCBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG5AZnVuY3Rpb24gemYtaXMtZnJhY3Rpb24oJHZhbHVlLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IGZhbHNlKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCR2YWx1ZSk7XG4gIEByZXR1cm4gbm90KG50aCgkcGFyc2VkLCAxKSA9PSBudWxsXG4gICAgb3IgKG50aCgkcGFyc2VkLCAyKSA9PSBudWxsIGFuZCAkYWxsb3ctbm8tZGVub21pbmF0b3IgPT0gZmFsc2UpKTtcbn1cblxuLy8vIENhbGN1bGF0ZSBhIHBlcmNlbnRhZ2UgZnJvbSBhIGdpdmVuIGZyYWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSwgZm9ybWF0dGVkIGFzIGA1MGAgKHJlbGF0aXZlIHRvIGAkZGVub21pbmF0b3JgKSwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRkZW5vbWluYXRvciAtIERlZmF1bHQgdmFsdWUgdG8gdXNlIGFzIGRlbm9taW5hdG9yIHdoZW4gYCRmcmFjdGlvbmAgcmVwcmVzZW50cyBhbiBhYnNvbHV0ZSB2YWx1ZS5cbkBmdW5jdGlvbiBmcmFjdGlvbi10by1wZXJjZW50YWdlKFxuICAkZnJhY3Rpb24sXG4gICRkZW5vbWluYXRvcjogbnVsbFxuKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbik7XG4gICRwYXJzZWQtbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMSk7XG4gICRwYXJzZWQtZGVub21pbmF0b3I6IG50aCgkcGFyc2VkLCAyKTtcblxuICBAaWYgJHBhcnNlZC1ub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuICBAaWYgJHBhcnNlZC1kZW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAaWYgdHlwZS1vZigkZGVub21pbmF0b3IpID09ICdudW1iZXInIHtcbiAgICAgICRwYXJzZWQtZGVub21pbmF0b3I6ICRkZW5vbWluYXRvcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdFcnJvciB3aXRoIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIEEgZGVmYXVsdCBcIiRkZW5vbWluYXRvclwiIGlzIHJlcXVpcmVkIHRvIHN1cHBvcnQgYWJzb2x1dGUgdmFsdWVzJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHBhcnNlZC1ub21pbmF0b3IgLyAkcGFyc2VkLWRlbm9taW5hdG9yKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSB0byBvZmZzZXQgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd9IFRoZSBjZWxsIG9mZnNldCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRzaXplOiB4eS1jZWxsLXNpemUoJG4pO1xuXG4gICRvZmZzZXQ6ICRzaXplO1xuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpIC8gMik7XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0pKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiBudWxsLFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKCRicmVha3BvaW50LCAkbWVkaWEtcXVlcmllczogJ2Zvci1saXN0cycpIHtcbiAgICAkb2Zmc2V0OiB4eS1jZWxsLW9mZnNldCgkbiwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSk7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JG9mZnNldH07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgQGlmICRwdXNoIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRwdWxsIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICBAaWYgJG9mZnNldCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIEBpZiAkY2VudGVyIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgJC1ndXR0ZXItdW5wb3Mtc2VsZWN0b3I6IChcbiAgICAgIGlmKCR1bmNlbnRlciwgJy4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9JywgbnVsbCksXG4gICAgICBpZigkcHVzaCwgJy4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCcsIG51bGwpLFxuICAgICAgaWYoJHB1bGwsICcuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAnLCBudWxsKSxcbiAgICApO1xuICAgIEBpZiAoJHVuY2VudGVyIG9yICRwdXNoIG9yICRwdWxsKSB7XG4gICAgICAjeyQtZ3V0dGVyLXVucG9zLXNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG5cdHRpbnk6IDAuNnJlbSxcblx0c21hbGw6IDAuNzVyZW0sXG5cdGRlZmF1bHQ6IDAuOXJlbSxcblx0bGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcblx0JGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcblx0QGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cblx0QGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcblx0XHRAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcblx0XHRcdFx0cGFkZGluZzogJHBhZGRpbmc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEBlbHNlIHtcblx0XHRwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG5cdH1cblxuXHRib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuXHRib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcblx0dHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXHRmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblx0Zm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXHRmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXHRsaW5lLWhlaWdodDogMTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuXHRAaWYgJGV4cGFuZCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5cdEBlbHNlIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0bWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblx0fVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG5cdCRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuXHRAaWYgJGZpbGwgPT0gaG9sbG93IHtcblx0XHRAaW5jbHVkZSBidXR0b24taG9sbG93O1xuXHR9XG5cdEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcblx0XHRAaW5jbHVkZSBidXR0b24tY2xlYXI7XG5cdH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuXHQkZmlsbDogJGJ1dHRvbi1maWxsLFxuXHQkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuXHQkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuXHQkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuXHRAaWYgJGZpbGwgPT0gc29saWQge1xuXHRcdEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG5cdH1cblx0QGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcblx0XHRAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcblx0fVxuXHRAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcblx0fVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG5cdCRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG5cdCRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG5cdCRjb2xvcjogJGJ1dHRvbi1jb2xvcixcblx0JGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcblx0QGlmICRjb2xvciA9PSBhdXRvIHtcblx0XHQkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuXHR9XG5cblx0QGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuXHRcdCRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcblx0fVxuXG5cdC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuXHQmLFxuXHQmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcblx0Ji5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG5cdCYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAtNXB4IDVweCAwIDAgcmdiYSgwLDAsMCwuMjUpO1xuXHRcdGJvcmRlcjogNXB4IHNvbGlkICRiYWNrZ3JvdW5kO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3Zlcjtcblx0XHRjb2xvcjogJGJsYWNrXG5cdH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG5cdCYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcblx0XHQmLCAmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0fVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuXHQkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcblx0JGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuXHQkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuXHQkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cblx0Ly8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG5cdCYsXG5cdCYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuXHQmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3Zlcixcblx0Ji5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuXHRcdGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0fVxuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cdH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG5cdCYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcblx0XHQmLCAmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG5cdCRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuXHQkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuXHQkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cblx0Ly8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG5cdCYsXG5cdCYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuXHQmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3Zlcixcblx0Ji5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRjb2xvcjogJGNvbG9yLWhvdmVyO1xuXHR9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcblx0JG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG5cdG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuXHQkc2l6ZTogMC40ZW0sXG5cdCRjb2xvcjogJHdoaXRlLFxuXHQkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG5cdCY6OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG5cdFx0bWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcblx0fVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuXHQkZXhwYW5kOiBmYWxzZSxcblx0JGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcblx0JGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlcixcblx0JGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuXHQkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG5cdEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXHRAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuXHRAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuXHRAaWYgJGV4cGFuZCB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcblx0fVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuXHQuYnV0dG9uIHtcblx0XHRAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTsgXHRcblxuXHRcdC8vIFNpemVzXG5cdFx0QGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcblx0XHRcdCYuI3skc2l6ZX0ge1xuXHRcdFx0XHRmb250LXNpemU6ICR2YWx1ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG5cdFx0QGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG5cdFx0XHRAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG5cdFx0XHRcdFx0Ji4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG5cdFx0XHRcdFx0XHQmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcblx0XHRcdFx0XHRcdCYuI3skc2l6ZX0tZXhwYW5kZWQge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcblx0XHRAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG5cdFx0XHQkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG5cdFx0XHQmI3skc2VsZWN0b3J9IHtcblx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuXHRcdFx0XHRAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cblx0XHRcdFx0QGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuXHRcdFx0XHRcdCYuI3skbmFtZX0ge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gRGlzYWJsZWQgc3RhdGVcblx0XHQmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG5cdFx0XHRAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cdFx0fVxuXG5cdFx0Ly8gRHJvcGRvd24gYXJyb3dcblx0XHQmLmRyb3Bkb3duIHtcblx0XHRcdEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuXHRcdFx0QGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYuaG9sbG93LCAmLmNsZWFyIHtcblx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcblx0XHRcdFx0XHQmLiN7JG5hbWV9IHtcblx0XHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcblx0XHQmLmFycm93LW9ubHk6OmFmdGVyIHtcblx0XHRcdHRvcDogLTAuMWVtO1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuXHRcdH1cblx0fVxuXG5cdGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNYWtlIGJ1dHRvbnMgYm9uZGVkIHdpdGhvdXQgZ2FwIGJldHdlZW4gdGhlbS4gQm9yZGVycyBiZXR3ZWVuIGJ1dHRvbnMgYXJlIG1lcmdlZFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1uby1nYXBzKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogcmVtLWNhbGMoLSRib3JkZXItd2lkdGgpO1xuXG4gICAgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJGJhc2Utc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skYmFzZS1zZWxlY3Rvcn0ge1xuICAgICAgICAvLyBEbyBub3QgZ2VuZXJhdGUgYnV0dG9uIGJhc2Ugc3R5bGVzIGZvciB0aGUgZGVmYXVsdCBmaWxsaW5nXG4gICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAkaW5kaXZpZHVhbC1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfS4jeyRuYW1lfScpO1xuXG4gICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0sICN7JGluZGl2aWR1YWwtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5uby1nYXBzIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1uby1nYXBzO1xuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBzaXplIHRvIHVzZSBhcyBkZWZhdWx0XG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tc2l6ZVxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVXNlZCB0byBnZW5lcmF0ZSBzaXppbmcgbW9kaWZpZXJzLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVzZSBieSBkZWZhdWx0IHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgZGVmYXVsdCBzaXplXG4gICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemV9O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IC41ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIGZvciBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgLy8gaW5kaWNhdGUgYSBkaXNhYmxlZCBzd2l0Y2hcbiAgaW5wdXQ6ZGlzYWJsZWQgfiAmIHtcbiAgICBjdXJzb3I6ICRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6ICRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDtcbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC4zMTI1cmVtO1xuICB0YWJsZS1sYXlvdXQ6IGF1dG87XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG4gICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgaW5mbykge1xuICAgICRpbmZvLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGluZm8pICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRpbmZvLWNvbG9yOiAjYTBkM2U4ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG5cdCRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcblx0JGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0XG5cdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRzdWNjZXNzLWNvbG9yLCAkbGlnaHRuZXNzOiA0MCUpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogLTEwJSk7XG5cdFxuXHRAaWYgJHNpdGUgPT0gJ3Byb2QnIHsgXG5cdFx0YmFja2dyb3VuZDogI2NjZTVhOTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjYjlkYzhhO1xuXHR9XG5cdFxuXHRwYWRkaW5nOiAuNXJlbTtcblx0cGFkZGluZy1sZWZ0OiAxcmVtO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFxuXG5cdC8vIEl0ZW0gd3JhcHBlclxuXHRsaSB7XG5cdFx0ZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuXHRcdGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuXHRcdGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cblx0XHRAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0fVxuXG5cdFx0QGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG5cdFx0XHQvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG5cdFx0XHQkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuXHRcdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0Y29udGVudDogJHNlcGFyYXRvcjtcblx0XHRcdFx0XHRjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBlbHNlIHtcblx0XHRcdG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG5cdFx0fVxuXHR9XHRcblxuXHQvLyBQYWdlIGxpbmtzXG5cdGEge1xuXHRcdGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG5cdFxuXHRsaS5jdXJyZW50IHtcblx0XHRjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcblx0fVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG5cdC5icmVhZGNydW1icyB7XG5cdFx0QGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG5cdFx0LmRpc2FibGVkIHtcblx0XHRcdGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcblx0XHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHBsdXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbWludXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcblx0JG1hcmdpbjogJHRhYi1tYXJnaW4sXG5cdCRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG5cdCRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0bWFyZ2luOiAkbWFyZ2luO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuXHQ+IGxpIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmbG9hdDogbm9uZTtcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcblx0JHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuXHQkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuXHQkY29sb3I6ICR0YWItY29sb3IsXG5cdCRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuXHQkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG5cdCRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG5cdGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcblx0PiBhIHtcblx0XHRAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogJHBhZGRpbmc7XG5cdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTNweDtcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTNweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjNDc2NTFlO1xuXHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG5cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogI2EyZTI0YTtcblx0XHR9XG5cblx0XHQmOmZvY3VzLFxuXHRcdCZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcblx0XHRcdGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcblx0XHRcdGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuXHRcdH1cblx0fVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuXHQkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG5cdCRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuXHQkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblx0Ym9yZGVyLXRvcDogMDtcblx0YmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3I7XG5cdHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcblx0JGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cdGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcblx0JHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcblx0ZGlzcGxheTogbm9uZTtcblx0cGFkZGluZzogJHBhZGRpbmc7XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuXHQudGFicyB7XG5cdFx0QGluY2x1ZGUgdGFicy1jb250YWluZXI7XG5cdH1cblxuXHQvLyBWZXJ0aWNhbFxuXHQudGFicy52ZXJ0aWNhbCB7XG5cdFx0QGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG5cdH1cblxuXHQvLyBTaW1wbGVcblx0LnRhYnMuc2ltcGxlIHtcblx0XHQ+IGxpID4gYSB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gUHJpbWFyeSBjb2xvclxuXHQudGFicy5wcmltYXJ5IHtcblx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuXHRcdD4gbGkgPiBhIHtcblx0XHRcdGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnRhYnMtdGl0bGUge1xuXHRcdEBpbmNsdWRlIHRhYnMtdGl0bGU7XG5cdH1cblxuXHQudGFicy1jb250ZW50IHtcblx0XHRAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG5cdH1cblxuXHQudGFicy1jb250ZW50LnZlcnRpY2FsIHtcblx0XHRAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG5cdH1cblxuXHQudGFicy1wYW5lbCB7XG5cdFx0QGluY2x1ZGUgdGFicy1wYW5lbDtcblx0fVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG5cblx0bGkge1xuXHRcdEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyMDIwO1xuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzExMTtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdH1cblx0fVxuXG5cdGEsXG5cdC5idXR0b24ge1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuXHR9XG5cblx0Ly8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG5cdGlucHV0LFxuXHRzZWxlY3QsXG5cdGEsXG5cdGJ1dHRvbiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcblx0XHRjb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNTAlKTtcblx0XHRAaWYgJHNpdGUgPT0gJ3Byb2QnIHtcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdH0gXG5cdFx0XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMTExO1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0fVxuXHR9XG5cblx0aW5wdXQge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuXHRAaWYgJGdsb2JhbC1mbGV4Ym94IHtcblx0XHRsaSB7XG5cdFx0XHRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXHRcdH1cblx0fVxuXHRAZWxzZSB7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHQ+IGxpIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblx0fVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcblx0QGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG5cdFx0QGlmICRnbG9iYWwtZmxleGJveCB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0fVxuXHRcdEBlbHNlIHtcblx0XHRcdHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcblx0XHR9XG5cdH1cblx0QGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG5cdFx0QGlmICRnbG9iYWwtZmxleGJveCB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cblx0XHRcdFx0LnN1Ym1lbnUgbGkge1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLnZlcnRpY2FsIGxpIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cblx0XHRcdFx0LnN1Ym1lbnUgbGkge1xuXHRcdFx0XHRcdHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0QGVsc2Uge1xuXHRcdFx0dGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuXHRcdFx0LnN1Ym1lbnUgbGkge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG5cdFx0XHR9XG5cblx0XHRcdCYudmVydGljYWwge1xuXHRcdFx0XHQuc3VibWVudSBsaSB7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG5cdFx0QGlmICRnbG9iYWwtZmxleGJveCB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdFx0XHRcdC5zdWJtZW51IGxpIHtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0QGVsc2Uge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHQuc3VibWVudSBsaSB7XG5cdFx0XHRcdHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcblx0QGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG5cdFx0QGlmICRnbG9iYWwtZmxleGJveCB7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdH1cblx0XHRAZWxzZSB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG5cdFx0QGlmICRnbG9iYWwtZmxleGJveCB7XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0fVxuXHRcdEBlbHNlIHtcblx0XHRcdGxpIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEBlbHNlIHtcblx0XHRAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuXHR9XHRcbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcblx0QGlmICRnbG9iYWwtZmxleGJveCB7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdGxpICsgbGkge1xuXHRcdG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuXHR9XG5cblx0YSB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuXHQkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuXHQkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG5cdEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG5cdFx0bWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG5cdFx0bWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcblx0fVxuXHRAZWxzZSB7XG5cdFx0bWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG5cdFx0bWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcblx0fVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcblx0QGlmICRnbG9iYWwtZmxleGJveCB7XG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdH1cblx0fVxuXHRAZWxzZSB7XG5cdFx0aW1nLFxuXHRcdGksXG5cdFx0c3ZnIHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblx0XHRcdCsgc3BhbiB7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuXHRAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuXHRcdGxpIGEge1xuXHRcdFx0QGlmICRnbG9iYWwtZmxleGJveCB7XG5cdFx0XHRcdGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblx0XHRcdH1cblxuXHRcdFx0aW1nLFxuXHRcdFx0aSxcblx0XHRcdHN2ZyB7XG5cdFx0XHRcdG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuXHRcdFx0XHRAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG5cdFx0bGkgYSB7XG5cdFx0XHRAaWYgJGdsb2JhbC1mbGV4Ym94IHtcblx0XHRcdFx0ZmxleC1mbG93OiByb3cgbm93cmFwO1xuXHRcdFx0fVxuXG5cdFx0XHRpbWcsXG5cdFx0XHRpLFxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0bWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cblx0XHRcdFx0QGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcblx0XHRsaSBhIHtcblx0XHRcdEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdFx0XHRmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG5cdFx0XHR9XG5cdFx0XHRAZWxzZSB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdH1cblxuXHRcdFx0aW1nLFxuXHRcdFx0aSxcblx0XHRcdHN2ZyB7XG5cdFx0XHRcdEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0byAkc3BhY2luZztcblx0XHRcdFx0fVxuXHRcdFx0XHRAZWxzZSB7XG5cdFx0XHRcdFx0YWxpZ24tc2VsZjogc3RyZXRjaDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG5cdFx0bGkgYSB7XG5cdFx0XHRAaWYgJGdsb2JhbC1mbGV4Ym94IHtcblx0XHRcdFx0ZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXHRcdFx0fVxuXHRcdFx0QGVsc2Uge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cblx0XHRcdGltZyxcblx0XHRcdGksXG5cdFx0XHRzdmcge1xuXHRcdFx0XHRAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGVsc2Uge1xuXHRcdFx0XHRcdGFsaWduLXNlbGY6IHN0cmV0Y2g7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuXHRwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuXHRmb250LXdlaWdodDogYm9sZDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuXHRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlLCAoJG1lbnUtaXRlbS1jb2xvci1hY3RpdmUsICRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZSkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcblx0Lm1lbnUge1xuXHRcdEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuXHRcdC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcblx0XHQmLCAmLmhvcml6b250YWwge1xuXHRcdFx0QGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cdFx0fVxuXG5cdFx0Ly8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcblx0XHQmLnZlcnRpY2FsIHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcblx0XHR9XG5cblx0XHQvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG5cdFx0Ji5leHBhbmRlZCB7XG5cdFx0XHRAaW5jbHVkZSBtZW51LWV4cGFuZDtcblx0XHR9XG5cblx0XHQvLyBTaW1wbGVcblx0XHQmLnNpbXBsZSB7XG5cdFx0XHRAaW5jbHVkZSBtZW51LXNpbXBsZTtcblx0XHR9XG5cblx0XHQvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG5cdFx0QGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG5cdFx0XHQmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cdFx0XHR9XG5cblx0XHRcdCYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuXHRcdFx0fVxuXG5cdFx0XHQmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuXHRcdFx0fVxuXG5cdFx0XHQmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuXHRcdFx0XHRAaW5jbHVkZSBtZW51LWV4cGFuZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBOZXN0aW5nXG5cdFx0Ji5uZXN0ZWQge1xuXHRcdFx0QGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG5cdFx0fVxuXG5cdFx0Ly8gSWNvbiBCYXNlIFN0eWxlc1xuXHRcdCYuaWNvbnMge1xuXHRcdFx0QGluY2x1ZGUgbWVudS1pY29ucztcblx0XHR9XG5cblx0XHQvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcblx0XHRAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuXHRcdFx0Ji5pY29uLXRvcCxcblx0XHRcdCYuaWNvbi1yaWdodCxcblx0XHRcdCYuaWNvbi1ib3R0b20sXG5cdFx0XHQmLmljb24tbGVmdCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gSWNvbiBMZWZ0XG5cdFx0Ji5pY29uLWxlZnQge1xuXHRcdFx0QGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuXHRcdH1cblxuXHRcdC8vIEljb24gUmlnaHRcblx0XHQmLmljb24tcmlnaHQge1xuXHRcdFx0QGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcblx0XHR9XG5cblx0XHQvLyBJY29uIFRvcFxuXHRcdCYuaWNvbi10b3Age1xuXHRcdFx0QGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG5cdFx0fVxuXG5cdFx0Ly8gSWNvbiBCb3R0b21cblx0XHQmLmljb24tYm90dG9tIHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuXHRcdH1cblxuXHRcdC8vIEFjdGl2ZSBzdGF0ZVxuXHRcdC5pcy1hY3RpdmUgPiBhIHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuXHRcdH1cblx0XHRcblx0XHQvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcblx0XHRAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuXHRcdFx0LmFjdGl2ZSA+IGEge1xuXHRcdFx0XHRAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBBbGlnbiBsZWZ0XG5cdFx0Ji5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuXHRcdFx0QGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcblx0XHR9XG5cblx0XHQvLyBBbGlnbiByaWdodFxuXHRcdCYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG5cdFx0XHRAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuXHRcdFx0Lm5lc3RlZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gQWxpZ24gY2VudGVyXG5cdFx0Ji5hbGlnbi1jZW50ZXIge1xuXHRcdFx0QGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuXHRcdH1cblxuXHRcdC5tZW51LXRleHQge1xuXHRcdFx0QGluY2x1ZGUgbWVudS10ZXh0O1xuXHRcdH1cblx0fVxuXG5cdEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG5cdFx0Lm1lbnUtY2VudGVyZWQge1xuXHRcdFx0PiAubWVudSB7XG5cdFx0XHRcdEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cblx0Lm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5AaWYgJHNpdGUgPT0gJ3Rlc3QnIHtcblx0JGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IHNjYWxlLWNvbG9yKHByaW1hcnksICRsaWdodG5lc3M6IDUwJSkgIWRlZmF1bHQ7XG59XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcblx0bWFyZ2luLXRvcDogLTFweDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBwYXVzZS1xdWV1ZS1jbGFzczogJ2lzLXBhdXNlZCcsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gXCIjeyRvdXRwdXR9XCI7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiAtbXVpLWlzLWZ1bmN0aW9uKCRtYXApIHtcbiAgICAgICRtYXA6IC1tdWktc2FmZS1jYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC4gQnkgZGVmYXVsdCBgbGVmdGAgYW5kIGByaWdodGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBudWxsLFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGxlZnQsIHJpZ2h0KSk7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIE9wYWNpdHkgdG8gZW5kIG9uLiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGxcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6IC1tdWktc3RyaW5nLXNhZmUoJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nKSxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gU2l6ZSB0byBzdGFydCBhdC4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIFNpemUgdG8gZW5kIGF0LiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuIEJ5IGRlZmF1bHQgYGN3YCBhbmQgYGNjd2AgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGN3LCBjY3cpKTtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdW5kZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHJvdW5kZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItcmFkaXVzYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhZGVmYXVsdDtcblxuLy8vIFJvdW5kZWQgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBBZGRzIHJhZGl1cyBjb3JuZXJzIChhbGwgY29ybmVycykgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFskcHJvdG90eXBlLWJvcmRlci1yYWRpdXNdIEJvcmRlciByYWRpdXMgKGFsbCBjb3JuZXJzKVxuQG1peGluIGJvcmRlci1yYWRpdXMoXG4gICRyYWRpdXM6ICRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c1xuKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbi8vLyBSb3VuZGVkIHNxdWFyZSB1dGlsaXR5IG9yIHJlY3RhbmdsZSB1dGlsaXR5IChhbGwgY29ybmVycyk6IFJvdW5kcyBhbGwgY29ybmVycyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQgdG8gbWFrZSBhIHBpbGwgc2hhcGUuXG5AbWl4aW4gYm9yZGVyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQge1xuICAucm91bmRlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG5cbiAgICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIEZvciBzd2l0Y2hlc1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yYWRpdXMge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXJvdW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1yYWRpdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XHJcblxyXG5AaW1wb3J0ICdzZXR0aW5ncyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xyXG5AaW1wb3J0ICdtb3Rpb24tdWknO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUuZm91bmRhdGlvbic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvanN0cmVlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zZWxlY3QnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RleHQnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2RhdGFUYWJsZXMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2RhdGFUYWJsZXMuZm91bmRhdGlvbic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZGF0YVRhYmxlcy5yZXNwb25zaXZlLmZvdW5kYXRpb24nO1xyXG5cclxuLy8gR2xvYmFsIHN0eWxlc1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcclxuXHJcbi8vIEdyaWRzIChjaG9vc2Ugb25lKVxyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcclxuIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XHJcblxyXG4vLyBHZW5lcmljIGNvbXBvbmVudHNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuLy8gQmFzaWMgY29tcG9uZW50c1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xyXG5cclxuLy8gQ29udGFpbmVyc1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xyXG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuXHJcbi8vIExheW91dCBjb21wb25lbnRzXHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XHJcblxyXG4vLyBIZWxwZXJzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xyXG5cclxuLy8gTW90aW9uIFVJXHJcbkBpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcclxuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XHJcblxyXG4vLyBOb3cgaXQncyBhIGhlbHBlciBcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZDtcclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIge1xyXG5cdHBvc2l0aW9uOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50b3AtYmFyIHtcclxuXHR6LWluZGV4OiAyO1xyXG59XHJcblxyXG4uYnV0dG9uLnRpbnkge1xyXG5cdHBhZGRpbmc6IC4xMjVyZW0gLjI1cmVtIC4xODc1cmVtO1xyXG5cdGZvbnQtc2l6ZTogLjY4NzVyZW07XHJcbn1cclxuLmJ1dHRvbi5zbWFsbCB7XHJcblx0cGFkZGluZzogLjYyNXJlbSAxLjI1cmVtIC42ODc1cmVtO1xyXG5cdGZvbnQtc2l6ZTogLjgxMjVyZW07XHJcbn1cclxuXHJcbi5kcm9wZG93bi5tZW51ID4gbGkge1xyXG5cdG1heC1oZWlnaHQ6IDQ1cHg7XHJcbn1cclxuXHJcbi5mYyB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5cdCRzaXRlOiAncGNkJztcclxuLy9cdCRzaXRlOiAndGVzdCc7XHJcblx0XHJcblx0JGdyYWQxOiAjMDAxZjNhO1xyXG5cdCRncmFkMjogIzAwNjViZjtcclxuXHRcclxuXHRAaWYgJHNpdGUgPT0gJ3Rlc3QnIHtcclxuXHRcdCRncmFkMTogIzQxNkUwRDtcclxuXHRcdCRncmFkMjogIzc3YmMwMDtcclxuXHR9XHJcblx0QGlmICRzaXRlID09ICd0ZXN0Mycge1xyXG5cdFx0JGdyYWQxOiAjQkU1MjM0O1xyXG5cdFx0JGdyYWQyOiAjRjhBQzQwO1xyXG5cdH1cclxuXHRAaWYgJHNpdGUgPT0gJ3Rlc3Q0JyB7XHJcblx0XHQkZ3JhZDE6ICM2MTdDODk7XHJcblx0XHQkZ3JhZDI6ICM5M0E5QUM7XHJcblx0fVxyXG5cdEBpZiAkc2l0ZSA9PSAnbG1zJyB7XHJcblx0XHQkZ3JhZDE6ICM3ODgxOTU7XHJcblx0XHQkZ3JhZDI6ICNhOWI1ZDE7XHJcblx0fVxyXG5cdEBpZiAkc2l0ZSA9PSAncGNkJyB7XHJcblx0XHQkZ3JhZDE6ICM1ZTlkMjA7XHJcblx0XHQkZ3JhZDI6ICM5ZGU0MzI7XHJcblx0fVxyXG5cclxuXHJcbmJvZHkgeyBcclxuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkZ3JhZDEsICRncmFkMiwgJGdyYWQxKTsgLyogRm9yIFNhZmFyaSA1LjEgdG8gNi4wICovXHJcblx0YmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCAkZ3JhZDEsICRncmFkMiwgJGdyYWQxKTsgLyogRm9yIE9wZXJhIDExLjEgdG8gMTIuMCAqL1xyXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHJpZ2h0LCAkZ3JhZDEsICRncmFkMiwgJGdyYWQxKTsgLyogRm9yIEZpcmVmb3ggMy42IHRvIDE1ICovXHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkZ3JhZDEsICRncmFkMiwgJGdyYWQxKTsgLyogU3RhbmRhcmQgc3ludGF4ICovXHJcblx0XHJcblx0LW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcclxuXHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XHJcblx0LW1vei1oeXBoZW5zOiBhdXRvO1xyXG5cdC1tcy1oeXBoZW5zOiBhdXRvO1xyXG5cdGh5cGhlbnM6IGF1dG87XHJcbn1cclxuXHJcbnRhYmxlLCAuZGlzcGxheSB7XHJcblx0LW1zLXdvcmQtYnJlYWs6IG5vcm1hbDtcclxuXHR3b3JkLWJyZWFrOiBub3JtYWw7XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG5cclxucG9seWxpbmV7XHJcblx0b3BhY2l0eTogLjM7XHJcblx0c3Ryb2tlOiBibGFjaztcclxuXHRzdHJva2Utd2lkdGg6IDJweDtcclxuXHRmaWxsOiBub25lO1xyXG59XHJcblxyXG4ud2FpdF9kaXYge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHotaW5kZXg6IDEwMTA7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjcpXHJcblx0XHR1cmwoJy4uL2ltYWdlcy9nZWFycy5zdmcnKVxyXG5cdFx0NTAlIDUwJVxyXG5cdFx0bm8tcmVwZWF0O1xyXG59XHJcblxyXG5ib2R5LmxvYWRpbmcge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbmJvZHkubG9hZGluZyAud2FpdF9kaXYge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ud2FpdF9tZXNzYWdlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHR3aWR0aDogMzI1cHg7XHJcblx0aGVpZ2h0OiAxNDBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDUwJTtcclxuXHRib3R0b206IDUwJTtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdFxyXG5cdG1hcmdpbjogYXV0bztcclxuXHRtYXJnaW4tdG9wOiAxMDBweDtcclxuXHRib3JkZXI6IDhweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLm15LXJvd3Mge1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0Ym94LXNoYWRvdzogLTEwcHggMTBweCAyMHB4ICMwMDA7XHJcbn1cclxuXHJcbiNtYWluLXdyYXAgIHtcclxuXHRib3gtc2hhZG93OiAtMTBweCAzMHB4IDIwcHggIzAwMDtcclxufVxyXG5cclxuLmxvZ2luIHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0Zm9udC1zaXplOiAuNzVlbTtcclxuXHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0cGFkZGluZy10b3A6IDEwcHg7XHJcbn1cclxuXHJcbiN0b3BfaGVhZGVyIHtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1x0XHJcblx0LXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XHJcblx0LXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiA4cHg7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiA4cHg7XHJcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xyXG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7XHJcblx0bWFyZ2luLXRvcDogNDVweDtcclxufVxyXG5cclxuXHJcbi5jbGllbnRfbmFtZSB7XHJcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRtYXJnaW4tdG9wOiAyNXB4O1xyXG59XHJcblxyXG4uY2xpZW50X2xvZ28ge1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5zcXVhcmVkVHdvIHtcclxuXHR3aWR0aDogMjhweDtcclxuXHRoZWlnaHQ6IDI4cHg7XHJcblx0YmFja2dyb3VuZDogI2ZjZmZmNDtcclxuXHJcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmNmZmY0IDAlLCAjZGZlNWQ3IDQwJSwgI2IzYmVhZCAxMDAlKTtcclxuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmY2ZmZjQgMCUsICNkZmU1ZDcgNDAlLCAjYjNiZWFkIDEwMCUpO1xyXG5cdGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmY2ZmZjQgMCUsICNkZmU1ZDcgNDAlLCAjYjNiZWFkIDEwMCUpO1xyXG5cdGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZmNmZmY0IDAlLCAjZGZlNWQ3IDQwJSwgI2IzYmVhZCAxMDAlKTtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG9wLCAjZmNmZmY0IDAlLCAjZGZlNWQ3IDQwJSwgI2IzYmVhZCAxMDAlKTtcclxuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZjZmZmNCcsIGVuZENvbG9yc3RyPScjYjNiZWFkJyxHcmFkaWVudFR5cGU9MCApO1xyXG5cdG1hcmdpbjogMDtcclxuXHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDFweCB3aGl0ZSwgMHB4IDFweCAzcHggcmdiYSgwLDAsMCwwLjUpO1xyXG5cdC1tb3otYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAxcHggd2hpdGUsIDBweCAxcHggM3B4IHJnYmEoMCwwLDAsMC41KTtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDFweCB3aGl0ZSwgMHB4IDFweCAzcHggcmdiYSgwLDAsMCwwLjUpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxubGkge1xyXG5cdGZvbnQtc2l6ZTogLjg3NXJlbTtcclxufVxyXG5cclxuLmZvb3RlciB7XHJcblx0bWFyZ2luLWJvdHRvbTogNjBweDtcclxuXHRwYWRkaW5nLXRvcDogMjVweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHRiYWNrZ3JvdW5kOiAjMjAyMDIwO1xyXG5cdGNvbG9yOiAjYmJiO1xyXG5cdGZvbnQtc2l6ZTogLjc1ZW07XHJcblx0YSB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogI2JiYjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfbGlua3Mge1xyXG5cdG1hcmdpbi1yaWdodDogMTAwcHg7XHJcblx0d2lkdGg6IDE1MHB4O1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdGxpIHtcclxuXHRcdGZvbnQtc2l6ZTogLjc1ZW07XHJcblx0fVxyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5yZXYge1xyXG5cdGZvbnQtc2l6ZTogLjZyZW07XHJcblx0Y29sb3I6ICM5OTk7XHJcbn1cclxuXHJcbi5tb3N0X3JlY2VudCB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogMTUwO1xyXG5cdGxlZnQ6IC0xMjVweDtcclxuXHR6LWluZGV4OiAyNTAwO1xyXG5cdHdpZHRoOiAxNTBweDtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRib3JkZXItdG9wOiAycHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcclxuXHRib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcclxuXHQtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4cHg7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiA4cHg7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA4cHg7XHJcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcclxuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4O1xyXG5cdGJveC1zaGFkb3c6IC0xMHB4IDEwcHggMjBweCAjMDAwO1xyXG5cdFxyXG5cdGxpIHtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y29sb3I6ICRvaWw7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDg1JSk7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkb2lsO1xyXG5cdFx0fVxyXG5cdH1cdFxyXG59XHJcbi5hbGVydF9wYW5lbCB7XHJcblx0YmFja2dyb3VuZDogI2ZmYzZjNjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjYzkwMDAwO1xyXG59XHJcblxyXG4uYmFubmVyX2hlYWRlciB7XHJcblx0Zm9udC1mYW1pbHk6IEFyaWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGZvbnQtc2l6ZTogMTZweDsgXHJcblx0Y29sb3I6ICM5OTk5OTk7XHJcbn1cclxuXHJcbi5hcHByb3ZlX3NlcnZpY2Vfbm90ZSB7XHJcblx0bWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlbmRfbWVzc2FnZSB7XHJcblx0Ym9yZGVyOiByZW0tY2FsYygxMCkgc29saWQgJHByaW1hcnktY29sb3I7XHJcbn1cclxuXHJcbi5mcm9tIHtcclxuXHR3aWR0aDogNDAlO1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4ubWVzc2FnZV90ZXh0IHtcclxuXHR3aWR0aDogNTAlO1xyXG5cdGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLnRpbWVvdXRfd2FybmluZyB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0bWFyZ2luOiBhdXRvO1xyXG5cdG1hcmdpbi10b3A6IC0xNjBweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdHRvcDogNTAlO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdGhlaWdodDogMzI1cHg7XHJcblx0ei1pbmRleDogMjAwMDtcclxuXHRcclxuXHR3aWR0aDogNDAlO1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0Ym9yZGVyOiByZW0tY2FsYygxMCkgc29saWQgJHNlY29uZGFyeS1jb2xvcjtcclxuXHQtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcclxuXHQtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDhweDtcclxuXHQtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDhweDtcclxuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XHJcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLmxpZ2h0ZXJfZ3JheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3VwZXJmaWx0ZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRvaWwsICRsaWdodG5lc3M6IDg1JSk7XHJcblx0Ym9yZGVyOiAycHggc29saWQgc2NhbGUtY29sb3IoJG9pbCwgJGxpZ2h0bmVzczogNTUlKTtcclxuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDtcclxuXHQtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0cGFkZGluZy10b3A6IC44cmVtO1xyXG5cdHBhZGRpbmctbGVmdDogLjhyZW07XHJcblx0cGFkZGluZy1yaWdodDogLjhyZW07XHJcblx0cGFkZGluZy1ib3R0b206IDBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAuMjVyZW07XHJcblx0Zm9udC1zaXplOiAuOHJlbTtcclxufVxyXG5cclxuLmxpc3RfZmlsdGVyIHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRtYXJnaW4tcmlnaHQ6IC41cmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDBweDtcclxuXHRmb250LXNpemU6IC44cmVtO1xyXG59XHJcblxyXG4uY2xlYXJfZmlsdGVycyB7XHJcblx0ZmxvYXQ6IHJpZ2h0OyBcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IC01cHg7XHJcbn1cclxuXHJcbi5ub19ib3R0b21fbWFyZ2luIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwXHJcbn1cclxuXHJcbi5yYW5nZSB7XHJcblx0bWFyZ2luLXRvcDogNHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdHdpZHRoOiAxMjVweDtcclxufVxyXG5cclxuLnJhbmdlIGxhYmVsIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0d2lkdGg6IDVweDtcclxuXHRtYXJnaW4tbGVmdDogLTVweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLnJlYWRvbmx5X2JveCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogLjI1cmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRtaW4taGVpZ2h0OiAyZW07XHJcbn1cclxuXHJcbi5zbWFsbGVyX3RleHQge1xyXG5cdGZvbnQtc2l6ZTogLjhlbTsgXHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZDogI2RkZDtcclxufVxyXG5cclxuLkRUVFRfY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLm1lZHNfZmx5b3V0IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRiYWNrZ3JvdW5kOiAjZGRkO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICM2NjY7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGEge1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmtlZXBfc2hvcnQge1xyXG5cdGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG5cdHdpZHRoOiAxNzBweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRtYXJnaW46IC0zcHg7XHJcblx0XHRtYXJnaW4tbGVmdDogLTRweDtcclxuXHRcdG1hcmdpbi10b3A6IC0xMnB4O1xyXG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHQtd2Via2l0LWJvcmRlci10b3AtcmFkaXVzOiA0cHg7XHJcblx0XHQtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdHBhZGRpbmc6IDNweDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0ei1pbmRleDogMTEwMDtcclxuXHR9XHJcbn1cclxuXHJcbi5rczUwIHtcclxuXHR3aWR0aDogNTBweDtcclxufVxyXG5cclxuLmtzNzUge1xyXG5cdHdpZHRoOiA3NXB4O1xyXG59XHJcblxyXG4ua3MxMDAge1xyXG5cdHdpZHRoOiAxMDBweDtcclxufVxyXG5cclxuLmtzMTI1IHtcclxuXHR3aWR0aDogMTI1cHg7XHJcbn1cclxuXHJcbi5rczE1MCB7XHJcblx0d2lkdGg6IDE1MHB4O1xyXG59XHJcblxyXG4ua3MyMDAge1xyXG5cdHdpZHRoOiAyMDBweDtcclxufVxyXG5cclxuLmtzMjI1IHtcclxuXHR3aWR0aDogMjI1cHg7XHJcbn1cclxuXHJcbi5rczI1MCB7XHJcblx0d2lkdGg6IDI1MHB4O1xyXG59XHJcblxyXG4ubm9ib3JkZXIge1xyXG5cdGJvcmRlcjogMHB4O1xyXG59XHJcblxyXG4ubWVkX2RldGFpbHMge1xyXG5cdG1pbi13aWR0aDogMjUwcHg7XHJcblx0bWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0dGQge1xyXG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHR9XHJcbn1cclxuXHJcbi5zcGFjZWRfYnV0dG9ucyB7XHJcblx0bWluLXdpZHRoOiA1MHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4udGxlbiB7XHJcblx0aGVpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG4uZ28tdG9we1xyXG5cdGRpc3BsYXk6YmxvY2s7XHJcblx0d2lkdGg6NDBweDtcclxuXHRoZWlnaHQ6NDBweDtcclxuXHRsaW5lLWhlaWdodDozNXB4O1xyXG5cdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdGZvbnQtc2l6ZTozMHB4O1xyXG5cdHBvc2l0aW9uOmZpeGVkO1xyXG5cdGJvdHRvbTotNDBweDtcclxuXHRyaWdodDoyMHB4O1xyXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcblx0LW1vei10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuXHQtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiM0MDQwNDA7XHJcblx0Y29sb3I6I0ZGRkZGRjtcclxuXHR0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuXHQtbW96LWJvcmRlci1yYWRpdXM6NXB4O1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czo1cHg7XHJcbn1cclxuXHJcbi5nby10b3Auc2hvd3tcclxuXHRib3R0b206MjBweDtcclxufVxyXG5cclxuLmdvLXRvcDpob3ZlcntcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdGNvbG9yOiNGRkZGRkY7XHJcbn1cclxuXHJcbi5jbG9zZV9wYW5lbCB7XHJcblx0Zm9udC1zaXplOiAyLjVyZW07XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogLjVyZW07XHJcblx0cmlnaHQ6IDEuNXJlbTtcclxuXHRjb2xvcjogI0FBQTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNsb3NlX3BhbmVsX2ZhX2ljb24ge1xyXG5cdGZvbnQtc2l6ZTogMS41cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IC4yNXJlbTtcclxuXHRyaWdodDogLjVyZW07XHJcblx0Y29sb3I6ICNBQUE7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5pY29uX2NvbnRyb2wge1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdGNvbG9yOiAkb2lsO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xyXG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xyXG5cdC1vLXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHR9XHJcbn1cclxuXHJcbi5pY29uX2dvb2Qge1xyXG5cdGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcclxufVxyXG5cclxuLmluYWN0aXZlX2ljb24ge1xyXG5cdGNvbG9yOiAjODg4ICFpbXBvcnRhbnQ7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogIzc3NyAhaW1wb3J0YW50O1xyXG5cdH1cclxufVxyXG5cclxuLmNsZWFyX2RhdGUge1xyXG5cdG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG4uZGVsX2VsZW1lbnQge1xyXG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XHJcblx0LW1vei10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XHJcblx0LW8tdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xyXG5cdHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiAkb2lsO1xyXG5cdH1cclxufVxyXG5cclxuLnJlbW92ZV9pY29uIHtcclxuXHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4udG9wcmlnaHQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTsgXHJcblx0dG9wOiA1cHg7IFxyXG5cdHJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5zdWJzZWN0aW9uIHtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0cGFkZGluZzogMXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG5cdGJhY2tncm91bmQ6ICNmM2YzZjM7XHJcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcclxuXHQtbW96LXRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XHJcblx0LW8tdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZDogI2RmZGZkZjtcclxuXHR9XHJcbn1cclxuXHJcbi5mdSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiA5MCU7XHJcblx0JjphZnRlciB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0Y29udGVudDogJ1xcZjAyNCc7XHJcblx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFBybyc7XHJcblx0XHRmb250LXNpemU6IDEuMjVyZW07XHJcblx0XHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxNTAwbXM7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMTUwMG1zO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ei1pbmRleDogMjAwO1xyXG5cdFx0dG9wOiAtNXB4O1xyXG5cdH1cclxuXHRcclxuXHQmOmhvdmVyOmFmdGVyIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyNTBtcztcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcztcclxuXHR9XHJcbn1cclxuXHJcbi5jaGVja19hbGwge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQmOmFmdGVyIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHRjb250ZW50OiAnXFxmNTYwJztcclxuXHRcdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcclxuXHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHRcdGNvbG9yOiAkaW5mby1jb2xvcjtcclxuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDE1MDBtcztcclxuXHRcdHRyYW5zaXRpb246IGFsbCAxNTAwbXM7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAyMDA7XHJcblx0XHR0b3A6IC01cHg7XHJcblx0XHRyaWdodDogLTIwcHg7XHJcblx0fVxyXG5cdFxyXG5cdCY6aG92ZXI6YWZ0ZXIge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zO1xyXG5cdH1cclxufVxyXG5cclxuLmNsZWFyX2RhdGVwaWNrZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQmOmFmdGVyIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHRjb250ZW50OiAnXFxmMjczJztcclxuXHRcdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcclxuXHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHRcdGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxNTAwbXM7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMTUwMG1zO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ei1pbmRleDogMjAwO1xyXG5cdFx0dG9wOiAtMTFweDtcclxuXHRcdHJpZ2h0OiA4cHg7XHJcblx0fVxyXG5cdFxyXG5cdCY6aG92ZXI6YWZ0ZXIge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zO1xyXG5cdH1cclxufVxyXG5cclxuLypcclxuLm5vX3R4IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0JjpiZWZvcmUge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdGNvbnRlbnQ6ICdcXGYwNzUnO1xyXG5cdFx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG5cdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdFx0Y29sb3I6ICRzdWNjZXNzLWNvbG9yO1xyXG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTUwMG1zO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDE1MDBtcztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IDIwMDtcclxuXHRcdGxlZnQ6IC0yMHB4O1xyXG5cdH1cclxuXHRcclxuXHQmOmhvdmVyOmJlZm9yZSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjUwbXM7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXM7XHJcblx0fVxyXG59XHJcbiovXHJcblxyXG4udXBkYXRlX3JldmlldyB7XHJcblx0cGFkZGluZzogLjI1cmVtO1xyXG5cdGZvbnQtc2l6ZTogLjg1cmVtO1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRiYWNrZ3JvdW5kOiAjZmZkNmQ2O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNmZmFhYWE7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IDEuMjVyZW07XHJcbn1cclxuXHJcbi5yZXZpZXdlZCB7XHJcblx0YmFja2dyb3VuZDogI2VhZmZlYTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjYjVmZmI1O1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxubGFiZWwucmVxdWlyZWQge1xyXG5cdGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcbn1cclxuXHJcbi5yYXRpbmdfbWVudV93cmFwcGVyIHtcclxuXHR6LWluZGV4OiA1O1xyXG5cdGJhY2tncm91bmQ6ICNmNWY1ZjU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0d2lkdGg6IDIwJTtcclxuXHRcclxuXHRAbWVkaWEgKG1pbi13aWR0aDogMzUwcHgpIHtcclxuXHRcdGZvbnQtc2l6ZTogLjdyZW07XHJcblx0XHRtaW4td2lkdGg6IDE2MHB4O1xyXG5cdH1cclxuXHRcclxuXHRAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcclxuXHRcdGZvbnQtc2l6ZTogLjdyZW07XHJcblx0XHRtaW4td2lkdGg6IDE3MHB4O1xyXG5cdH1cclxuXHRcclxuXHRAbWVkaWEgKG1pbi13aWR0aDogMTAxNXB4KSB7XHJcblx0XHRmb250LXNpemU6IC43NXJlbTtcclxuXHRcdG1pbi13aWR0aDogMTg1cHg7XHJcblx0fVxyXG59XHJcblxyXG4ucmF0aW5nX2FyZWFfaGVhZGVyIHtcclxuXHRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkb2lsLCAkbGlnaHRuZXNzOiA5MCUpO1xyXG5cdGNvbG9yOiAkb2lsO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdHBhZGRpbmctbGVmdDogNXB4O1xyXG5cdHBhZGRpbmctcmlnaHQ6IDVweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMnB4O1xyXG5cdHBhZGRpbmctdG9wOiAycHg7XHJcbn1cclxuXHJcbi5yYXRpbmdfYXJlYV9sYWJlbCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHJcblx0QG1lZGlhIChtaW4td2lkdGg6IDM1MHB4KSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDJweDtcdFxyXG5cdFx0cGFkZGluZy1yaWdodDogMnB4O1xyXG5cdH1cclxuXHRAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcclxuXHRcdHBhZGRpbmctbGVmdDogMTBweDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDJweDtcclxuXHR9XHJcblx0QG1lZGlhIChtaW4td2lkdGg6IDEwMTVweCkge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1x0XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcblx0fVxyXG5cdFxyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHR9XHJcbn1cclxuXHJcbi5yYXRpbmdfYXJlYV90ZXh0IHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHdpZHRoOiAxNTBweDtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLnJhdGluZ19zY29yZSB7XHJcblx0ZmxvYXQ6IHJpZ2h0O1x0XHJcbn1cclxuXHJcbi5oaWdobGlnaHRlZHtcclxuXHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdGEge1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0fVxyXG59XHJcbi5leHBsYW5hdGlvbnMge1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRAbWVkaWEgKG1pbi13aWR0aDogMzUwcHgpIHtcclxuXHRcdHdpZHRoOiA2MCU7XHJcblx0XHRmb250LXNpemU6IC43cmVtO1xyXG5cdH1cclxuXHRAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcclxuXHRcdHdpZHRoOiA3MCU7XHJcblx0XHRmb250LXNpemU6IC44NXJlbTtcclxuXHR9XHJcblx0QG1lZGlhIChtaW4td2lkdGg6IDEwMTVweCkge1xyXG5cdFx0d2lkdGg6IDc5JTtcclxuXHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHR9XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHR0YWJsZSB7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjNjY2O1xyXG5cdH1cclxuXHR0aCB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjY2NjO1xyXG5cdH1cclxuXHR0ZCB7XHJcblx0XHRmb250LXNpemU6IC44cmVtO1xyXG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHR9XHJcbn1cclxuXHJcbi5xdWVzdGlvbnMge1xyXG5cdHotaW5kZXg6IDE7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiAzNTBweCkge1xyXG5cdFx0d2lkdGg6IDYwJTtcclxuXHRcdGZvbnQtc2l6ZTogLjdyZW07XHJcblx0fVxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xyXG5cdFx0d2lkdGg6IDcwJTtcclxuXHRcdGZvbnQtc2l6ZTogLjg1cmVtO1xyXG5cdH1cclxuXHRAbWVkaWEgKG1pbi13aWR0aDogMTAxNXB4KSB7XHJcblx0XHR3aWR0aDogNzklO1xyXG5cdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdH1cclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG5sYWJlbCB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi5jaGFycyB7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0Y29sb3I6ICRhbGVydC1jb2xvcjtcclxuXHRtYXJnaW4tdG9wOiAtLjc1cmVtO1xyXG59XHJcblxyXG4ucG9zc2libGUge1xyXG5cdHRkIHtcclxuXHRcdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDYwJSk7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uaW1wb3NzaWJsZSB7XHJcblx0dGQge1xyXG5cdFx0YmFja2dyb3VuZDogIzY2NjtcclxuXHRcdGNvbG9yOiAjZWVlO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5pbmxpbmUtYnV0dG9uIHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4ucXVlc3Rpb24ge1xyXG5cdC8vLW1vei1ib3JkZXItcmFkaXVzOjVweDtcclxuXHQvLy13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7XHJcblx0Ly9ib3JkZXItcmFkaXVzOjVweDtcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0XHJcblx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0LWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xyXG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4ucS1wcmV2aW91cyB7XHJcblx0YmFja2dyb3VuZDogI2Y1ZjVmNTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcblxyXG4ucS1jdXJyZW50IHtcclxuXHRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA4NSUpO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDQwJSk7XHJcbn1cclxuXHJcbi5xLXJhZGlvIHtcclxuXHRwYWRkaW5nOiAuNXJlbTtcclxuXHRmb250LXNpemU6IC44cmVtO1xyXG5cdGRpc3BsYXk6IGlubGluZTtcclxuXHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHQtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcclxuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0Ym9yZGVyOiA1cHggc29saWQgJHByaW1hcnktY29sb3I7XHJcblx0XHRwYWRkaW5nOiAuMjVyZW07XHJcblx0fVxyXG59XHJcblxyXG4ucmVhZG9ubHktbGFiZWwge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcclxuXHRtaW4td2lkdGg6IDE1MHB4O1xyXG59XHJcblxyXG4uaW5hY3RpdmVfcmVjb3JkIHtcclxuXHRiYWNrZ3JvdW5kOiAjZGZkZmRmO1x0XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9cmFkaW9dIHtcclxuXHR3aWR0aDogMXJlbTtcclxuXHRoZWlnaHQ6IDFyZW07XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRtYXJnaW46IC0zcHggMHB4IDBweCAwcHg7XHJcbn1cclxuXHJcbi5ub3RlcyB7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHdpZHRoOiA3OSU7XHJcbn1cclxuXHJcblxyXG4jc2VjdGlvbl9sYXN0X3VwZGF0ZWQge1xyXG5cdGZvbnQtc2l6ZTogLjdyZW07XHJcblx0bWFyZ2luLXRvcDogLThweDtcclxufVxyXG5cclxuLnByZXYge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdGJveC1zaGFkb3c6IDAsMCwwO1xyXG59XHJcblxyXG4ubmV4dCB7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdGJveC1zaGFkb3c6IDAsMCwwO1xyXG59XHJcblxyXG4uaGlnaGxpZ2h0ZWQtcm93IHtcclxuXHRiYWNrZ3JvdW5kOiAjRjJFNjk4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5nb29kIHtcclxuXHRiYWNrZ3JvdW5kOiAjQTNEMDAwO1xyXG5cdGNvbG9yOiAkb2lsO1xyXG59XHJcblxyXG4ud2FybiB7XHJcblx0YmFja2dyb3VuZDogI0Y0QzQwMDtcclxuXHRjb2xvcjogJG9pbDtcclxufVxyXG5cclxuLmJhZCB7XHJcblx0YmFja2dyb3VuZDogI0Y5MDAwMDtcclxuXHRjb2xvcjogJG9pbDtcclxufVxyXG5cclxuLnVuc2NvcmVkIHtcclxuXHRiYWNrZ3JvdW5kOiAjOTk5O1xyXG5cdGNvbG9yOiAkb2lsO1xyXG59XHJcblxyXG4uanVtcCB7XHJcblx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XHJcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdFxyXG59XHJcblxyXG4uc21hbGxfbm90ZSB7XHJcblx0Zm9udC1zaXplOiAuOHJlbTtcclxuXHRsaW5lLWhlaWdodDogMS4xcmVtO1xyXG59XHJcblxyXG4uYXV0b2NvbXBsZXRlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOlx0LTEwcHg7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogYXV0bztcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdHotaW5kZXg6IDk5OTtcclxuXHRib3JkZXI6IDRweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdGJveC1zaGFkb3c6IC01cHggNXB4IDAgMCByZ2JhKDAsMCwwLC4yNSk7XHJcblx0cGFkZGluZzogMTBweDtcclxuXHRtYXgtaGVpZ2h0OiAzMDBweDtcclxuXHRvdmVyZmxvdy14OiBoaWRkZW47XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHR1bCB7XHJcblx0XHRmb250LXNpemU6IC44cmVtO1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdHBhZGRpbmc6IDBweDtcclxuXHRcdG1hcmdpbjogMHB4O1xyXG5cdFx0bGkge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC01MCUpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDg1JSk7XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucGhvdG9fcHJldmlldyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDpcdDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogYXV0bztcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdGJvcmRlcjogNHB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcblx0Ym94LXNoYWRvdzogLTVweCA1cHggMCAwIHJnYmEoMCwwLDAsLjI1KTtcclxuXHRwYWRkaW5nOiA1cHg7XHJcbn1cclxuXHJcbi5pdGVtX3ByZXZpZXcge1xyXG5cdGZvbnQtc2l6ZTogLjlyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuMXJlbTtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOlx0MDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0Ym9yZGVyOiA0cHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcclxuXHRib3gtc2hhZG93OiAtNXB4IDVweCAwIDAgcmdiYSgwLDAsMCwuMjUpO1xyXG5cdHBhZGRpbmc6IDFlbTtcclxuXHQtbW96LWJvcmRlci1yYWRpdXM6NXB4O1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czo1cHg7XHJcblx0c3Ryb25nIHtcclxuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yNWVtO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG59XHJcblxyXG4vLyBTY29yaW5nIGFsZXJ0cyBib3hlc1xyXG4uc2NvcmluZ19hbGVydCB7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzOjVweDtcclxuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6NXB4O1xyXG5cdHBhZGRpbmc6IDJyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxufVxyXG5cclxuLmFsZXJ0X3VubGlrZWx5IHtcclxuXHRiYWNrZ3JvdW5kOiAjZjRjNDAwO1xyXG5cdGJvcmRlcjogM3B4IHNvbGlkICNmNGExMDA7XHJcbn1cclxuXHJcbi5hbGVydF92ZXJ5X3VubGlrZWx5IHtcclxuXHRiYWNrZ3JvdW5kOiAjZmY4MzE0O1xyXG5cdGJvcmRlcjogM3B4IHNvbGlkICNkNDY0MDA7XHJcbn1cclxuXHJcbi5hbGVydF9pbXBvc3NpYmxlIHtcclxuXHRiYWNrZ3JvdW5kOiAjZTUwMDAwO1xyXG5cdGJvcmRlcjogM3B4IHNvbGlkICNhYjAwMDA7XHJcblx0Y29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbnRkPnAge1xyXG5cdGZvbnQtc2l6ZTogLjg3NXJlbTtcclxuXHRsaW5lLWhlaWdodDogMXJlbTtcclxuXHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxufVxyXG5cclxuLmluYWN0aXZlLCAuaW5hY3RpdmUgYSB7XHJcblx0Y29sb3I6ICNkZGQ7XHJcbn1cclxuXHJcbi5zcGFjZWQge1xyXG5cdG1pbi13aWR0aDogNTBweDtcclxuXHRtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLmluZm9ybWF0aW9uYWwge1xyXG5cdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRpbmZvLWNvbG9yLCAkbGlnaHRuZXNzOiA2NSUpO1xyXG5cdGZvbnQtc2l6ZTogLjhlbTtcclxuXHRwYWRkaW5nOiAuMmVtO1xyXG59XHJcblxyXG4jc2VydmljZSB0aCwgI3RyYWluaW5nIHRoIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNTAlKTtcclxufVxyXG5cclxuI3JlcF90cmVlIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRib3JkZXI6IDRweCBzb2xpZCAjY2NjO1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4jcmVwX29wdGlvbnMge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5kaXYucmVwX3RpcCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR3aWR0aDogMTUwcHg7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0cGFkZGluZzogNXB4O1xyXG5cdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0Y29sb3I6ICMwMDA7XHJcblx0LXdlYmtpdC1ib3JkZXItdG9wLXJhZGl1czogNHB4O1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRib3JkZXI6IDRweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdGJveC1zaGFkb3c6IC01cHggNXB4IDBweCByZ2JhKDAsMCwwLCAwLjI1KTtcclxuXHR6LWluZGV4OiAxNTAwO1xyXG5cdG91dGxpbmU6IDFweCBzb2xpZCAjMDAwO1xyXG59XHJcblxyXG4vLyBBZGRpdGlvbmFsIGNsYXNzZXMgZm9yIHRoZSBkYXRhdGFibGVzXHJcbnRkLmRldGFpbHMtY29udHJvbCB7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2xpYnJhcmllcy9kYXRhdGFibGVzL21lZGlhL2ltYWdlcy9kZXRhaWxzX29wZW4ucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxudHIuc2hvd24gdGQuZGV0YWlscy1jb250cm9sIHtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi4vLi4vbGlicmFyaWVzL2RhdGF0YWJsZXMvbWVkaWEvaW1hZ2VzL2RldGFpbHNfY2xvc2UucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbn1cclxuXHJcbmxpbmUsIHJlY3RcdHtcclxuXHRzaGFwZS1yZW5kZXJpbmc6IGNyaXNwRWRnZXM7XHJcblx0c3Ryb2tlOiAjMDAwMDAwO1xyXG5cdGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xyXG59XHJcblxyXG4uYXhpcyBwYXRoLCAuYXhpcyBsaW5lIHtcclxuXHRmaWxsOiBub25lO1xyXG5cdHN0cm9rZTogIzAwMDtcclxuXHRzaGFwZS1yZW5kZXJpbmc6IGNyaXNwRWRnZXM7XHJcbn1cclxuXHJcbi5iYXIge1xyXG5cdGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdHRyYW5zaXRpb246IGFsbCAuMDZzIGVhc2U7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRmaWxsOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogMjUlKTtcclxuXHR9XHJcbn1cclxuXHJcbi5iYXIuY29ycmVjdCB7XHJcblx0ZmlsbDogJHN1Y2Nlc3MtY29sb3I7XHJcblx0dHJhbnNpdGlvbjogYWxsIC4wNnMgZWFzZTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGZpbGw6IHNjYWxlLWNvbG9yKCRzdWNjZXNzLWNvbG9yLCAkbGlnaHRuZXNzOiAyNSUpO1xyXG5cdH1cclxufVxyXG5cclxuLmJhci5jb3JyZWN0LnN0YXkge1xyXG5cdGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdHRyYW5zaXRpb246IGFsbCAuMDZzIGVhc2U7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRmaWxsOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogMjUlKTtcclxuXHR9XHJcbn1cclxuXHJcbi5iYXIuaW5jb3JyZWN0IHtcclxuXHRmaWxsOiAkYWxlcnQtY29sb3I7XHJcblx0dHJhbnNpdGlvbjogYWxsIC4wNnMgZWFzZTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGZpbGw6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogMjUlKTtcclxuXHR9XHJcbn1cclxuXHJcbi5iYXIuaW5jb3JyZWN0LnN0YXkge1xyXG5cdGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdHRyYW5zaXRpb246IGFsbCAuMDZzIGVhc2U7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRmaWxsOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogMjUlKTtcclxuXHR9XHJcbn1cclxuXHJcbi5iYXIuY2FudF90ZWxsIHtcclxuXHRmaWxsOiAkd2FybmluZy1jb2xvcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjA2cyBlYXNlO1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0ZmlsbDogc2NhbGUtY29sb3IoJHdhcm5pbmctY29sb3IsICRsaWdodG5lc3M6IDI1JSk7XHJcblx0fVxyXG59XHJcblxyXG4uYmFyLmNhbnRfdGVsbC5zdGF5IHtcclxuXHRmaWxsOiAkcHJpbWFyeS1jb2xvcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjA2cyBlYXNlO1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0ZmlsbDogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDI1JSk7XHJcblx0fVxyXG59XHJcblxyXG4uc3RheSB7XHJcblx0ZmlsbDogJHNlY29uZGFyeS1jb2xvcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjA2cyBlYXNlO1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0ZmlsbDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogMTAlKTtcclxuXHR9XHJcbn1cclxuXHJcbiNyZXBfYWxlcnRfYXJlYSB7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJvcmRlcjogNHB4IHNvbGlkICRhbGVydC1jb2xvcjtcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4ucmVwb3J0X2FsZXJ0IGkge1xyXG5cdGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4ucmVwb3J0X2luZm8gaSB7XHJcblx0Y29sb3I6ICRpbmZvLWNvbG9yO1xyXG5cdG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLnRhYmxlX3NlY3Rpb24ge1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcblx0YmFja2dyb3VuZDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNjUlKTtcclxufVxyXG5cclxuLnRyX2hpZ2hsaWdodCwgLnRyX3dhcm5pbmd7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJHdhcm5pbmctY29sb3IgIWltcG9ydGFudDtcclxuXHRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogNjUlKSAhaW1wb3J0YW50O1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjc1cyBlYXNlO1xyXG59XHJcblxyXG4udHJfc3VjY2VzcyB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJHN1Y2Nlc3MtY29sb3IgIWltcG9ydGFudDtcclxuXHRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogNjUlKSAhaW1wb3J0YW50O1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjc1cyBlYXNlO1xyXG59XHJcblxyXG4udHJfYWxlcnQge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRhbGVydC1jb2xvciAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogNjUlKSAhaW1wb3J0YW50O1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjc1cyBlYXNlO1xyXG59XHJcblxyXG4udHJfYmxhY2sge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICMwMDAgIWltcG9ydGFudDtcclxuXHRiYWNrZ3JvdW5kOiAkb2lsICFpbXBvcnRhbnQ7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuNzVzIGVhc2U7XHJcbn1cclxuXHJcblxyXG4uZWxfd3JhcCB7XHJcblx0cGFkZGluZzogM3B4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuXHR9XHJcbn1cclxuXHJcbi5tb3RkIHtcclxuXHRwYWRkaW5nOiAycmVtO1xyXG59XHJcbi5tb3RkX2V4cGlyYXRpb24ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHRjb2xvcjogIzk5OTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Zm9udC1zaXplOiAuOGVtO1xyXG59XHJcblxyXG5cclxuLmVsZXZhdGUge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGZvbnQtc2l6ZTogMWVtO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDJweDtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxufVxyXG5cclxuLmhlbHBfbGlua3Mge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRib3JkZXItdG9wOiAycHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcclxuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcclxuXHRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA4NSUpO1xyXG5cdG1hcmdpbi1ib3R0b206IDJweDtcclxuXHRwYWRkaW5nOiA0cHg7XHJcbn1cclxuXHJcbiNhc3Npc3RhbnRfY29udGVudCB7XHJcblx0Ym9yZGVyOiA0cHggc29saWQgI2NjYztcclxuXHRtaW4taGVpZ2h0OiA0MDBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1x0XHJcbn1cclxuXHJcbiNxdWVzdGlvbl9oaXN0b3J5IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkICNhYWE7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLmxpbmtfYnV0dG9uIHtcclxuXHRjb2xvcjogI3ByaW1hcnktY29sb3I7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW46IDJweDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0Jjpob3ZlciB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogOTAlKTtcclxuXHR9XHJcblx0XHJcblx0Jjpmb2N1cywgJjphY3RpdmUge1xyXG5cdFx0Y29sb3I6ICRvaWw7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLmluc2V0IHtcclxuXHRtYXJnaW4tbGVmdDogMmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbnN0cnVjdGlvbnMge1xyXG5cdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA5NSUpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xyXG5cdHBhZGRpbmc6IC42cmVtO1xyXG5cdG1hcmdpbjogMXJlbTtcclxuXHR3aWR0aDogOTUlO1xyXG5cdFxyXG5cdHAge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi5zdmdpY29uIHtcclxuXHRoZWlnaHQ6IDFyZW07XHJcblx0d2lkdGg6IDFyZW07XHJcblx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwKTtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG5oMT4uc3ZnaWNvbiB7XHJcblx0aGVpZ2h0OiAzcmVtO1xyXG5cdHdpZHRoOiAzcmVtO1xyXG59XHJcblxyXG5oMj4uc3ZnaWNvbiB7XHJcblx0aGVpZ2h0OiAyLjVyZW07XHJcblx0d2lkdGg6IDIuNXJlbTtcclxufVxyXG5cclxuaDM+LnN2Z2ljb24ge1xyXG5cdGhlaWdodDogMnJlbTtcclxuXHR3aWR0aDogMnJlbTtcclxufVxyXG5cclxuc3ltYm9sIHJlY3Qge1xyXG5cdGZpbGw6IHJnYmEoMCwgMCwgMCwgMCk7XHRcclxufVxyXG5cclxuc3ltYm9sIHBhdGh7XHJcblx0ZmlsbDogJHByaW1hcnktY29sb3I7XHJcbn1cclxuXHJcbnN5bWJvbD5jaXJjbGUge1xyXG5cdGZpbGw6ICRwcmltYXJ5LWNvbG9yO1x0XHJcbn1cclxuXHJcbi50cmFpbmluZ19jb250ZW50IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHBhZGRpbmc6IDEuNXJlbTtcclxuXHRib3JkZXI6IDRweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1x0XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdG1hcmdpbjogYXV0bztcclxuXHR0b3A6IDAlO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ei1pbmRleDogMzAwMDtcclxuXHQvL292ZXJmbG93LXk6IHNjcm9sbDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzogLTEycHggMTdweCA0MHB4IDNweCByZ2JhKDAsMCwwLDAuNzUpO1xyXG5cdC1tb3otYm94LXNoYWRvdzogLTEycHggMTdweCA0MHB4IDNweCByZ2JhKDAsMCwwLDAuNzUpO1xyXG5cdGJveC1zaGFkb3c6IC0xMnB4IDE3cHggNDBweCAzcHggcmdiYSgwLDAsMCwwLjc1KTtcclxufVxyXG5cclxuaHIuc3RhcnMge1xyXG5cdGJvcmRlcjogMDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLXRvcDogLjI1ZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMS4yNWVtO1xyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogXCIqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICpcIjtcclxuXHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdFx0dGV4dC1zaGFkb3c6IC0yNGVtIDAsIC0xMmVtIDAsIDEyZW0gMCwgMjRlbSAwO1xyXG5cdH1cclxufVxyXG5cclxuLmJvcmRlciB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzAwMDtcclxufVxyXG5cclxuLmhpZ2hsaWdodGVkX2xhYmVsIHtcclxuXHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkICRhbGVydC1jb2xvcjtcclxuXHRwYWRkaW5nOiAuMjVlbTtcclxufVxyXG5cclxuLmFsdGVybmF0ZV9yb3dzIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xyXG5cdFxyXG5cdGRpdiB7XHJcblx0XHRwYWRkaW5nOiAuMjVyZW0gLjMxMjVyZW07XHJcblx0fVxyXG5cdFxyXG5cdCY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHRcdGJhY2tncm91bmQ6ICNkZGQ7XHJcblx0fVxyXG59XHJcblxyXG4uYXV0b3NhdmVkIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiA0MDA7XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiAnXFxmMDBjIFNhdmVkJztcclxuXHRcdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcclxuXHRcdGZvbnQtc2l6ZTogLjlyZW07XHJcblx0XHRjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC0yNXB4O1xyXG5cdFx0cmlnaHQ6IDBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5hdXRvc2F2ZWRfbm90IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiA0MDA7XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiAnXFxmMDBkIE5vdCBTYXZlZCc7XHJcblx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFBybyc7XHJcblx0XHRmb250LXNpemU6IC45cmVtO1xyXG5cdFx0Y29sb3I6ICRhbGVydC1jb2xvcjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogLTI1cHg7XHJcblx0XHRyaWdodDogMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLnJ0Yy11c2VyLC5jaGF0LXVzZXJ7XHJcblx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IC4zcmVtO1xyXG5cdHBhZGRpbmctbGVmdDogLjVyZW07XHJcblx0Jjpob3ZlciB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogOTAlKTtcclxuXHR9XHJcbn1cclxuXHJcbi5yZWNpcGllbnQge1xyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkaW5mby1jb2xvciwgJGxpZ2h0bmVzczogNzUlKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiAnXFxmNGIyJztcclxuXHRcdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcclxuXHRcdGZvbnQtc2l6ZTogLjc1cmVtO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAycHg7XHJcblx0XHRyaWdodDogNXB4O1xyXG5cdH1cclxufVxyXG5cclxuLmNoYXRfc2VuZGVyIHtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRmb250LXNpemU6IC43NWVtO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDc1JSk7XHJcblx0Ym9yZGVyOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRtaW4td2lkdGg6IDIwMHB4O1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cGFkZGluZy1sZWZ0OiAxZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNWVtO1xyXG5cdG1hcmdpbi1sZWZ0OiAxZW07XHJcbn1cclxuXHJcbi5jaGF0X3NlbGYge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRvaWwsICRsaWdodG5lc3M6IDc1JSk7XHJcblx0Ym9yZGVyOiAkb2lsO1xyXG59XHJcblxyXG4uY2hhdF9tZXNzYWdlIHtcclxuXHRmb250LXNpemU6IC43NWVtO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBhZGRpbmctbGVmdDogM2VtO1xyXG5cdHBhZGRpbmctcmlnaHQ6IC41ZW07XHJcbn1cclxuXHJcbi5vcGVuX2NoYXQge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxudmlkZW8ge1xyXG5cdGhlaWdodDogMjAwcHg7XHJcblx0bWFyZ2luOiAwIDAgMjBweCAwO1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0d2lkdGg6IGNhbGMoNTAlIC0gMTJweCk7XHJcbn1cclxuXHJcbmlucHV0OjotbXMtY2xlYXIge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmZvb3Rub3RlIHtcclxuXHRmb250LXNpemU6IC42ZW07IFxyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7IFxyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xvd19mYWRlIHtcclxuXHQwJVx0IHsgb3BhY2l0eToxOyB9XHJcblx0NTAlXHR7IG9wYWNpdHk6LjI1OyB9XHJcblx0MTAwJSB7IG9wYWNpdHk6MTsgfVxyXG59XHJcbkAtby1rZXlmcmFtZXMgc2xvd19mYWRle1xyXG5cdDAlXHQgeyBvcGFjaXR5OjE7IH1cclxuXHQ1MCVcdHsgb3BhY2l0eTouMjU7IH1cclxuXHQxMDAlIHsgb3BhY2l0eToxOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIHNsb3dfZmFkZXtcclxuXHQwJVx0IHsgb3BhY2l0eToxOyB9XHJcblx0NTAlXHR7IG9wYWNpdHk6LjI1OyB9XHJcblx0MTAwJSB7IG9wYWNpdHk6MTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbG93X2ZhZGV7XHJcblx0MCVcdCB7IG9wYWNpdHk6MTsgfVxyXG5cdDUwJVx0eyBvcGFjaXR5Oi4yNTsgfVxyXG5cdDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG4uYW5pbWF0ZS1zbG93X2ZhZGUge1xyXG5cdCAtd2Via2l0LWFuaW1hdGlvbjogc2xvd19mYWRlIDNzIGluZmluaXRlO1xyXG5cdCAtbW96LWFuaW1hdGlvbjogc2xvd19mYWRlIDNzIGluZmluaXRlO1xyXG5cdCAtby1hbmltYXRpb246IHNsb3dfZmFkZSAzcyBpbmZpbml0ZTtcclxuXHRcdGFuaW1hdGlvbjogc2xvd19mYWRlIDNzIGluZmluaXRlO1xyXG59XHJcblxyXG4uaW5jb3JyZWN0X2hpZ2hsaWdodCB7XHJcblx0Y29sb3I6ICRhbGVydC1jb2xvcjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZy1jb2xvcjtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi5wY2Rfc2xvdCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAyNXB4O1xyXG59XHJcblxyXG4jbXlfcGNke1xyXG5cdDo6cGxhY2Vob2xkZXIge1xyXG5cdFx0Y29sb3I6ICNiYmI7XHJcblx0XHRmb250LXNpemU6IDEuNWVtO1xyXG5cdH1cclxufVxyXG5cclxuLmZsb2F0ZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTsgXHJcblx0YmFja2dyb3VuZDogI2ZmZjsgXHJcblx0Ym9yZGVyOiA0cHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcclxuXHRwYWRkaW5nOiAxZW07XHJcblx0LW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLC40KTtcclxufVxyXG5cclxuLmhhcmRfcmVxdWlyZW1lbnQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogODUlKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaGFyZF9yZXF1aXJlbWVudF9sYWJlbCB7XHJcblx0Y29sb3I6ICRhbGVydC1jb2xvcjtcclxufVxyXG5cclxuLmljb24tYmFyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRmb250LXNpemU6IDA7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGJhY2tncm91bmQ6ICMzMzMzMzM7XHJcbn1cclxuLmljb24tYmFyID4gKiB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMC44cmVtO1xyXG5cdHdpZHRoOiAyNSU7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cGFkZGluZzogMC4xcmVtO1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG59XHJcbi5pY29uLWJhciA+ICogaSwgLmljb24tYmFyID4gKiBpbWcge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG59XHJcbi5pY29uLWJhciA+ICogaSArIGxhYmVsLCAuaWNvbi1iYXIgPiAqIGltZyArIGxhYmVsIHtcclxuXHRtYXJnaW4tdG9wOiAuMDYyNXJlbTtcclxufVxyXG4uaWNvbi1iYXIgPiAqIGkge1xyXG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcbi5pY29uLWJhciA+ICogaW1nIHtcclxuXHR3aWR0aDogMS44NzVyZW07XHJcblx0aGVpZ2h0OiAxLjg3NXJlbTtcclxufVxyXG4uaWNvbi1iYXIubGFiZWwtcmlnaHQgPiAqIGksIC5pY29uLWJhci5sYWJlbC1yaWdodCA+ICogaW1nIHtcclxuXHRtYXJnaW46IDAgLjA2MjVyZW0gMCAwO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG4uaWNvbi1iYXIubGFiZWwtcmlnaHQgPiAqIGkgKyBsYWJlbCwgLmljb24tYmFyLmxhYmVsLXJpZ2h0ID4gKiBpbWcgKyBsYWJlbCB7XHJcblx0bWFyZ2luLXRvcDogMDtcclxufVxyXG4uaWNvbi1iYXIubGFiZWwtcmlnaHQgPiAqIGxhYmVsIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuLmljb24tYmFyLnZlcnRpY2FsLmxhYmVsLXJpZ2h0ID4gKiB7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG4uaWNvbi1iYXIudmVydGljYWwsIC5pY29uLWJhci5zbWFsbC12ZXJ0aWNhbCB7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHdpZHRoOiBhdXRvO1xyXG59XHJcbi5pY29uLWJhci52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcclxuXHR3aWR0aDogYXV0bztcclxuXHRtYXJnaW46IGF1dG87XHJcblx0ZmxvYXQ6IG5vbmU7XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkge1xyXG5cdC5pY29uLWJhci5tZWRpdW0tdmVydGljYWwge1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG5cdC5pY29uLWJhci5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRmbG9hdDogbm9uZTtcclxuXHR9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkge1xyXG5cdC5pY29uLWJhci5sYXJnZS12ZXJ0aWNhbCB7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcblx0Lmljb24tYmFyLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0ZmxvYXQ6IG5vbmU7XHJcblx0fVxyXG59XHJcbi5pY29uLWJhciA+ICoge1xyXG5cdGZvbnQtc2l6ZTogMC44cmVtO1xyXG5cdHBhZGRpbmc6IDAuMXJlbTtcclxufVxyXG4uaWNvbi1iYXIgPiAqIGkgKyBsYWJlbCwgLmljb24tYmFyID4gKiBpbWcgKyBsYWJlbCB7XHJcblx0bWFyZ2luLXRvcDogLjA2MjVyZW07XHJcbn1cclxuLmljb24tYmFyID4gKiBpIHtcclxuXHRmb250LXNpemU6IDEuMjVyZW07XHJcbn1cclxuLmljb24tYmFyID4gKiBpbWcge1xyXG5cdHdpZHRoOiAxLjg3NXJlbTtcclxuXHRoZWlnaHQ6IDEuODc1cmVtO1xyXG59XHJcbi5pY29uLWJhciA+ICo6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6ICMwMDRhOGY7XHJcbn1cclxuLmljb24tYmFyID4gKiBsYWJlbCB7XHJcblx0Y29sb3I6ICNGRkZGRkY7XHJcbn1cclxuLmljb24tYmFyID4gKiBpIHtcclxuXHRjb2xvcjogI2EzZDNmZjtcclxufVxyXG5cclxuLmljb24tYmFyLnR3by11cCAuaXRlbSB7XHJcblx0d2lkdGg6IDUwJTtcclxufVxyXG4uaWNvbi1iYXIudHdvLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIudHdvLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcclxuXHR3aWR0aDogYXV0bztcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7XHJcblx0Lmljb24tYmFyLnR3by11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHtcclxuXHQuaWNvbi1iYXIudHdvLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdH1cclxufVxyXG4uaWNvbi1iYXIudGhyZWUtdXAgLml0ZW0ge1xyXG5cdHdpZHRoOiAzMy4zMzMzJTtcclxufVxyXG4uaWNvbi1iYXIudGhyZWUtdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci50aHJlZS11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0d2lkdGg6IGF1dG87XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkge1xyXG5cdC5pY29uLWJhci50aHJlZS11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHtcclxuXHQuaWNvbi1iYXIudGhyZWUtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcbi5pY29uLWJhci5mb3VyLXVwIC5pdGVtIHtcclxuXHR3aWR0aDogMjUlO1xyXG59XHJcbi5pY29uLWJhci5mb3VyLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuZm91ci11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0d2lkdGg6IGF1dG87XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkge1xyXG5cdC5pY29uLWJhci5mb3VyLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkge1xyXG5cdC5pY29uLWJhci5mb3VyLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdH1cclxufVxyXG4uaWNvbi1iYXIuZml2ZS11cCAuaXRlbSB7XHJcblx0d2lkdGg6IDIwJTtcclxufVxyXG4uaWNvbi1iYXIuZml2ZS11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLmZpdmUtdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xyXG5cdHdpZHRoOiBhdXRvO1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHtcclxuXHQuaWNvbi1iYXIuZml2ZS11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHtcclxuXHQuaWNvbi1iYXIuZml2ZS11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcbn1cclxuLmljb24tYmFyLnNpeC11cCAuaXRlbSB7XHJcblx0d2lkdGg6IDE2LjY2NjY3JTtcclxufVxyXG4uaWNvbi1iYXIuc2l4LXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuc2l4LXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcclxuXHR3aWR0aDogYXV0bztcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7XHJcblx0Lmljb24tYmFyLnNpeC11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHtcclxuXHQuaWNvbi1iYXIuc2l4LXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLnJvdW5kX2xlZnQge1xyXG5cdGJhY2tncm91bmQ6ICNlZWU7XHJcblx0aGVpZ2h0OiAyOXB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nLXRvcDogNXB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuXHRib3JkZXItcmFkaXVzOiAxMDBweCAwIDAgMTAwcHg7XHJcblx0Zm9udC1zaXplOiAuNzVyZW07XHJcbn1cclxuXHJcbi5yb3VuZF9yaWdodCBpbnB1dCB7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuXHRib3JkZXItcmFkaXVzOiAwIDEwMHB4IDEwMHB4IDA7XHJcbn1cclxuXHJcbi5oYXMtdGlwIHtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGNvbG9yOiAjZjRhMTQyO1xyXG5cdGJvcmRlci1ib3R0b206IDA7XHJcbn1cclxuXHJcblt0eXBlPWRhdGVdLCBbdHlwZT1udW1iZXJdLCBbdHlwZT1wYXNzd29yZF0sIFt0eXBlPXRleHRdIHtcclxuXHRoZWlnaHQ6IDEuODEyNXJlbTtcclxufSJdfQ== */
